/* ============================================================
   App Layout — 未来科技主题布局
   登录 hero 双栏 · 玻璃侧栏/顶栏 · 看板/列表/表单 · 响应式
   ============================================================ */

/* ---------- Login View ---------- */
.landing { min-height: 100vh; display: flex; flex-direction: column; background: transparent; position: relative; z-index: 1; }
.landing-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  height: var(--nav-h); padding: 0 var(--space-xl);
  background: rgba(7,11,22,0.72); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border); color: var(--text);
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-md);
  flex-shrink: 0;
}
.landing-nav .brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text); }
.landing-nav .brand .owl { width: 28px; height: 28px; }
.landing-nav .brand-name { font-family: var(--font-display); font-weight: 600; font-size: 18px; letter-spacing: -0.2px; }
.landing-nav .nav-links { display: flex; align-items: center; gap: var(--space-lg); font-size: 15px; }
.landing-nav .nav-links a { color: var(--text-muted); transition: color 150ms; }
.landing-nav .nav-links a:hover { color: var(--text); }
.landing-nav .nav-actions { display: flex; align-items: center; gap: var(--space-sm); }
/* Keep app shell above the starfield canvas */
.app { position: relative; z-index: 1; }
.login-nav .owl-mini { width: 16px; height: 16px; }
.login-main {
  flex: 1; display: grid; grid-template-columns: 1.05fr 0.95fr; align-items: center; gap: var(--space-xxl);
  padding: var(--space-xl) var(--space-xxl); max-width: 1200px; width: 100%; margin: 0 auto;
}
/* Hero (left) */
.login-hero { display: flex; flex-direction: column; gap: var(--space-lg); padding-right: var(--space-xl); }
.login-hero .owl-big { width: 132px; height: 132px; filter: drop-shadow(0 12px 40px rgba(41,151,255,0.5)); }
.login-hero .eyebrow { font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); font-weight: 600; }
.login-hero h1 {
  font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.08; letter-spacing: -0.28px;
  background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.login-hero p { color: var(--text-muted); font-size: 17px; max-width: 420px; }
.login-hero .feats { display: flex; flex-direction: column; gap: 12px; margin-top: var(--space-sm); }
.login-hero .feats .f { display: flex; align-items: center; gap: 12px; color: var(--text); font-size: 15px; }
.login-hero .feats .f .tick {
  width: 22px; height: 22px; border-radius: 50%; background: var(--grad-soft); border: 1px solid var(--border-strong);
  display: inline-flex; align-items: center; justify-content: center; color: var(--accent); font-size: 12px; flex-shrink: 0;
}
/* Card (right) */
.login-card {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg);
  padding: var(--space-xxl); width: 100%; max-width: 420px; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 30px 80px -40px rgba(0,0,0,0.9);
}
.login-card .brand { display: flex; align-items: center; gap: 12px; margin-bottom: var(--space-xl); }
.login-card .brand .owl { width: 40px; height: 40px; }
.login-card h1 { font-size: 28px; }
.login-sub { color: var(--text-muted); font-size: 14px; margin-top: 4px; }
.role-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: var(--space-md) 0 var(--space-lg); }
.role-opt {
  border: 1px solid var(--border); border-radius: var(--r-md); padding: 12px 14px; cursor: pointer;
  background: var(--surface); transition: all 150ms var(--ease); display: flex; align-items: center; gap: 10px;
}
.role-opt:hover { border-color: var(--primary); background: rgba(41,151,255,0.06); }
.role-opt.is-active { border-color: var(--primary); background: rgba(41,151,255,0.1); box-shadow: var(--glow-sm); }
.role-opt .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--text-muted); flex-shrink: 0; transition: background 150ms; }
.role-opt.is-active .dot { background: var(--accent); box-shadow: 0 0 8px var(--accent); }
.role-opt .r-name { font-weight: 600; font-size: 15px; color: var(--text); }
.role-opt .r-desc { font-size: 12px; color: var(--text-muted); letter-spacing: -0.12px; }

/* ---------- App Shell ---------- */
.app { display: none; min-height: 100vh; }
.app.is-active { display: grid; grid-template-columns: var(--sidebar-w) 1fr; }

