:root {
  --primary: #345eeb;
  --primary-dark: #2549c4;
  --primary-soft: #edf2ff;
  --canvas: #f4f6f9;
  --ink: #182033;
  --muted: #697386;
  --line: #e4e8ef;
  --success: #178566;
  --success-soft: #e9f7f2;
  --warning: #c47717;
  --warning-soft: #fff5e6;
  --radius: 13px;
  --shadow: 0 8px 28px rgba(28, 42, 72, .055);
}

body { background: var(--canvas); }
.app-shell { grid-template-columns:244px minmax(0,1fr); }
.v2-login-intro { background: linear-gradient(145deg, #172c64 0%, #274ea7 62%, #386bda 100%); }
.v2-login-intro::after { content:""; position:absolute; right:-120px; bottom:-160px; width:480px; height:480px; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.04),0 0 0 140px rgba(255,255,255,.025); }
.v2-login-intro .brand,.v2-login-intro .intro-copy h1 { color:#fff; }
.v2-login-intro .brand small,.v2-login-intro .intro-copy > p:not(.eyebrow) { color:rgba(255,255,255,.68); }
.v2-login-intro .eyebrow { color:#8fb0ff; }
.login-feature-row { position:relative; z-index:1; display:flex; gap:8px; }
.login-feature-row span { padding:8px 12px; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:rgba(255,255,255,.78); font-size:10px; background:rgba(255,255,255,.06); }

.v2-sidebar { width:244px; background:#172033; color:#fff; border:0; }
.v2-sidebar .sidebar-brand { color:#fff; }
.v2-sidebar .brand small { color:#8490a8; }
.v2-sidebar .nav-label { color:#657188; margin:22px 14px 8px; letter-spacing:.12em; }
.v2-nav { display:flex; flex-direction:column; gap:5px; }
.v2-nav .nav-item { position:relative; min-height:58px; padding:8px 12px; gap:11px; color:#aab3c4; border-left:3px solid transparent; border-radius:9px; }
.v2-nav .nav-item:hover { color:#fff; background:#202c42; }
.v2-nav .nav-item.active { color:#fff; background:#263652; border-left-color:#6e91ff; }
.v2-nav .nav-item > span:nth-child(2) { min-width:0; display:grid; gap:3px; text-align:left; }
.v2-nav .nav-item strong { font-size:12px; font-weight:680; }
.v2-nav .nav-item small { color:#77839a; font-size:8px; font-weight:500; }
.v2-nav .nav-item.active small { color:#aebbe0; }
.nav-symbol { width:27px; height:27px; display:grid; place-items:center; flex:0 0 auto; border:1px solid #39465c; border-radius:8px; color:#7f8ca5; font:700 8px/1 Inter,sans-serif; }
.nav-item.active .nav-symbol { color:#bfd0ff; border-color:#5474cb; background:#304a87; }
.nav-dot { width:6px; height:6px; margin-left:auto; border-radius:50%; background:#51d2a5; box-shadow:0 0 0 4px rgba(81,210,165,.1); }
.v2-sidebar .nav-count { margin-left:auto; color:#d3dcf7; background:#344664; }
.v2-sidebar .sidebar-bottom { border-top-color:#2c374b; }
.v2-sidebar .service-mini { color:#fff; background:#202b40; }
.v2-sidebar .service-mini small,.v2-sidebar .version { color:#707d95; }
.workspace { margin-left:0; }
.v2-topbar { height:76px; }
.v2-topbar h1 { font-size:19px; }
.section-kicker { margin:0 0 6px !important; color:#7190e6 !important; font:700 8px/1.2 Inter,sans-serif !important; letter-spacing:.15em; }
.page-heading { align-items:center; }
.heading-actions { display:flex; align-items:center; gap:8px; }
.button { border-radius:8px; }
.button.primary { background:var(--primary); }
.button.primary:hover { background:var(--primary-dark); }

.metric-card { position:relative; overflow:hidden; }
.metric-card::after { content:""; position:absolute; right:-28px; bottom:-34px; width:82px; height:82px; border-radius:50%; background:var(--primary-soft); opacity:.72; }
.metric-icon { position:relative; z-index:1; color:var(--primary); background:var(--primary-soft); }
.overview-main-grid { grid-template-columns:minmax(0,1.8fr) minmax(290px,.7fr); }
.v2-chart { height:248px; padding:12px 12px 0; border-left:1px solid var(--line); border-bottom:1px solid var(--line); background:repeating-linear-gradient(to bottom,transparent 0,transparent 60px,#eef1f5 61px); }
.chart-bars { height:100%; display:grid; grid-template-columns:repeat(7,1fr); gap:22px; align-items:end; }
.chart-bars > div { height:100%; display:flex; align-items:flex-end; justify-content:center; gap:5px; position:relative; padding-bottom:28px; }
.chart-bars span,.chart-bars i { position:relative; width:12px; border-radius:5px 5px 2px 2px; transition:.3s; }
.chart-bars span { height:var(--login); background:#5579ed; }
.chart-bars i { height:var(--duration); background:#7fd3b7; }
.chart-bars span::after,.chart-bars i::after { content:attr(data-value); position:absolute; left:50%; top:-18px; transform:translateX(-50%); color:#657187; font-size:8px; font-style:normal; font-weight:750; white-space:nowrap; }
.chart-bars small { position:absolute; bottom:6px; color:#8a93a2; font-size:8px; }
.activity-panel-head { align-items:flex-start; gap:14px; }
.activity-chart-controls { display:flex; align-items:center; justify-content:flex-end; gap:14px; }
.activity-range-tabs { display:flex; gap:3px; padding:3px; border:1px solid #e0e6f2; border-radius:8px; background:#f6f8fc; }
.activity-range-tabs button { min-width:42px; min-height:25px; padding:0 8px; border:0; border-radius:6px; color:#75819a; background:transparent; font-size:8px; font-weight:750; cursor:pointer; }
.activity-range-tabs button.active { color:#fff; background:var(--primary); box-shadow:0 3px 8px rgba(52,94,235,.2); }
.run-status-panel { min-height:310px; }
.health-pill,.count-pill,.secure-badge { padding:5px 8px; color:var(--success); background:var(--success-soft); border-radius:999px; font-size:8px; font-weight:700; }
.status-list { display:grid; gap:7px; }
.status-list button { width:100%; height:49px; display:grid; grid-template-columns:1fr auto 18px; align-items:center; gap:8px; padding:0 12px; border:1px solid var(--line); border-radius:9px; background:#fff; cursor:pointer; }
.status-list button:hover { border-color:#b9c8f5; background:#f9fbff; }
.status-list span { display:flex; align-items:center; gap:8px; font-size:10px; }
.status-list strong { font-size:9px; }
.status-list small { color:#9aa2af; }
.server-pending-pill { color:#8a6418; background:#fff4dc; }
.server-note-list { display:grid; gap:7px; }
.server-note-list p { min-height:39px; display:grid; grid-template-columns:28px 1fr; align-items:center; gap:9px; margin:0; padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:#fafbfe; color:#4f5b70; font-size:9px; line-height:1.55; }
.server-note-list p span { width:25px; height:25px; display:grid; place-items:center; border-radius:7px; color:var(--primary); background:#edf2ff; font-size:8px; font-weight:800; }
.task-list { display:grid; gap:6px; }
.task-list button { width:100%; display:grid; grid-template-columns:27px 1fr 20px; align-items:center; gap:10px; padding:9px; border:0; border-radius:9px; background:#f8f9fb; text-align:left; cursor:pointer; }
.task-list button:hover { background:#f0f4ff; }
.task-list button > span:nth-child(2) { display:grid; gap:3px; }
.task-list strong { font-size:10px; }.task-list small { color:var(--muted-2); font-size:8px; }.task-list em { color:#98a0ad; font-style:normal; }
.task-level { width:25px; height:25px; display:grid; place-items:center; border-radius:7px; font-size:8px; font-weight:800; }
.task-level.high { color:#bb4545; background:#fff0f0; }.task-level.mid { color:#b26d16; background:#fff3df; }.task-level.low { color:#4470be; background:#edf3ff; }
.progress-head { display:flex; justify-content:space-between; align-items:center; margin:6px 0 13px; font-size:10px; }.progress-head span { color:var(--muted); font-size:9px; }
.progress-track { height:8px; overflow:hidden; border-radius:999px; background:#edf0f4; }.progress-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#345eeb,#66a0ff); }
.research-kpis { margin-top:20px; display:grid; grid-template-columns:repeat(3,1fr); }.research-kpis div { display:grid; gap:4px; text-align:center; border-right:1px solid var(--line); }.research-kpis div:last-child { border:0; }.research-kpis strong { font-size:18px; }.research-kpis span { color:var(--muted); font-size:8px; }

.campus-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(275px,.55fr); gap:14px; }
.campus-embed-panel { padding:0; overflow:hidden; background:#173c2d; }
.campus-embed-head { min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 16px; color:var(--ink); background:#fff; border-bottom:1px solid var(--line); }
.campus-embed-head h3 { margin:0 0 5px; font-size:13px; }
.campus-embed-head p { margin:0; color:var(--muted); font-size:9px; }
.campus-embed-head > span { padding:6px 9px; border-radius:99px; color:var(--primary); background:var(--primary-soft); font-size:8px; font-weight:750; }
.campus-embed-frame { width:100%; height:calc(100vh - 248px); min-height:480px; max-height:760px; display:block; border:0; background:#173c2d; }
.campus-map-panel { padding-bottom:14px; }
.map-legend { display:flex; gap:12px; color:var(--muted); font-size:8px; }.map-legend span { display:flex; align-items:center; gap:5px; }.map-legend i { width:7px; height:7px; border-radius:50%; }.map-student { background:#345eeb; }.map-npc { background:#22aa7c; }
.mini-campus-map { position:relative; height:390px; overflow:hidden; border-radius:11px; background:#dfead3; border:1px solid #d6e2cf; }
.mini-campus-map::before { content:""; position:absolute; inset:0; opacity:.7; background-image:radial-gradient(#7ca66c 1px,transparent 1px); background-size:14px 14px; }
.map-zone { position:absolute; z-index:3; display:grid; place-items:center; gap:4px; border:2px solid rgba(255,255,255,.92); color:#34425a; background:#eef1f3; box-shadow:0 7px 18px rgba(47,65,73,.18); cursor:pointer; transform:skewY(-3deg); transition:.2s; }
.map-zone:hover,.map-zone.active { border-color:#4269e4; box-shadow:0 0 0 4px rgba(52,94,235,.14),0 10px 22px rgba(47,65,73,.2); }
.map-zone span { font-size:11px; font-weight:750; }.map-zone small { color:#708094; font-size:8px; }
.map-zone.west { left:7%; top:11%; width:34%; height:29%; clip-path:polygon(0 8%,92% 0,100% 85%,8% 100%); }
.map-zone.lake { left:35%; top:49%; width:30%; height:32%; border-radius:48% 52% 43% 57%; color:#fff; background:#4da6c7; }
.map-zone.lake small { color:#d9f3ff; }
.map-zone.east { right:5%; top:8%; width:34%; height:32%; clip-path:polygon(5% 0,100% 10%,93% 100%,0 86%); }
.map-zone.sport { right:5%; bottom:7%; width:28%; height:25%; border-radius:48% / 28%; background:#75ad72; box-shadow:inset 0 0 0 12px #c97763,0 7px 18px rgba(47,65,73,.18); color:#fff; }
.map-zone.sport small { color:#efffea; }
.map-road { position:absolute; z-index:1; background:#b8b7af; box-shadow:inset 0 0 0 3px #e8e6de; }.road-h { left:-4%; right:-4%; top:43%; height:28px; transform:rotate(-4deg); }.road-v { top:-5%; bottom:-5%; left:45%; width:24px; transform:rotate(7deg); }
.lake-shape { position:absolute; left:38%; top:52%; width:25%; height:23%; border-radius:48%; background:#5ab1cf; opacity:.3; }
.moving-dot { position:absolute; z-index:5; width:9px; height:9px; border:2px solid #fff; border-radius:50%; background:#345eeb; box-shadow:0 2px 7px rgba(0,0,0,.25); }.moving-dot.npc { background:#19a777; }.d1 { left:26%; top:45%; }.d2 { left:53%; top:29%; }.d3 { left:68%; top:61%; }.d4 { left:43%; top:84%; }
.zone-detail { min-height:390px; }
.zone-head { padding-bottom:16px; border-bottom:1px solid var(--line); }.zone-head span { display:inline-block; margin-bottom:7px; color:var(--primary); font-size:8px; font-weight:800; letter-spacing:.1em; }.zone-head h3 { margin:0 0 6px; font-size:18px; }.zone-head p { margin:0; color:var(--muted); font-size:9px; line-height:1.65; }
.zone-kpis { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:15px 0; }.zone-kpis div { padding:12px; border-radius:9px; background:#f6f7f9; }.zone-kpis strong,.zone-kpis span { display:block; }.zone-kpis strong { font-size:18px; }.zone-kpis span { margin-top:3px; color:var(--muted); font-size:8px; }
.zone-buildings { display:grid; gap:7px; }.zone-buildings h4 { margin:0 0 3px; font-size:10px; }.zone-buildings p { margin:0; padding:8px 10px; border:1px solid var(--line); border-radius:8px; font-size:9px; }
.three-column-grid { display:grid; grid-template-columns:1.15fr .8fr 1fr; gap:14px; margin-top:14px; }
.campus-event-list,.live-feed { display:grid; gap:7px; }.campus-event-item,.feed-item { display:flex; align-items:flex-start; gap:9px; padding:8px; border-radius:8px; background:#f8f9fb; }.campus-event-item span:first-child { width:28px; height:28px; display:grid; place-items:center; border-radius:7px; background:#edf2ff; color:var(--primary); font-size:8px; font-weight:800; }.campus-event-item div,.feed-item div { display:grid; gap:3px; }.campus-event-item strong,.feed-item strong { font-size:9px; }.campus-event-item small,.feed-item small { color:var(--muted); font-size:8px; }
.npc-summary { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:14px; }.npc-summary div { padding:12px; border-radius:9px; background:#f6f8fb; }.npc-summary strong,.npc-summary span { display:block; }.npc-summary strong { font-size:18px; }.npc-summary span { margin-top:3px; color:var(--muted); font-size:8px; }
.live-text { color:#e05d5d; font-size:8px; font-weight:800; letter-spacing:.12em; }.feed-item::before { content:""; width:6px; height:6px; margin-top:4px; flex:0 0 auto; border-radius:50%; background:#4e78ee; }

.content-summary-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:14px; }
.content-summary-grid article { padding:15px 17px; display:grid; gap:5px; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:var(--shadow); }.content-summary-grid span { color:var(--muted); font-size:9px; }.content-summary-grid strong { font-size:21px; }.content-summary-grid small { color:#7c8798; font-size:8px; }.warn-text { color:var(--warning)!important; }
.content-title-cell { display:flex; align-items:center; gap:9px; }.content-thumb { width:35px; height:35px; display:grid; place-items:center; flex:0 0 auto; border-radius:8px; background:var(--primary-soft); color:var(--primary); font-size:9px; font-weight:800; }.content-title-cell span { display:grid; gap:3px; }.content-title-cell strong { max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.content-title-cell small { color:var(--muted-2); }
.badge.intervention { color:#9449a3; background:#f7eefa; }.badge.activity { color:#a36517; background:#fff2df; }
.state.review { color:#b26e18; background:#fff2df; }.state.draft { color:#697386; background:#eff1f4; }

.content-filterbar { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:14px; padding:10px 14px; }
.content-range-tabs,.mini-tabs { display:flex; gap:4px; padding:4px; border-radius:9px; background:#eef1f5; }
.content-range-tabs button,.mini-tabs button { min-height:31px; padding:0 13px; border:0; border-radius:7px; color:var(--muted); background:transparent; font-size:9px; cursor:pointer; }
.content-range-tabs button.active,.mini-tabs button.active { color:var(--primary); background:#fff; box-shadow:0 2px 8px rgba(37,54,91,.08); font-weight:750; }
.content-filter-right { display:flex; align-items:center; gap:14px; }
.content-filter-right label { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:9px; }
.content-filter-right select,.ranking-controls select { min-height:34px; padding:0 29px 0 10px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#fff; font-size:9px; outline:0; }
.content-filter-right > span { color:var(--muted-2); font-size:8px; }

.analytics-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.analytics-kpi-grid article { min-width:0; display:flex; align-items:center; gap:12px; padding:14px 15px; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:var(--shadow); }
.analytics-icon { width:40px; height:40px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; font-size:9px; font-weight:800; }
.analytics-icon.blue { color:#345eeb; background:#edf2ff; }.analytics-icon.purple { color:#6c55c8; background:#f1eeff; }.analytics-icon.green { color:#178566; background:#e9f7f2; }.analytics-icon.orange { color:#b76a1c; background:#fff2df; }
.analytics-kpi-grid article > div { min-width:0; display:grid; gap:3px; }
.analytics-kpi-grid small { color:var(--muted); font-size:8px; }.analytics-kpi-grid strong { font-size:19px; letter-spacing:-.02em; }.analytics-kpi-grid p { margin:0; overflow:hidden; color:var(--success); font-size:7px; white-space:nowrap; text-overflow:ellipsis; }

.content-insight-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(290px,.65fr); gap:14px; margin-bottom:14px; }
.trend-panel,.category-panel { min-width:0; }
.trend-legend { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:8px; }.trend-legend span { display:flex; align-items:center; gap:5px; }.trend-legend i { width:18px; height:3px; border-radius:99px; background:#496fed; }.trend-legend span:last-child i { height:8px; background:#dbe4ff; }
.recommend-trend-chart { height:245px; }
.recommend-trend-chart svg { width:100%; height:100%; overflow:visible; }
.trend-grid line { stroke:#edf0f4; stroke-width:1; }.trend-grid text,.trend-x-label { fill:#8b94a5; font-size:8px; }.trend-bars rect { fill:#dce5ff; }.trend-area { fill:url(#trendArea); }.trend-line { fill:none; stroke:#4169e5; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }.trend-dots circle { fill:#fff; stroke:#4169e5; stroke-width:3; }
.analysis-note { color:var(--muted); font-size:8px; }
.category-performance { display:grid; gap:5px; }
.category-performance-row { width:100%; min-height:42px; display:grid; grid-template-columns:23px minmax(0,1fr) 48px; align-items:center; gap:8px; padding:5px 7px; border:1px solid transparent; border-radius:8px; color:var(--ink); background:transparent; text-align:left; cursor:pointer; }
.category-performance-row:hover,.category-performance-row.active { border-color:#cfdbfb; background:#f6f8ff; }
.category-rank { width:22px; height:22px; display:grid; place-items:center; border-radius:6px; color:#6e788a; background:#eef1f5; font-size:8px; font-weight:800; }
.category-copy { min-width:0; display:grid; gap:3px; }.category-copy strong { font-size:9px; }.category-copy small { color:var(--muted); font-size:7px; }.category-copy i { height:4px; overflow:hidden; border-radius:99px; background:#edf0f4; }.category-copy i b { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#4f74e8,#77a0ff); }
.category-value { display:grid; justify-items:end; gap:2px; }.category-value strong { font-size:9px; }.category-value small { color:var(--success); font-size:7px; }.category-value small.down { color:#c25a50; }

.content-lower-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr); gap:14px; margin-bottom:14px; align-items:start; }
.content-ranking-panel { min-width:0; padding:0; overflow:hidden; }.content-ranking-panel .panel-head { padding:16px 17px 0; }
.ranking-head { align-items:center; }.ranking-controls { display:flex; align-items:center; gap:8px; }
.mini-tabs button { min-height:28px; padding:0 9px; font-size:8px; }
.analytics-table-wrap { overflow:auto; }
.analytics-table { width:100%; border-collapse:collapse; table-layout:auto; }
.analytics-table th { padding:10px 11px; color:var(--muted); background:#f7f8fa; border-block:1px solid var(--line); font-size:7px; font-weight:700; text-align:left; white-space:nowrap; }
.analytics-table td { padding:10px 11px; border-bottom:1px solid var(--line); font-size:8px; white-space:nowrap; }
.analytics-table td:nth-child(2) { min-width:205px; white-space:normal; }.analytics-table td:nth-child(2) strong,.analytics-table td:nth-child(2) small { display:block; }.analytics-table td:nth-child(2) strong { font-size:9px; line-height:1.4; }.analytics-table td:nth-child(2) small { margin-top:4px; color:var(--muted); font-size:7px; }
.rank-number { width:23px; height:23px; display:grid; place-items:center; border-radius:7px; color:#6c7586; background:#eef1f5; font-size:8px; font-weight:800; }.rank-number.top { color:#fff; background:#4269e4; }
.category-chip,.uplift-chip { padding:4px 6px; border-radius:99px; color:#4768ba; background:#edf2ff; font-size:7px; font-weight:700; }.uplift-chip { color:#168060; background:#e8f6f1; }.uplift-chip.negative { color:#b8534b; background:#fff0ef; }.ctr-value { color:#284fc5; }.ranking-empty { padding:40px!important; color:var(--muted); text-align:center; }
.effect-strategy-stack { display:grid; gap:14px; }
.effect-badge { padding:5px 8px; border-radius:99px; color:var(--success); background:var(--success-soft); font-size:8px; font-weight:750; }
.effect-compare-row { display:grid; grid-template-columns:86px minmax(0,1fr) minmax(0,1fr); align-items:center; gap:7px; margin-bottom:11px; }.effect-compare-row > span { color:var(--muted); font-size:8px; }.effect-compare-row > div { display:grid; gap:4px; }.effect-compare-row i { height:6px; border-radius:99px; background:#4d73e8; }.effect-compare-row > div:nth-child(3) i { background:#c8ced8; }.effect-compare-row strong { font-size:7px; font-weight:650; }
.effect-result { margin-top:14px; padding:12px; border-radius:9px; background:#f2f6ff; text-align:center; }.effect-result strong,.effect-result span { display:block; }.effect-result strong { color:var(--primary); font-size:17px; }.effect-result span { margin-top:3px; color:var(--muted); font-size:8px; }
.strategy-advice { display:grid; gap:8px; }.strategy-advice > div { display:flex; align-items:flex-start; gap:9px; padding:9px; border-radius:8px; background:#f8f9fb; }.strategy-icon { width:27px; height:27px; display:grid; place-items:center; flex:0 0 auto; border-radius:7px; font-size:8px; font-weight:800; }.strategy-icon.up { color:#187b5f; background:#e7f6f0; }.strategy-icon.tune { color:#b2691c; background:#fff1df; }.strategy-icon.test { color:#5068b7; background:#edf2ff; }.strategy-advice p { margin:0; }.strategy-advice strong,.strategy-advice small { display:block; }.strategy-advice strong { font-size:8px; }.strategy-advice small { margin-top:4px; color:var(--muted); font-size:7px; line-height:1.45; }
.crawler-guide-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.crawler-guide-grid article { padding:13px; border:1px solid var(--line); border-radius:9px; background:#fbfcfe; }.crawler-guide-grid h4 { margin:9px 0 6px; font-size:10px; }.crawler-guide-grid p { min-height:34px; margin:0 0 10px; color:var(--muted); font-size:8px; line-height:1.55; }.crawler-guide-grid strong { color:#4d5b73; font-size:8px; }.crawler-priority { padding:4px 7px; border-radius:99px; font-size:7px; font-weight:750; }.crawler-priority.high { color:#fff; background:#345eeb; }.crawler-priority.medium { color:#a05f17; background:#fff0d9; }.crawler-priority.low { color:#687386; background:#edf0f4; }

.effective-rule { display:flex; align-items:center; gap:7px; color:#637089!important; }
.effective-rule i { width:27px; height:27px; display:grid; place-items:center; border-radius:7px; color:#315bd2; background:#edf2ff; font-size:8px; font-style:normal; font-weight:800; }
.delivery-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.delivery-summary-card { min-width:0; padding:0; overflow:hidden; }
.delivery-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 17px 13px; border-bottom:1px solid var(--line); }
.delivery-card-head > div { min-width:0; display:flex; align-items:center; gap:11px; }
.delivery-card-head h3 { margin:0 0 4px; font-size:12px; }.delivery-card-head p { margin:0; color:var(--muted); font-size:8px; }.delivery-card-head p strong { color:#44516a; }
.content-type-mark { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; font-size:10px; font-weight:850; }
.content-type-mark.public { color:#315bd2; background:#edf2ff; }.content-type-mark.recommended { color:#b56618; background:#fff1dd; }
.audience-badge { flex:0 0 auto; padding:5px 8px; border-radius:99px; color:#315bd2; background:#edf2ff; font-size:7px; font-weight:750; }.audience-badge.recommended { color:#a15d18; background:#fff1df; }
.delivery-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:15px 17px; }
.delivery-metrics > div { min-width:0; padding:0 12px; border-right:1px solid var(--line); }.delivery-metrics > div:first-child { padding-left:0; }.delivery-metrics > div:last-child { padding-right:0; border-right:0; }
.delivery-metrics small,.delivery-metrics strong,.delivery-metrics span { display:block; }.delivery-metrics small { color:var(--muted); font-size:8px; }.delivery-metrics strong { margin:5px 0 3px; font-size:17px; letter-spacing:-.02em; }.delivery-metrics span { overflow:hidden; color:var(--muted-2); font-size:7px; white-space:nowrap; text-overflow:ellipsis; }
.delivery-metrics .rate-metric strong { color:#315bd2; }.delivery-metrics .rate-metric.recommended strong { color:#c27121; }
.formula-strip { display:flex; justify-content:flex-end; gap:8px; padding:8px 17px; color:#53617a; background:#f4f7ff; font-size:8px; }.formula-strip strong { color:#315bd2; }.formula-strip.recommended { background:#fff8ee; }.formula-strip.recommended strong { color:#ad651e; }
.dual-rate-trend-panel { margin-bottom:14px; }
.dual-trend-legend { display:flex; align-items:center; gap:14px; color:var(--muted); font-size:8px; }.dual-trend-legend span { display:flex; align-items:center; gap:6px; }.dual-trend-legend i { width:19px; height:3px; border-radius:99px; }.dual-trend-legend .public i { background:#4169e5; }.dual-trend-legend .recommended i { background:#e59036; }
.dual-rate-chart { height:275px; }.dual-rate-chart svg { width:100%; height:100%; overflow:visible; }
.dual-chart-grid line { stroke:#ebeff5; stroke-width:1; }.dual-chart-grid text,.dual-chart-labels text { fill:#8a95a7; font-size:8px; }
.rate-line { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }.rate-line.public { stroke:#4169e5; }.rate-line.recommended { stroke:#e59036; }
.rate-dots circle { fill:#fff; stroke-width:2.5; }.rate-dots.public circle { stroke:#4169e5; }.rate-dots.recommended circle { stroke:#e59036; }
.comparison-caution { display:flex; align-items:flex-start; gap:9px; margin-top:8px; padding:9px 11px; border-radius:8px; color:#687386; background:#f7f8fa; font-size:8px; line-height:1.55; }.comparison-caution strong { flex:0 0 auto; color:#4b5870; }
.content-operations-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; margin-bottom:14px; align-items:stretch; }
.daily-detail-panel,.operation-signal-panel,.category-ops-panel { min-width:0; padding:0; overflow:hidden; }.daily-detail-panel .panel-head,.operation-signal-panel .panel-head,.category-ops-panel .panel-head { padding:15px 17px 12px; }
.daily-table-wrap { max-height:350px; overflow:auto; }.daily-rate-table { table-layout:fixed; }.daily-rate-table th { text-align:center; }.daily-rate-table thead tr:first-child th:first-child,.daily-rate-table tbody td:first-child { text-align:left; }.daily-rate-table td { text-align:center; }.daily-rate-table td:nth-child(2) { min-width:0; white-space:nowrap; }
.rate-text.public { color:#315bd2; }.rate-text.recommended { color:#b96b1e; }
.signal-count { padding:5px 8px; border-radius:99px; color:#506079; background:#edf0f4; font-size:8px; font-weight:750; }
.operation-signals { display:grid; gap:9px; padding:0 15px 15px; }.operation-signals > div { display:flex; align-items:flex-start; gap:10px; padding:11px; border:1px solid var(--line); border-radius:9px; background:#fbfcfe; }
.signal-icon { width:29px; height:29px; display:grid; place-items:center; flex:0 0 auto; border-radius:8px; font-size:8px; font-weight:850; }.signal-icon.observe { color:#315bd2; background:#edf2ff; }.signal-icon.warning { color:#ae651d; background:#fff1df; }.signal-icon.data { color:#188062; background:#e7f6f0; }
.operation-signals p { margin:0; }.operation-signals strong,.operation-signals small { display:block; }.operation-signals strong { font-size:9px; line-height:1.4; }.operation-signals small { margin-top:5px; color:var(--muted); font-size:8px; line-height:1.55; }
.category-ops-table td:nth-child(2) { min-width:0; white-space:nowrap; }.category-ops-table td:last-child { min-width:180px; color:#5f6b7f; white-space:normal; }
.information-type { padding:4px 7px; border-radius:99px; font-size:7px; font-weight:750; }.information-type.public { color:#315bd2; background:#edf2ff; }.information-type.recommended { color:#a96019; background:#fff1df; }

.user-stat-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:14px; }.user-stat-row article { padding:13px 15px; display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:var(--shadow); }.stat-orb { width:40px; height:40px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; font-size:12px; font-weight:800; }.stat-orb.purple { color:#5c51ca; background:#efedff; }.stat-orb.blue { color:#2e67be; background:#eaf2ff; }.stat-orb.green { color:#188263; background:#e7f6f0; }.stat-orb.gray { color:#616c7f; background:#edf0f4; }.user-stat-row div { display:grid; gap:3px; }.user-stat-row strong { font-size:10px; }.user-stat-row small { color:var(--muted); font-size:8px; }
.user-stat-row.two-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.user-behavior-trend-panel { margin-bottom:14px; padding:0; overflow:hidden; }
.user-behavior-trend-head { padding:15px 17px 12px; }
.user-behavior-chart-controls { display:flex; align-items:center; gap:14px; }
.user-trend-legend .human i { background:#6757d8; }.user-trend-legend .agent i { background:#23a27d; }
.user-behavior-trend-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 17px; border:1px solid var(--line); border-radius:10px; background:#fafbfe; }
.user-behavior-trend-summary > div { display:flex; align-items:baseline; gap:6px; padding:10px 14px; border-right:1px solid var(--line); }.user-behavior-trend-summary > div:last-child { border-right:0; }
.user-behavior-trend-summary span { flex:1; color:var(--muted); font-size:8px; }.user-behavior-trend-summary strong { font-size:16px; }.user-behavior-trend-summary small { color:var(--muted-2); font-size:8px; }
.user-behavior-trend-chart { height:260px; padding:6px 17px 0; }.user-behavior-trend-chart svg { width:100%; height:100%; overflow:visible; }
.behavior-chart-grid line { stroke:#ebeff5; stroke-width:1; }.behavior-chart-grid text,.behavior-chart-labels text { fill:#8a95a7; font-size:8px; }
.behavior-line { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }.behavior-line.human { stroke:#6757d8; }.behavior-line.agent { stroke:#23a27d; }
.behavior-dots circle { fill:#fff; stroke-width:2.5; }.behavior-dots.human circle { stroke:#6757d8; }.behavior-dots.agent circle { stroke:#23a27d; }
.behavior-chart-note { display:flex; align-items:flex-start; gap:9px; margin:0 17px 15px; padding:9px 11px; border-radius:8px; color:#687386; background:#f7f8fa; font-size:8px; line-height:1.55; }.behavior-chart-note strong { flex:0 0 auto; color:#4b5870; }
.v2-user-layout { grid-template-columns:255px minmax(0,1fr); }
.group-filter { display:flex; flex-wrap:wrap; gap:5px; margin:10px 0 12px; }.group-filter button { padding:5px 8px; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:#fff; font-size:8px; cursor:pointer; }.group-filter button.active { color:var(--primary); border-color:#aec0f8; background:#f1f5ff; }
.user-config-panel { padding:0; overflow:hidden; }.user-config-panel #profileSummary { padding:18px; border-bottom:1px solid var(--line); }.profile-tabs { display:flex; padding:0 18px; border-bottom:1px solid var(--line); }.profile-tabs button { padding:13px 15px; border:0; border-bottom:2px solid transparent; color:var(--muted); background:transparent; font-size:9px; cursor:pointer; }.profile-tabs button.active { color:var(--primary); border-bottom-color:var(--primary); font-weight:700; }.profile-content { padding:20px; min-height:305px; }
.info-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.info-box { padding:12px; border:1px solid var(--line); border-radius:9px; }.info-box span,.info-box strong { display:block; }.info-box span { color:var(--muted); font-size:8px; }.info-box strong { margin-top:5px; font-size:10px; }
.experiment-card { padding:15px; border:1px solid #dce4fb; border-radius:10px; background:#f6f8ff; }.experiment-card .exp-top { display:flex; justify-content:space-between; align-items:center; }.experiment-card h4 { margin:0; font-size:11px; }.experiment-card p { margin:7px 0 13px; color:var(--muted); font-size:9px; }.experiment-card select { width:100%; }
.behavior-mini-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-bottom:15px; }.behavior-mini-grid div { padding:12px; text-align:center; border-radius:9px; background:#f6f7f9; }.behavior-mini-grid strong,.behavior-mini-grid span { display:block; }.behavior-mini-grid strong { font-size:18px; }.behavior-mini-grid span { margin-top:4px; color:var(--muted); font-size:8px; }
.permission-list { display:grid; gap:8px; }.permission-list .setting-row { padding:11px 0; }
.profile-main-row { display:flex; align-items:center; gap:12px; }.profile-main-row .avatar { width:42px; height:42px; }.profile-main-row > div { flex:1; }.profile-main-row h3 { margin:0 0 4px; font-size:14px; }.profile-main-row p { margin:0; color:var(--muted); font-size:9px; }.group-tag { padding:5px 8px; border-radius:999px; color:var(--primary); background:var(--primary-soft); font-size:8px; font-weight:700; }

.behavior-config-layout { height:clamp(520px,calc(100vh - 260px),700px); align-items:stretch; }
.behavior-user-panel,.behavior-control-panel { height:100%; min-height:0; }
.behavior-user-panel { display:flex; flex-direction:column; overflow:hidden; }
.behavior-control-panel { overflow-x:hidden; overflow-y:auto; scrollbar-gutter:stable; }
.behavior-user-panel .entity-tabs,.behavior-user-panel .search-box { flex:0 0 auto; }
.behavior-user-panel .search-box { margin:12px 0; }
.behavior-user-panel .user-list { flex:1 1 auto; min-height:0; max-height:none; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding-right:5px; }
.behavior-user-panel .user-list::-webkit-scrollbar { width:6px; }
.behavior-user-panel .user-list::-webkit-scrollbar-track { background:transparent; }
.behavior-user-panel .user-list::-webkit-scrollbar-thumb { border-radius:99px; background:#cbd4e6; }
.behavior-user-panel .user-list::-webkit-scrollbar-thumb:hover { background:#9eacc8; }
.entity-tabs { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:4px; border-radius:10px; background:#eef0f4; }
.entity-tabs button { min-height:38px; display:flex; align-items:center; justify-content:center; gap:7px; border:0; border-radius:8px; color:var(--muted); background:transparent; font-size:9px; cursor:pointer; }
.entity-tabs button.active { color:var(--primary); background:#fff; box-shadow:0 2px 8px rgba(38,48,70,.08); font-weight:750; }
.entity-tabs small { min-width:22px; padding:3px 5px; border-radius:99px; color:inherit; background:rgba(84,104,150,.09); font-size:8px; text-align:center; }
.user-kind-avatar { border-radius:10px!important; }
.user-kind-avatar.agent { color:#177c61; background:#e7f7f1; }
.group-tag.agent { color:#177c61; background:#e7f7f1; }
.behavior-control-panel #profileSummary { padding:18px 16px; }
.master-permission { padding:0 16px 18px; }
.master-permission-card { min-height:76px; display:flex; align-items:center; gap:14px; padding:14px 16px; border:1px solid #cbd8fb; border-radius:11px; background:#f5f8ff; }
.master-permission-card.off { border-color:#e7d2d2; background:#fff7f7; }
.master-icon { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:#fff; background:var(--primary); font-size:9px; font-weight:800; }
.master-permission-card.off .master-icon { background:#a26b6b; }
.master-copy { flex:1; }.master-copy strong { display:block; font-size:11px; }.master-copy p { margin:5px 0 0; color:var(--muted); font-size:9px; line-height:1.55; }
.master-state { margin-right:2px; padding:5px 8px; border-radius:99px; color:var(--success); background:var(--success-soft); font-size:8px; font-weight:750; }
.master-permission-card.off .master-state { color:#a04e4e; background:#fbe8e8; }
.behavior-section-head { min-height:62px; display:flex; align-items:flex-end; justify-content:space-between; gap:12px; padding:0 16px 12px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.behavior-section-head h3 { margin:14px 0 4px; font-size:12px; }.behavior-section-head p { margin:0; color:var(--muted); font-size:8px; }
.behavior-column-labels { min-width:212px; display:grid; grid-template-columns:62px 140px; gap:10px; color:var(--muted-2); font-size:8px; text-align:center; }
.behavior-rule-list { padding:0 16px; }
.behavior-rule { min-height:78px; display:grid; grid-template-columns:minmax(160px,1fr) 62px 140px; align-items:center; gap:10px; border-bottom:1px solid var(--line); transition:.2s; }
.behavior-rule:last-child { border-bottom:0; }
.behavior-rule.locked { opacity:.46; }
.behavior-info { display:flex; align-items:center; gap:11px; min-width:0; }
.behavior-icon { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:9px; color:var(--primary); background:var(--primary-soft); font-size:9px; font-weight:800; }
.behavior-info strong { display:block; font-size:10px; }.behavior-info p { margin:5px 0 0; overflow:hidden; color:var(--muted); font-size:8px; white-space:nowrap; text-overflow:ellipsis; }
.behavior-permission { display:flex; justify-content:center; }
.limit-control { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.unlimited-check { min-width:52px; display:flex; align-items:center; gap:4px; color:var(--muted); font-size:8px; cursor:pointer; }
.unlimited-check input { accent-color:var(--primary); }
.limit-input-wrap { display:flex; align-items:center; overflow:hidden; width:82px; height:34px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.limit-input-wrap:focus-within { border-color:#9fb4f6; box-shadow:0 0 0 3px rgba(52,94,235,.08); }
.limit-input { width:52px; height:100%; padding:0 5px; border:0; outline:0; color:var(--ink); background:transparent; font-size:9px; text-align:right; }
.limit-input:disabled { color:#a4abba; background:#f4f5f7; }
.limit-unit { flex:1; color:var(--muted-2); font-size:8px; }
.behavior-savebar { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; border-top:1px solid var(--line); background:#fafbfc; }
.behavior-savebar > span { color:var(--success); font-size:8px; }.behavior-savebar > div { display:flex; gap:8px; }
.behavior-savebar .button { min-width:108px; }

.user-detail-tabs { position:sticky; top:0; z-index:4; display:flex; padding:0 16px; border-block:1px solid var(--line); background:#fff; }
.user-detail-tabs button { min-height:43px; padding:0 17px; border:0; border-bottom:2px solid transparent; color:var(--muted); background:transparent; font-size:9px; cursor:pointer; }
.user-detail-tabs button.active { color:var(--primary); border-bottom-color:var(--primary); font-weight:750; }
.user-detail-view { display:none; }.user-detail-view.active { display:block; }
.behavior-record-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:14px 16px; border-bottom:1px solid var(--line); background:#fbfcfe; }
.behavior-record-summary > div { min-width:0; padding:0 12px; border-right:1px solid var(--line); }.behavior-record-summary > div:first-child { padding-left:0; }.behavior-record-summary > div:last-child { padding-right:0; border-right:0; }
.behavior-record-summary small,.behavior-record-summary strong,.behavior-record-summary span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.behavior-record-summary small { color:var(--muted); font-size:7px; }.behavior-record-summary strong { margin:5px 0 3px; font-size:14px; }.behavior-record-summary span { color:var(--muted-2); font-size:7px; }
.behavior-record-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; padding:13px 16px; border-bottom:1px solid var(--line); }
.record-filter-group { display:flex; align-items:center; gap:8px; }.record-filter-group label { display:grid; gap:5px; color:var(--muted); font-size:7px; }.record-filter-group select { min-width:112px; height:32px; padding:0 25px 0 9px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#fff; font-size:8px; outline:0; }
.behavior-record-search { min-width:230px; margin:0!important; }
.behavior-record-result { min-height:37px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 16px; background:#f8f9fb; border-bottom:1px solid var(--line); }.behavior-record-result span { color:#4e5b73; font-size:8px; font-weight:750; }.behavior-record-result p { margin:0; color:var(--muted); font-size:7px; }
.behavior-record-table-wrap { max-height:350px; overflow:auto; scrollbar-gutter:stable; }
.behavior-record-table { width:100%; border-collapse:collapse; }
.behavior-record-table thead { position:sticky; top:0; z-index:2; }
.behavior-record-table th { padding:9px 10px; color:var(--muted); background:#f3f5f8; border-bottom:1px solid var(--line); font-size:7px; font-weight:700; text-align:left; white-space:nowrap; }
.behavior-record-table td { padding:10px; border-bottom:1px solid var(--line); color:#536078; font-size:8px; white-space:nowrap; }.behavior-record-table td:first-child strong,.behavior-record-table td:first-child small { display:block; }.behavior-record-table td:first-child strong { color:var(--ink); font-size:8px; }.behavior-record-table td:first-child small { margin-top:3px; color:var(--muted-2); font-size:7px; }.behavior-record-table td:nth-child(4) { min-width:180px; color:var(--ink); white-space:normal; }
.record-type,.participation-tag,.record-result { display:inline-flex; align-items:center; padding:4px 7px; border-radius:99px; font-size:7px; font-weight:750; }
.record-type { color:#4d67ad; background:#eef2fb; }.record-type.message { color:#7358b2; background:#f2effb; }.record-type.read { color:#1d7a61; background:#e9f6f1; }.record-type.post { color:#a7621a; background:#fff2df; }
.participation-tag.initiated { color:#315bd2; background:#edf2ff; }.participation-tag.received { color:#687386; background:#edf0f4; }
.record-result.success { color:#187d61; background:#e7f6f0; }.record-result.warning { color:#a9621b; background:#fff1df; }.record-result.neutral { color:#667085; background:#eef0f4; }
.record-detail-button { padding:5px 8px; border:1px solid #cfdbfb; border-radius:7px; color:#315bd2; background:#f5f8ff; font-size:7px; cursor:pointer; }.record-detail-button:hover { background:#edf2ff; }
.record-empty { padding:44px!important; color:var(--muted)!important; text-align:center; }
.drawer-profile { display:flex; align-items:center; gap:11px; margin-bottom:15px; padding:13px; border-radius:10px; background:#f7f9fc; }.drawer-profile .avatar { width:40px; height:40px; }.drawer-profile strong,.drawer-profile span { display:block; }.drawer-profile strong { font-size:11px; }.drawer-profile span { margin-top:4px; color:var(--muted); font-size:8px; }
.drawer-info-grid { display:grid; gap:8px; }.drawer-info-grid > div { padding:11px; border:1px solid var(--line); border-radius:8px; }.drawer-info-grid span,.drawer-info-grid strong { display:block; }.drawer-info-grid span { color:var(--muted); font-size:7px; }.drawer-info-grid strong { margin-top:5px; font-size:9px; line-height:1.45; }
.drawer-note { margin-top:14px; padding:12px; border-radius:9px; color:#5d6980; background:#fff8e9; }.drawer-note strong { font-size:9px; }.drawer-note p { margin:5px 0 0; font-size:8px; line-height:1.6; }

.v2-system-layout { grid-template-columns:1fr; }
.service-card { border-top:3px solid #4d76ed; }.service-card.warning-card { border-top-color:#d18a33; }.service-card strong { font-size:17px; }
.secure-badge { color:#47658f; background:#edf3fc; }

.group-manager-panel { margin-bottom:14px; }
.group-manager-head { align-items:center; }
.group-head-meta { display:flex; align-items:center; gap:10px; }
.human-only-badge { padding:6px 9px; border-radius:99px; color:#355dbf; background:#edf2ff; font-size:8px; font-weight:750; }
.group-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:13px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#f8f9fb; }
.group-toolbar .group-search { min-width:300px; max-width:390px; flex:1; }
.group-toolbar p { margin:0; color:var(--muted); font-size:9px; }
.group-toolbar strong { color:var(--ink); }
.group-board { display:grid; grid-template-columns:minmax(0,1fr) 148px minmax(0,1fr); gap:12px; align-items:stretch; }
.group-column { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:#fbfcfe; }
.recommended-group { border-color:#ccd8fb; }
.group-column-head { min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 13px; border-bottom:1px solid var(--line); background:#fff; }
.group-column-head > div { min-width:0; display:flex; align-items:center; gap:10px; }
.group-column-head h4 { margin:0 0 4px; font-size:11px; }
.group-column-head p { margin:0; overflow:hidden; color:var(--muted); font-size:8px; white-space:nowrap; text-overflow:ellipsis; }
.group-column-head > strong { flex:0 0 auto; padding:5px 8px; border-radius:99px; color:var(--primary); background:var(--primary-soft); font-size:8px; }
.non-recommended-group .group-column-head > strong { color:#667085; background:#eef0f4; }
.group-mark { width:32px; height:32px; display:grid; place-items:center; flex:0 0 auto; border-radius:9px; font-size:9px; font-weight:800; }
.group-mark.recommend { color:#fff; background:var(--primary); }
.group-mark.normal { color:#667085; background:#e9edf2; }
.group-user-list { height:300px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:6px; }
.group-user-list::-webkit-scrollbar { width:6px; }
.group-user-list::-webkit-scrollbar-track { background:transparent; }
.group-user-list::-webkit-scrollbar-thumb { border-radius:99px; background:#cbd4e6; }
.group-user-row { min-height:52px; display:grid; grid-template-columns:18px 30px minmax(0,1fr); align-items:center; gap:8px; padding:6px 8px; border:1px solid transparent; border-radius:8px; cursor:pointer; transition:.15s; }
.group-user-row:hover { border-color:#d9e1f5; background:#fff; }
.group-user-row.selected { border-color:#aebff2; background:#f1f5ff; }
.group-user-row input { width:14px; height:14px; margin:0; accent-color:var(--primary); }
.group-user-row .avatar { width:30px; height:30px; border-radius:8px; }
.group-user-row > span:last-child { min-width:0; display:grid; gap:3px; }
.group-user-row strong { overflow:hidden; font-size:9px; white-space:nowrap; text-overflow:ellipsis; }
.group-user-row small { overflow:hidden; color:var(--muted); font-size:7px; white-space:nowrap; text-overflow:ellipsis; }
.group-empty { margin:0; padding:44px 12px; color:var(--muted); font-size:9px; text-align:center; }
.group-transfer-controls { display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:9px; }
.group-transfer-controls .button { min-width:0; padding:0 10px; font-size:8px; }
.group-transfer-controls .button:disabled { opacity:.42; cursor:not-allowed; }
.group-transfer-controls small { margin-top:4px; color:var(--muted); font-size:7px; line-height:1.55; text-align:center; }
.group-manager-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:14px; }
.group-manager-footer p { display:flex; align-items:center; gap:7px; margin:0; color:var(--muted); font-size:8px; }
.group-manager-footer > div { display:flex; gap:8px; }

.metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.management-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.management-summary-card { min-width:0; padding:15px 16px; }
.summary-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:13px; border-bottom:1px solid var(--line); }.summary-card-head > div { min-width:0; display:flex; align-items:center; gap:10px; }.summary-card-head h3 { margin:0 0 4px; font-size:11px; }.summary-card-head p { margin:0; color:var(--muted); font-size:8px; }.summary-card-head button { flex:0 0 auto; padding:6px 8px; border:0; border-radius:7px; color:var(--primary); background:var(--primary-soft); font-size:8px; cursor:pointer; }
.summary-card-icon { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:9px; font-size:9px; font-weight:850; }.summary-card-icon.content { color:#315bd2; background:#edf2ff; }.summary-card-icon.users { color:#7758ba; background:#f1edff; }.summary-card-icon.system { color:#a8621a; background:#fff1df; }
.summary-range-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid var(--line); }.summary-range-row > span { color:var(--muted); font-size:8px; font-weight:700; }
.summary-range-tabs { display:flex; align-items:center; gap:3px; padding:3px; border:1px solid #e0e6f2; border-radius:8px; background:#f6f8fc; }.summary-range-tabs button { min-width:34px; padding:4px 7px; border:0; border-radius:6px; color:#75819a; background:transparent; font-size:8px; font-weight:750; cursor:pointer; transition:.18s; }.summary-range-tabs button:hover { color:var(--primary); background:#fff; }.summary-range-tabs button.active { color:#fff; background:var(--primary); box-shadow:0 3px 8px rgba(52,94,235,.2); }
.summary-pair { display:grid; grid-template-columns:repeat(2,1fr); padding-top:11px; }.summary-pair > div { display:grid; gap:4px; padding-left:13px; border-left:1px solid var(--line); }.summary-pair > div:first-child { padding-left:0; border-left:0; }.summary-pair span { color:var(--muted); font-size:8px; }.summary-pair strong { font-size:19px; }.summary-pair small { color:var(--muted-2); font-size:8px; }.summary-pair small b { color:#536078; }
.summary-kpi-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding-top:11px; }.summary-kpi-row > div { padding:9px 7px; border-radius:8px; background:#f7f8fb; text-align:center; }.summary-kpi-row strong,.summary-kpi-row span { display:block; }.summary-kpi-row strong { font-size:16px; }.summary-kpi-row span { margin-top:4px; color:var(--muted); font-size:7px; }
.system-summary-lines { display:grid; gap:7px; padding-top:12px; }.system-summary-lines > div { display:flex; align-items:center; justify-content:space-between; gap:10px; }.system-summary-lines span { color:var(--muted); font-size:8px; }.system-summary-lines strong { font-size:9px; }.system-summary-lines i { font-style:normal; }

.recommendation-strategy-panel { padding:0; overflow:hidden; }.recommendation-strategy-panel > .panel-head { padding:17px; border-bottom:1px solid var(--line); }
.strategy-application-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:12px; padding:16px; }
.strategy-group-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:#fbfcfe; transition:.2s; }.strategy-group-card.enabled { border-color:#bfcdf7; box-shadow:0 7px 18px rgba(52,94,235,.06); }.strategy-group-card.disabled { opacity:.68; }
.strategy-group-head { min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 13px; border-bottom:1px solid var(--line); background:#fff; }.strategy-group-head > div { min-width:0; display:flex; align-items:center; gap:10px; }.strategy-group-head h4 { margin:0 0 4px; font-size:11px; }.strategy-group-head p { margin:0; color:var(--muted); font-size:8px; }.strategy-group-head p strong { color:var(--ink); }
.strategy-name-row { display:flex; align-items:center; gap:10px; padding:11px 13px; background:#f5f8ff; }.strategy-name-row > span { color:var(--muted); font-size:8px; }.strategy-name-row > strong { flex:1; font-size:9px; }.strategy-name-row em { padding:4px 7px; border-radius:99px; color:var(--success); background:var(--success-soft); font-size:7px; font-style:normal; font-weight:750; }.strategy-name-row em.off { color:#a35b55; background:#fff0ef; }
.preference-chip-list { display:flex; flex-wrap:wrap; gap:6px; padding:12px 13px 14px; }.preference-chip-list span { padding:5px 7px; border:1px solid #dbe3f8; border-radius:7px; color:#52617c; background:#fff; font-size:7px; }
.baseline-badge { flex:0 0 auto; padding:5px 8px; border-radius:99px; color:#667085; background:#edf0f4; font-size:7px; font-weight:750; }.strategy-baseline-copy { padding:15px; }.strategy-baseline-copy strong { font-size:10px; }.strategy-baseline-copy p { margin:7px 0 0; color:var(--muted); font-size:8px; line-height:1.65; }
.recommendation-length-setting { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 16px; padding:15px; border:1px solid var(--line); border-radius:11px; background:#fff; }.recommendation-length-setting > div:first-child { min-width:0; display:flex; align-items:center; gap:11px; }.recommendation-length-setting h4 { margin:0 0 5px; font-size:11px; }.recommendation-length-setting p { margin:0; color:var(--muted); font-size:8px; }.length-icon { width:37px; height:37px; display:grid; place-items:center; flex:0 0 auto; border-radius:9px; color:#fff; background:#496ee0; font-size:9px; font-weight:800; }
.length-control { min-width:330px; display:flex; align-items:center; gap:12px; }.length-control > input[type="range"] { flex:1; accent-color:var(--primary); }.length-control label { width:78px; height:36px; display:flex; align-items:center; overflow:hidden; border:1px solid #cfd8eb; border-radius:8px; }.length-control label input { width:50px; height:100%; padding:0 7px; border:0; outline:0; color:var(--ink); font-size:10px; text-align:right; }.length-control label span { color:var(--muted); font-size:8px; }
.strategy-execution-note { display:flex; align-items:center; gap:10px; margin:12px 16px 0; padding:10px 12px; border-radius:9px; color:#59667c; background:#f5f7fb; }.strategy-execution-note > span { padding:4px 7px; border-radius:6px; color:#315bd2; background:#e9efff; font-size:7px; font-weight:750; }.strategy-execution-note p { margin:0; font-size:8px; }.strategy-execution-note strong { color:var(--primary); }
.recommendation-strategy-panel .setting-actions { margin-top:14px; padding:14px 16px; border-top:1px solid var(--line); background:#fafbfc; }

.recommendation-placeholder-panel { min-height:480px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:54px 24px; text-align:center; }
.recommendation-placeholder-icon { width:72px; height:72px; display:grid; place-items:center; margin-bottom:19px; border-radius:22px; color:#fff; background:linear-gradient(145deg,#345eeb,#6b8cff); box-shadow:0 14px 32px rgba(52,94,235,.22); font-size:24px; font-weight:850; }
.recommendation-placeholder-panel > span { color:var(--primary); font-size:9px; font-weight:800; letter-spacing:.14em; }
.recommendation-placeholder-panel h3 { margin:12px 0 10px; font-size:22px; }
.recommendation-placeholder-panel p { max-width:620px; margin:0; color:var(--muted); font-size:11px; line-height:1.8; }

/* 适度放大全站管理端字号，保留现有信息密度。 */
.v2-sidebar .nav-label { font-size:9px; }.v2-nav .nav-item strong { font-size:13px; }.v2-nav .nav-item small { font-size:9px; }.nav-symbol { font-size:9px; }
.v2-topbar .breadcrumb { font-size:9px; }.v2-topbar h1 { font-size:20px; }.admin-trigger strong { font-size:11px; }.admin-trigger small { font-size:9px; }.live-chip { font-size:9px; }
.page-heading h2 { font-size:22px; }.page-heading > div > p:last-child { font-size:10px; }.section-kicker { font-size:9px!important; }
.panel-head h3 { font-size:13px; }.panel-head p { font-size:9px; }.button,.link-button { font-size:10px; }
.metric-top span:first-child { font-size:10px; }.metric-card > strong { font-size:24px; }.metric-card > p { font-size:9px; }
.analytics-table th,.behavior-record-table th { font-size:8px; }.analytics-table td,.behavior-record-table td { font-size:9px; }
.search-box input,select,input,button { font-family:inherit; }.search-box input { font-size:9px; }
.delivery-card-head h3,.behavior-section-head h3 { font-size:13px; }.delivery-card-head p,.behavior-section-head p { font-size:9px; }.delivery-metrics small { font-size:9px; }.delivery-metrics span { font-size:8px; }
.profile-main-row h3 { font-size:15px; }.profile-main-row p { font-size:10px; }.behavior-info strong { font-size:11px; }.behavior-info p { font-size:9px; }
.group-column-head h4,.strategy-group-head h4 { font-size:12px; }.group-column-head p,.strategy-group-head p { font-size:9px; }.group-user-row strong { font-size:10px; }.group-user-row small { font-size:8px; }

@media (max-width:1180px) {
  .content-summary-grid,.user-stat-row { grid-template-columns:repeat(2,1fr); }
  .management-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .analytics-kpi-grid { grid-template-columns:repeat(2,1fr); }
  .content-insight-grid,.content-lower-grid { grid-template-columns:1fr; }
  .content-operations-grid { grid-template-columns:1fr; }
  .content-filter-right { max-width:58%; justify-content:flex-end; flex-wrap:wrap; gap:6px 12px; }
  .category-performance { grid-template-columns:1fr 1fr; }
  .three-column-grid { grid-template-columns:1fr 1fr; }.three-column-grid > :last-child { grid-column:1/-1; }
  .campus-layout { grid-template-columns:1fr; }.zone-detail { min-height:auto; }
  .v2-user-layout { grid-template-columns:230px minmax(0,1fr); }
  .user-behavior-trend-head { align-items:flex-start; flex-direction:column; }.user-behavior-chart-controls { width:100%; justify-content:space-between; }
  .activity-panel-head { flex-direction:column; }.activity-chart-controls { width:100%; justify-content:space-between; }
  .behavior-rule { grid-template-columns:minmax(145px,1fr) 58px 136px; gap:7px; }
  .behavior-column-labels { min-width:201px; grid-template-columns:58px 136px; gap:7px; }
  .behavior-record-toolbar { align-items:stretch; flex-direction:column; }
  .behavior-record-search { width:100%; }
  .record-filter-group { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .record-filter-group select { width:100%; min-width:0; }
  .strategy-application-grid { grid-template-columns:1fr; }
  .length-control { min-width:280px; }
  .group-board { grid-template-columns:minmax(0,1fr) 126px minmax(0,1fr); gap:9px; }
  .group-transfer-controls .button { padding:0 7px; }
}
@media (max-width:1019px) { .app-shell,.login-shell { display:none!important; }.device-gate { display:grid; } }
