@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --primary: #1A2B4A;
  --primary-dark: #111e35;
  --primary-light: #243556;
  --accent: #2563EB;
  --accent-hover: #1d4ed8;
  --accent-light: #EFF6FF;
  --bg: #F0F2F5;
  --surface: #ffffff;
  --surface-2: #F8FAFC;
  --surface-3: #F1F5F9;
  --border: #E2E8F0;
  --border-light: #F1F5F9;
  --text: #1E293B;
  --text-secondary: #475569;
  --text-muted: #94A3B8;
  --success: #16A34A;
  --success-bg: #F0FDF4;
  --success-border: #BBF7D0;
  --warning: #D97706;
  --warning-bg: #FFFBEB;
  --warning-border: #FDE68A;
  --danger: #DC2626;
  --danger-bg: #FEF2F2;
  --danger-border: #FECACA;
  --info: #0284C7;
  --info-bg: #F0F9FF;
  --info-border: #BAE6FD;
  --nav-width: 240px;
  --nav-collapsed: 64px;
  --header-h: 60px;
  --radius: 8px;
  --radius-sm: 5px;
  --radius-lg: 12px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
  --shadow: 0 1px 4px rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.14);
}

/* ═══════════════════════════════════════════════════════════════
   V3 · Agentic Content OS — desktop workspace
   ═══════════════════════════════════════════════════════════════ */