.sidebar {
  background: rgba(10,15,30,0.66); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border-right: 1px solid var(--border); color: var(--text);
  display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh;
}
.sidebar .brand { height: var(--topbar-h); display: flex; align-items: center; gap: 10px; padding: 0 var(--space-lg); border-bottom: 1px solid var(--border); flex-shrink: 0; }
.sidebar .brand .owl { width: 30px; height: 30px; }
.sidebar .brand .name { font-family: var(--font-display); font-weight: 600; font-size: 16px; letter-spacing: -0.2px; }
.nav { padding: var(--space-md) var(--space-sm); display: flex; flex-direction: column; gap: 2px; flex: 1; overflow-y: auto; }
.nav-group-label { font-size: 11px; letter-spacing: 0.08em; color: var(--text-muted); opacity: 0.7; padding: 14px 14px 6px; text-transform: uppercase; }
.nav-item {
  display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: var(--r-sm);
  color: var(--text-muted); font-size: 14px; letter-spacing: -0.224px; cursor: pointer;
  transition: background-color 150ms var(--ease), color 150ms var(--ease); border: none; background: transparent; width: 100%; text-align: left;
}
.nav-item:hover { background: var(--surface); color: var(--text); }
.nav-item.is-active { background: var(--grad); color: #fff; box-shadow: var(--glow-sm); }
.nav-item .ico { width: 18px; height: 18px; flex-shrink: 0; }
.sidebar .foot { padding: var(--space-md) var(--space-lg); border-top: 1px solid var(--border); font-size: 12px; color: var(--text-muted); }
.nav-scope {
  margin: var(--space-md) var(--space-sm) var(--space-sm); padding: 10px 12px; border-radius: var(--r-sm);
  background: var(--surface); border: 1px solid var(--border); font-size: 12px; color: var(--text-muted); line-height: 1.5;
}
.nav-scope b { color: var(--accent); }

/* Tabs (赛事绩效) */
.tabs { display: flex; gap: 8px; margin-bottom: var(--space-lg); flex-wrap: wrap; }
.tab {
  padding: 9px 18px; border-radius: var(--r-pill); border: 1px solid var(--border); background: var(--surface);
  color: var(--text-muted); font-size: 14px; cursor: pointer; transition: all 150ms var(--ease);
}
.tab:hover { color: var(--text); border-color: var(--accent); }
.tab.is-active { background: var(--grad); color: #fff; border-color: transparent; box-shadow: var(--glow-sm); }

/* Honor cards (团队赛事荣誉) */
.honor-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-md); padding: var(--space-md); }
.honor-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: var(--space-md); }
.honor-bars { margin-top: 12px; display: flex; flex-direction: column; gap: 10px; }
.hb { display: grid; grid-template-columns: 36px 1fr 28px; align-items: center; gap: 8px; font-size: 13px; color: var(--text-muted); }
.hb i { height: 8px; border-radius: 4px; background: var(--grad); display: block; }
.hb b { text-align: right; color: var(--text); font-variant-numeric: tabular-nums; }

.main { display: flex; flex-direction: column; min-width: 0; }
.topbar {
  height: var(--topbar-h); background: rgba(10,15,30,0.6); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--space-lg); position: sticky; top: 0; z-index: 30;
}
.topbar .crumb { font-size: 14px; color: var(--text-muted); }
.topbar .crumb b { color: var(--text); font-weight: 600; }
.topbar .right { display: flex; align-items: center; gap: var(--space-sm); }
.user-chip { display: flex; align-items: center; gap: 10px; }
.user-chip .meta { text-align: right; line-height: 1.2; }
.user-chip .meta .n { font-size: 14px; font-weight: 600; color: var(--text); }
.user-chip .meta .r { font-size: 11px; color: var(--text-muted); }
.hamburger { display: none; }
/* scrim 仅在移动端抽屉打开时显示；桌面端必须隐藏，否则会作为 grid item 把 .main 挤到下一行 */
.scrim { display: none; }

.content { padding: var(--space-xl); max-width: 1440px; width: 100%; margin: 0 auto; }
.page-head { margin-bottom: var(--space-lg); }
.page-head h1 { font-size: 28px; font-family: var(--font-display); font-weight: 600; letter-spacing: -0.28px; }
.page-head p { color: var(--text-muted); font-size: 14px; margin: 4px 0 0; }

/* ---------- Dashboard ---------- */
.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-lg); }
.kpi { display: flex; flex-direction: column; gap: 6px; position: relative; overflow: hidden; }
.kpi::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: var(--grad); opacity: 0.7; }
.kpi .k-label { font-size: 14px; color: var(--text-muted); letter-spacing: -0.224px; }
.kpi .k-value { font-family: var(--font-display); font-size: 34px; font-weight: 600; letter-spacing: -0.374px; color: var(--text); }
.kpi .k-delta { font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 4px; }
.k-delta.up { color: var(--accent); }
.k-delta.down { color: var(--danger); }

.dash-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--space-lg); margin-top: var(--space-lg); }
.dash-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-lg); margin-top: var(--space-lg); }
.panel-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-md); }
.panel-head h2 { font-size: 21px; font-family: var(--font-display); font-weight: 600; letter-spacing: -0.12px; }

.rank-list { display: flex; flex-direction: column; }
.rank-row { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--hairline); }
.rank-row:last-child { border-bottom: none; }
.rank-no { font-family: var(--font-display); font-weight: 600; font-size: 17px; width: 26px; color: var(--text-muted); }
.rank-row:nth-child(1) .rank-no, .rank-row:nth-child(2) .rank-no, .rank-row:nth-child(3) .rank-no { color: var(--accent); }
.rank-name { flex: 1; font-weight: 600; color: var(--text); }
.rank-val { font-variant-numeric: tabular-nums; font-weight: 600; color: var(--text); }
.rank-bar { height: 5px; border-radius: var(--r-pill); background: rgba(255,255,255,0.08); margin-top: 6px; overflow: hidden; }
.rank-bar > i { display: block; height: 100%; background: var(--grad); border-radius: var(--r-pill); }

.alert-item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--hairline); }
.alert-item:last-child { border-bottom: none; }
.alert-ico { width: 32px; height: 32px; border-radius: 50%; background: rgba(255,176,32,0.14); color: var(--warn); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 15px; font-weight: 700; }
.alert-item .a-title { font-weight: 600; font-size: 15px; color: var(--text); }
.alert-item .a-sub { font-size: 13px; color: var(--text-muted); }

/* ---------- List view ---------- */
.toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); flex-wrap: wrap; margin-bottom: var(--space-lg); }
.toolbar .left { display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap; }
.filters { display: flex; gap: 8px; flex-wrap: wrap; }
.pagination { display: flex; align-items: center; gap: 6px; justify-content: flex-end; margin-top: var(--space-lg); }
.page-btn {
  min-width: 36px; height: 36px; padding: 0 10px; border-radius: var(--r-sm);
  border: 1px solid var(--border); background: var(--surface); cursor: pointer; font-size: 14px; color: var(--text);
  display: inline-flex; align-items: center; justify-content: center; transition: all 120ms var(--ease);
}
.page-btn:hover:not(:disabled) { border-color: var(--primary); color: var(--accent); }
.page-btn.is-active { background: var(--grad); color: #fff; border-color: transparent; }
.page-btn:disabled { opacity: 0.35; cursor: not-allowed; }

.list-cards { display: none; flex-direction: column; gap: var(--space-md); }

.empty { text-align: center; padding: var(--space-xxl) var(--space-lg); color: var(--text-muted); }
.empty .e-ico { font-size: 32px; opacity: 0.5; margin-bottom: 8px; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--space-lg); }
.form-grid .field.full { grid-column: 1 / -1; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1068px) {
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .dash-grid, .dash-grid-2 { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
  .app.is-active { grid-template-columns: 1fr; }
  .sidebar {
    position: fixed; left: 0; top: 0; z-index: 80; width: 280px;
    transform: translateX(-100%); transition: transform 240ms var(--ease);
  }
  .app.nav-open .sidebar { transform: translateX(0); }
  .scrim { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 70; }
  .app.nav-open .scrim { display: block; }
  .hamburger { display: inline-flex; }
}
@media (max-width: 920px) {
  .login-main { grid-template-columns: 1fr; }
  .login-hero { display: none; }
  .login-card { margin: 0 auto; }
}
@media (max-width: 640px) {
  .content { padding: var(--space-lg) var(--space-md); }
  .kpi-grid { grid-template-columns: 1fr 1fr; gap: var(--space-md); }
  .kpi .k-value { font-size: 26px; }
  .login-card { padding: var(--space-xl) var(--space-lg); }
  .role-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .table-wrap { display: none; }
  .list-cards { display: flex; }
  .topbar .crumb { font-size: 13px; }
  .toolbar { flex-direction: column; align-items: stretch; }
  .toolbar .right { width: 100%; }
  .toolbar .right .btn { width: 100%; }
}
@media (max-width: 419px) {
  .kpi-grid { grid-template-columns: 1fr; }
  .content { padding: var(--space-md) var(--space-sm); }
}

/* ---------- Landing Hero + Modal (added) ---------- */
.btn-ghost { background: transparent; color: var(--text); border: 1px solid var(--border); border-radius: var(--r-pill); padding: 11px 22px; }
.btn-ghost:hover { background: var(--surface); border-color: var(--primary); color: var(--accent); }
.btn-lg { padding: 13px 26px; font-size: 16px; }

.hero {
  flex: 1; display: grid; grid-template-columns: 1.1fr 0.95fr; align-items: center; gap: var(--space-xxl);
  padding: calc(var(--nav-h) + var(--space-xxl)) var(--space-xxl) var(--space-xxl);
  max-width: 1260px; width: 100%; margin: 0 auto;
}
.hero-left { display: flex; flex-direction: column; gap: var(--space-md); }
.hero-brand { display: flex; align-items: center; gap: var(--space-md); margin-bottom: var(--space-sm); }
.hero-brand .owl-hero { width: 92px; height: 92px; filter: drop-shadow(0 10px 34px rgba(41,151,255,0.45)); }
.hero-left .eyebrow { font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); font-weight: 600; }
.hero-left h1 {
  font-family: var(--font-display); font-size: 52px; font-weight: 600; line-height: 1.04; letter-spacing: -0.32px;
  background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero-left p { color: var(--text-muted); font-size: 18px; max-width: 480px; line-height: 1.6; }
.hero-actions { display: flex; align-items: center; gap: var(--space-md); margin-top: var(--space-sm); }

.hero-right { display: flex; align-items: center; justify-content: center; }
.showcase-card {
  width: min(520px, 100%);
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-xl);
  padding: var(--space-xl); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 30px 90px -40px rgba(0,0,0,0.9);
  transform: perspective(1000px) rotateY(-6deg) rotateX(4deg);
  transition: transform 300ms var(--ease);
}
.showcase-card:hover { transform: perspective(1000px) rotateY(-2deg) rotateX(2deg); }
.showcase-header { display: flex; align-items: center; gap: 10px; margin-bottom: var(--space-md); }
.showcase-header .dots { display: flex; gap: 6px; }
.showcase-header .dots span { width: 10px; height: 10px; border-radius: 50%; }
.showcase-header .dots span:nth-child(1) { background: #ff6b6b; }
.showcase-header .dots span:nth-child(2) { background: #ffce3b; }
.showcase-header .dots span:nth-child(3) { background: #2ed573; }
.showcase-title { font-size: 14px; color: var(--text-muted); font-weight: 500; }
.showcase-chart { margin-bottom: var(--space-md); }
.showcase-chart svg { display: block; width: 100%; height: auto; }
.showcase-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
.sk .sk-label { font-size: 11px; color: var(--text-muted); margin-bottom: 2px; }
.sk .sk-value { font-size: 15px; font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; }
.sk .sk-bar { height: 4px; border-radius: var(--r-pill); background: rgba(255,255,255,0.08); margin-top: 6px; overflow: hidden; }
.sk .sk-bar > i { display: block; height: 100%; background: var(--grad); border-radius: var(--r-pill); }
.showcase-avatars { display: flex; align-items: center; margin-top: var(--space-md); }
.showcase-avatars .avatar {
  width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 600; color: #fff; border: 2px solid var(--surface); margin-left: -8px;
}
.showcase-avatars .avatar:first-child { margin-left: 0; }

.login-overlay {
  position: fixed; inset: 0; z-index: 110;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.login-modal {
  position: fixed; inset: 0; z-index: 120;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none;
}
.login-modal .login-card {
  position: relative; width: min(420px, 92vw); margin: 0;
  pointer-events: auto;
  animation: modalIn 240ms var(--ease) forwards;
}
.modal-close {
  position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border-radius: 50%;
  border: 1px solid var(--border); background: var(--surface); color: var(--text-muted);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: all 150ms;
}
.modal-close:hover { border-color: var(--primary); color: var(--text); background: var(--surface); }
@keyframes modalIn { from { opacity: 0; transform: translateY(18px) scale(0.98); } to { opacity: 1; transform: none; } }

@media (max-width: 920px) {
  .hero { grid-template-columns: 1fr; text-align: center; gap: var(--space-xl); }
  .hero-left { align-items: center; }
  .hero-left p { max-width: 540px; }
  .hero-right { order: -1; }
  .showcase-card { transform: none; width: min(460px, 92%); }
  .showcase-card:hover { transform: none; }
}
@media (max-width: 640px) {
  .landing-nav .nav-links { display: none; }
  .landing-nav { padding: 0 var(--space-lg); }
  .hero { padding: calc(var(--nav-h) + var(--space-xl)) var(--space-md) var(--space-xl); }
  .hero-left h1 { font-size: 38px; }
  .hero-left p { font-size: 16px; }
  .hero-actions { flex-direction: column; width: 100%; }
  .hero-actions .btn { width: 100%; }
  .showcase-kpis { grid-template-columns: 1fr; }
  .login-modal .login-card { padding: var(--space-xl) var(--space-lg); }
  .modal-close { top: 10px; right: 10px; }
}

/* ============================================================
   官网公开页面（公司展示 / 招募 / 联系）
   ============================================================ */
html { scroll-behavior: smooth; }
.landing section[id], .landing footer[id] { scroll-margin-top: calc(var(--nav-h) + 14px); }

.section { padding: 92px var(--space-lg); }
.section > * { max-width: 1180px; margin-left: auto; margin-right: auto; }
.section-head { max-width: 720px; text-align: center; margin: 0 auto 48px; }
.section-head .eyebrow { font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); font-weight: 600; }
.section-head h2 { font-family: var(--font-display); font-size: 36px; font-weight: 600; letter-spacing: -0.32px; margin: 10px 0 12px; }
.section-head p { color: var(--text-muted); font-size: 16px; line-height: 1.6; }
.section--alt { background: rgba(255,255,255,0.025); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

/* 平台能力 */
.feat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }
.feat-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--space-lg); transition: all 200ms var(--ease); }
.feat-card:hover { border-color: var(--primary); transform: translateY(-4px); box-shadow: var(--glow-sm); }
.feat-ico { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 24px; background: linear-gradient(135deg, var(--c1, #21d4fd), var(--c2, #2997ff)); box-shadow: 0 10px 26px -10px var(--c2, #2997ff); }
.feat-card h3 { font-size: 18px; font-weight: 600; margin: 14px 0 8px; }
.feat-card p { color: var(--text-muted); font-size: 14px; line-height: 1.6; }

/* 关于我们 */
.about-intro { max-width: 840px; text-align: center; color: var(--text); font-size: 16px; line-height: 1.85; margin-bottom: 40px; }
.biz-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); margin-bottom: 40px; }
.biz-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: var(--space-lg); text-align: center; transition: all 200ms var(--ease); }
.biz-card:hover { border-color: var(--primary); transform: translateY(-3px); }
.biz-ico { font-size: 28px; margin-bottom: 10px; }
.biz-card h4 { font-size: 16px; font-weight: 600; margin: 6px 0; }
.biz-card p { color: var(--text-muted); font-size: 13px; line-height: 1.6; }
.stats-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); margin-bottom: 48px; }
.stat { text-align: center; }
.stat-v { font-family: var(--font-display); font-size: 42px; font-weight: 600; letter-spacing: -0.4px; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; font-variant-numeric: tabular-nums; }
.stat-v span { font-size: 22px; }
.stat-l { color: var(--text-muted); font-size: 14px; margin-top: 6px; }
.timeline { display: flex; flex-direction: column; }
.tl-item { display: grid; grid-template-columns: 80px 1fr; gap: 18px; padding: 16px 0; }
.tl-year { font-family: var(--font-display); font-weight: 600; font-size: 18px; color: var(--accent); text-align: right; }
.tl-body { position: relative; padding-left: 24px; border-left: 2px solid var(--border); }
.tl-body::before { content: ""; position: absolute; left: -7px; top: 4px; width: 12px; height: 12px; border-radius: 50%; background: var(--grad); box-shadow: var(--glow-sm); }
.tl-body b { display: block; font-size: 16px; font-weight: 600; color: var(--text); }
.tl-body span { color: var(--text-muted); font-size: 14px; line-height: 1.6; }