.agent-os{--primary:#101827;--primary-dark:#080d17;--accent:#6d5dfc;--accent-hover:#5948ed;--accent-light:#f0edff;--bg:#f5f6f8;--surface:#fff;--surface-2:#f8f9fb;--surface-3:#eef0f4;--border:#e4e7ec;--border-light:#edf0f3;--text:#171c26;--text-secondary:#596273;--text-muted:#929baa;--nav-width:270px;--header-h:76px;--radius:12px;--radius-sm:8px;--radius-lg:18px;min-width:1280px;background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.agent-os .nav{width:270px;background:#f3f3f1;border-right:1px solid #e3e3df;box-shadow:none}
.agent-os .nav-brand{height:82px;padding:0 22px;gap:12px;border-bottom:0;text-decoration:none}
.agent-os .nav-brand:hover{text-decoration:none}
.agent-os .nav-brand-icon{width:38px;height:38px;border-radius:12px;background:#202123;box-shadow:none}
.agent-os .nav-brand-icon span{font-size:11px;font-weight:800;letter-spacing:-.04em;color:#fff}
.agent-os .nav-brand-text{font-size:15px;letter-spacing:.01em;color:#202123}.nav-brand-sub{font-size:8.5px;color:#8a8a87;letter-spacing:.1em;margin-top:5px;white-space:nowrap}
.nav-context{margin:0 14px 8px;padding:12px 13px;display:flex;align-items:center;gap:10px;background:#e9e9e6;border:1px solid #deded9;border-radius:11px;color:#252525}.nav-context strong{display:block;font-size:11.5px;font-weight:600}.nav-context small{display:block;margin-top:2px;font-size:9.5px;color:#858580}.context-pulse{width:8px;height:8px;border-radius:50%;background:#10a37f;box-shadow:0 0 0 5px rgba(16,163,127,.1)}
.agent-os .nav-menu{padding:3px 10px 14px}.agent-os .nav-section{padding:16px 10px 6px;font-size:9px;letter-spacing:.14em;color:#92928d}
.agent-os .nav-item{position:relative;border:0;border-radius:9px;margin:2px 0;padding:8px 10px;gap:10px;color:#565653;font-size:12.5px}.agent-os .nav-item:hover{background:#e7e7e3;color:#202123}.agent-os .nav-item.active{background:#dfdfdb;color:#202123;font-weight:600}.agent-os .nav-item.active:before{display:none}.nav-glyph{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:transparent;font-size:12px;color:#656560;font-style:normal}.agent-os .nav-item.active .nav-glyph{background:#202123;color:#fff;box-shadow:none}.agent-os .nav-item em{margin-left:auto;font-size:7.5px;font-style:normal;color:#6d5dfc;border:1px solid #cbc6f7;padding:1px 4px;border-radius:4px;letter-spacing:.08em}
.agent-os .nav-footer{padding:12px 16px;background:#ebebe8;border-top:1px solid #deded9}.agent-os .nav-avatar{width:31px;height:31px;border-radius:9px;background:#202123;color:#fff}.agent-os .nav-user-name{font-size:12px;color:#292927}.agent-os .nav-user-role{color:#898984}.nav-exit{margin-left:auto;color:#777772;font-size:17px}.nav-exit:hover{color:#202123;text-decoration:none}
.agent-os .main{margin-left:270px}.agent-os .topbar{height:76px;padding:0 30px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);box-shadow:none;border-bottom:1px solid #e8eaee}.topbar-breadcrumb{min-width:210px}.topbar-breadcrumb small{display:block;color:#a0a7b3;font-size:8.5px;letter-spacing:.16em}.topbar-breadcrumb strong{display:block;margin-top:3px;font-size:15px;color:#202633}.command-trigger{margin-left:30px;width:390px;height:40px;padding:0 12px;display:flex;align-items:center;gap:9px;background:#f7f8fa;border:1px solid #e7e9ed;border-radius:10px;color:#9098a5;cursor:pointer}.command-trigger b{font-size:11.5px;font-weight:400;flex:1;text-align:left}.command-trigger kbd,.command-search kbd{font:9px Inter;background:#fff;border:1px solid #dddfe4;border-bottom-width:2px;padding:2px 6px;border-radius:5px;color:#858d99}.topbar-signal{font-size:10.5px;color:#657080;display:flex;align-items:center;gap:6px}.topbar-signal i{width:6px;height:6px;background:#55c896;border-radius:50%;box-shadow:0 0 0 4px rgba(85,200,150,.1)}
.agent-os .content{padding:28px 32px 40px;max-width:none}.agent-os .card{border-color:#e7e9ee;border-radius:14px;box-shadow:0 1px 2px rgba(16,24,39,.025)}.agent-os .card-header{padding:15px 18px}.agent-os .card-title{font-size:13px}.agent-os .stat-card{border-radius:14px;box-shadow:none;padding:17px 18px}.agent-os .stat-card:before{height:2px}.agent-os thead th{background:#fafbfc;font-size:10.5px}.agent-os tbody td{font-size:12.5px}
.command-palette{position:fixed;inset:0;z-index:1000;display:none;align-items:flex-start;justify-content:center;padding-top:110px;background:rgba(6,10,17,.58);backdrop-filter:blur(5px)}.command-palette.open{display:flex}.command-box{width:620px;background:#fff;border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.28);overflow:hidden}.command-search{height:58px;display:flex;align-items:center;gap:11px;padding:0 16px;border-bottom:1px solid var(--border)}.command-search input{border:0!important;box-shadow:none!important;padding:0;font-size:14px}.command-results{padding:8px;max-height:420px;overflow:auto}.command-results a{display:flex;align-items:center;gap:11px;padding:10px;border-radius:9px;color:var(--text)}.command-results a:hover{background:var(--surface-2);text-decoration:none}.command-results a div{flex:1}.command-results strong{display:block;font-size:12.5px}.command-results small{display:block;font-size:9.5px;color:var(--text-muted);margin-top:2px}.command-results em{font-style:normal;font-size:10px;color:var(--text-muted)}
.workspace-hero{position:relative;overflow:hidden;padding:28px 30px;border-radius:18px;background:linear-gradient(125deg,#121a2a,#1a2340 60%,#332b70);color:#fff;margin-bottom:18px}.workspace-hero:after{content:'';position:absolute;width:420px;height:420px;border-radius:50%;right:-150px;top:-230px;background:radial-gradient(circle,rgba(139,124,255,.4),transparent 65%);pointer-events:none}.workspace-hero>*{position:relative;z-index:1}.workspace-hero h1{font-size:24px;letter-spacing:-.03em}.workspace-hero p{margin-top:8px;color:rgba(255,255,255,.56);font-size:12.5px;max-width:680px}.workspace-hero-actions{display:flex;gap:8px;margin-top:20px}.workspace-hero .btn-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13);color:#fff}.workspace-kicker{font-size:9px;letter-spacing:.16em;color:#aaa0ff;margin-bottom:8px}.metric-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.metric-tile{background:#fff;border:1px solid var(--border);border-radius:13px;padding:15px 16px}.metric-tile small{font-size:10px;color:var(--text-muted)}.metric-tile strong{display:block;font-size:21px;margin-top:6px}.metric-tile em{display:block;font-style:normal;font-size:9.5px;color:var(--text-muted);margin-top:4px}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:16px}.workspace-panel{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}.workspace-panel-head{padding:15px 17px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.workspace-panel-head h3{font-size:13px}.workspace-panel-body{padding:16px}.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.pipeline-step{padding:14px 10px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.pipeline-step b{display:block;font-size:11px}.pipeline-step span{display:block;font-size:19px;font-weight:700;margin-top:8px}.pipeline-step small{font-size:9px;color:var(--text-muted)}
.hub-tabs{display:flex;gap:3px;padding:4px;background:#eceef2;border-radius:10px;width:max-content;margin-bottom:18px}.hub-tabs a{padding:7px 12px;border-radius:7px;color:#687181;font-size:11px}.hub-tabs a.active{background:#fff;color:#252b36;box-shadow:0 1px 3px rgba(0,0,0,.08);font-weight:600}.asset-layout{display:grid;grid-template-columns:210px minmax(0,1fr) 300px;gap:14px}.asset-sidebar,.asset-main,.asset-inspector{background:#fff;border:1px solid var(--border);border-radius:14px;min-height:520px}.asset-sidebar{padding:14px}.asset-filter{padding:9px 10px;border-radius:8px;font-size:11.5px;color:var(--text-secondary);display:flex;justify-content:space-between}.asset-filter.active{background:var(--accent-light);color:var(--accent);font-weight:600}.asset-main-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;gap:8px}.asset-list-item{display:grid;grid-template-columns:28px minmax(0,1fr) 90px 80px;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-light)}.asset-list-item:hover{background:#fafbfc}.asset-type-icon{width:28px;height:28px;border-radius:8px;background:var(--accent-light);color:var(--accent);display:grid;place-items:center;font-size:11px}.asset-title{font-size:12px;font-weight:600}.asset-excerpt{font-size:10px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.asset-inspector{padding:16px}.inspector-empty{text-align:center;color:var(--text-muted);font-size:11px;padding-top:160px}.agent-os .topbar-hamburger,.agent-os .nav-overlay{display:none!important}
.package-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:-2px 0 16px}.package-step{padding:10px 11px;border:1px solid #e7e7e3;border-radius:10px;background:#fafaf9;color:#777772;font-size:10px}.package-step b{display:block;color:#292927;font-size:11px;margin-bottom:2px}.package-step i{display:inline-grid;place-items:center;width:19px;height:19px;margin-right:6px;border-radius:6px;background:#202123;color:#fff;font-style:normal;font-size:9px}.package-drop{position:relative;padding:22px!important;border:1.5px dashed #c8c8c2!important;border-radius:13px!important;background:#f8f8f6;text-align:center;transition:.18s}.package-drop:hover,.package-drop.dragover{border-color:#202123!important;background:#f2f2ef}.package-drop-icon{width:42px;height:42px;display:grid;place-items:center;margin:0 auto 9px;border-radius:12px;background:#202123;color:#fff;font-size:18px}.package-drop label{font-size:13px!important;color:#292927!important}.package-drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.package-file-name{margin-top:6px;font-size:10px;color:#777772}.package-file-name.ready{color:#087f5b;font-weight:600}.package-settings{padding:15px 16px 3px;border:1px solid #e8e8e4;border-radius:13px;background:#fff}.package-settings-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:11px;font-weight:650;color:#292927}.package-settings-title span{font-size:9px;font-weight:400;color:#969690}.tag-preview{display:flex;flex-wrap:wrap;gap:5px;min-height:24px;margin-top:7px}.tag-preview span{padding:3px 7px;border-radius:6px;background:#efeeff;color:#5d50d2;font-size:9.5px}.package-privacy{display:flex;gap:9px;align-items:flex-start;padding:10px 11px;border-radius:9px;background:#edf8f4;color:#397263;font-size:9.5px;line-height:1.5}.package-privacy b{display:block;color:#176b55;font-size:10.5px}.package-actions{margin-top:14px!important;padding-top:13px;border-top:1px solid var(--border)}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: 14px;
  color: var(--text);
  background: var(--bg);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
code {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 1px 6px;
  font-size: 12.5px;
  font-family: 'SF Mono', 'Fira Code', monospace;
}

/* ── Layout ── */
.layout { display: flex; min-height: 100vh; }

/* ── Sidebar ── */
.nav {
  width: var(--nav-width);
  background: var(--primary);
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0; left: 0; bottom: 0;
  z-index: 200;
  transition: width 0.22s ease;
  overflow: hidden;
}
.nav-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 20px;
  height: var(--header-h);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  flex-shrink: 0;
}
.nav-brand-icon {
  width: 32px; height: 32px;
  background: var(--accent);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.nav-brand-icon svg { width: 18px; height: 18px; fill: #fff; }
.nav-brand-icon img,
.login-brand-icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: inherit;
}
.nav-brand-text {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.01em;
  white-space: nowrap;
}
.nav-brand-meta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  line-height: 1.15;
}
.nav-brand-version {
  margin-top: 4px;
  color: rgba(255,255,255,0.38);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.nav-menu { flex: 1; padding: 10px 0; overflow-y: auto; overflow-x: hidden; }
.nav-menu::-webkit-scrollbar { width: 3px; }
.nav-menu::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: 2px; }
.nav-section {
  padding: 12px 18px 4px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.3);
  font-weight: 600;
  white-space: nowrap;
}
.nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  color: rgba(255,255,255,0.65);
  font-size: 13.5px;
  font-weight: 450;
  transition: background 0.15s, color 0.15s;
  border-left: 2px solid transparent;
  cursor: pointer;
  white-space: nowrap;
}
.nav-item:hover { background: rgba(255,255,255,0.07); color: #fff; text-decoration: none; }
.nav-item.active { background: rgba(37,99,235,0.25); color: #fff; border-left-color: var(--accent); font-weight: 500; }
.nav-item svg { width: 16px; height: 16px; flex-shrink: 0; opacity: 0.75; }
.nav-item.active svg { opacity: 1; }
.nav-footer {
  padding: 14px 18px;
  border-top: 1px solid rgba(255,255,255,0.07);
  flex-shrink: 0;
}
.nav-user {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nav-avatar {
  width: 32px; height: 32px;
  background: var(--accent);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  flex-shrink: 0;
}
.nav-user-info { flex: 1; min-width: 0; }
.nav-user-name { font-size: 13px; font-weight: 600; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-user-role { font-size: 11px; color: rgba(255,255,255,0.4); }
.nav-logout { color: rgba(255,255,255,0.4); font-size: 12px; display: block; margin-top: 8px; }
.nav-logout:hover { color: #fff; }

/* ── Main ── */
.main {
  margin-left: var(--nav-width);
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  transition: margin-left 0.22s ease;
}

/* ── Topbar ── */
.topbar {
  height: var(--header-h);
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  padding: 0 28px;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: var(--shadow-sm);
}
.topbar-hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  color: var(--text-secondary);
  margin-right: 12px;
}
.topbar-hamburger svg { width: 22px; height: 22px; }
.topbar-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
}
.topbar-right { margin-left: auto; display: flex; align-items: center; gap: 16px; }
.topbar-user {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: var(--radius);
  cursor: pointer;
  border: 1px solid transparent;
  transition: border-color 0.15s, background 0.15s;
  position: relative;
}
.topbar-user:hover { border-color: var(--border); background: var(--surface-2); }
.topbar-user-avatar {
  width: 30px; height: 30px;
  background: var(--accent);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
}
.topbar-username { font-size: 13.5px; font-weight: 500; color: var(--text); }
.topbar-role {
  font-size: 11px;
  padding: 1px 7px;
  border-radius: 20px;
  background: var(--accent-light);
  color: var(--accent);
  font-weight: 600;
}
.topbar-role.is-user { background: var(--surface-3); color: var(--text-secondary); }
.topbar-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  min-width: 160px;
  z-index: 500;
  overflow: hidden;
}
.topbar-dropdown.open { display: block; }
.topbar-dropdown a {
  display: block;
  padding: 10px 16px;
  font-size: 13.5px;
  color: var(--text);
  border-bottom: 1px solid var(--border-light);
}
.topbar-dropdown a:last-child { border-bottom: none; }
.topbar-dropdown a:hover { background: var(--surface-2); text-decoration: none; color: var(--accent); }

/* ── Content ── */
.content { flex: 1; padding: 24px 28px; }

/* ── Cards ── */
.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}
.card-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card-title { font-size: 14px; font-weight: 600; color: var(--text); }
.card-body { padding: 20px; }

/* ── Stats Grid ── */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}
.stat-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px 20px;
  box-shadow: var(--shadow-sm);
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.15s;
}
.stat-card:hover { box-shadow: var(--shadow); }
.stat-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--accent);
  opacity: 0.6;
}
.stat-card.danger-card::before { background: var(--danger); }
.stat-card.warning-card::before { background: var(--warning); }
.stat-card.success-card::before { background: var(--success); }
.stat-label {
  font-size: 11px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  margin-bottom: 8px;
}
.stat-value { font-size: clamp(18px, 2.2vw, 28px); font-weight: 700; color: var(--text); line-height: 1; word-break: break-all; }
.stat-value.danger { color: var(--danger); }
.stat-value.warning { color: var(--warning); }
.stat-value.success { color: var(--success); }

/* ── Tables ── */
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
thead th {
  background: var(--surface-2);
  padding: 10px 14px;
  text-align: left;
  font-weight: 600;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-secondary);
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}
tbody tr { border-bottom: 1px solid var(--border-light); transition: background 0.1s; }
tbody tr:last-child { border-bottom: none; }
tbody tr:hover { background: var(--surface-2); }
tbody td { padding: 11px 14px; color: var(--text); vertical-align: middle; }

/* ── Badges ── */
.badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 9px;
  border-radius: 20px;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.6;
  white-space: nowrap;
}
.badge-success { background: var(--success-bg); color: var(--success); border: 1px solid var(--success-border); }
.badge-danger  { background: var(--danger-bg);  color: var(--danger);  border: 1px solid var(--danger-border); }
.badge-warning { background: var(--warning-bg); color: var(--warning); border: 1px solid var(--warning-border); }
.badge-info    { background: var(--info-bg);    color: var(--info);    border: 1px solid var(--info-border); }
.badge-neutral { background: var(--surface-2);  color: var(--text-secondary); border: 1px solid var(--border); }
.badge-accent  { background: var(--accent-light); color: var(--accent); border: 1px solid #BFDBFE; }

/* ── Buttons ── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: var(--radius-sm);
  font-size: 13.5px;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.15s;
  text-decoration: none;
  white-space: nowrap;
  font-family: inherit;
  line-height: 1;
}
.btn:hover { text-decoration: none; }
.btn svg { width: 15px; height: 15px; }
.btn-primary   { background: var(--accent); color: #fff; border-color: var(--accent); }
.btn-primary:hover { background: var(--accent-hover); color: #fff; }
.btn-secondary { background: var(--surface); color: var(--text); border-color: var(--border); }
.btn-secondary:hover { background: var(--surface-2); color: var(--text); }
.btn-danger    { background: var(--danger); color: #fff; border-color: var(--danger); }
.btn-danger:hover { background: #b91c1c; color: #fff; }
.btn-success   { background: var(--success); color: #fff; border-color: var(--success); }
.btn-sm  { padding: 5px 11px; font-size: 12.5px; }
.btn-xs  { padding: 3px 8px; font-size: 12px; }
.btn-icon { padding: 7px; }

/* ── Forms ── */
.form-group { margin-bottom: 18px; }
label { display: block; font-size: 13px; font-weight: 500; color: var(--text-secondary); margin-bottom: 6px; }
input:not([type]), input[type=text], input[type=password], input[type=number], input[type=email],
select, textarea {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 13.5px;
  color: var(--text);
  background: var(--surface);
  transition: border-color 0.15s, box-shadow 0.15s;
  appearance: none;
  font-family: inherit;
}
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(37,99,235,0.12);
}
textarea { resize: vertical; min-height: 100px; }
.form-hint { font-size: 11.5px; color: var(--text-muted); margin-top: 5px; }
.form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }

/* ── Alerts ── */
.alert {
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  margin-bottom: 20px;
  font-size: 13.5px;
  border: 1px solid;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.alert-success { background: var(--success-bg); color: #15803d; border-color: var(--success-border); }
.alert-error   { background: var(--danger-bg);  color: #b91c1c; border-color: var(--danger-border); }
.alert-warning { background: var(--warning-bg); color: #92400e; border-color: var(--warning-border); }
.alert-info    { background: var(--info-bg);    color: #0369a1; border-color: var(--info-border); }

/* ── Warning rows ── */
.warning-row  { background: var(--warning-bg) !important; }
.critical-row { background: var(--danger-bg) !important; }

/* ── Page header ── */
.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 12px;
}
.page-header h2 { font-size: 19px; font-weight: 700; color: var(--text); }
.page-header-actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* ── Charts ── */
.chart-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 22px; }
.chart-container { position: relative; height: 250px; }

/* ── Filter bar ── */
.filter-bar {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.filter-bar select, .filter-bar input { width: auto; min-width: 150px; }

/* ── Misc ── */
.truncate { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; vertical-align: bottom; }
.text-danger  { color: var(--danger); font-weight: 600; }
.text-warning { color: var(--warning); font-weight: 600; }
.text-success { color: var(--success); }
.text-muted   { color: var(--text-muted); }
.text-sm      { font-size: 12.5px; }
.checkbox-group { display: flex; flex-wrap: wrap; gap: 8px; max-height: 200px; overflow-y: auto; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 10px; }
.checkbox-item { display: flex; align-items: center; gap: 5px; font-size: 13px; }
.checkbox-item input[type=checkbox] { width: auto; }
.detail-log { background: #0f1923; color: #a8d8a8; font-family: 'SF Mono', monospace; font-size: 12px; padding: 12px; border-radius: 4px; max-height: 260px; overflow-y: auto; white-space: pre-wrap; word-break: break-all; margin-top: 8px; display: none; }
.upload-zone { border: 2px dashed var(--border); border-radius: var(--radius); padding: 28px; text-align: center; color: var(--text-muted); transition: border-color 0.2s, background 0.2s; cursor: pointer; }
.upload-zone:hover, .upload-zone.dragover { border-color: var(--accent); background: var(--accent-light); }
.divider { border: none; border-top: 1px solid var(--border); margin: 20px 0; }
.chip-group { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  display: inline-flex;
  align-items: center;
  padding: 5px 14px;
  border-radius: 20px;
  border: 1.5px solid var(--border);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.15s;
  background: var(--surface);
  color: var(--text-secondary);
  user-select: none;
  font-weight: 450;
}
.chip:hover { border-color: var(--accent); color: var(--accent); }
.chip.chip-on { border-color: var(--accent); background: var(--accent); color: #fff; font-weight: 500; }
.section { margin-bottom: 26px; }

/* ── Modal ── */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.modal-overlay.hidden { display: none; }
.modal {
  background: var(--surface);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  width: 100%;
  max-width: 480px;
  padding: 28px 32px;
}
.modal-title { font-size: 17px; font-weight: 700; color: var(--text); margin-bottom: 12px; }
.modal-body { font-size: 14px; color: var(--text-secondary); margin-bottom: 24px; line-height: 1.6; }
.modal-actions { display: flex; gap: 10px; justify-content: flex-end; }

/* V5 file-asset import workspace */
.asset-hero{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;align-items:center;background:linear-gradient(130deg,#202123,#30302d);padding:30px 32px}.asset-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.asset-action{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.07);color:#fff;text-align:left;cursor:pointer}.asset-action:hover{background:rgba(255,255,255,.12)}.asset-action.primary{background:#fff;color:#202123}.asset-action.compact{grid-column:1/-1;padding:9px 13px}.asset-action>span{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:14px}.asset-action.primary>span{background:#202123;color:#fff}.asset-action b{display:block;font-size:11.5px}.asset-action small{display:block;margin-top:2px;font-size:8.5px;opacity:.6}.asset-side-title{padding:5px 9px 10px;color:var(--text-muted);font-size:9px;letter-spacing:.12em}.asset-side-title.spaced{padding-top:24px}.refined-input{align-items:center;background:#fbfbfa}.refined-input>span{color:#8b8b86}.refined-input input:not([type]){border:0;background:transparent;box-shadow:none;padding-left:0}.refined-input select{width:128px;height:34px;padding:6px 30px 6px 10px;background:#fff}.asset-inspector h3{font-size:14px;margin-bottom:18px}.matching-rule{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--border-light)}.matching-rule>b{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#ececea;color:#555;font-size:9px}.matching-rule strong{display:block;font-size:10.5px}.matching-rule small{display:block;margin-top:3px;color:var(--text-muted);font-size:8.8px}.import-progress-card{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,2fr) 45px;align-items:center;gap:18px;margin-top:14px;padding:14px 16px;border:1px solid var(--border);border-radius:13px;background:#fff}.import-progress-card b{display:block;font-size:11px}.import-progress-card span{font-size:9.5px;color:var(--text-muted)}.import-progress{height:7px;border-radius:5px;background:#eeeeeb;overflow:hidden}.import-progress i{display:block;height:100%;width:0;background:#202123;transition:.2s}.import-progress-card em{font-style:normal;font-size:11px;color:var(--text-muted);text-align:right}
.asset-modal{max-width:820px!important;padding:0!important;border-radius:18px!important;overflow:hidden;max-height:92vh;overflow-y:auto}.asset-modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;padding:23px 26px 17px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #ecece8}.asset-modal-head small{font-size:8px;letter-spacing:.16em;color:#999}.asset-modal-head h2{font-size:20px;margin-top:4px;letter-spacing:-.02em}.modal-close{width:31px;height:31px;border:0;border-radius:9px;background:#f1f1ee;color:#666;font-size:20px;cursor:pointer}.asset-import-form{padding:22px 26px 24px}.import-choice{display:grid;grid-template-columns:1fr 28px 1fr;align-items:center}.choice-or{text-align:center;color:#aaa;font-size:9px}.upload-zone{position:relative;margin:0;padding:22px 16px;border:1.5px dashed #c9c9c3;border-radius:14px;background:#fafaf8;text-align:center;cursor:pointer;transition:.18s}.upload-zone:hover{border-color:#202123;background:#f5f5f2}.upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-zone.single{padding:30px 18px}.upload-icon{display:grid;place-items:center;width:45px;height:45px;margin:0 auto 10px;border-radius:12px;background:#202123;color:#fff;font-size:10px;font-weight:700}.upload-zone b{display:block;color:#292927;font-size:12.5px}.upload-zone small{display:block;max-width:300px;margin:5px auto 0;color:#92928c;font-size:9.5px;font-weight:400}.upload-zone em{display:inline-block;margin-top:11px;padding:5px 9px;border-radius:7px;background:#ececea;color:#676762;font-size:9px;font-style:normal}.form-section{margin-top:18px;padding:17px 18px;border:1px solid #e9e9e5;border-radius:14px;background:#fff}.form-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.form-section-head b{font-size:11.5px}.form-section-head span{font-size:9px;color:#999}.polished-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.polished-grid label{margin:0}.polished-grid label.wide{grid-column:1/-1}.polished-grid label>span{display:block;margin-bottom:6px;color:#60605c;font-size:10.5px;font-weight:600}.polished-grid label>span i{font-style:normal;font-weight:400;color:#aaa}.polished-grid input:not([type]),.polished-grid select,.polished-grid textarea{min-height:42px;padding:10px 12px;border:1px solid #dededa;border-radius:10px;background:#fbfbfa;font-size:12px}.polished-grid input:not([type]):focus,.polished-grid select:focus,.polished-grid textarea:focus{border-color:#202123;box-shadow:0 0 0 3px rgba(32,33,35,.08);background:#fff}.polished-grid label>small{display:block;margin-top:5px;color:#a0a09a;font-size:9px}.switch-row{display:flex;align-items:center;gap:10px;margin:16px 0 0;padding:11px 12px;border-radius:10px;background:#f2f7f5;cursor:pointer}.switch-row input{display:none}.switch-row>i{position:relative;width:33px;height:19px;border-radius:12px;background:#bbb;transition:.2s}.switch-row>i:after{content:'';position:absolute;width:15px;height:15px;left:2px;top:2px;border-radius:50%;background:#fff;transition:.2s}.switch-row input:checked+i{background:#10a37f}.switch-row input:checked+i:after{left:16px}.switch-row b{display:block;color:#286b5a;font-size:10.5px}.switch-row small{display:block;margin-top:2px;color:#70958b;font-size:9px}.privacy-note{display:flex;gap:12px;margin-top:15px;padding:11px 12px;border-radius:10px;background:#edf8f4;color:#28725e}.privacy-note b{font-size:10.5px}.privacy-note span{font-size:9px;color:#609184}.asset-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid #ecece8}.asset-modal-actions .btn{min-height:38px;border-radius:9px;padding:8px 17px}.manual-notice{margin-bottom:16px;padding:10px 12px;border-radius:9px;background:#fff8e9;color:#8a6420;font-size:10px}

/* ── Login Page ── */
.login-page {
  min-height: 100vh;
  display: flex;
}
.login-brand {
  flex: 0 0 58%;
  background: linear-gradient(145deg, var(--primary) 0%, #1e3a72 50%, var(--accent) 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 64px;
  position: relative;
  overflow: hidden;
}
.login-brand::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: rgba(255,255,255,0.04);
}
.login-brand::after {
  content: '';
  position: absolute;
  bottom: -120px; left: -60px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: rgba(255,255,255,0.03);
}
.login-brand-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 56px;
}
.login-brand-icon {
  width: 36px; height: 36px;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  overflow:hidden;
  transform-style:preserve-3d;
  animation:loginLogoFlip .72s ease-out both;
}
.login-brand-icon:hover{animation:loginLogoHover .62s ease-in-out both}
.login-brand-icon svg { width: 24px; height: 24px; fill: #fff; }
.login-brand-name { font-size: 18px; font-weight: 700; color: #fff; letter-spacing: -0.01em; }
.login-brand-headline {
  font-size: 34px;
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
}
.login-brand-sub {
  font-size: 15px;
  color: rgba(255,255,255,0.65);
  line-height: 1.65;
  max-width: 380px;
}
.login-brand-features {
  margin-top: 48px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.login-feature {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,0.8);
  font-size: 13.5px;
}
.login-feature-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent);
  flex-shrink: 0;
}
.login-brand-footer {
  position: absolute;
  bottom: 28px; left: 64px;
  font-size: 12px;
  color: rgba(255,255,255,0.3);
}
.login-form-side {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg);
  padding: 40px 32px;
}
.login-box {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 40px 40px;
  width: 100%;
  max-width: 400px;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--border);
}
.login-box-title { font-size: 22px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
.login-box-sub   { font-size: 13.5px; color: var(--text-muted); margin-bottom: 28px; }
.login-box .form-group { margin-bottom: 16px; }
.login-box label { font-size: 13px; font-weight: 500; color: var(--text-secondary); margin-bottom: 6px; }
.login-box input { padding: 10px 13px; }
.login-captcha-row { display: flex; gap: 10px; align-items: center; }
.login-captcha-row input { flex: 1; }
.login-captcha-img { height: 42px; border-radius: var(--radius-sm); cursor: pointer; border: 1px solid var(--border); display: block; }
.login-submit { width: 100%; justify-content: center; padding: 11px 16px; font-size: 14px; font-weight: 600; margin-top: 20px; }
.login-hint { margin-top: 16px; text-align: center; font-size: 12px; color: var(--text-muted); }

/* ── Expire Warning Modal ── */
.expire-warn-badge {
  display: inline-block;
  background: var(--warning-bg);
  color: var(--warning);
  border: 1px solid var(--warning-border);
  border-radius: 20px;
  padding: 2px 10px;
  font-size: 12px;
  font-weight: 600;
}

.operation-journey{margin-bottom:18px;padding:19px 20px 17px;border:1px solid #e4e5e8;border-radius:15px;background:#fff}.journey-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.journey-head small{font-size:8px;letter-spacing:.16em;color:#8e96a2}.journey-head h3{margin-top:3px;font-size:14px}.journey-head p{margin-top:3px;color:var(--text-muted);font-size:9.5px}.journey-progress{text-align:right}.journey-progress b{display:block;font-size:20px}.journey-progress span{font-size:9px;color:var(--text-muted)}.journey-track{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.journey-track:before{content:'';position:absolute;left:6%;right:6%;top:16px;height:1px;background:#e3e4e7}.journey-step{position:relative;z-index:1;min-width:0;padding:0 5px 8px;color:var(--text);text-decoration:none!important}.journey-index{display:grid;place-items:center;width:32px;height:32px;margin-bottom:9px;border:4px solid #fff;border-radius:50%;background:#eceef1;color:#7e8794;font-size:9px;font-weight:700}.journey-step.done .journey-index{background:#202123;color:#fff}.journey-step.current .journey-index{background:#6d5dfc;color:#fff;box-shadow:0 0 0 4px #eeecff}.journey-step b{display:block;font-size:10.5px}.journey-step p{height:31px;margin-top:3px;overflow:hidden;color:#89919d;font-size:8.5px;line-height:1.45}.journey-step span{font-size:8.5px;color:#6d5dfc}.journey-step:hover b{color:#6d5dfc}

.ops-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 28px;border-radius:17px;background:linear-gradient(125deg,#202123,#363531);color:#fff}.ops-hero small{font-size:8px;letter-spacing:.17em;color:#a9f0dc}.ops-hero h1{margin-top:5px;font-size:23px}.ops-hero p{max-width:760px;margin-top:7px;color:rgba(255,255,255,.58);font-size:11px}.ops-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:14px 0}.ops-summary>div{position:relative;padding:15px 16px;border:1px solid var(--border);border-radius:13px;background:#fff}.ops-summary small{font-size:9.5px;color:var(--text-muted)}.ops-summary b{display:block;margin-top:5px;font-size:22px}.ops-summary em{font-size:8.5px;color:var(--text-muted);font-style:normal}.ops-dot{position:absolute;right:14px;top:14px;width:7px;height:7px;border-radius:50%}.ops-dot.p0{background:#ef4444;box-shadow:0 0 0 5px #fee2e2}.ops-dot.p1{background:#f59e0b;box-shadow:0 0 0 5px #fef3c7}.ops-dot.ok{background:#10a37f;box-shadow:0 0 0 5px #dff5ee}.ops-dot.ai{background:#6d5dfc;box-shadow:0 0 0 5px #eeecff}.ops-tabs{display:flex;gap:4px;padding:4px;border-radius:11px;background:#e9eaed;width:max-content;margin-bottom:13px}.ops-tabs button{position:relative;padding:8px 13px;border:0;border-radius:8px;background:transparent;color:#6f7784;font:600 10px Inter;cursor:pointer}.ops-tabs button.active{background:#fff;color:#252b35;box-shadow:0 1px 3px rgba(0,0,0,.09)}.ops-tabs button i{margin-left:5px;padding:1px 5px;border-radius:7px;background:#ef4444;color:#fff;font-size:7px;font-style:normal}.ops-tab{display:none}.ops-tab.active{display:block}.ops-section-head{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border:1px solid var(--border);border-radius:13px 13px 0 0;background:#fff}.ops-section-head h3{font-size:13px}.ops-section-head p{margin-top:3px;color:var(--text-muted);font-size:9.5px}.action-list{border:1px solid var(--border);border-top:0;border-radius:0 0 13px 13px;background:#fff}.action-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;padding:15px 16px;border-bottom:1px solid var(--border-light)}.action-item:last-child{border-bottom:0}.action-priority{display:grid;place-items:center;width:31px;height:25px;border-radius:7px;background:#eceef2;color:#667080;font-size:9px;font-weight:800}.action-item.p0 .action-priority{background:#fee2e2;color:#dc2626}.action-item.p1 .action-priority{background:#fef3c7;color:#b45309}.action-copy>div{display:flex;align-items:center;gap:8px}.action-copy b{font-size:11.5px}.action-copy small{font-size:8.5px;color:var(--text-muted)}.action-copy>p{margin-top:5px;color:var(--text-secondary);font-size:10px}.action-suggestion{margin-top:8px;padding:7px 9px;border-radius:7px;background:#f7f8fa;color:#657080;font-size:9.5px}.action-suggestion strong{margin-right:7px;color:#303641}.action-buttons{display:flex;align-items:center;gap:5px}.ops-empty{padding:38px;text-align:center;color:var(--text-muted);font-size:11px}.strategy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.strategy-card{padding:16px;border:1px solid var(--border);border-radius:13px;background:#fff}.strategy-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:13px}.strategy-title b{display:block;font-size:11.5px}.strategy-title span{font-size:8.5px;color:var(--text-muted)}.strategy-title em{padding:3px 7px;border-radius:7px;background:#f0f1f3;color:#6e7682;font-size:8px;font-style:normal}.strategy-title .signal-increase{background:#e4f7ef;color:#087f5b}.strategy-title .signal-decrease{background:#fff1e5;color:#b45309}.strategy-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.strategy-fields label{margin:0;font-size:9px}.strategy-fields label.wide{grid-column:span 2}.strategy-fields input:not([type]),.strategy-fields input[type=number],.strategy-fields select{height:34px;margin-top:4px;padding:6px 8px;font-size:10px}.inline-inputs{display:flex;gap:4px}.strategy-toggle{display:flex;align-items:center;gap:6px;margin-top:11px;font-size:9.5px}.strategy-toggle input{width:auto}.strategy-reason{margin:9px 0;padding:7px 8px;border-radius:7px;background:#f8f8f6;color:#818883;font-size:9px}.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.model-card{padding:15px;border:1px solid var(--border);border-radius:13px;background:#fff}.model-card>div{display:flex;align-items:center;gap:7px}.model-card b{font-size:11px}.model-card em{margin-left:auto;color:var(--text-muted);font-size:8px;font-style:normal}.model-status{width:7px;height:7px;border-radius:50%;background:#10a37f}.model-status.disabled{background:#ef4444}.model-status.rate_limited,.model-status.degraded{background:#f59e0b}.model-card dl{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:13px}.model-card dt{font-size:8.5px;color:var(--text-muted)}.model-card dd{text-align:right;font-size:9px}.model-card p{margin-top:10px;padding-top:9px;border-top:1px solid var(--border-light);color:#87909c;font-size:8.5px}.prompt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:12px}.prompt-grid article{padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}.prompt-grid article>span{font-size:7.5px;letter-spacing:.08em;color:#6d5dfc}.prompt-grid article>b{display:block;margin-top:3px;font-size:11px}.prompt-grid article>p{height:43px;margin-top:7px;overflow:hidden;color:#747d8a;font-size:8.5px;line-height:1.65}.prompt-grid footer{display:flex;gap:5px;margin-top:9px;padding-top:8px;border-top:1px solid var(--border-light)}.prompt-grid footer em{padding:2px 5px;border-radius:5px;background:#f1f2f4;color:#777f8a;font-size:7.5px;font-style:normal}.prompt-grid footer strong{margin-left:auto;font-size:7.5px;color:#10a37f}

/* ── Responsive ── */
.nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  z-index: 199;
}
.nav-overlay.open { display: block; }

@media (max-width: 1024px) {
  :root { --nav-width: 220px; }
}

@media (max-width: 768px) {
  .nav {
    width: var(--nav-width);
    transform: translateX(-100%);
    transition: transform 0.22s ease;
  }
  .nav.open { transform: translateX(0); }
  .main { margin-left: 0; }
  .topbar-hamburger { display: flex; }
  .content { padding: 16px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .chart-grid { grid-template-columns: 1fr; }
  .page-header { flex-wrap: wrap; }
  .login-brand { display: none; }
  .login-form-side { padding: 24px 16px; }
  .login-box { padding: 32px 24px; }
  .form-row { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .topbar { padding: 0 14px; }
  .topbar-username, .topbar-role { display: none; }
}

/* ═══════════════════════════════════════════════════════════════
   V6.0.1 · Minible inspired light admin skin
   参考 Minible 的浅色后台气质：柔和蓝紫、浅灰画布、白色侧栏、轻量卡片
   ═══════════════════════════════════════════════════════════════ */
:root,
.agent-os{
  --primary:#5156be;
  --primary-dark:#3f44a8;
  --primary-light:#eef0ff;
  --accent:#5156be;
  --accent-hover:#454ab3;
  --accent-light:#f1f2ff;
  --bg:#f8f8fb;
  --surface:#ffffff;
  --surface-2:#f6f6fb;
  --surface-3:#eff1f7;
  --border:#e9e9ef;
  --border-light:#f1f1f6;
  --text:#343a40;
  --text-secondary:#60667a;
  --text-muted:#8f96ad;
  --success:#2ab57d;
  --success-bg:#e9f8f2;
  --success-border:#c4ecd9;
  --warning:#ffbf53;
  --warning-bg:#fff8e8;
  --warning-border:#ffe6ae;
  --danger:#fd625e;
  --danger-bg:#fff0f0;
  --danger-border:#ffd0cf;
  --info:#4ba6ef;
  --info-bg:#edf7ff;
  --info-border:#cfeaff;
  --nav-width:252px;
  --header-h:70px;
  --radius:10px;
  --radius-sm:8px;
  --radius-lg:14px;
  --shadow-sm:0 2px 4px rgba(15,34,58,.035);
  --shadow:0 4px 18px rgba(15,34,58,.06);
  --shadow-md:0 10px 30px rgba(15,34,58,.10);
  --shadow-lg:0 24px 70px rgba(15,34,58,.16);
}

body,
.agent-os{
  background:#f8f8fb;
  color:#343a40;
}

.agent-os .layout{background:#f8f8fb}
.agent-os .nav{
  width:var(--nav-width);
  background:#fff;
  border-right:1px solid #ececf2;
  box-shadow:0 0 18px rgba(15,34,58,.045);
}
.agent-os .nav-brand{
  height:70px;
  padding:0 22px;
  border-bottom:1px solid #f0f0f5;
  gap:12px;
}
.agent-os .nav-brand-icon{
  width:38px;
  height:38px;
  border-radius:11px;
  background:linear-gradient(135deg,#6267d9,#5156be);
  box-shadow:0 8px 18px rgba(81,86,190,.22);
}
.agent-os .nav-brand-icon span{font-size:12px;color:#fff}
.agent-os .nav-brand-text{
  color:#2f3542;
  font-size:16px;
  font-weight:700;
}
.agent-os .nav-brand-sub,
.nav-brand-version{
  color:#9aa1b6;
  font-size:9px;
  letter-spacing:.11em;
}
.nav-context{
  margin:12px 16px 8px;
  background:#f4f5ff;
  border:1px solid #e5e7ff;
  color:#383f78;
  border-radius:12px;
}
.nav-context small{color:#8c93bd}
.context-pulse{background:#2ab57d;box-shadow:0 0 0 5px rgba(42,181,125,.12)}
.agent-os .nav-menu{padding:6px 12px 18px}
.agent-os .nav-menu::-webkit-scrollbar-thumb{background:#d8dbea}
.agent-os .nav-section{
  padding:18px 10px 7px;
  color:#a0a6bc;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
}
.agent-os .nav-item{
  margin:3px 0;
  padding:9px 11px;
  border-radius:9px;
  border-left:0;
  color:#687086;
  font-size:13px;
  font-weight:500;
}
.agent-os .nav-item:hover{
  background:#f3f4ff;
  color:#5156be;
}
.agent-os .nav-item.active{
  background:#eff1ff;
  color:#5156be;
  box-shadow:inset 3px 0 0 #5156be;
  font-weight:700;
}
.nav-glyph{
  width:27px;
  height:27px;
  border-radius:8px;
  background:#f3f4f9;
  color:#7a8198;
}
.agent-os .nav-item:hover .nav-glyph,
.agent-os .nav-item.active .nav-glyph{
  background:#5156be;
  color:#fff;
}
.agent-os .nav-item em{
  color:#5156be;
  background:#fff;
  border-color:#d9dcff;
}
.agent-os .nav-footer{
  padding:14px 18px;
  background:#fff;
  border-top:1px solid #f0f0f5;
}
.agent-os .nav-avatar,
.topbar-user-avatar{
  background:linear-gradient(135deg,#6267d9,#5156be);
  color:#fff;
  border-radius:50%;
  box-shadow:0 6px 15px rgba(81,86,190,.20);
}
.agent-os .nav-user-name{color:#343a40}
.agent-os .nav-user-role{color:#99a0b5}
.nav-exit,
.nav-logout{color:#9aa1b6}
.nav-exit:hover,
.nav-logout:hover{color:#5156be}

.agent-os .main{margin-left:var(--nav-width)}
.agent-os .topbar{
  height:70px;
  background:#fff;
  border-bottom:1px solid #ececf2;
  box-shadow:0 2px 12px rgba(15,34,58,.035);
  padding:0 28px;
}
.topbar-breadcrumb small{
  color:#9aa1b6;
  letter-spacing:.14em;
}
.topbar-breadcrumb strong{
  color:#343a40;
  font-size:16px;
  font-weight:700;
}
.command-trigger{
  height:40px;
  background:#f7f7fb;
  border:1px solid #e6e8f0;
  border-radius:8px;
  color:#8e95aa;
}
.command-trigger:hover{
  border-color:#d9dcff;
  background:#f4f5ff;
}
.command-trigger kbd,
.command-search kbd{
  background:#fff;
  border-color:#e1e3ec;
  color:#8e95aa;
}
.topbar-signal{
  color:#687086;
  background:#f4f8f6;
  border:1px solid #daf0e7;
  border-radius:20px;
  padding:6px 11px;
  font-size:11px;
}
.topbar-signal:hover{text-decoration:none;color:#208f64}
.topbar-user:hover{
  border-color:#e2e4ef;
  background:#f7f7fb;
}

.agent-os .content{padding:26px 30px 40px}
.card,
.workspace-panel,
.metric-tile,
.asset-sidebar,
.asset-main,
.asset-inspector,
.operation-journey,
.ops-summary>div,
.ops-section-head,
.action-list,
.strategy-card,
.model-card,
.prompt-grid article,
.form-section,
.package-settings,
.modal,
.login-box{
  background:#fff;
  border:1px solid #e9e9ef;
  border-radius:12px;
  box-shadow:0 3px 14px rgba(15,34,58,.035);
}
.card-header,
.workspace-panel-head,
.asset-main-head,
.asset-modal-head{
  border-bottom:1px solid #eff0f5;
  background:#fff;
}
.card-title,
.workspace-panel-head h3,
.ops-section-head h3,
.asset-modal-head h2{
  color:#343a40;
  font-weight:700;
}
.stat-card{
  border:1px solid #e9e9ef;
  border-radius:12px;
  box-shadow:0 3px 14px rgba(15,34,58,.035);
}
.stat-card:hover,
.metric-tile:hover,
.card:hover{
  box-shadow:0 9px 26px rgba(15,34,58,.07);
}
.stat-card::before{background:#5156be;opacity:1;height:3px}
.stat-label{color:#8f96ad}
.stat-value{color:#343a40}

table{
  border-collapse:separate;
  border-spacing:0;
}
thead th{
  background:#f8f8fb;
  color:#7b8298;
  border-bottom:1px solid #e9e9ef;
  font-size:11px;
}
tbody tr{border-bottom:1px solid #f0f1f6}
tbody tr:hover{background:#f7f8ff}
tbody td{color:#424958}

.btn{
  border-radius:8px;
  min-height:34px;
  font-weight:600;
  box-shadow:none;
}
.btn-primary{
  background:#5156be;
  border-color:#5156be;
  color:#fff;
}
.btn-primary:hover{
  background:#454ab3;
  border-color:#454ab3;
  box-shadow:0 6px 14px rgba(81,86,190,.22);
}
.btn-secondary{
  background:#fff;
  border-color:#dfe2ec;
  color:#60667a;
}
.btn-secondary:hover{
  background:#f6f7ff;
  border-color:#cfd4ff;
  color:#5156be;
}
.btn-danger{background:#fd625e;border-color:#fd625e}
.btn-danger:hover{background:#ef4d49;border-color:#ef4d49}
.btn-success{background:#2ab57d;border-color:#2ab57d}

label{
  color:#60667a;
  font-size:12.5px;
  font-weight:600;
}
input:not([type]),
input[type=text],
input[type=password],
input[type=number],
input[type=email],
input[type=date],
input[type=url],
input[type=search],
select,
textarea{
  min-height:38px;
  border:1px solid #dfe2ec;
  border-radius:8px;
  background:#fff;
  color:#343a40;
  font-size:13px;
  box-shadow:inset 0 1px 1px rgba(15,34,58,.015);
}
input:hover,
select:hover,
textarea:hover{border-color:#ccd1e2}
input:focus,
select:focus,
textarea:focus{
  border-color:#5156be;
  box-shadow:0 0 0 3px rgba(81,86,190,.12);
  background:#fff;
}
input::placeholder,
textarea::placeholder{color:#a5acc0}
.form-hint{color:#9aa1b6}

.badge{
  border-radius:6px;
  font-size:11px;
  padding:3px 8px;
}
.badge-accent{background:#f1f2ff;color:#5156be;border-color:#d9dcff}
.badge-success{background:#e9f8f2;color:#159b6a;border-color:#c4ecd9}
.badge-danger{background:#fff0f0;color:#e34a46;border-color:#ffd0cf}
.badge-warning{background:#fff8e8;color:#b98116;border-color:#ffe6ae}
.badge-info{background:#edf7ff;color:#328ad3;border-color:#cfeaff}
.badge-neutral{background:#f5f6fb;color:#747b91;border-color:#e4e6ef}

.alert{
  border-radius:10px;
  box-shadow:0 3px 12px rgba(15,34,58,.035);
}
.chip{
  border:1px solid #dfe2ec;
  border-radius:18px;
  background:#fff;
}
.chip:hover{border-color:#5156be;color:#5156be;background:#f7f7ff}
.chip.chip-on{background:#5156be;border-color:#5156be;color:#fff}
.checkbox-group{
  border-color:#e2e4ef;
  background:#fff;
  border-radius:10px;
}

.workspace-hero,
.asset-hero,
.ops-hero{
  background:linear-gradient(135deg,#6267d9 0%,#5156be 48%,#667eea 100%);
  border:0;
  box-shadow:0 16px 36px rgba(81,86,190,.18);
}
.workspace-kicker,
.ops-hero small{color:#dfe2ff}
.workspace-hero p,
.ops-hero p{color:rgba(255,255,255,.75)}
.workspace-hero .btn-secondary,
.asset-action.primary{
  background:#fff;
  color:#5156be;
  border-color:rgba(255,255,255,.9);
}
.workspace-hero .btn-secondary:hover,
.asset-action.primary:hover{
  background:#f4f5ff;
  color:#454ab3;
}
.asset-action{
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
}
.asset-action:hover{background:rgba(255,255,255,.16)}
.asset-action>span,
.asset-action.primary>span{
  background:#5156be;
  color:#fff;
}

.hub-tabs,
.ops-tabs{
  background:#eef0f7;
  border-radius:10px;
}
.hub-tabs a,
.ops-tabs button{color:#72798f}
.hub-tabs a.active,
.ops-tabs button.active{
  background:#fff;
  color:#5156be;
  box-shadow:0 2px 8px rgba(15,34,58,.08);
}
.asset-filter.active{
  background:#f1f2ff;
  color:#5156be;
}
.asset-type-icon{
  background:#f1f2ff;
  color:#5156be;
}
.package-step,
.package-drop,
.upload-zone{
  background:#fafafe;
  border-color:#dfe2ec!important;
  color:#7b8298;
}
.package-step i,
.package-drop-icon,
.upload-icon{
  background:#5156be;
  color:#fff;
  box-shadow:0 8px 18px rgba(81,86,190,.18);
}
.package-drop:hover,
.package-drop.dragover,
.upload-zone:hover,
.upload-zone.dragover{
  border-color:#5156be!important;
  background:#f4f5ff;
}
.package-settings-title,
.upload-zone b{color:#343a40}
.tag-preview span{
  background:#f1f2ff;
  color:#5156be;
}
.package-privacy,
.privacy-note,
.switch-row{
  background:#e9f8f2;
  color:#208f64;
}
.switch-row input:checked+i{background:#2ab57d}
.polished-grid input:not([type]),
.polished-grid select,
.polished-grid textarea,
.strategy-fields input:not([type]),
.strategy-fields input[type=number],
.strategy-fields select{
  border-color:#dfe2ec;
  background:#fff;
  border-radius:8px;
}
.polished-grid input:not([type]):focus,
.polished-grid select:focus,
.polished-grid textarea:focus{
  border-color:#5156be;
  box-shadow:0 0 0 3px rgba(81,86,190,.12);
}

.journey-step.done .journey-index,
.import-progress i{
  background:#5156be;
}
.journey-step.current .journey-index{
  background:#2ab57d;
  box-shadow:0 0 0 4px #dff5ee;
}
.journey-step span,
.journey-step:hover b,
.prompt-grid article>span{color:#5156be}
.ops-dot.ai{background:#5156be;box-shadow:0 0 0 5px #eeefff}
.action-item.p0 .action-priority{background:#fff0f0;color:#fd625e}
.action-item.p1 .action-priority{background:#fff8e8;color:#b98116}
.action-suggestion,
.strategy-reason{
  background:#f8f8fb;
  color:#687086;
}
.strategy-title .signal-increase{background:#e9f8f2;color:#159b6a}
.strategy-title .signal-decrease{background:#fff8e8;color:#b98116}
.model-status{background:#2ab57d}
.model-status.disabled{background:#fd625e}
.model-status.rate_limited,
.model-status.degraded{background:#ffbf53}

.modal-overlay{
  background:rgba(35,39,55,.38);
  backdrop-filter:blur(5px);
}
.modal,
.command-box{
  border:1px solid #e9e9ef;
  box-shadow:0 24px 70px rgba(15,34,58,.18);
}
.command-palette{background:rgba(35,39,55,.42)}
.command-results a:hover{background:#f4f5ff;color:#5156be}
.modal-close{
  background:#f4f5fb;
  color:#7c8398;
}
.modal-close:hover{background:#5156be;color:#fff}

.login-brand{
  background:linear-gradient(135deg,#6267d9 0%,#5156be 50%,#667eea 100%);
}
.login-brand-icon{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.22);
}
.login-feature-dot{background:#fff}
.login-box{
  border-radius:14px;
  box-shadow:0 18px 48px rgba(15,34,58,.10);
}
.login-submit{border-radius:8px}

/* V6.1 · Strategy scheduling workspace */
.strategy-dashboard{display:grid;grid-template-columns:360px minmax(0,1fr);gap:14px;margin-top:14px}
.strategy-report{display:grid;gap:10px}
.strategy-report article{padding:15px 16px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}
.strategy-report span{display:inline-flex;padding:3px 8px;border-radius:7px;background:var(--accent-light);color:var(--accent);font-size:10px;font-weight:700}
.strategy-report b{display:block;margin-top:8px;font-size:28px;line-height:1;color:var(--text)}
.strategy-report small{display:block;margin-top:4px;color:var(--text-muted);font-size:10px}
.strategy-report p{margin-top:10px;color:var(--text-secondary);font-size:10.5px;line-height:1.65}
.strategy-bulk-panel{padding:16px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}
.bulk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}
.bulk-head b{display:block;font-size:13px;color:var(--text)}
.bulk-head small{display:block;margin-top:3px;color:var(--text-muted);font-size:10px}
.bulk-head label{display:flex;align-items:center;gap:6px;margin:0;white-space:nowrap}
.bulk-head input{width:auto}
.bulk-controls{display:grid;grid-template-columns:170px minmax(220px,1fr) auto;gap:9px;margin-bottom:12px}
.bulk-controls select{height:38px}
.bulk-site-list{max-height:360px;overflow:auto;border:1px solid var(--border-light);border-radius:10px;background:#fbfbfe}
.bulk-site{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:9px;align-items:center;margin:0;padding:11px 12px;border-bottom:1px solid var(--border-light);cursor:pointer}
.bulk-site:last-child{border-bottom:0}
.bulk-site:hover{background:#f4f5ff}
.bulk-site input{width:auto}
.bulk-site b{display:block;font-size:11.5px;color:var(--text)}
.bulk-site small{display:block;margin-top:3px;color:var(--text-muted);font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bulk-site em{padding:3px 7px;border-radius:7px;background:#f2f3f8;color:#7a8198;font-size:8.5px;font-style:normal}
.bulk-site em.signal-increase,.strategy-title .signal-increase{background:#e9f8f2;color:#159b6a}
.bulk-site em.signal-decrease,.strategy-title .signal-decrease{background:#fff8e8;color:#b98116}
.strategy-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.strategy-template-card{padding:16px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}
.strategy-template-card.is-editor{grid-column:span 2}
.strategy-template-card dl{display:grid;grid-template-columns:88px minmax(0,1fr);gap:7px;margin:13px 0}
.strategy-template-card dt{color:var(--text-muted);font-size:9.5px}
.strategy-template-card dd{color:var(--text-secondary);font-size:10px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.strategy-manual{margin-top:14px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}
.strategy-manual summary{padding:14px 16px;cursor:pointer;font-weight:700;color:var(--text)}
.strategy-manual summary:hover{color:var(--accent)}
.strategy-manual .strategy-grid{padding:0 16px 16px}

/* v6.8.0 · Horizontal workflow navigation */
.agent-os.horizontal-layout{--horizontal-nav-h:68px;--header-h:64px;min-width:1280px}
.horizontal-layout .layout{display:block;min-height:100vh}
.horizontal-layout .horizontal-nav{position:sticky!important;top:0;left:auto;right:auto;bottom:auto;z-index:600;width:100%!important;height:var(--horizontal-nav-h);display:flex;flex-direction:row;align-items:center;overflow:visible;background:#f3f3f1;border-right:0;border-bottom:1px solid #deded9;box-shadow:0 1px 0 rgba(16,24,39,.03)}
.horizontal-layout .nav-brand{width:286px;height:var(--horizontal-nav-h);padding:0 22px;flex-shrink:0;border-bottom:0;border-right:1px solid #e2e2dd}
.horizontal-layout .nav-brand-icon{width:38px;height:38px;border-radius:12px;background:#202123}.horizontal-layout .nav-brand-icon span{font-size:11px;color:#fff;font-weight:800}
.horizontal-layout .nav-menu.horizontal-menu{flex:1;height:100%;display:flex;align-items:center;gap:3px;padding:0 14px;overflow:visible}
.horizontal-layout .nav-context,.horizontal-layout .nav-section{display:none!important}
.horizontal-layout .nav-group{position:relative;height:100%;display:flex;align-items:center}
.horizontal-layout .nav-group-trigger{height:42px;display:flex;align-items:center;gap:7px;padding:0 11px;border:0;border-radius:10px;background:transparent;color:#555b66;font:600 12px Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;cursor:pointer;white-space:nowrap;transition:.15s}
.horizontal-layout .nav-group-trigger i{font-style:normal;font-size:10px;color:#9aa1ad;transition:.15s}.horizontal-layout .nav-group:hover .nav-group-trigger,.horizontal-layout .nav-group.active .nav-group-trigger{background:#e5e5e1;color:#202123;text-decoration:none}.horizontal-layout .nav-group:hover .nav-group-trigger i{transform:rotate(180deg);color:#202123}
.horizontal-layout .nav-group-trigger .nav-glyph{width:22px;height:22px;border-radius:7px;color:#666;background:transparent}.horizontal-layout .nav-group.active .nav-glyph{background:#202123;color:#fff}
.horizontal-layout .nav-dropdown{position:absolute;left:0;top:58px;width:286px;padding:8px;background:#fff;border:1px solid #e4e7ec;border-radius:14px;box-shadow:0 18px 46px rgba(16,24,39,.16);opacity:0;visibility:hidden;transform:translateY(8px);transition:.15s;pointer-events:none;display:grid;gap:6px;z-index:80}.horizontal-layout .nav-group:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.horizontal-layout .nav-drop-item{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:10px;color:#222936;text-decoration:none}.horizontal-layout .nav-drop-item:hover{background:#f6f7f9;text-decoration:none}.horizontal-layout .nav-drop-item.active{background:#f0edff;color:#5144d5}.horizontal-layout .nav-drop-item .nav-glyph{flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:#f1f2f4;color:#5e6673}.horizontal-layout .nav-drop-item.active .nav-glyph{background:#6d5dfc;color:#fff}.horizontal-layout .nav-drop-item strong{display:block;font-size:12.5px;line-height:1.25}.horizontal-layout .nav-drop-item small{display:block;margin-top:3px;color:#8b94a3;font-size:10px;line-height:1.35}
.horizontal-layout .nav-footer{width:230px;height:100%;padding:0 16px;display:flex;align-items:center;background:#ebebe8;border-top:0;border-left:1px solid #deded9;flex-shrink:0}.horizontal-layout .nav-user{width:100%}.horizontal-layout .nav-avatar{background:#202123;color:#fff}.horizontal-layout .nav-user-name{color:#292927}.horizontal-layout .nav-user-role{color:#898984}.horizontal-layout .nav-exit{color:#777772}
.horizontal-layout .main{margin-left:0!important;min-height:calc(100vh - var(--horizontal-nav-h))}.horizontal-layout .topbar{top:var(--horizontal-nav-h);height:64px;padding:0 32px;background:rgba(255,255,255,.94);z-index:450}.horizontal-layout .content{padding:24px 32px 40px}.horizontal-layout .command-trigger{margin-left:24px}.horizontal-layout .command-palette{z-index:1000}

/* v6.8.1 · Pro admin topbar + heavy dashboard first screen */
.pro-admin{--horizontal-nav-h:100px;background:#f3f5f9;color:#3f4654}
.pro-admin .horizontal-nav{height:100px!important;display:block!important;background:#fff!important;border-bottom:1px solid #e6e9f0!important;box-shadow:0 3px 10px rgba(31,41,55,.06)!important}
.pro-admin .nav-topline{height:56px;display:flex;align-items:center;padding:0 74px 0 84px;border-bottom:1px solid #edf0f5;background:#fff}
.pro-admin .nav-brand{width:220px!important;height:56px!important;padding:0!important;border:0!important;gap:10px}.pro-admin .nav-brand-icon{width:40px!important;height:40px!important;background:#1E90FF!important;border:1px solid #e7ebf3;padding:0;overflow:hidden;box-shadow:0 4px 12px rgba(31,41,55,.08);border-radius:20px!important;transform-style:preserve-3d;animation:brandLogoFlip .72s ease-out both}.pro-admin .nav-brand:hover .nav-brand-icon{animation:brandLogoHover .62s ease-in-out both}.pro-admin .nav-brand-icon img{width:100%;height:100%;padding:4px;box-sizing:border-box;border-radius:50%;background:#1E90FF;object-fit:contain}.pro-admin .nav-brand-text{font-size:18px!important;font-weight:800;color:#242b37!important;letter-spacing:.03em}.pro-admin .nav-brand-sub{font-size:8px!important;color:#9aa2b2!important;letter-spacing:.08em;margin-top:2px!important}
@keyframes brandLogoFlip{0%{transform:rotateY(-180deg) scale(.92);opacity:.72}100%{transform:rotateY(0) scale(1);opacity:1}}
@keyframes brandLogoHover{0%{transform:rotateY(0) scale(1)}100%{transform:rotateY(360deg) scale(1.04)}}
.pro-admin .nav-search{width:310px;height:36px;margin-left:24px;display:flex;align-items:center;gap:10px;padding:0 15px;border:0;border-radius:5px;background:#f2f3fb;color:#8d94a5;cursor:pointer}.pro-admin .nav-search b{font-size:12px;font-weight:600}.pro-admin .nav-search span{font-size:17px;color:#939bad}
.pro-admin .nav-top-actions{margin-left:auto;height:100%;display:flex;align-items:center;gap:14px}.top-icon-btn{position:relative;width:32px;height:32px;display:grid;place-items:center;border:0;background:transparent;color:#8790a2;font-size:20px;text-decoration:none!important;cursor:pointer}.top-icon-btn:hover{color:#5b8def}.top-icon-btn.bell em{position:absolute;right:-3px;top:0;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#ff5c66;color:#fff;font-size:9px;font-style:normal;line-height:16px;font-weight:800}
.quick-menu{position:relative}.quick-trigger{height:34px;padding:0 12px;border:1px solid #e5e8f0;border-radius:7px;background:#fff;color:#737b8f;font-size:12px;font-weight:700;cursor:pointer}.quick-trigger span{margin-left:4px}.quick-dropdown{position:absolute;right:0;top:40px;width:190px;padding:8px;background:#fff;border:1px solid #e6e9f0;border-radius:12px;box-shadow:0 18px 46px rgba(31,41,55,.16);opacity:0;visibility:hidden;transform:translateY(8px);transition:.15s;z-index:760}.quick-menu:hover .quick-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.quick-dropdown a{display:block;padding:9px 10px;border-radius:8px;color:#4b5565;font-size:12px;font-weight:600;text-decoration:none}.quick-dropdown a:hover{background:#f4f6fb;color:#5b8def}
.pro-admin .topbar-user{height:56px;margin-left:8px;padding:0 16px;background:#f3f4fa;border-left:1px solid #edf0f5;display:flex;align-items:center;gap:10px;position:relative;cursor:pointer}.pro-admin .topbar-user-avatar{width:34px;height:34px;border-radius:50%;background:#f6c96f;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.pro-admin .topbar-username{display:flex;flex-direction:column;font-size:12px;font-weight:800;color:#4a5160;line-height:1.15}.pro-admin .topbar-username small{font-size:10px;color:#8b93a5;font-weight:600;margin-top:3px}.pro-admin .topbar-dropdown{top:54px;right:8px}
.pro-admin .nav-menuline{height:44px;display:flex;align-items:center;padding:0 84px;background:#fff}.pro-admin .nav-menu.horizontal-menu{height:44px!important;padding:0!important;gap:20px}.pro-admin .nav-group-trigger{height:44px!important;padding:0!important;border-radius:0!important;background:transparent!important;color:#737b8f!important;font-size:13px!important;font-weight:800!important}.pro-admin .nav-group:hover .nav-group-trigger,.pro-admin .nav-group.active .nav-group-trigger{color:#5b8def!important}.pro-admin .nav-group-trigger .nav-glyph{width:20px;height:20px;color:inherit!important;background:transparent!important;font-size:14px}.pro-admin .nav-group.active .nav-glyph{background:transparent!important;color:#5b8def!important}.pro-admin .nav-group-trigger i{font-size:11px}.pro-admin .nav-dropdown{top:42px!important}.pro-admin .main{margin-left:0!important;min-height:calc(100vh - 100px)}.pro-admin .content{padding:22px 84px 42px!important;background:#f3f5f9}.pro-admin .command-palette{padding-top:82px}
.dashboard-titlebar{display:flex;justify-content:space-between;align-items:center;margin:4px 0 18px}.dashboard-titlebar small{font-size:10px;font-weight:900;color:#566070;letter-spacing:.02em}.dashboard-titlebar h2{margin-top:2px;font-size:18px;color:#3d4655}.dashboard-crumb{display:flex;align-items:center;gap:12px;color:#9299aa;font-size:13px}.dashboard-crumb b{color:#303846}.dashboard-crumb em{font-style:normal}.heavy-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:22px}.heavy-card{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:116px;padding:24px 22px;border:1px solid #e6e9f0;border-radius:5px;background:#fff;box-shadow:0 2px 4px rgba(31,41,55,.04)}.heavy-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:5px;font-size:23px}.heavy-card.blue .heavy-icon{background:#eaf1ff;color:#5b8def}.heavy-card.amber .heavy-icon{background:#fff5df;color:#e4b33f}.heavy-card.cyan .heavy-icon{background:#e7f9ff;color:#4bc4e6}.heavy-card small{display:block;color:#9096a6;font-size:12px;font-weight:900;text-transform:uppercase}.heavy-card strong{display:block;margin-top:13px;font-size:22px;color:#3f4754}.heavy-card span{display:block;margin-top:12px;color:#8d94a5;font-size:12px;font-weight:700}.heavy-card em{align-self:center;padding:5px 9px;border-radius:5px;background:#e7f9ef;color:#1ecb73;font-size:11px;font-style:normal;font-weight:900}.heavy-card.blue em{background:#ffe9ec;color:#ff6470}.heavy-report{overflow:hidden;margin-bottom:20px;border:1px solid #e6e9f0;border-radius:5px;background:#fff;box-shadow:0 2px 4px rgba(31,41,55,.04)}.heavy-report-head{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #edf0f5}.heavy-report-head h3{font-size:16px;color:#3d4655}.heavy-report-head p{margin-top:2px;color:#969dad;font-size:11px}.report-tabs{display:flex;gap:4px}.report-tabs span{padding:6px 10px;border-radius:4px;background:#eee8ff;color:#8d6df2;font-size:11px;font-weight:800}.report-tabs span.active{background:#e7dcff}.heavy-report-stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px dashed #e5e8f0}.heavy-report-stats div{padding:18px;text-align:center;border-right:1px dashed #e5e8f0}.heavy-report-stats div:last-child{border-right:0}.heavy-report-stats b{display:block;font-size:18px;color:#3d4655}.heavy-report-stats span{display:block;margin-top:5px;color:#8d94a5;font-size:12px;font-weight:700}.report-chart{position:relative;height:260px;display:flex;align-items:flex-end;gap:52px;padding:44px 70px 30px;background:linear-gradient(to bottom,#fff,#fff),repeating-linear-gradient(to right,transparent 0,transparent 78px,#f0f2f6 79px,#f0f2f6 80px)}.report-chart i{position:relative;z-index:2;width:18px;border-radius:2px 2px 0 0;background:#6894e8}.report-chart i:nth-child(3n){background:#25c56f}.report-chart svg{position:absolute;left:70px;right:70px;top:34px;width:calc(100% - 140px);height:210px;z-index:3;overflow:visible}.report-chart path{fill:none;stroke:#f2c45f;stroke-width:3;stroke-dasharray:6 6}

/* v6.8.3 · Footer, favicon brand and contact tickets */
.app-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 84px 8px;
  margin-top:8px;
  box-sizing:border-box;
  border-top:1px solid var(--border-light);
  color:var(--text-muted);
  font-size:12px;
}
.app-footer nav{display:flex;align-items:center;gap:18px}
.app-footer a{color:var(--text-muted);text-decoration:none}
.app-footer a:hover{color:var(--accent);text-decoration:none}
.static-page{background:var(--bg)}
.static-wrap{max-width:860px;margin:0 auto;padding:48px 24px 80px}
.static-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:32px;color:var(--text-muted);font-size:13px;text-decoration:none}
.static-back:hover{color:var(--accent);text-decoration:none}
.static-header{margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--border)}
.static-header h1{margin:0 0 8px;color:var(--text);font-size:28px;font-weight:800}
.static-header .meta{color:var(--text-muted);font-size:13px}
.static-footer{display:flex;align-items:center;gap:16px;margin-top:42px;padding-top:22px;border-top:1px solid var(--border);color:var(--text-muted);font-size:13px}
.static-footer a{color:var(--text-muted);text-decoration:none}
.static-footer a:hover{color:var(--accent)}
.contact-wrap{max-width:920px}
.contact-card{padding:26px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(31,41,55,.07)}
.contact-form{display:flex;flex-direction:column;gap:16px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label span{display:block;margin-bottom:7px;color:#5d6678;font-size:12px;font-weight:800}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #dfe4ee;border-radius:12px;background:#fbfcff;padding:12px 14px;font-size:14px;color:#293241;outline:none;transition:.16s}
.contact-form input:focus,.contact-form textarea:focus{border-color:#5b8def;box-shadow:0 0 0 4px rgba(91,141,239,.12);background:#fff}
.contact-form textarea{resize:vertical;line-height:1.7}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.contact-actions{display:flex;justify-content:flex-end}
.ticket-message{max-width:620px;max-height:128px;overflow:auto;padding:10px 12px;border-radius:10px;background:#f7f8fb;color:#5d6678;font-size:12px;line-height:1.65;white-space:normal}
.pagination{display:flex;gap:8px;margin-top:16px}
.pagination a{min-width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text-secondary);text-decoration:none}
.pagination a.active,.pagination a:hover{background:#5b5fc7;color:#fff;border-color:#5b5fc7}
.login-brand-icon{width:36px!important;height:36px!important;padding:0;background:#1E90FF!important;border-color:rgba(255,255,255,.55)!important}
.login-brand-icon img{width:100%;height:100%;padding:4px;box-sizing:border-box;background:#1E90FF;object-fit:contain}
@keyframes loginLogoFlip{0%{transform:rotateY(-180deg) scale(.92);opacity:.72}100%{transform:rotateY(0) scale(1);opacity:1}}
@keyframes loginLogoHover{0%{transform:rotateY(0) scale(1)}100%{transform:rotateY(360deg) scale(1.04)}}
.topbar-user-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}

/* v6.8.8 · Social operations */
.social-tabs{display:flex;gap:8px;margin:0 0 18px}.social-tabs a{padding:9px 13px;border:1px solid #e6e9f0;border-radius:10px;background:#fff;color:#667085;font-size:12px;font-weight:800;text-decoration:none}.social-tabs a.active,.social-tabs a:hover{background:#5b5fc7;color:#fff;border-color:#5b5fc7}.site-workflow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.site-workflow-tabs a{min-width:112px;padding:10px 14px;border:1px solid #e6e9f0;border-radius:12px;background:#fff;color:#667085;text-decoration:none;box-shadow:0 2px 6px rgba(31,41,55,.03);transition:.16s}.site-workflow-tabs a b{display:block;font-size:12px;font-weight:900}.site-workflow-tabs a small{display:block;margin-top:3px;font-size:10px;color:#98a2b3;font-weight:800}.site-workflow-tabs a.active,.site-workflow-tabs a:hover{background:#5b5fc7;color:#fff;border-color:#5b5fc7;box-shadow:0 8px 18px rgba(91,95,199,.18)}.site-workflow-tabs a.active small,.site-workflow-tabs a:hover small{color:rgba(255,255,255,.78)}
.social-metrics,.social-dashboard-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.social-metrics article,.social-strip-card{display:block;padding:18px 20px;border:1px solid #e6e9f0;border-radius:12px;background:#fff;box-shadow:0 2px 4px rgba(31,41,55,.04);text-decoration:none}.social-metrics small,.social-strip-card small{display:block;color:#9096a6;font-size:11px;font-weight:900;text-transform:uppercase}.social-metrics b,.social-strip-card b{display:block;margin-top:8px;color:#3f4754;font-size:24px}.social-metrics span,.social-strip-card span{display:block;margin-top:7px;color:#8d94a5;font-size:12px;line-height:1.45}.social-strip-card:hover{border-color:#b9c6ff;box-shadow:0 10px 28px rgba(91,95,199,.12)}
.social-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.4fr);gap:16px}.social-form{display:grid;gap:14px}.social-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.social-form-grid label{margin:0}.social-form-grid label.wide{grid-column:1/-1}.social-form-grid span{display:block;margin-bottom:6px;color:#667085;font-size:11px;font-weight:800}.social-form-grid span small{margin-left:8px;color:#9aa3b5;font-size:11px;font-weight:700}.social-form-grid input,.social-form-grid select,.social-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #dfe4ee;border-radius:10px;background:#fbfcff;padding:10px 11px;font-size:12px;color:#293241}.social-form-grid textarea{resize:vertical;line-height:1.6}.social-task-list{display:grid;gap:9px;padding:14px}.social-task-item{padding:12px;border:1px solid #edf0f5;border-radius:10px;background:#fafbff}.social-task-item b{display:block;color:#3f4754;font-size:12.5px}.social-task-item span{display:block;margin-top:5px;color:#8d94a5;font-size:11px}.social-api-box{padding:15px;border:1px solid #e6e9f0;border-radius:12px;background:#f8faff}.social-api-box b{display:block;margin-bottom:8px}.social-api-box code,.social-api-grid code{display:block;margin-top:7px;padding:8px 10px;border-radius:8px;background:#1e293b;color:#dbeafe;font-size:11px;word-break:break-all}.social-api-box p{margin-top:10px;color:#667085;font-size:12px}.social-api-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.social-api-grid>div{padding:14px;border:1px solid #edf0f5;border-radius:12px;background:#fff}.social-api-grid b{font-size:12px;color:#3f4754}

/* v6.8.9 · Social workflow agent loop */
.social-flow-card{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:18px}.social-flow-card div{position:relative;min-height:112px;padding:15px 13px;border:1px solid #e6e9f0;border-radius:14px;background:#fff;box-shadow:0 2px 4px rgba(31,41,55,.04)}.social-flow-card div:after{content:"";position:absolute;right:-9px;top:50%;width:8px;height:1px;background:#cfd6e5}.social-flow-card div:last-child:after{display:none}.social-flow-card em{width:24px;height:24px;display:grid;place-items:center;border-radius:9px;background:#eef2ff;color:#5b5fc7;font-size:11px;font-style:normal;font-weight:900}.social-flow-card b{display:block;margin-top:11px;color:#354052;font-size:13px}.social-flow-card span{display:block;margin-top:6px;color:#8a93a5;font-size:10.5px;line-height:1.5}
.social-prompt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.social-prompt-grid article{padding:15px;border:1px solid #e6e9f0;border-radius:14px;background:#fff;box-shadow:0 2px 4px rgba(31,41,55,.04)}.social-prompt-grid small{display:inline-flex;padding:3px 8px;border-radius:999px;background:#eef2ff;color:#5b5fc7;font-size:10px;font-weight:900}.social-prompt-grid b{display:block;margin:10px 0;color:#354052;font-size:14px}.social-prompt-grid pre{max-height:220px;overflow:auto;margin:0;padding:12px;border-radius:10px;background:#1e293b;color:#dbeafe;font-size:11px;line-height:1.65;white-space:pre-wrap}
@media (max-width:1500px){.social-flow-card{grid-template-columns:repeat(4,minmax(0,1fr))}.social-flow-card div:after{display:none}}

/* v6.9.1 · Social text material generator */
.social-copy-form{gap:16px}.social-copy-form .form-section-head{margin:4px 0 -4px;padding:12px 14px;border:1px solid #edf0f5;border-radius:12px;background:#fbfcff}.social-copy-form .form-section-head b{display:block;color:#354052;font-size:13px}.social-copy-form .form-section-head span{display:block;margin-top:3px;color:#8a93a5;font-size:11px}.social-form-grid span i{color:#ef4444;font-style:normal}
.social-keyword-row{display:grid;grid-template-columns:3fr 2fr 5fr;gap:12px}.social-keyword-row label{margin:0}.social-keyword-row span{display:block;margin-bottom:6px;color:#667085;font-size:11px;font-weight:800}.social-keyword-row span i{color:#ef4444;font-style:normal}.social-keyword-row input{width:100%;box-sizing:border-box;border:1px solid #dfe4ee;border-radius:10px;background:#fbfcff;padding:10px 11px;font-size:12px;color:#293241}
.platform-choice{display:flex;flex-wrap:wrap;gap:9px}.platform-choice label{margin:0;cursor:pointer}.platform-choice input{position:absolute;opacity:0;pointer-events:none}.platform-choice span{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border:1px solid #e6e9f0;border-radius:999px;background:#fff;color:#667085;font-size:12px;font-weight:900;box-shadow:0 2px 7px rgba(31,41,55,.04);transition:.16s}.platform-choice input:checked+span{background:#5b5fc7;border-color:#5b5fc7;color:#fff;box-shadow:0 0 0 4px rgba(91,95,199,.14),inset 0 -2px 0 rgba(0,0,0,.12)}.platform-choice span:hover{transform:translateY(-1px);border-color:#5b5fc7;color:#5b5fc7}.platform-choice input:checked+span:hover{color:#fff}.industry-choice{max-height:168px;overflow:auto;padding:10px;border:1px solid #edf0f5;border-radius:12px;background:#fff}.industry-choice span{min-height:30px;padding:0 11px;font-size:11px}
.platform-group-tools{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:2px}.platform-group-tools button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 13px;border:1px solid #dfe4ee;border-radius:999px;background:#fff;color:#4f46e5;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 2px 7px rgba(31,41,55,.04)}.platform-group-tools button small{color:#8a93a5;font-size:10.5px;font-weight:800}.platform-group-tools button:hover{border-color:#5b5fc7;background:#f7f7ff}
.social-form-grid-3{grid-template-columns:repeat(3,1fr)}
.multi-chip-choice{display:flex;flex-wrap:wrap;gap:8px;padding:9px;border:1px solid #dfe4ee;border-radius:10px;background:#fbfcff}.multi-chip-choice label{margin:0;cursor:pointer}.multi-chip-choice input{position:absolute;opacity:0;pointer-events:none}.multi-chip-choice span{display:inline-flex;align-items:center;height:28px;padding:0 10px;border:1px solid #e3e7f0;border-radius:999px;background:#fff;color:#667085;font-size:11px;font-weight:800;transition:.15s}.multi-chip-choice input:checked+span{background:#eef2ff;border-color:#8da2fb;color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.08)}.chip-select-all{height:28px;padding:0 12px;border:1px dashed #aab4c8;border-radius:999px;background:#fff;color:#5b5fc7;font-size:11px;font-weight:900;cursor:pointer}.chip-select-all:hover{border-style:solid;background:#f3f4ff}
.mini-progress{width:136px;height:8px;overflow:hidden;border-radius:999px;background:#eef1f7}.mini-progress span{display:block;height:100%;border-radius:999px;background:#5b5fc7}
.social-upload-progress{margin-top:14px;padding:12px 14px;border:1px solid #e6e9f0;border-radius:12px;background:#fbfcff}.social-upload-progress div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#667085;font-size:12px;font-weight:800}.social-upload-progress b{color:#5b5fc7}.social-upload-progress i{display:block;height:9px;margin-top:10px;overflow:hidden;border-radius:999px;background:#edf0f7}.social-upload-progress em{display:block;height:100%;border-radius:999px;background:#5b5fc7;transition:width .18s}
.social-account-choice{display:grid;gap:12px}.account-platform-group{padding:10px;border:1px solid #edf0f5;border-radius:12px;background:#fbfcff}.account-platform-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#4b5565;font-size:12px;font-weight:900}.account-select-all{height:24px;padding:0 10px;border:1px dashed #aab4c8;border-radius:999px;background:#fff;color:#5b5fc7;font-size:11px;font-weight:900;cursor:pointer}.account-select-all:hover{border-style:solid;background:#f3f4ff}.publish-platform-choice{padding:9px;border:1px solid #edf0f5;border-radius:12px;background:#fff}
.form-centered-action{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:4px}.form-centered-action .btn{min-width:160px}.text-generation-actions{padding-top:4px}.text-generation-actions .btn{height:42px;border-radius:12px;font-size:14px;font-weight:900}.text-generation-actions .btn-primary{min-width:180px;box-shadow:0 8px 18px rgba(91,95,199,.18)}.text-generation-actions .btn-secondary{min-width:118px;background:#fff;color:#5b6475;border:1px solid #dfe4ee;box-shadow:0 4px 12px rgba(31,41,55,.05)}.text-generation-actions .btn-secondary:hover{border-color:#5b5fc7;color:#5b5fc7;background:#f7f7ff}.text-generation-actions #textModelTestResult{display:inline-flex;align-items:center;min-height:34px;max-width:520px;padding:0 12px;border-radius:999px;background:#f7f8fc;font-weight:800}.text-generation-actions #textModelTestResult:empty{display:none}
.keyword-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(15,23,42,.36);backdrop-filter:blur(3px)}.keyword-modal.active{display:flex}.keyword-modal-card{width:min(760px,calc(100vw - 48px));border:1px solid #e6e9f0;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.22);overflow:hidden}.keyword-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #edf0f5}.keyword-modal-head b{color:#293241;font-size:15px}.keyword-modal-head button{width:32px;height:32px;border:0;border-radius:50%;background:#f2f4f8;color:#667085;font-size:20px;cursor:pointer}.keyword-modal-card textarea{display:block;width:100%;height:360px;box-sizing:border-box;border:0;padding:16px 18px;outline:none;resize:vertical;color:#293241;font-size:13px;line-height:1.65}.keyword-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-top:1px solid #edf0f5;background:#fbfcff}.keyword-modal-foot span{color:#8a93a5;font-size:12px;font-weight:800}
.ai-warehouse-choice{display:flex;flex-wrap:wrap;gap:9px;padding:10px;border:1px solid #edf0f5;border-radius:14px;background:#fbfcff}.ai-warehouse-chip{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 13px;border:1px solid #e6e9f0;border-radius:999px;background:#fff;color:#667085;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 2px 7px rgba(31,41,55,.04);transition:.16s}.ai-warehouse-chip small{padding:2px 7px;border-radius:999px;background:#f1f3f9;color:#8a93a5;font-size:10px;font-weight:900}.ai-warehouse-chip:hover{transform:translateY(-1px);border-color:#5b5fc7;color:#5b5fc7}.ai-warehouse-chip.active{background:#5b5fc7;border-color:#5b5fc7;color:#fff;box-shadow:0 0 0 4px rgba(91,95,199,.14),inset 0 -2px 0 rgba(0,0,0,.12)}.ai-warehouse-chip.active small{background:rgba(255,255,255,.18);color:#fff}
.ai-site-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.ai-site-tab{height:34px;display:inline-flex;align-items:center;gap:8px;padding:0 13px;border:1px solid #e6e9f0;border-radius:999px;background:#fff;color:#667085;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 2px 7px rgba(31,41,55,.04);transition:.16s}.ai-site-tab small{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#f1f3f9;color:#8a93a5;font-size:10px}.ai-site-tab.warn{border-color:#ffd4a8;background:#fffaf4;color:#b66a00}.ai-site-tab.warn small{background:#fff0df;color:#b66a00}.ai-site-tab:hover{border-color:#5b5fc7;color:#5b5fc7}.ai-site-tab.active{background:#5b5fc7;border-color:#5b5fc7;color:#fff}.ai-site-tab.active small{background:rgba(255,255,255,.18);color:#fff}.ai-site-panels{border:1px solid #edf0f5;border-radius:14px;background:#fbfcff;padding:12px}.ai-site-panel{display:none}.ai-site-panel.active{display:block}.ai-site-choice{padding:0;background:transparent}.ai-site-choice label span{height:auto;min-height:38px;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}.ai-site-choice label span small{font-size:10px;color:#98a2b3;font-weight:800}.ai-site-choice label.stock-low span{border-color:#ffcf99;background:#fff8ef;color:#a85b00}.ai-site-choice label.stock-low input:checked+span{background:#f59e0b;border-color:#f59e0b;color:#fff}.ai-site-choice label.stock-low input:checked+span small{color:#fff}.ai-site-panel-select{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px dashed #aab4c8;border-radius:999px;background:#fff;color:#5b5fc7;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 2px 7px rgba(31,41,55,.04)}.ai-site-panel-select:hover{border-style:solid;background:#f3f4ff}.ai-cat-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ai-cat-empty{padding:16px;border:1px dashed #d8deea;border-radius:12px;background:#fbfcff;color:#8a93a5;font-size:12px;font-weight:800}.ai-cat-group{padding:10px;border:1px solid #edf0f5;border-radius:12px;background:#fbfcff}.ai-cat-group .platform-choice{padding-top:2px}.ai-cat-group .text-muted{display:inline-flex;align-items:center;min-height:30px}.ai-simulate-titlebox{padding:14px 16px;border:1px solid #e7e9f4;border-radius:14px;background:linear-gradient(135deg,#fbfcff,#f4f5ff);margin-bottom:12px}.ai-simulate-titlebox span,.ai-simulate-bodybox>span{display:block;margin-bottom:8px;color:#8a93a5;font-size:11px;font-weight:900}.ai-simulate-titlebox h3{margin:0;color:#283245;font-size:20px;line-height:1.45}.ai-simulate-body{max-height:520px;overflow:auto;padding:16px 18px;border:1px solid #edf0f5;border-radius:14px;background:#fff;color:#4b5565;line-height:1.8}.ai-simulate-body p{margin:0 0 12px}.ai-simulate-body p:last-child{margin-bottom:0}

/* v7.1.8 · Content dispatch room */
.dispatch-hero .workspace-kicker{color:#5b5fc7}.content-dispatch-metrics{grid-template-columns:repeat(4,1fr)}.content-room-tabs{margin:16px 0}.dispatch-board table th,.dispatch-board table td{vertical-align:middle}.tagline{display:inline-flex;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#667085}.stock-days{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:28px;border-radius:999px;background:#ecfdf3;color:#039855;font-weight:900}.stock-days.warn{background:#fff7e6;color:#b66a00}.stock-days.danger{background:#fff1f3;color:#d92d20}.dispatch-mode{display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:900;background:#eef2ff;color:#4f46e5}.dispatch-mode.mode-auto{background:#ecfdf3;color:#039855}.dispatch-mode.mode-assist{background:#fff7e6;color:#b66a00}.dispatch-mode.mode-observe,.dispatch-mode.mode-manual{background:#f2f4f7;color:#667085}.dispatch-assets{grid-template-columns:minmax(0,1fr) 310px}.media-path-note{display:grid;gap:6px;margin-bottom:12px;padding:14px;border:1px solid #e6e9f0;border-radius:14px;background:#fbfcff;color:#667085;font-size:12px}.media-path-note b{color:#293241;font-size:13px}.media-path-note span{display:block;padding:7px 9px;border-radius:9px;background:#fff;border:1px solid #edf0f5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#475467;word-break:break-all}.media-path-note em{font-style:normal;color:#98a2b3}.media-list-item .asset-type-icon{background:#eef2ff;color:#5b5fc7}.content-room-tabs a{border-radius:999px}

/* v7.1.28 · menu, API key and media rule polish */
.pro-admin .nav-dropdown.long{
  width:620px!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px!important;
  padding:14px!important;
  border-radius:20px!important;
}
.pro-admin .nav-dropdown.long .nav-drop-item{
  min-height:74px;
  padding:13px!important;
  border:1px solid transparent;
  background:#fff;
}
.pro-admin .nav-dropdown.long .nav-drop-item:hover,
.pro-admin .nav-dropdown.long .nav-drop-item.active{
  border-color:#e3e8ff;
  background:#f6f7ff!important;
}
.pro-admin .nav-dropdown.long .nav-drop-item .nav-glyph{
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
}
.pro-admin .nav-dropdown.long .nav-drop-item strong{font-size:13px!important;line-height:1.25}
.pro-admin .nav-dropdown.long .nav-drop-item small{
  max-width:220px;
  line-height:1.45!important;
  overflow:hidden;
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.dispatch-assets{grid-template-columns:minmax(0,1fr) 390px!important}
.asset-inspector{overflow:hidden}
.asset-inspector .matching-rule{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr);
  align-items:start;
  gap:12px!important;
  padding:14px 0!important;
}
.asset-inspector .matching-rule>b{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border-radius:11px!important;
  font-size:14px!important;
  font-weight:900;
}
.asset-inspector .matching-rule strong{font-size:13px!important;color:#303847}
.asset-inspector .matching-rule small{
  max-width:100%;
  font-size:11.5px!important;
  line-height:1.55!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.api-key-card-body{
  height:560px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.api-key-card-body>form:first-child{
  flex:0 0 auto;
  padding-bottom:12px;
  border-bottom:1px solid #edf0f5;
}
.api-key-bulk-form{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  margin-top:12px;
  padding-right:4px;
}
.api-key-bulk-actions{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 0 10px;
  background:#fff;
  border-bottom:1px solid #edf0f5;
}
.api-key-bulk-actions label{display:flex;align-items:center;gap:7px;color:#667085;font-size:12px;font-weight:800;cursor:pointer}
.api-key-provider-block{margin-top:14px;padding:10px;border:1px solid #edf0f5;border-radius:12px;background:#fbfcff}
.api-key-row{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 0;
  border-bottom:1px solid #eef1f6;
  font-size:13px;
}
.api-key-row:last-child{border-bottom:0}
.api-key-row-main{display:flex;align-items:center;gap:8px;min-width:0}
.api-key-row-main code{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.api-key-row-actions{display:flex;gap:5px;flex-shrink:0}

/* v7.1.29 · Domain tools */
.domain-tool-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.domain-tool-card .card-body{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.domain-tool-textarea{
  width:100%;
  min-height:520px;
  box-sizing:border-box;
  padding:16px 18px;
  border:1px solid #dfe4ee;
  border-radius:14px;
  background:#fbfcff;
  color:#293241;
  font-size:13px;
  line-height:1.7;
  resize:vertical;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
.domain-tool-textarea:focus{
  outline:0;
  border-color:#9da9ff;
  box-shadow:0 0 0 4px rgba(91,95,199,.12);
  background:#fff;
}
.domain-tool-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.domain-tool-actions .btn{min-width:96px}