/* 人才招募 */
.job-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); margin-bottom: 36px; }
.job-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--space-lg); display: flex; flex-direction: column; gap: 10px; transition: all 200ms var(--ease); }
.job-card:hover { border-color: var(--primary); transform: translateY(-4px); box-shadow: var(--glow-sm); }
.job-top { display: flex; align-items: center; justify-content: space-between; }
.job-tag { padding: 3px 11px; border-radius: var(--r-pill); font-size: 12px; font-weight: 600; }
.tag-live { background: rgba(46,213,115,0.15); color: #2ed573; }
.tag-ops  { background: rgba(124,92,255,0.16); color: #b46cff; }
.tag-edit { background: rgba(255,138,92,0.16); color: #ff8a5c; }
.tag-dir  { background: rgba(41,151,255,0.16); color: #2997ff; }
.job-pay { font-size: 13px; color: var(--accent); font-weight: 600; }
.job-card h3 { font-size: 18px; font-weight: 600; }
.job-req { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 7px; }
.job-req li { position: relative; padding-left: 16px; color: var(--text-muted); font-size: 13px; line-height: 1.5; }
.job-req li::before { content: "›"; position: absolute; left: 0; color: var(--accent); font-weight: 700; }
.benefits { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-bottom: 36px; }
.benefit { display: flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1px solid var(--border); border-radius: var(--r-pill); background: var(--surface); font-size: 14px; color: var(--text); }
.benefit span { font-size: 16px; }
.jobs-cta { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; }

/* 联系我们 */
.contact-wrap { display: grid; grid-template-columns: 1.3fr 0.7fr; gap: var(--space-xl); align-items: start; }
.contact-form { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--space-xl); }
.contact-form .field.full { grid-column: 1 / -1; }
.contact-form textarea.input { width: 100%; resize: vertical; font: inherit; }
.contact-aside { display: flex; flex-direction: column; gap: 12px; }
.ca-card { display: flex; align-items: center; gap: 14px; padding: 16px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); }
.ca-ico { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; background: var(--grad-soft); border: 1px solid var(--border-strong); flex-shrink: 0; }
.ca-t { font-size: 13px; color: var(--text-muted); }
.ca-v { font-size: 15px; font-weight: 600; color: var(--text); }
.reserved { margin-top: 6px; padding: 16px; background: var(--surface); border: 1px dashed var(--border-strong); border-radius: var(--r-md); }
.res-title { font-size: 13px; color: var(--text-muted); margin-bottom: 10px; }
.res-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.res-chip { padding: 5px 12px; border-radius: var(--r-pill); font-size: 12px; color: var(--text-muted); background: rgba(255,255,255,0.04); border: 1px solid var(--border); }

/* 页脚 */
.site-footer { border-top: 1px solid var(--border); background: rgba(7,11,22,0.6); padding: var(--space-xl) var(--space-lg) var(--space-lg); }
.foot-top { max-width: 1180px; margin: 0 auto; display: flex; justify-content: space-between; gap: 40px; flex-wrap: wrap; padding-bottom: var(--space-lg); border-bottom: 1px solid var(--border); }
.foot-brand { display: flex; align-items: center; gap: 12px; }
.foot-brand .owl { width: 40px; height: 40px; }
.fb-name { font-family: var(--font-display); font-weight: 600; font-size: 18px; letter-spacing: -0.2px; }
.fb-sub { color: var(--text-muted); font-size: 13px; margin-top: 2px; }
.foot-cols { display: flex; gap: 56px; }
.foot-col { display: flex; flex-direction: column; gap: 8px; }
.fc-h { font-size: 12px; color: var(--text-muted); margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.08em; }
.foot-col a { color: var(--text); font-size: 14px; text-decoration: none; transition: color 150ms; }
.foot-col a:hover { color: var(--accent); }
.foot-bottom { max-width: 1180px; margin: var(--space-md) auto 0; font-size: 13px; color: var(--text-muted); text-align: center; }

/* 官网响应式 */
@media (max-width: 1068px) {
  .feat-grid, .biz-grid, .job-grid, .stats-row { grid-template-columns: repeat(2, 1fr); }
  .contact-wrap { grid-template-columns: 1fr; }
  .foot-cols { gap: 36px; }
}
@media (max-width: 640px) {
  .feat-grid, .biz-grid, .job-grid, .stats-row { grid-template-columns: 1fr; }
  .section { padding: 64px var(--space-md); }
  .section-head { margin-bottom: 32px; }
  .section-head h2 { font-size: 28px; }
  .foot-top { flex-direction: column; gap: 28px; }
  .foot-cols { gap: 28px; }
  .timeline .tl-item { grid-template-columns: 56px 1fr; }
}

/* ============================================================
   后台新增模块（我的业绩 / 排行榜 / 数据穿透 / 数据运维）
   ============================================================ */
/* 我的业绩明细表复用 .table，无需额外样式 */

/* 分层数据穿透 */
.drill-crumbs { display: flex; align-items: center; gap: 8px; margin-bottom: var(--space-lg); flex-wrap: wrap; }
.crumb { background: var(--surface); border: 1px solid var(--border); color: var(--text-muted); font-size: 14px; padding: 7px 16px; border-radius: var(--r-pill); cursor: pointer; transition: all 150ms var(--ease); }
.crumb:hover { color: var(--text); border-color: var(--primary); }
.crumb.is-active { background: var(--grad); color: #fff; border-color: transparent; box-shadow: var(--glow-sm); }
.crumb-sep { color: var(--text-muted); font-size: 14px; }
.drill-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-lg); }
.drill-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--space-lg); cursor: pointer; transition: all 200ms var(--ease); display: flex; flex-direction: column; gap: 14px; }
.drill-card:hover, .drill-card:focus { border-color: var(--primary); transform: translateY(-4px); box-shadow: var(--glow-sm); outline: none; }
.dc-name { font-size: 19px; font-weight: 600; font-family: var(--font-display); color: var(--text); }
.dc-stats { display: flex; gap: 22px; }
.dc-stats > div { display: flex; flex-direction: column; gap: 2px; }
.dc-stats b { font-family: var(--font-display); font-size: 20px; font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; }
.dc-go { display: flex; align-items: center; gap: 6px; color: var(--accent); font-size: 14px; font-weight: 600; }
.drill-detail { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--space-xl); }
.avatar.lg { width: 64px; height: 64px; font-size: 24px; }

/* 数据安全运维 */
.ops-grid { display: grid; grid-template-columns: 1.2fr 1.2fr 1fr; gap: var(--space-lg); align-items: start; }
.ops-grid .card { padding: var(--space-lg); }
.switch { width: 52px; height: 30px; border-radius: var(--r-pill); background: rgba(255,255,255,0.1); border: 1px solid var(--border); position: relative; cursor: pointer; transition: all 200ms var(--ease); flex-shrink: 0; }
.switch i { position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; transition: all 200ms var(--ease); }
.switch.is-on { background: var(--grad); border-color: transparent; }
.switch.is-on i { left: 27px; }
.backup-list { display: flex; flex-direction: column; gap: 10px; }
.backup-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px; padding: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); }
.backup-row .cell-strong { font-variant-numeric: tabular-nums; }
.kv { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; }
.kv > div { display: flex; flex-direction: column; gap: 4px; padding: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); }
.kv span { font-size: 13px; color: var(--text-muted); }
.kv b { font-family: var(--font-display); font-size: 22px; font-weight: 600; color: var(--text); }

/* 团队数据复盘（运营） */
.insight-list { display: flex; flex-direction: column; gap: 16px; }
.insight-item { display: flex; gap: 12px; align-items: flex-start; }
.insight-dot { width: 10px; height: 10px; border-radius: 50%; margin-top: 6px; flex-shrink: 0; background: var(--accent); box-shadow: 0 0 0 4px rgba(41,151,255,0.15); }
.insight--up { background: #21d4fd; box-shadow: 0 0 0 4px rgba(33,212,253,0.15); }
.insight--down { background: #ff7a90; box-shadow: 0 0 0 4px rgba(255,122,144,0.15); }
.insight--warn { background: #ffb547; box-shadow: 0 0 0 4px rgba(255,181,71,0.15); }
.i-title { font-size: 15px; font-weight: 600; color: var(--text); font-family: var(--font-display); }
.i-sub { font-size: 13px; color: var(--text-muted); line-height: 1.55; margin-top: 2px; }

/* 新增模块响应式 */
@media (max-width: 1068px) {
  .ops-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .backup-row { grid-template-columns: 1fr; text-align: left; }
  .drill-crumbs { margin-bottom: var(--space-md); }
}

/* 路由数据加载占位 */
.route-loading { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 96px 0; color: var(--text-dim, #aab2d5); font-size: 14px; }
.spinner { width: 20px; height: 20px; border: 2px solid rgba(255, 255, 255, 0.16); border-top-color: var(--accent, #21d4fd); border-radius: 50%; animation: mt-spin 0.7s linear infinite; }
@keyframes mt-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .spinner { animation-duration: 1.6s; } }

/* ============================================================
   主题系统 — 浅色 / 跟随系统（精品级，平滑切换）
   ============================================================ */
[data-theme="light"] {
  --bg: #eceffa;
  --bg-2: #e3e8f5;
  --surface: rgba(255,255,255,0.74);
  --surface-2: rgba(255,255,255,0.92);
  --surface-solid: #ffffff;
  --border: rgba(20,30,60,0.12);
  --border-strong: rgba(20,30,60,0.22);
  --hairline: rgba(20,30,60,0.08);
  --divider-soft: rgba(20,30,60,0.05);
  --text: #0e1426;
  --text-muted: #56607c;
  --text-dim: #8b94b0;
  --primary: #1a7fff;
  --primary-2: #7c5cff;
  --accent: #0a86c4;
  --primary-on-dark: #1565c0;
  --warn: #b8790a;
  --danger: #d62f3f;
  --success: #0f9d66;
  --glow: 0 0 0 1px rgba(26,127,255,0.14), 0 10px 36px -12px rgba(26,127,255,0.28);
  --glow-sm: 0 6px 22px -10px rgba(26,127,255,0.34);
}

/* 浅色下硬编暗色表面 / 轨道修正 */
[data-theme="light"] .landing-nav { background: rgba(255,255,255,0.8); }
[data-theme="light"] .sidebar { background: rgba(255,255,255,0.86); }
[data-theme="light"] .topbar { background: rgba(255,255,255,0.8); }
[data-theme="light"] .site-footer { background: rgba(236,239,250,0.7); }
[data-theme="light"] .section--alt { background: rgba(20,30,60,0.03); }
[data-theme="light"] .modal { background: rgba(255,255,255,0.97); color: var(--text); }
[data-theme="light"] .modal-backdrop { background: rgba(20,30,60,0.4); }
[data-theme="light"] .login-overlay { background: rgba(20,30,60,0.32); }
[data-theme="light"] .input, [data-theme="light"] .select, [data-theme="light"] .textarea { background: rgba(255,255,255,0.9); }
[data-theme="light"] .rank-bar { background: rgba(20,30,60,0.08); }
[data-theme="light"] .sk .sk-bar { background: rgba(20,30,60,0.08); }
[data-theme="light"] .res-chip { background: rgba(20,30,60,0.04); }
[data-theme="light"] .switch { background: rgba(20,30,60,0.12); }
[data-theme="light"] .spinner { border-color: rgba(20,30,60,0.14); }
[data-theme="light"] .route-loading { color: var(--text-dim); }
[data-theme="light"] .toast { background: rgba(255,255,255,0.97); color: var(--text); border-color: var(--border-strong); }
[data-theme="light"] .starfield { opacity: 0.45; }
[data-theme="light"] body::before { opacity: 0.42; filter: saturate(0.55) brightness(1.02); }

/* 主题切换平滑过渡（尊重 prefers-reduced-motion） */
body, .landing-nav, .sidebar, .topbar, .site-footer, .section--alt, .card, .modal, .login-card, .login-modal, .input, .select, .textarea, .btn, .chip, .badge, .table tbody tr, .feat-card, .job-card, .biz-card, .stat, .showcase-card, .contact-form, .ca-card, .res-chip, .backup-row, .drill-card, .kv > div, .nav-item, .tab, .page-btn, .role-opt, .benefit, .honor-card, .insight-item, .alert-item, .theme-switch, .theme-switch button {
  transition: background-color 280ms var(--ease), color 280ms var(--ease), border-color 280ms var(--ease), box-shadow 280ms var(--ease), transform 200ms var(--ease);
}
@media (prefers-reduced-motion: reduce) {
  body, .landing-nav, .sidebar, .topbar, .site-footer, .card, .modal, .login-card, .input, .btn, .chip, .badge, .nav-item, .tab, .page-btn, .role-opt, .feat-card, .job-card, .biz-card, .theme-switch, .theme-switch button { transition: none !important; }
}

/* 主题切换器（分段控件） */
.theme-switch { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: var(--r-pill); background: var(--surface); border: 1px solid var(--border); flex-shrink: 0; }
.theme-switch button { width: 30px; height: 30px; border: none; background: transparent; color: var(--text-muted); border-radius: var(--r-pill); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; line-height: 1; transition: all 150ms var(--ease); }
.theme-switch button:hover { color: var(--text); background: var(--surface-2); }
.theme-switch button.is-active { background: var(--grad); color: #fff; box-shadow: var(--glow-sm); }

/* ============ 看板入场动画（图情节 + 卡片 stagger） ============ */
/* KPI 卡片 */
.kpi.anim { opacity: 0; transform: translateY(16px); animation: kpiIn .6s cubic-bezier(.22,1,.36,1) forwards; }
@keyframes kpiIn { to { opacity: 1; transform: none; } }
/* 看板面板卡片 */
.dash-grid > .card.anim, .dash-grid-2 > .card.anim, .kpi-grid + .dash-grid > .card.anim { opacity: 0; transform: translateY(18px); animation: cardIn .7s cubic-bezier(.22,1,.36,1) forwards; }
@keyframes cardIn { to { opacity: 1; transform: none; } }
/* 排行行 */
.rank-row.anim { opacity: 0; transform: translateX(-12px); animation: rowIn .5s ease forwards; }
@keyframes rowIn { to { opacity: 1; transform: none; } }
/* 柱状图：从底部生长 */
.bar-rect { transform: scaleY(0); transform-box: fill-box; transform-origin: 50% 100%; animation: barGrow .7s cubic-bezier(.22,1,.36,1) forwards; }
@keyframes barGrow { to { transform: scaleY(1); } }
/* 环形图：缩放淡入 */
.donut-svg { opacity: 0; transform: scale(.82) rotate(-18deg); transform-origin: center; animation: donutIn .85s cubic-bezier(.22,1,.36,1) forwards; }
@keyframes donutIn { to { opacity: 1; transform: none; } }
.donut-svg text { opacity: 0; animation: fadeIn .5s ease .35s forwards; }
@keyframes fadeIn { to { opacity: 1; } }
/* 数字滚动单位微调 */
.k-num { font-variant-numeric: tabular-nums; display: inline-block; }

/* 尊重用户的减弱动效偏好：直接显示终态 */
@media (prefers-reduced-motion: reduce) {
  .kpi.anim, .dash-grid > .card.anim, .dash-grid-2 > .card.anim,
  .rank-row.anim, .bar-rect, .donut-svg, .donut-svg text {
    animation: none !important; opacity: 1 !important; transform: none !important;
  }
}

/* ============ 全屏数据大屏 ============ */
.bigscreen { position: fixed; inset: 0; z-index: 1000; background: rgba(6,10,22,0.92); backdrop-filter: blur(8px); opacity: 0; transition: opacity .3s var(--ease); display: flex; }
.bigscreen.is-open { opacity: 1; }
.bigscreen[hidden] { display: none; }
.bigscreen-inner { flex: 1; display: flex; flex-direction: column; gap: clamp(12px, 1.6vw, 24px); padding: clamp(16px, 2.4vw, 36px); color: var(--text);
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(33,212,253,0.12), transparent),
    radial-gradient(900px 500px at 0% 110%, rgba(124,92,255,0.12), transparent),
    linear-gradient(180deg, rgba(12,16,32,0.6), rgba(8,10,22,0.85)); }
[data-theme="light"] .bigscreen { background: rgba(228,234,248,0.94); }
[data-theme="light"] .bigscreen-inner { background:
    radial-gradient(1200px 600px at 80% -10%, rgba(33,212,253,0.12), transparent),
    radial-gradient(900px 500px at 0% 110%, rgba(124,92,255,0.12), transparent),
    linear-gradient(180deg, rgba(255,255,255,0.7), rgba(238,242,252,0.92)); }
.bs-head { display: flex; align-items: center; gap: 16px; }
.bs-brand { font-family: var(--font-display); font-size: clamp(18px, 2vw, 30px); font-weight: 600; letter-spacing: .5px; display: flex; align-items: center; gap: 10px; }
.bs-dot { width: 12px; height: 12px; border-radius: 50%; background: #21d4fd; box-shadow: 0 0 16px #21d4fd; animation: bsPulse 1.8s infinite; }
@keyframes bsPulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
.bs-clock { margin-left: auto; font-variant-numeric: tabular-nums; font-size: clamp(20px, 2.4vw, 38px); font-weight: 600; letter-spacing: 2px; }
.bs-close { margin-left: 16px; }
.bs-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(12px, 1.6vw, 24px); }
.bs-kpi { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: clamp(14px, 1.6vw, 26px); }
.bs-k-label { color: var(--text-muted); font-size: clamp(12px, 1vw, 16px); }
.bs-k-val { font-family: var(--font-display); font-size: clamp(28px, 3.4vw, 56px); font-weight: 700; margin-top: 6px; background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.bs-grid { flex: 1; display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: clamp(12px, 1.6vw, 24px); min-height: 0; }
.bs-panel { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: clamp(14px, 1.4vw, 22px); display: flex; flex-direction: column; min-height: 0; }
.bs-panel-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.bs-panel-h h3 { font-size: clamp(15px, 1.4vw, 22px); font-family: var(--font-display); }
.bs-rank-list, .bs-alert-list { overflow: auto; display: flex; flex-direction: column; gap: 12px; padding-right: 6px; }
.bs-rank-row { display: grid; grid-template-columns: 34px 1fr 3fr auto; align-items: center; gap: 12px; }
.bs-rank-no { width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: var(--surface-2); font-weight: 700; font-size: 14px; }
.bs-rank-name { font-size: clamp(13px, 1.1vw, 18px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bs-rank-bar { height: 12px; background: var(--surface-2); border-radius: 99px; overflow: hidden; }
.bs-rank-bar > i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #3f5bd0, #21d4fd); }
.bs-rank-val { font-weight: 600; font-variant-numeric: tabular-nums; }
.bs-donut-wrap { flex: 1; display: flex; align-items: center; justify-content: center; }
@media (max-width: 1100px) { .bs-grid { grid-template-columns: 1fr; overflow: auto; } .bs-kpis { grid-template-columns: repeat(2, 1fr); } }

/* ============ 流失风险阈值滑块 ============ */
.churn-ctrl { margin: 10px 2px 14px; }
.churn-ctrl-label { display: block; font-size: 13px; color: var(--text-muted); margin-bottom: 8px; }
.churn-ctrl-label b { color: var(--accent, #21d4fd); font-size: 15px; font-variant-numeric: tabular-nums; }
.range { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 99px; background: var(--surface-2); outline: none; cursor: pointer; }
.range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--grad, linear-gradient(90deg,#3f5bd0,#21d4fd)); box-shadow: var(--glow-sm, 0 4px 14px rgba(33,212,253,.4)); border: 2px solid #fff; transition: transform .15s var(--ease); }
.range::-webkit-slider-thumb:hover { transform: scale(1.15); }
.range::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #21d4fd; border: 2px solid #fff; box-shadow: 0 4px 14px rgba(33,212,253,.4); cursor: pointer; }
.churn-ctrl-scale { display: flex; justify-content: space-between; font-size: 11px; color: var(--text-muted); margin-top: 4px; }
.risk-chip { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 99px; font-size: 12px; font-weight: 600; color: #ff9a6b; background: rgba(255,122,89,0.14); border: 1px solid rgba(255,122,89,0.3); vertical-align: middle; }

/* ============ 流水 / 粉丝 录入 · 多选与组织架构 ============ */
.check-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px 14px; margin-top: 4px; }
.check { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-2); cursor: pointer; font-size: 14px; transition: border-color .15s var(--ease), background .15s var(--ease); }
.check:hover { border-color: var(--accent); }
.check input { width: 16px; height: 16px; accent-color: var(--accent); cursor: pointer; }
.org-list { display: flex; flex-direction: column; gap: 8px; }
.org-item { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-2); }
.org-name { font-weight: 600; }
.org-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.org-form .field { margin: 0; }
