:root {
  --ink: #182230;
  --ink-soft: #3f4b5c;
  --muted: #687386;
  --paper: #f5f7fa;
  --surface: #ffffff;
  --surface-soft: #f0f3f7;
  --line: #dfe5ec;
  --nav: #172235;
  --nav-soft: #243552;
  --accent: #2563c9;
  --accent-dark: #1d4fa5;
  --green: #287b5a;
  --green-soft: #e8f4ee;
  --amber: #9a6518;
  --amber-soft: #fff4df;
  --red: #bd3f45;
  --red-soft: #fcebed;
  --shadow: 0 8px 24px rgba(24, 34, 48, .08);
  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 14px;
  --sidebar: 240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 1180px; margin: 0; background: var(--paper); color: var(--ink); font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; font-size: 13px; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(191, 104, 71, .28); outline-offset: 2px; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; z-index: 30; inset: 0 auto 0 0; width: var(--sidebar); display: flex; flex-direction: column; padding: 24px 16px 18px; color: #f5f5ef; background: var(--nav); }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 9px 26px; color: inherit; text-decoration: none; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 16px; letter-spacing: -.02em; }
.brand small { margin-top: 2px; color: #9eb0ae; font-size: 12px; }
.brand-mark { width: 34px; height: 34px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 3px; padding: 8px; border: 1px solid rgba(255,255,255,.2); border-radius: 11px; }
.brand-mark span { display: block; background: #e8a184; border-radius: 3px 3px 1px 1px; }
.brand-mark span:nth-child(1) { height: 45%; }.brand-mark span:nth-child(2) { height: 90%; }.brand-mark span:nth-child(3) { height: 65%; }
.nav-list { display: grid; gap: 6px; }
.nav-item { width: 100%; min-height: 46px; display: flex; align-items: center; gap: 12px; padding: 0 12px; border: 0; border-radius: 11px; background: transparent; color: #aec0be; cursor: pointer; text-align: left; transition: background .18s ease, color .18s ease, transform .18s ease; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.055); }
.nav-item:active { transform: scale(.985); }
.nav-item.active { color: #fff; background: var(--nav-soft); }
.nav-item.active::after { content: ""; margin-left: auto; width: 5px; height: 5px; border-radius: 50%; background: #e8a184; }
.nav-item svg, .button svg, .icon-button svg, .metric-icon svg, .inline-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-foot { margin-top: auto; display: flex; align-items: center; gap: 8px; padding: 14px 8px 0; border-top: 1px solid rgba(255,255,255,.1); }
.workspace-chip { min-width: 0; display: flex; align-items: center; gap: 10px; flex: 1; }
.workspace-chip strong, .workspace-chip small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-chip strong { font-size: 13px; }.workspace-chip small { color: #8fa4a1; font-size: 12px; margin-top: 2px; }
.avatar { display: grid; place-items: center; flex: 0 0 32px; height: 32px; border-radius: 9px; background: #355057; color: #ffe8de; font-size: 13px; font-weight: 700; }

.main-area { min-height: 100vh; margin-left: var(--sidebar); }
.topbar { min-height: 114px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 42px 20px; border-bottom: 1px solid var(--line); background: rgba(245,243,237,.88); backdrop-filter: blur(16px); }
.eyebrow { color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.topbar h1 { margin: 5px 0 0; font-family: Georgia, "Songti SC", serif; font-size: clamp(21px, 2.3vw, 30px); font-weight: 600; letter-spacing: -.025em; }
.top-actions { display: flex; align-items: center; gap: 12px; }
.ai-state { height: 40px; display: flex; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.45); color: var(--ink-soft); font-size: 12px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(57,116,95,.12); }
.ai-state.warning .status-dot { background:var(--amber); box-shadow:0 0 0 4px rgba(154,107,37,.12); }

.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; border: 1px solid transparent; border-radius: var(--radius-sm); font-weight: 650; font-size: 13px; cursor: pointer; transition: transform .15s ease, background .15s ease, border-color .15s ease, opacity .15s ease; }
.button:hover { transform: translateY(-1px); }.button:active { transform: scale(.985); }.button:disabled { cursor: not-allowed; opacity: .55; transform: none; }
.button.primary { color: #fff; background: var(--accent); box-shadow: 0 8px 20px rgba(191,104,71,.18); }.button.primary:hover { background: var(--accent-dark); }
.button.secondary { color: var(--ink); background: var(--surface); border-color: var(--line); }.button.secondary:hover { border-color: #b9bfba; }
.button.quiet { min-height: 38px; padding: 0 10px; color: var(--ink-soft); background: transparent; }.button.quiet:hover { background: var(--surface-soft); }
.button.danger { color: var(--red); background: var(--red-soft); }
.icon-button { width: 42px; height: 42px; display: inline-grid; place-items: center; border: 0; border-radius: 10px; color: inherit; background: transparent; cursor: pointer; }
.icon-button:hover { background: rgba(255,255,255,.08); }

.page { max-width: 1440px; margin: 0 auto; padding: 30px 42px 60px; animation: page-in .28s ease both; }
@keyframes page-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.hero { position: relative; min-height: 236px; display: grid; grid-template-columns: 1.4fr .8fr; gap: 34px; overflow: hidden; padding: 34px 38px; border-radius: var(--radius-lg); color: #fff; background: var(--nav); }
.hero::after { content: ""; position: absolute; width: 330px; height: 330px; right: -110px; top: -120px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 44px rgba(255,255,255,.026), 0 0 0 90px rgba(255,255,255,.018); }
.hero-copy { position: relative; z-index: 1; align-self: center; max-width: 680px; }
.hero .eyebrow { color: #a8bbb8; }
.hero h2 { max-width: 650px; margin: 12px 0 13px; font-family: Georgia, "Songti SC", serif; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.13; font-weight: 500; letter-spacing: -.035em; }
.hero p { max-width: 600px; margin: 0 0 24px; color: #b9c8c6; line-height: 1.7; }
.hero .button.primary { background: #e18762; }.hero .button.primary:hover { background: #ee9670; }
.hero-proof { position: relative; z-index: 1; align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: 16px 0 16px 30px; border-left: 1px solid rgba(255,255,255,.12); }
.proof-label { color: #8fa6a3; font-size: 12px; }.proof-value { margin: 4px 0 18px; font-family: Georgia, serif; font-size: 38px; }.proof-list { display: grid; gap: 10px; }
.proof-row { display: flex; align-items: center; gap: 9px; color: #dce5e3; font-size: 12px; }.proof-row .check { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: rgba(105,173,145,.18); color: #91cfb3; }

.metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin: 24px 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.metric { min-width: 0; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 13px; padding: 22px 24px; }
.metric + .metric { border-left: 1px solid var(--line); }
.metric-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: var(--green); background: var(--green-soft); }
.metric strong, .metric small { display: block; }.metric strong { font-family: Georgia, serif; font-size: 24px; font-weight: 600; }.metric small { margin-top: 3px; color: var(--muted); font-size: 12px; }

.section-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .72fr); gap: 24px; }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.panel-head { min-height: 67px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.panel-head h2, .panel-head h3 { margin: 0; font-size: 16px; }.panel-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.panel-body { padding: 20px; }

.pipeline { min-width: 0; display: grid; overflow: hidden; }
.pipeline-row { min-width: 0; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 66px; padding: 10px 20px; border-bottom: 1px solid #e9e9e4; cursor: pointer; }
.pipeline-row:last-child { border-bottom: 0; }.pipeline-row:hover { background: #fbfaf6; }
.step-index { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--surface-soft); color: var(--muted); font: 700 12px/1 Georgia,serif; }
.pipeline-copy { min-width: 0; overflow: hidden; }.pipeline-title,.pipeline-meta { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.pipeline-title { font-size: 13px; font-weight: 650; }.pipeline-meta { margin-top: 4px; color: var(--muted); font-size: 12px; }
.tag { display: inline-flex; align-items: center; gap: 5px; min-height: 25px; padding: 0 9px; border-radius: 7px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.tag.draft,.tag.cancelled { color: #5f6a69; background: #eaebe7; }.tag.generating,.tag.queued,.tag.processing,.tag.retrying { color: #49627b; background: #e5ebf2; }.tag.review { color: var(--amber); background: var(--amber-soft); }.tag.approved { color: #356b59; background: var(--green-soft); }.tag.published,.tag.success { color: #2f6a55; background: var(--green-soft); }.tag.failed { color: var(--red); background: var(--red-soft); }.tag.ready { color: #53667c; background: #e3e8ee; }

.channel-health { display: grid; gap: 2px; }
.channel-row { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid #e9e9e4; }.channel-row:last-child { border-bottom: 0; }
.channel-logo { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; background: #e8ece7; color: var(--ink-soft); font-size: 12px; font-weight: 800; }
.channel-copy { min-width: 0; flex: 1; }.channel-copy strong, .channel-copy small { display: block; }.channel-copy strong { font-size: 12px; }.channel-copy small { margin-top: 3px; color: var(--muted); font-size: 12px; }
.health-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }.health-dot.warn { background: var(--amber); }

.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 4px 0 22px; }
.page-heading h2 { margin: 5px 0 0; font-family: Georgia,"Songti SC",serif; font-size: 30px; font-weight: 600; letter-spacing: -.025em; }.page-heading p { display: none; }
.toolbar { display: flex; align-items: center; gap: 10px; }
.filter-select { min-height: 40px; padding: 0 34px 0 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font-size: 12px; }
.table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.data-table { width: 100%; border-collapse: collapse; min-width: 780px; }
.data-table th { height: 48px; padding: 0 18px; color: var(--muted); background: #f9f8f4; font-size: 12px; letter-spacing: .05em; text-align: left; }
.data-table td { padding: 17px 18px; border-top: 1px solid #e9e9e4; font-size: 12px; vertical-align: middle; }
.data-table tbody tr { cursor: pointer; }.data-table tbody tr:hover { background: #fbfaf6; }
.table-title { max-width: 430px; }.table-title strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }.table-title small { display: block; max-width: 100%; margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); }
.row-actions { display:flex; align-items:center; gap:2px; white-space:nowrap; }.row-actions .button { min-height:32px; padding:0 8px; font-size:12px; }
.channel-mini { display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; margin-right: -3px; border: 2px solid var(--surface); border-radius: 7px; background: var(--surface-soft); font-size: 12px; font-weight: 800; }

.channel-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.channel-card { position: relative; min-height: 228px; display: flex; flex-direction: column; padding: 23px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.channel-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; border-radius: var(--radius) 0 0 var(--radius); background: var(--green); opacity: .72; }.channel-card.needs_config::before { background: var(--amber); }
.channel-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }.channel-card .channel-logo { width: 42px; height: 42px; }
.channel-card h3 { margin: 16px 0 7px; font-size: 16px; }.channel-card p { min-height: 42px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.channel-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 20px; }.channel-mode { color: var(--muted); font-size: 12px; }
.channel-targets { margin-top: 13px; padding: 9px 10px; border-radius: 8px; color: #4d635e; background: #eef3ef; font-size: 12px; line-height: 1.5; }

.geo-platform-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin: 0 0 22px; }
.geo-platform-card { min-height: 126px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.geo-platform-card > div { display: flex; align-items: center; gap: 10px; }
.geo-platform-card strong,.geo-platform-card small { display: block; }
.geo-platform-card small { margin-top: 3px; color: var(--muted); font-size: 12px; }
.platform-mark { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: #31594d; background: var(--green-soft); font-size: 12px; font-weight: 800; }
.platform-mark.small { width: 30px; height: 30px; border-radius: 8px; font-size: 12px; }
.geo-platform-card .platform-rate { margin-top: 16px; font: 600 24px Georgia,serif; }
.geo-platform-card.insufficient { border-color:#e5d8bd; background:#fffdf8; }.geo-platform-card.insufficient .platform-rate { color:#9a6a28; font:600 16px/1.4 "Segoe UI","Microsoft YaHei",sans-serif; }
.geo-sections { grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); }
.geo-query-list { max-height: 650px; overflow-y: auto; }
.geo-query-row { display: flex; align-items: center; gap: 16px; min-height: 67px; padding: 12px 18px; border-bottom: 1px solid #e9e9e4; }
.geo-query-row:last-child { border-bottom: 0; }
.geo-query-row > div { min-width: 0; flex: 1; }
.geo-query-row strong,.geo-query-row small { display: block; }
.geo-query-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.geo-query-row small { margin-top: 5px; color: var(--muted); font-size: 12px; }
.observation-list { display: grid; gap: 2px; }
.observation-row { display: flex; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid #e9e9e4; }
.observation-row:last-child { border-bottom: 0; }
.observation-row > span:nth-child(2) { min-width: 0; flex: 1; }
.observation-row strong,.observation-row small { display: block; }
.observation-row strong { font-size: 12px; }
.observation-row small { margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.observation-row a { color: var(--green); font-size: 12px; font-weight: 700; text-decoration: none; }

.geo-notice { display:flex; align-items:center; gap:9px; margin:-8px 0 16px; padding:11px 14px; border:1px solid #d5dfda; border-radius:10px; color:#486057; background:#f3f7f4; font-size:12px; }
.geo-notice svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; }
.geo-runtime { min-width:0; margin:0; overflow:hidden; border:1px solid #d6dfda; border-radius:10px; background:#f7faf8; }
.geo-operational-strip { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; align-items:start; margin:8px 10px; }
.geo-operational-strip.single { grid-template-columns:1fr; }
.geo-measurement-panel > .geo-runtime { margin:8px 10px; }
.geo-runtime.running { border-color:#bad8ca; background:#f1f8f4; }.geo-runtime.queued { border-color:#cdd8e4; background:#f4f7fa; }.geo-runtime.failed { border-color:#e5c5bf; background:#fbf3f1; }
.geo-runtime-summary { min-height:58px; display:flex; align-items:center; gap:10px; padding:8px 12px; cursor:pointer; list-style:none; }
.geo-runtime-summary::-webkit-details-marker { display:none; }
.geo-runtime[open] .geo-runtime-summary { border-bottom:1px solid rgba(95,115,108,.15); }
.geo-runtime-body { padding:14px 16px 16px; }
.geo-runtime-icon { width:30px; height:30px; display:grid; place-items:center; flex:0 0 auto; border-radius:8px; color:#356a57; background:#dfede6; }
.geo-runtime-icon svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; }.geo-runtime.running .geo-runtime-icon svg,.geo-runtime.queued .geo-runtime-icon svg { animation:spin 1.5s linear infinite; }
.geo-runtime.failed .geo-runtime-icon { color:#9b4638; background:#f4ddd8; }.geo-runtime-copy { min-width:0; flex:1; }
.geo-runtime-summary small,.geo-runtime-summary strong,.geo-runtime-summary em { display:block; }.geo-runtime-summary small { color:var(--muted); font-size:12px; }.geo-runtime-summary strong { margin-top:1px; font-size:13px; }.geo-runtime-summary em { max-width:100%; margin-top:2px; overflow:hidden; color:var(--muted); font-size:12px; font-style:normal; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.geo-runtime-toggle { display:flex; align-items:center; gap:8px; flex:0 0 auto; color:var(--muted); font-size:12px; font-weight:700; }
.geo-runtime-toggle i { width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s ease; }
.geo-runtime-toggle-close { display:none; }
.geo-runtime[open] .geo-runtime-toggle-open { display:none; }
.geo-runtime[open] .geo-runtime-toggle-close { display:inline; }
.geo-runtime[open] .geo-runtime-toggle i { transform:rotate(225deg) translate(-2px,-1px); }
.geo-runtime-platforms { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; padding-top:14px; }
.geo-runtime-platforms article { min-width:0; padding:11px; border:1px solid rgba(95,115,108,.15); border-radius:10px; background:rgba(255,255,255,.72); }
.geo-runtime-platforms article > div:first-child { display:flex; align-items:center; gap:8px; }.geo-runtime-platforms article > div:first-child > span:nth-child(2) { min-width:0; flex:1; }
.geo-runtime-platforms strong,.geo-runtime-platforms small { display:block; }.geo-runtime-platforms strong { font-size:12px; }.geo-runtime-platforms small { margin-top:3px; overflow:hidden; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.geo-runtime-progress { height:5px; margin:10px 0 7px; overflow:hidden; border-radius:5px; background:#e2e7e3; }.geo-runtime-progress i { display:block; height:100%; border-radius:inherit; background:var(--green); transition:width .3s ease; }
.geo-runtime-platforms p { margin:0; overflow:hidden; color:var(--muted); font-size:12px; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.geo-auto-schedule { margin:0 0 14px; overflow:hidden; border:1px solid #b9d4c7; border-left:4px solid var(--green); border-radius:11px; background:#f1f8f4; box-shadow:0 5px 16px rgba(38,83,64,.07); }
.geo-auto-schedule-summary,.geo-auto-schedule.empty { display:flex; align-items:center; gap:12px; padding:14px 16px; }
.geo-auto-schedule.empty { border-left-color:#b7793f; border-color:#e3c9aa; background:#fbf6ed; }
.geo-auto-schedule-summary > div,.geo-auto-schedule.empty > div { min-width:0; flex:1; }
.geo-auto-schedule small,.geo-auto-schedule strong,.geo-auto-schedule p { display:block; }
.geo-auto-schedule > div small { color:#547064; font-size:11px; font-weight:700; letter-spacing:.08em; }
.geo-auto-schedule > div strong { margin-top:2px; font-size:14px; }
.geo-auto-schedule > div p { margin:3px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }
.geo-auto-schedule-mark { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; border-radius:9px; color:#fff; background:var(--green); }
.geo-auto-schedule-mark svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.9; }
.geo-auto-schedule.empty .geo-auto-schedule-mark { background:#a66c36; }
.geo-auto-schedule.attention { border-color:#dfbbb2; border-left-color:#a54e3f; background:#fbf1ef; }.geo-auto-schedule.attention .geo-auto-schedule-mark { background:#a54e3f; }
.geo-auto-schedule-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1px; border-top:1px solid rgba(73,111,94,.15); background:rgba(73,111,94,.12); }
.geo-auto-schedule-item { min-width:0; display:flex; align-items:center; gap:9px; padding:10px 13px; border:0; color:inherit; background:#fbfdfb; text-align:left; cursor:pointer; }
.geo-auto-schedule-item:hover { background:#f0f7f3; }.geo-auto-schedule-item:focus-visible { position:relative; z-index:1; outline:2px solid rgba(46,103,80,.45); outline-offset:-2px; }
.geo-auto-schedule-item > span:nth-child(2) { min-width:0; flex:1; }.geo-auto-schedule-item strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.geo-auto-schedule-item small { margin-top:3px; overflow:hidden; color:var(--muted); font-size:11px; font-weight:400; letter-spacing:0; text-overflow:ellipsis; white-space:nowrap; }
.geo-auto-schedule-item em { color:var(--green); font-size:11px; font-style:normal; font-weight:700; }
.geo-data-empty { min-height:190px; display:grid; align-content:center; justify-items:center; gap:8px; color:var(--muted); text-align:center; }.geo-data-empty svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.6; }.geo-data-empty strong { color:var(--ink-soft); font-size:12px; }.geo-data-empty p { max-width:280px; margin:0; font-size:12px; line-height:1.6; }
@keyframes spin { to { transform:rotate(360deg); } }
.geo-filterbar { display:flex; align-items:center; gap:9px; margin-bottom:16px; padding:12px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.geo-filterbar-structured { justify-content:space-between; margin-bottom:0; }.geo-filter-controls { display:flex; flex-wrap:wrap; gap:9px; }
.geo-analysis-panel { margin:0 0 18px; padding:15px; border:1px solid #d8e1ec; border-radius:12px; background:#fbfcfe; box-shadow:0 3px 12px rgba(38,63,92,.04); }
.geo-analysis-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 2px 12px; }
.geo-analysis-head h3 { margin:2px 0 0; color:var(--ink); font-size:15px; }
.geo-analysis-head > span { color:var(--muted); font-size:13px; white-space:nowrap; }
.geo-analysis-panel .geo-filterbar { margin:0 0 10px; border-color:#dce4ed; background:#fff; }
.geo-analysis-group { min-width:0; }
.geo-analysis-group-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 2px 8px; }
.geo-analysis-group-head h4 { margin:0; color:#40536a; font-size:12px; font-weight:700; }
.geo-analysis-group-head span { color:#8a96a6; font-size:12px; }
.geo-metrics-group { padding-top:2px; }
.geo-analysis-panel .geo-metrics-group .geo-kpis { margin-bottom:0; }
.geo-platforms-group { margin-top:14px; padding:12px 12px 11px; border-top:1px solid #dce4ed; border-radius:0 0 8px 8px; background:#f4f7fa; }
.geo-analysis-panel .geo-platforms-group .geo-platform-grid { gap:10px; margin-bottom:0; }
.geo-analysis-panel .geo-platform-card { min-height:118px; padding:15px; }
.geo-source-tabs { display:flex; gap:24px; padding:0 13px; border-bottom:1px solid var(--line); background:var(--surface); }.geo-source-tabs button { position:relative; min-height:44px; padding:0 1px; border:0; color:var(--muted); font:600 13px/1 inherit; cursor:pointer; background:transparent; }.geo-source-tabs button::after { position:absolute; right:0; bottom:-1px; left:0; height:2px; content:""; border-radius:2px 2px 0 0; background:transparent; }.geo-source-tabs button:hover { color:var(--ink); }.geo-source-tabs button.active { color:var(--green); }.geo-source-tabs button.active::after { background:var(--green); }
.geo-source-navigation { display:flex; align-items:center; border-bottom:1px solid var(--line); }.geo-source-navigation .geo-source-tabs { flex:1; border-bottom:0; }.geo-history-reset-action { display:flex; align-items:center; gap:12px; padding:0 12px; }.geo-history-reset-action small { color:var(--muted); white-space:nowrap; }.geo-history-reset-warning { display:grid; grid-template-columns:38px minmax(0,1fr); gap:14px; padding:16px; border:1px solid #efd2d2; border-radius:10px; background:#fff8f8; }.geo-history-reset-warning > span { width:38px; height:38px; display:grid; place-items:center; border-radius:9px; color:#a63f46; background:#f9e7e8; }.geo-history-reset-warning svg { width:20px; }.geo-history-reset-warning strong,.geo-history-preserved strong { display:block; margin-bottom:6px; }.geo-history-reset-warning p { margin:0; color:var(--muted); line-height:1.7; }.geo-history-preserved { margin:18px 0; padding:16px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); }.geo-history-preserved ul { margin:8px 0 0; padding-left:20px; color:var(--muted); line-height:1.9; }.geo-reset-confirm { display:flex; align-items:flex-start; gap:10px; margin-top:18px; color:var(--ink); line-height:1.6; }.geo-reset-confirm input { margin-top:3px; }
.geo-settings-tabs { display:flex; gap:4px; width:100%; margin:14px 0 10px; padding:4px; border:1px solid #dce5ef; border-radius:10px; background:#f5f8fb; }.geo-settings-tabs button { flex:1; min-height:38px; padding:8px 12px; border:0; border-radius:7px; color:#607286; background:transparent; font:600 13px/1.2 inherit; cursor:pointer; }.geo-settings-tabs button:hover { color:#244f85; background:#eef4fb; }.geo-settings-tabs button.active { color:#174f92; background:#fff; box-shadow:0 1px 3px rgba(25,52,82,.13); }.geo-settings-tab-note { margin:0 0 12px; color:var(--muted); font-size:12px; }
.schedule-daily-fields[hidden],.schedule-window-fields[hidden] { display:none!important; }
.geo-scope-switch { display:flex; gap:3px; padding:3px; border:1px solid var(--line); border-radius:8px; background:#f5f7fa; }.geo-scope-switch button { min-height:30px; padding:0 10px; border:0; border-radius:5px; color:var(--muted); background:transparent; font-size:12px; font-weight:700; cursor:pointer; }.geo-scope-switch button:hover { color:var(--ink); background:#edf1f6; }.geo-scope-switch button.active { color:#1f4f90; background:var(--surface); box-shadow:0 1px 2px rgba(24,34,48,.08); }
.geo-measurement-panel { margin-bottom:16px; }.geo-measurement-note { display:flex; gap:9px; align-items:center; padding:0 13px 12px; color:var(--muted); font-size:12px; }.geo-measurement-note strong { color:var(--ink-soft); }
.geo-baseline,.geo-api-diagnostic { display:grid; grid-template-columns:minmax(140px,1fr) auto; gap:14px; align-items:center; margin-bottom:16px; padding:14px 16px; border:1px solid #cddfd5; border-radius:var(--radius); background:#f5faf7; }.geo-baseline.warning { border-color:#eadbbb; background:#fffaf0; }.geo-baseline h3,.geo-api-diagnostic h3 { margin:3px 0 3px; font-size:15px; }.geo-baseline p,.geo-api-diagnostic p { max-width:650px; margin:0; color:var(--muted); font-size:12px; line-height:1.45; }.geo-api-diagnostic { border-color:#d8e1ec; background:#f6f9fd; }
.geo-operational-summary { min-width:0; min-height:58px; margin:0; padding:8px 12px; border-radius:10px; }
.geo-operational-summary .eyebrow { font-size:12px; }
.geo-operational-summary h3 { margin:1px 0 2px; font-size:13px; }
.geo-operational-summary p { overflow:hidden; font-size:12px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.geo-baseline-counts { display:grid; grid-template-columns:repeat(3,minmax(62px,auto)); gap:8px; }.geo-api-diagnostic .geo-baseline-counts { grid-template-columns:repeat(4,minmax(58px,auto)); }.geo-baseline-counts span { min-width:0; padding-left:10px; border-left:1px solid rgba(82,113,100,.18); }.geo-baseline-counts strong,.geo-baseline-counts small { display:block; }.geo-baseline-counts strong { color:#285b49; font:600 18px/1.05 Georgia,serif; }.geo-baseline.warning .geo-baseline-counts strong { color:#8f6324; }.geo-baseline-counts small { margin-top:3px; color:var(--muted); font-size:12px; white-space:nowrap; }
.geo-dashboard-empty .panel-body { min-height:170px; display:grid; align-content:center; justify-items:center; color:var(--muted); text-align:center; }.geo-dashboard-empty strong { color:var(--ink); font-size:14px; }.geo-dashboard-empty p { margin:8px 0 0; font-size:12px; }
.geo-dashboard-fallback,.geo-keyword-panel { margin-bottom:20px; }
.geo-filter-note { margin-left:auto; color:var(--muted); font-size:12px; }
.geo-kpis { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.geo-kpi { position:relative; min-width:0; min-height:154px; padding:16px 15px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.geo-kpi-button { width:100%; border-color:#9ebbe5; color:inherit; background:linear-gradient(145deg,#fff 0%,#f3f7ff 100%); box-shadow:0 2px 7px rgba(39,94,170,.08); font:inherit; text-align:left; cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease; }
.geo-kpi-button:hover { border-color:#356bb3; background:linear-gradient(145deg,#fff 0%,#eaf2ff 100%); box-shadow:0 9px 22px rgba(39,94,170,.16); transform:translateY(-2px); }
.geo-kpi-button:focus-visible { outline:3px solid rgba(53,107,179,.3); outline-offset:2px; }
.geo-kpi-button::after { position:absolute; top:0; right:0; width:42px; height:4px; border-radius:0 var(--radius) 0 6px; background:#356bb3; content:""; }
.geo-kpi > div { display:flex; align-items:center; gap:5px; color:var(--ink-soft); font-size:12px; font-weight:700; }
.geo-kpi > div small { color:var(--muted); cursor:help; }
.geo-kpi > strong { display:block; margin:17px 0 7px; font:600 30px/1 Georgia,"Songti SC",serif; }
.geo-kpi p { min-height:36px; margin:0; color:var(--muted); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.geo-kpi em { position:absolute; right:12px; bottom:10px; color:#7c8985; font-size:12px; font-style:normal; }
.geo-kpi-button em { right:14px; bottom:12px; left:14px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.geo-kpi-button em span { color:#6f7f94; font-weight:500; }
.geo-kpi-button em b { padding:5px 9px; border:1px solid #9ebbe5; border-radius:6px; color:#245b9f; background:#fff; font-size:13px; font-style:normal; font-weight:700; white-space:nowrap; }
.geo-kpi-button:hover em b { border-color:#356bb3; color:#fff; background:#356bb3; }
.geo-trend-panel { margin:0 0 20px; }
.geo-chart { width:100%; min-height:245px; }
.geo-chart svg { display:block; width:100%; height:220px; overflow:visible; }
.geo-chart line { stroke:#e6e8e2; stroke-width:1; }
.geo-chart text { fill:#8a9290; font:12px "Segoe UI",sans-serif; }
.geo-chart .trend-line { fill:none; stroke:#3b8c6b; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.geo-chart .trend-area { fill:rgba(59,140,107,.10); stroke:none; }
.geo-chart circle { fill:#fff; stroke:#3b8c6b; stroke-width:3; }
.geo-chart-labels { display:flex; justify-content:space-between; padding:0 34px; color:var(--muted); font-size:12px; }
.geo-chart-empty { min-height:220px; display:grid; place-items:center; border:1px dashed #d7dad3; border-radius:12px; color:var(--muted); background:#fafaf7; font-size:12px; }
.geo-main-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(330px,.7fr); gap:20px; margin-bottom:20px; }
.geo-main-grid > .panel { min-width:0; }
.geo-record-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.geo-record-grid .geo-failure-panel { margin-bottom:0; }
.geo-query-panel-head { align-items:flex-end; }
.geo-query-tabs { display:flex; align-items:center; gap:4px; padding:3px; border:1px solid var(--line); border-radius:8px; background:#f5f7fa; }
.geo-query-tab { display:inline-flex; align-items:center; gap:7px; min-height:30px; padding:0 10px; border:0; border-radius:5px; color:var(--muted); background:transparent; font-size:12px; font-weight:700; cursor:pointer; }
.geo-query-tab:hover { color:var(--ink); background:#edf1f6; }
.geo-query-tab.active { color:#1f4f90; background:var(--surface); box-shadow:0 1px 2px rgba(24,34,48,.08); }
.geo-query-tab span { display:grid; min-width:18px; height:18px; place-items:center; padding:0 4px; border-radius:9px; color:inherit; background:#e7edf6; font-size:12px; font-variant-numeric:tabular-nums; }
.geo-query-tab.active span { color:#245ca9; background:#dbe9ff; }
.geo-query-empty { height:112px; color:var(--muted); background:#fbfcfe; font-size:12px; text-align:center; }
.geo-table { border:0; border-radius:0 0 var(--radius) var(--radius); }
.geo-table .data-table { min-width:860px; }
.geo-platform-table { min-width:920px!important; }
.geo-platform-table th:first-child,.geo-platform-table td:first-child { width:34%; min-width:260px; }
.geo-platform-table .table-title { max-width:none; }
.geo-platform-table .table-title strong { overflow:visible; text-overflow:clip; white-space:normal; line-height:1.55; word-break:break-word; }
.geo-table .data-table td { padding:13px 15px; }
.cell-note { display:block; margin-top:3px; color:var(--muted); font-size:12px; }
.geo-toggle { min-width:62px; padding:6px 8px; border:1px solid #d4d8d2; border-radius:7px; color:#7a8581; background:#f3f3ef; font-size:12px; cursor:pointer; }
.geo-toggle.on { border-color:#c5dbd0; color:#316a56; background:#eaf4ee; }
.geo-toggle:hover { border-color:#9fb9ab; color:#285b49; background:#edf5f0; }
.geo-toggle:focus-visible { outline:2px solid rgba(46,103,80,.3); outline-offset:2px; }
.geo-toggle:disabled { cursor:wait; opacity:.6; }
.geo-query-monitor { min-height:30px; padding:0 10px; gap:5px; white-space:nowrap; }
.geo-query-monitor svg { width:14px; height:14px; }
.geo-query-monitor:disabled svg { animation:spin 1.2s linear infinite; }
.geo-query-action-note { color:var(--muted); font-size:12px; white-space:nowrap; }
.observation-button { width:100%; border:0; color:inherit; background:transparent; text-align:left; cursor:pointer; }
.observation-button:hover { background:#fafaf7; }
.evidence-badge { padding:5px 7px; border-radius:6px; color:#47665b; background:#e9f2ed; font-size:12px; white-space:nowrap; }
.observation-evidence { display:grid; align-self:center; min-width:82px; gap:3px; padding:6px 8px; border:1px solid #d9e5df; border-radius:7px; color:#315f4f; background:#eef6f2; text-align:left; white-space:nowrap; }.observation-evidence strong,.observation-evidence small { margin:0; font-size:12px!important; line-height:1.25; }.observation-evidence small { color:#648073; }.observation-evidence.unverified { border-color:#e1e5e9; color:#5f6c79; background:#f3f5f7; }.observation-evidence.unverified small { color:#7b8792; }
.geo-evidence-list { padding-top:0; border-bottom:0; }.geo-evidence-list-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; padding:10px 12px; border-radius:9px; color:#516476; background:#f4f8fb; font-size:12px; line-height:1.5; }.geo-evidence-list-meta strong { color:#284d71; }.geo-evidence-list-meta span { color:var(--muted); text-align:right; }.geo-evidence-list .observation-list { max-height:calc(100vh - 290px); overflow-y:auto; border:1px solid var(--line); border-radius:10px; }.geo-evidence-list .observation-row { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:11px; align-items:start; min-height:78px; padding:12px 13px; border-bottom:1px solid #e7edf3; }.geo-evidence-list .observation-row:last-child { border-bottom:0; }.geo-evidence-list .observation-row:focus-visible { outline:2px solid #6b9cdd; outline-offset:-2px; }
.geo-recent-panel .observation-list { max-height:520px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; }
.geo-failure-panel { margin:0 0 20px; }
.geo-failure-list { max-height:330px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; }
.geo-lower-grid { grid-template-columns:1fr 1fr; margin-bottom:20px; }
.geo-topic-list { display:grid; gap:13px; }
.geo-topic-list > div { display:grid; grid-template-columns:minmax(140px,1fr) minmax(130px,1.5fr) 38px; align-items:center; gap:12px; }
.geo-topic-list strong,.geo-topic-list small { display:block; }
.geo-topic-list strong { font-size:12px; }.geo-topic-list small { margin-top:3px; color:var(--muted); font-size:12px; }
.mini-bar { height:5px; overflow:hidden; border-radius:5px; background:#e6e8e2; }.mini-bar i { display:block; height:100%; border-radius:inherit; background:#4a9675; }
.geo-topic-list b { font-size:12px; text-align:right; }
.geo-task-list { display:grid; }
.geo-task { display:grid; grid-template-columns:25px minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid #e9e9e4; }
.geo-task:last-child { border-bottom:0; }.task-priority { width:22px; height:22px; display:grid; place-items:center; border-radius:7px; color:#9b4f3e; background:#f7e9e4; font:700 12px Georgia,serif; }
.geo-task strong,.geo-task small { display:block; }.geo-task strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.geo-task small { margin-top:4px; overflow:hidden; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.geo-task.enriched { align-items:start; }.geo-task.enriched strong { margin-top:5px; }.geo-task.enriched em { display:block; margin-top:5px; color:#527063; font-size:12px; font-style:normal; line-height:1.5; }
.opportunity-type { display:inline-flex; padding:3px 6px; border-radius:5px; color:#88523c; background:#f5e9e2; font-size:12px; font-weight:700; }
.task-actions { display:flex; gap:3px; }.button.danger,.icon-button.danger { color:var(--red); }
.geo-retest-panel { margin-bottom:20px; }
.retest-list { display:grid; gap:2px; }
.retest-list article { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid #e9e9e4; }
.retest-list article:last-child { border-bottom:0; }.retest-list article > span:nth-child(2) { min-width:0; }
.retest-list strong,.retest-list small,.retest-list em { display:block; }.retest-list strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.retest-list small { margin-top:3px; color:var(--muted); font-size:12px; }.retest-list em { margin-top:4px; color:#526660; font-size:12px; font-style:normal; line-height:1.45; }
.retest-day { width:38px; height:38px; display:grid; place-items:center; align-content:center; border-radius:10px; color:#346853; background:#e6f1ea; font:700 15px/1 Georgia,serif; }.retest-day small { margin:2px 0 0!important; color:inherit!important; font:12px "Segoe UI",sans-serif!important; }
.drawer-section { padding:21px 0; border-bottom:1px solid var(--line); }.drawer-section h3 { margin:0 0 6px; font-size:14px; }.drawer-section > p { margin:0 0 15px; color:var(--muted); font-size:12px; line-height:1.6; }
.connector-list,.competitor-list { display:grid; gap:3px; }
.connector-row { display:flex; align-items:center; gap:11px; min-height:62px; padding:9px 0; border-bottom:1px solid #e9e9e4; }
.connector-row > span:nth-child(2) { min-width:0; flex:1; }.connector-row strong,.connector-row small,.connector-row em { display:block; }.connector-row strong { font-size:12px; }.connector-row small { margin-top:4px; color:var(--muted); font-size:12px; }.connector-row em { margin-top:4px; overflow:hidden; color:var(--red); font-size:12px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.connector-actions { display:flex; align-items:center; gap:3px; }
.connector-login { color:#315f50; background:#edf5f0; }
.schedule-intro { display:grid; grid-template-columns:42px minmax(0,1fr); gap:12px; align-items:center; margin:0 0 20px; padding:13px; border:1px solid var(--line); border-radius:10px; background:#f8fafc; }
.schedule-intro > span:last-child { min-width:0; }.schedule-intro strong,.schedule-intro small { display:block; }.schedule-intro strong { font-size:13px; }.schedule-intro small { margin-top:4px; color:var(--muted); font-size:12px; line-height:1.55; }
.schedule-note { margin-top:18px; }.schedule-note ul { margin-bottom:0; }
.switch input { position:absolute; opacity:0; pointer-events:none; }.switch i { position:relative; width:36px; height:20px; display:block; border-radius:20px; background:#dfe2dc; cursor:pointer; }.switch i::after { content:""; position:absolute; top:3px; left:3px; width:14px; height:14px; border-radius:50%; background:white; box-shadow:0 1px 3px rgba(0,0,0,.18); transition:.18s; }.switch input:checked + i { background:var(--green); }.switch input:checked + i::after { transform:translateX(16px); }.switch input:disabled + i { opacity:.45; cursor:not-allowed; }
.competitor-list > div { display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid #e9e9e4; }.competitor-list > div > span { flex:1; }.competitor-list strong,.competitor-list small { display:block; }.competitor-list strong { font-size:12px; }.competitor-list small { margin-top:3px; color:var(--muted); font-size:12px; }
.compact-form { display:grid; grid-template-columns:1fr 1.3fr auto; align-items:end; gap:9px; margin-top:16px; }
.compact-form .button { min-height:44px; }
.geo-proof-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:18px 0 0; }.geo-proof-grid > div { padding:12px; border:1px solid var(--line); border-radius:9px; background:#fafaf7; }.geo-proof-grid small,.geo-proof-grid strong { display:block; }.geo-proof-grid small { color:var(--muted); font-size:12px; }.geo-proof-grid strong { margin-top:5px; font-size:12px; }
.raw-answer { max-height:430px; overflow:auto; padding:16px; border:1px solid var(--line); border-radius:10px; color:#35474a; background:#fbfbf8; font-size:12px; line-height:1.85; }
.entity-chips { display:flex; flex-wrap:wrap; gap:7px; }.entity-chips span { padding:6px 9px; border-radius:7px; color:#5b4a43; background:#f1ebe7; font-size:12px; }
.citation-list { margin:10px 0 0; padding-left:22px; }.citation-list li { margin:8px 0; font-size:12px; }.citation-list a { color:var(--green); word-break:break-all; }
.evidence-link { display:inline-flex; margin-top:13px; text-decoration:none; }
.geo-login-status { display:flex; align-items:center; gap:12px; margin:18px 0; padding:14px; border:1px solid #d6e1db; border-radius:11px; background:#f3f7f4; }
.geo-login-status > span:last-child { min-width:0; flex:1; }.geo-login-status strong,.geo-login-status small { display:block; }.geo-login-status strong { font-size:12px; }.geo-login-status small { margin-top:4px; color:var(--muted); font-size:12px; }
.login-capture { position:relative; width:100%; min-height:280px; display:grid; place-items:center; margin-bottom:18px; padding:16px; overflow:auto; border:1px solid var(--line); border-radius:13px; color:inherit; background:#f0f1ed; font:inherit; cursor:zoom-in; }
.login-capture img { display:block; max-width:100%; max-height:520px; border-radius:8px; box-shadow:0 10px 30px rgba(22,40,42,.12); image-rendering:auto; }
.login-capture.qr-capture { min-height:410px; background:#f7f8f4; }
.login-capture.qr-capture img { width:min(360px, 90%); max-height:none; image-rendering:pixelated; }
.login-capture.dialog-capture img { width:min(720px, 100%); max-height:620px; }
.login-zoom-hint { position:absolute; right:12px; bottom:12px; padding:7px 10px; border-radius:999px; color:#fff; background:rgba(20,35,37,.78); font-size:12px; pointer-events:none; }
.login-page-origin { display:flex; align-items:center; gap:8px; margin:-6px 0 12px; color:var(--muted); font-size:12px; }.login-page-origin strong { color:var(--ink); }
.login-capture.loading { align-content:center; gap:10px; color:var(--muted); }.login-capture.loading p { margin:0; font-size:12px; }
.success-capture { align-content:center; gap:8px; color:var(--green); }.success-capture svg { width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:1.8; }.success-capture strong { font-size:14px; }.success-capture p { margin:0; color:var(--muted); font-size:12px; }
.login-preview-overlay { position:fixed; z-index:160; inset:0; display:grid; place-items:center; padding:28px; overflow:auto; background:rgba(8,15,17,.9); cursor:zoom-out; }
.login-preview-overlay img { display:block; max-width:min(1200px, 96vw); max-height:92vh; border-radius:12px; background:#fff; box-shadow:0 28px 90px rgba(0,0,0,.45); image-rendering:auto; }
.login-preview-close { position:fixed; z-index:1; top:18px; right:22px; width:42px; height:42px; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; background:rgba(0,0,0,.45); font-size:30px; line-height:1; cursor:pointer; }

.reliability-hero { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.reliability-hero h3 { margin: 5px 0 8px; font-family: Georgia,"Songti SC",serif; font-size: 25px; }.reliability-hero p { max-width: 690px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.score-ring { --score: 0deg; width: 96px; height: 96px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--green) var(--score), #e4e6df 0); }
.score-ring::before { content: ""; position: absolute; width: 74px; height: 74px; border-radius: 50%; background: var(--surface); }.score-ring span { position: relative; z-index: 1; text-align: center; font: 600 22px Georgia,serif; }.score-ring small { display: block; color: var(--muted); font: 12px "Segoe UI",sans-serif; }
.test-results { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 18px; }.test-check { padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }.test-check strong,.test-check small { display: block; }.test-check strong { margin-bottom: 8px; font-size: 12px; }.test-check small { color: var(--muted); font-size: 12px; line-height: 1.5; }.test-check .pass { color: var(--green); }

.form-panel { max-width: 900px; }.form-section { padding: 24px; border-bottom: 1px solid var(--line); }.form-section:last-child { border-bottom: 0; }.form-section h3 { margin: 0 0 4px; font-size: 15px; }.form-section > p { margin: 0 0 20px; color: var(--muted); font-size: 12px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }.field.full { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 700; }.field small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.input, .textarea, .select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--ink); background: #fffefa; transition: border-color .15s ease, box-shadow .15s ease; }
.textarea { min-height: 110px; resize: vertical; line-height: 1.6; }.input:hover,.textarea:hover,.select:hover { border-color: #b9bfba; }.input:focus,.textarea:focus,.select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(191,104,71,.09); outline: none; }
.prompt-editor { min-height:440px; font:12px/1.85 "Segoe UI","Microsoft YaHei",sans-serif; }
.editor-toolbar { display:flex; flex-wrap:wrap; gap:6px; padding:9px; border:1px solid var(--line); border-bottom:0; border-radius:var(--radius-sm) var(--radius-sm) 0 0; background:#f3f3ee; }
.editor-toolbar button { min-height:32px; padding:0 10px; border:1px solid #d7dad3; border-radius:7px; color:var(--ink-soft); background:#fff; font-size:12px; cursor:pointer; }
.editor-toolbar button:hover { border-color:#aeb8b2; color:var(--ink); }
.rich-editor { min-height:460px; padding:18px; overflow:auto; border:1px solid var(--line); border-radius:0 0 var(--radius-sm) var(--radius-sm); color:#344448; background:#fffefa; font-size:14px; line-height:1.85; }
.rich-editor:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(191,104,71,.09); outline:none; }.rich-editor h2 { margin:28px 0 8px; font-size:20px; }.rich-editor h3 { margin:20px 0 6px; font-size:15px; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 18px 24px; }

.drawer-backdrop { position: fixed; z-index: 70; inset: 0; background: rgba(15,24,38,.5); backdrop-filter: blur(5px); animation: fade .2s ease; }
.drawer,
.drawer.login-drawer,
.drawer.editor-drawer,
.drawer.article-drawer { position: fixed; z-index: 80; inset: 32px; width: min(1120px, calc(100vw - 64px)); max-height: calc(100vh - 64px); margin: auto; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(214,224,236,.92); border-radius: 18px; background: var(--surface); box-shadow: 0 28px 76px rgba(15,29,49,.26); animation: dialog-in .22s ease both; }
.drawer[hidden],.drawer-backdrop[hidden] { display: none; }
@keyframes dialog-in { from { transform: translateY(14px) scale(.985); opacity: .35; } to { transform: none; opacity: 1; } } @keyframes fade { from { opacity:0 } }
.drawer-head { min-height: 86px; display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--line); }.drawer-head h2 { margin: 5px 0 0; font-family: Georgia,"Songti SC",serif; font-size: 24px; }.drawer-head .icon-button:hover { background: var(--surface-soft); }
.drawer-body { min-height: 0; overflow-y: auto; padding: 24px 28px; }.drawer .form-actions { margin: 22px -28px -24px; padding-right:28px; border-top: 1px solid var(--line); position: sticky; bottom: -24px; background: var(--surface); }
.article-header { padding-bottom: 21px; border-bottom: 1px solid var(--line); }.article-header h3 { margin: 10px 0; font-family: Georgia,"Songti SC",serif; font-size: 30px; line-height: 1.25; }.article-header p { margin: 0; color: var(--muted); line-height: 1.7; }
.article-content { padding: 15px 0 20px; color: #344448; font-size: 14px; line-height: 1.8; }.article-content h2 { margin: 30px 0 8px; color: var(--ink); font-size: 20px; }.article-content h3 { margin: 22px 0 6px; color: var(--ink); font-size: 15px; }.article-content .lead { font-size: 16px; }.article-content li { margin: 6px 0; }.article-content a { color:#2864a1; text-decoration:underline; text-underline-offset:2px; }.article-content table { display:block; width:100%; margin:16px 0; overflow-x:auto; border-collapse:collapse; border:1px solid #dce5ee; border-radius:8px; font-size:12px; }.article-content th,.article-content td { padding:9px 10px; border:1px solid #dce5ee; text-align:left; vertical-align:top; }.article-content th { color:#3b5069; background:#f4f8fb; font-weight:700; }.article-content blockquote { margin:14px 0; padding:8px 14px; border-left:3px solid #94b7d7; color:#53677d; background:#f7fbff; }
.quality-card { display:grid; grid-template-columns:92px minmax(0,1fr) auto; align-items:start; gap:16px; margin:18px 0 4px; padding:16px; border:1px solid #cfded6; border-radius:12px; background:#f3f7f4; }
.quality-card.empty { grid-template-columns:minmax(0,1fr) auto; align-items:center; }.quality-card.empty strong,.quality-card.empty small { display:block; }.quality-card.empty small { margin-top:4px; color:var(--muted); font-size:12px; }
.quality-card.grade-C,.quality-card.grade-D { border-color:#ead8c9; background:#fbf5ed; }
.quality-score { min-height:72px; display:grid; place-items:center; align-content:center; border-right:1px solid rgba(69,103,88,.15); }.quality-score strong { font:600 32px/1 Georgia,serif; }.quality-score small { margin-top:5px; color:var(--muted); font-size:12px; }
.quality-summary > strong { display:block; margin-bottom:10px; font-size:12px; line-height:1.5; }
.quality-dimensions { display:grid; gap:6px; }.quality-dimensions > span { display:grid; grid-template-columns:66px minmax(80px,1fr) 32px; align-items:center; gap:7px; }.quality-dimensions small,.quality-dimensions em { font-size:12px; font-style:normal; }.quality-dimensions i { height:4px; overflow:hidden; border-radius:4px; background:#dfe5e0; }.quality-dimensions b { display:block; height:100%; border-radius:inherit; background:var(--green); }
.quality-notes { grid-column:1/-1; padding-top:12px; border-top:1px solid rgba(69,103,88,.15); }.quality-notes strong { font-size:12px; }.quality-notes ul { margin:7px 0 0; padding-left:18px; color:var(--muted); font-size:12px; line-height:1.7; }
.report-head { padding-bottom:18px; border-bottom:1px solid var(--line); }.report-head h3 { margin:10px 0 5px; font:600 25px Georgia,"Songti SC",serif; }.report-head p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.report-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:18px 0 3px; }.report-kpis article { padding:13px; border:1px solid var(--line); border-radius:10px; background:#fafaf7; }.report-kpis small,.report-kpis strong { display:block; }.report-kpis small { color:var(--muted); font-size:12px; }.report-kpis strong { margin:6px 0; font:600 20px Georgia,serif; }
.report-delta { color:var(--muted); font-size:12px; }.report-delta.up { color:var(--green); }.report-delta.down { color:var(--red); }
.report-table { border-radius:9px; }.report-table .data-table { min-width:560px; }.report-table th,.report-table td { padding:9px 10px; font-size:12px; }
.report-retests { display:grid; gap:7px; }.report-retests article { padding:10px; border-radius:8px; background:#f5f6f2; }.report-retests strong,.report-retests small { display:block; }.report-retests strong { font-size:12px; }.report-retests small { margin-top:4px; color:var(--muted); font-size:12px; line-height:1.5; }
.effect-report { padding-bottom:4px; }
.effect-report-hero { display:grid; grid-template-columns:minmax(0,1fr) 172px; gap:30px; align-items:center; padding:29px 31px; overflow:hidden; border-radius:14px; color:#f8fbff; background:#172b47; }
.effect-kicker { color:#9fb3cd; font-size:12px; font-weight:800; letter-spacing:.13em; }.effect-report-hero h3 { margin:9px 0 8px; font:600 29px/1.22 Georgia,"Songti SC",serif; letter-spacing:-.025em; }.effect-report-hero p { margin:0; color:#c2cfde; font-size:12px; line-height:1.7; }.effect-score-note { display:inline-block; margin-top:17px; padding:5px 8px; border:1px solid rgba(255,255,255,.16); border-radius:5px; color:#c7d6e8; font-size:12px; }
.effect-score-wrap { display:grid; justify-items:center; gap:10px; }.effect-score-orb { --score:0; width:118px; height:118px; display:grid; place-content:center; text-align:center; border-radius:50%; background:conic-gradient(#7eb7ff calc(var(--score) * 1%),rgba(255,255,255,.13) 0); position:relative; }.effect-score-orb::before { content:""; position:absolute; inset:10px; border-radius:50%; background:#172b47; }.effect-score-orb strong,.effect-score-orb small { position:relative; z-index:1; }.effect-score-orb strong { font:600 30px Georgia,serif; }.effect-score-orb small { margin-top:3px; color:#a9bbd2; font-size:12px; }
.effect-dimension-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:17px 0 14px; }.effect-dimension-grid article { min-height:116px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:14px; border:1px solid var(--line); border-radius:10px; background:#fff; }.effect-dimension-grid article.is-pending { background:#fbfcfe; border-style:dashed; }.effect-dimension-grid small,.effect-dimension-grid strong,.effect-dimension-grid em { display:block; }.effect-dimension-grid small { color:var(--muted); font-size:12px; }.effect-dimension-grid strong { margin:6px 0 2px; font:600 24px Georgia,serif; }.effect-dimension-grid em { color:#69809d; font-size:12px; font-style:normal; }.effect-dimension-grid p { grid-column:1/-1; margin:0; color:var(--muted); font-size:12px; line-height:1.45; }.effect-source-badge { align-self:start; max-width:92px; color:#516a85; background:#eef3f9; padding:4px 6px; border-radius:5px; font-size:12px; line-height:1.25; text-align:center; }
.effect-coverage-strip { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 25px; padding:14px 16px; border:1px solid #d9e3ef; border-radius:10px; background:#f7f9fc; }.effect-coverage-strip strong,.effect-coverage-strip p { display:block; }.effect-coverage-strip strong { color:#314a68; font-size:12px; }.effect-coverage-strip p { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }.effect-coverage-strip > span { flex:0 0 auto; color:#365f96; font-size:12px; font-weight:700; }.effect-coverage-strip.ready { border-color:#cde2d8; background:#f3f8f5; }.effect-coverage-strip.ready > span { color:#2f705e; }
.effect-source-split { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }.effect-source-split article { min-height:128px; padding:15px; border:1px solid var(--line); border-radius:10px; background:#fff; }.effect-source-split article > strong { display:block; margin:12px 0 7px; color:var(--ink); font:600 24px Georgia,serif; }.effect-source-split p { margin:0; color:var(--ink-soft); font-size:12px; line-height:1.6; }.effect-source-split small { display:block; margin-top:9px; overflow-wrap:anywhere; color:var(--muted); font-size:12px; }
.effect-section { padding:25px 0; border-top:1px solid var(--line); }.effect-section-head { display:flex; align-items:baseline; gap:11px; margin-bottom:16px; }.effect-section-head > span { color:#5680b0; font:700 12px Georgia,serif; }.effect-section-head h3 { margin:0; font-size:15px; }.effect-lead { margin:0 0 14px; color:var(--muted); font-size:12px; line-height:1.65; }
.effect-overview-grid,.effect-two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.effect-overview-grid > div { padding:17px; border:1px solid var(--line); border-radius:10px; background:#fafbfd; }.effect-overview-grid h4,.effect-two-column h4 { margin:0 0 12px; font-size:12px; }.effect-note { margin:12px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }.effect-empty-copy { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.effect-ai-analysis { margin:0 0 16px; }.effect-ai-state { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 17px; border:1px solid #cad9eb; border-radius:10px; background:#f3f8fe; }.effect-ai-state.complete { border-color:#c9dfd4; background:#f2f8f4; }.effect-ai-state.failed { border-color:#ecd0d0; background:#fff7f7; }.effect-ai-state > div { min-width:0; }.effect-ai-state strong,.effect-ai-state p { display:block; }.effect-ai-state strong { margin-top:7px; font-size:12px; }.effect-ai-state p { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }.effect-ai-state .button { flex:0 0 auto; min-height:34px; font-size:12px; }.effect-insight-list small { display:block; margin-top:5px; color:#607b9c; font-size:12px; line-height:1.45; }
.effect-insight-list { display:grid; gap:10px; }.effect-insight-list article,.effect-diagnosis-list article { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:start; }.effect-insight-list strong,.effect-diagnosis-list strong { display:block; font-size:12px; }.effect-insight-list p,.effect-diagnosis-list p { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }.effect-priority { min-width:26px; display:inline-grid; place-items:center; padding:3px 4px; border-radius:4px; color:#3569a4; background:#e9f0fa; font-size:12px; font-weight:800; }.effect-priority.P1 { color:#a45b24; background:#fff0df; }.effect-priority.P2 { color:#5b6c7d; background:#edf0f4; }
.effect-confidence { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.effect-confidence span { padding:8px; border-radius:6px; background:#eef3f9; }.effect-confidence span.public { background:#ecf6f2; }.effect-confidence span.inference { background:#fff4e2; }.effect-confidence span.user { background:#f0f1f4; }.effect-confidence b,.effect-confidence em { display:block; }.effect-confidence b { font-size:12px; }.effect-confidence em { margin-top:3px; color:var(--muted); font-size:12px; font-style:normal; }
.effect-question-model { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.effect-question-model article { padding:14px; border:1px solid var(--line); border-radius:9px; }.effect-question-model strong { display:block; margin:10px 0 7px; font-size:12px; }.effect-question-model ul { display:grid; gap:6px; margin:0; padding-left:16px; color:var(--muted); font-size:12px; line-height:1.5; }.effect-question-scroll { max-height:142px; overflow-y:auto; padding-right:6px; scrollbar-width:thin; scrollbar-color:#aac0d9 transparent; }.effect-question-scroll::-webkit-scrollbar { width:5px; }.effect-question-scroll::-webkit-scrollbar-thumb { border-radius:8px; background:#aac0d9; }.effect-roles { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }.effect-roles span { padding:5px 8px; border-radius:5px; color:#52657c; background:#eff3f8; font-size:12px; }.effect-roles b { margin-left:4px; color:var(--ink); }
.effect-metric-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }.effect-metric-grid article { min-height:94px; padding:13px; border:1px solid var(--line); border-radius:9px; background:#fff; }.effect-metric-grid small,.effect-metric-grid strong,.effect-metric-grid em { display:block; }.effect-metric-grid small { color:var(--muted); font-size:12px; }.effect-metric-grid strong { margin:8px 0 5px; font:600 20px Georgia,serif; }.effect-metric-grid em { color:#758298; font-size:12px; font-style:normal; line-height:1.4; }
.effect-secondary-metrics { margin-top:12px; padding:0 13px 13px; border:1px solid var(--line); border-radius:9px; background:#fafbfd; }.effect-secondary-metrics summary { padding:13px 0; color:#53647b; font-size:12px; font-weight:700; cursor:pointer; }.effect-secondary-metrics[open] summary { border-bottom:1px solid var(--line); margin-bottom:12px; }
.effect-two-column { margin-top:18px; }.effect-two-column > div { min-width:0; }.effect-breakdown { display:grid; gap:6px; }.effect-breakdown article { display:grid; grid-template-columns:minmax(110px,1fr) 38px; gap:4px 10px; align-items:center; padding:9px 10px; border:1px solid var(--line); border-radius:7px; }.effect-breakdown strong,.effect-breakdown small { display:block; }.effect-breakdown strong { font-size:12px; }.effect-breakdown small { color:var(--muted); font-size:12px; }.effect-breakdown b { color:#326ba8; font:600 13px Georgia,serif; text-align:right; }.effect-breakdown i { grid-column:1/-1; height:4px; overflow:hidden; border-radius:3px; background:#e8edf4; }.effect-breakdown i em { display:block; height:100%; border-radius:inherit; background:#5e91c7; }.effect-breakdown article > small { grid-column:1/-1; }
.effect-table .data-table { min-width:640px; }.effect-table td small { display:block; margin-top:3px; color:#5680b0; font-size:12px; }.effect-table tr.target-row { background:#f2f7ff; }.effect-source-audit,.effect-empty-inline { margin-top:14px; padding:13px; border:1px solid #d5e1ef; border-radius:8px; background:#f4f8fc; }.effect-source-audit { display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 10px; align-items:center; }.effect-source-audit strong { font-size:12px; }.effect-source-audit small { grid-column:2; color:var(--muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.effect-empty-inline { color:var(--muted); font-size:12px; line-height:1.55; }
.effect-accuracy { display:grid; grid-template-columns:116px minmax(0,1fr); gap:20px; align-items:center; padding:17px; border:1px solid var(--line); border-radius:9px; background:#fafbfd; }.effect-accuracy > div { padding-right:20px; border-right:1px solid var(--line); }.effect-accuracy strong,.effect-accuracy small { display:block; }.effect-accuracy strong { font:600 22px Georgia,serif; }.effect-accuracy small { margin-top:4px; color:var(--muted); font-size:12px; }.effect-accuracy p { margin:0; color:var(--ink-soft); font-size:12px; line-height:1.6; }
.effect-ai-detail { display:grid; gap:10px; margin-top:13px; padding:13px 15px; border-left:3px solid #7fa6d1; background:#f7faff; }.effect-ai-detail p { margin:0; color:var(--ink-soft); font-size:12px; line-height:1.65; }.effect-ai-detail > div strong { display:block; font-size:12px; }.effect-ai-detail ul { display:grid; gap:4px; margin:5px 0 0; padding-left:17px; color:var(--muted); font-size:12px; line-height:1.5; }.sentiment-research { display:grid; gap:12px; padding:15px; border:1px solid #d7e3ef; border-radius:10px; background:#fbfdff; }.sentiment-research-head { display:flex; align-items:flex-start; gap:10px; }.sentiment-research p { margin:0; color:#53657a; font-size:12px; line-height:1.65; }.sentiment-empty { display:flex; align-items:center; gap:11px; min-height:54px; }.sentiment-source-list { display:grid; gap:8px; }.sentiment-source-item { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 13px; border:1px solid #e0e8f0; border-radius:8px; color:inherit; background:#fff; text-decoration:none; transition:border-color .18s ease,box-shadow .18s ease; }.sentiment-source-item:hover { border-color:#9dbbd8; box-shadow:0 4px 12px rgba(42,88,132,.08); }.sentiment-source-item > div { min-width:0; }.sentiment-source-item strong { display:block; color:#273d57; font-size:12px; line-height:1.45; }.sentiment-source-item p { display:-webkit-box; overflow:hidden; margin-top:4px; color:#61738a; font-size:12px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.sentiment-source-item small { display:block; overflow:hidden; margin-top:5px; color:#8290a1; font-size:12px; white-space:nowrap; text-overflow:ellipsis; }.sentiment-source-item > span { flex:0 0 auto; color:#2864a1; font-size:12px; font-weight:700; }
.effect-diagnosis-list { display:grid; gap:12px; }.effect-diagnosis-list article { padding:15px; border:1px solid var(--line); border-radius:9px; }.effect-diagnosis-list small { display:block; margin-top:9px; color:#4d709c; font-size:12px; }
.effect-evidence-list { display:grid; gap:7px; }.effect-evidence-list button { display:grid; grid-template-columns:130px minmax(0,1fr); gap:5px 15px; width:100%; padding:13px; border:1px solid var(--line); border-radius:8px; color:inherit; background:#fff; cursor:pointer; text-align:left; }.effect-evidence-list button:hover { border-color:#9db8d9; background:#f8fbff; }.effect-evidence-meta { display:grid; align-content:start; gap:3px; }.effect-evidence-meta b { color:#346ba8; font-size:12px; }.effect-evidence-meta em { color:#5d728e; font-size:12px; font-style:normal; }.effect-evidence-meta small { color:var(--muted); font-size:12px; }.effect-evidence-list button > strong { font-size:12px; }.effect-evidence-list button > p { grid-column:2; max-height:32px; margin:0; overflow:hidden; color:var(--muted); font-size:12px; line-height:1.55; }.effect-evidence-flags { grid-column:2; display:flex; flex-wrap:wrap; gap:5px; }.effect-evidence-flags i { padding:3px 5px; border-radius:4px; color:#657489; background:#eef1f5; font-size:12px; font-style:normal; }.effect-evidence-flags i.yes { color:#297256; background:#e5f3ec; }
.evidence-box { padding: 16px; border: 1px solid #cfe0d7; border-radius: 11px; background: #f2f7f3; }.evidence-box strong { font-size: 12px; }.evidence-box ul { margin: 10px 0 0; padding-left: 18px; color: var(--ink-soft); font-size: 12px; line-height: 1.6; }
.article-evidence-pack { display:grid; gap:9px; margin:18px 0; padding:15px 16px; border:1px solid #d5e2ee; border-radius:11px; background:#f8fbfe; }.article-evidence-pack > div { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px 10px; }.article-evidence-pack strong { color:#2b425d; font-size:13px; }.article-evidence-pack small { color:#71839a; font-size:12px; }.article-evidence-pack > p { display:-webkit-box; overflow:hidden; margin:0; color:#63758b; font-size:12px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.article-evidence-pack details { border-top:1px solid #dfe8f1; padding-top:10px; }.article-evidence-pack summary { color:#436480; cursor:pointer; font-size:12px; font-weight:700; }.article-evidence-pack ul { display:grid; gap:7px; margin:9px 0 0; padding:0; list-style:none; }.article-evidence-pack li { display:grid; grid-template-columns:20px minmax(0,1fr); gap:7px; align-items:center; }.article-evidence-pack li a { overflow:hidden; color:#2864a1; font-size:12px; white-space:nowrap; text-overflow:ellipsis; }.article-evidence-pack li small { grid-column:2; margin-top:-5px; }.source-tier { display:grid; place-items:center; width:20px; height:18px; border-radius:4px; color:#52687c; background:#e9eff5; font-size:12px; font-weight:800; }.source-tier.A { color:#247050; background:#e3f4e9; }.source-tier.B { color:#86621d; background:#fff2d7; }
.article-evidence-pack ol { display:grid; gap:10px; margin:10px 0 0; padding-left:22px; }.article-evidence-pack ol li { display:block; }.article-evidence-pack blockquote { margin:5px 0; padding:7px 10px; border-left:3px solid #b8cce0; color:#536b83; background:#fff; font-size:12px; }.evidence-release-gate { grid-column:2/-1; display:grid; gap:3px; padding:9px 11px; border-radius:8px; background:#e8f4ec; color:#286148; }.evidence-release-gate.blocked { background:#fff0e8; color:#963f25; }.evidence-release-gate small { font-size:12px; line-height:1.45; }.article-references { margin-top:28px; padding-top:12px; border-top:1px solid #dfe5e1; }.article-references li { margin:8px 0; }.article-references small { display:block; color:#6d7d75; }.evidence-citation { margin-left:2px; font-size:.78em; }.citation-missing { color:#b23d2b; font-weight:700; }
.article-evidence-pack.empty { border-color:#ead8c9; background:#fffaf5; }.evidence-research-error { grid-column:1/-1!important; display:grid!important; grid-template-columns:110px minmax(0,1fr)!important; padding:9px 11px; border-radius:8px; background:#fff0e8; color:#8d442d; }.evidence-research-error span { font-size:12px; line-height:1.5; }
.content-engine { display:flex; align-items:center; gap:14px; margin:-3px 0 18px; padding:15px 17px; border:1px solid #cfe0d7; border-radius:12px; background:#f2f7f3; }
.content-engine.warning { border-color:#ead9c7; background:#fbf5ec; }
.content-engine > span:nth-child(2) { flex:1; min-width:0; }
.content-engine strong,.content-engine small { display:block; }.content-engine strong { font-size:12px; }.content-engine small { margin-top:4px; color:var(--muted); font-size:12px; line-height:1.55; }
.engine-actions { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.engine-actions .filter-select { min-width:210px; }
.engine-mark { width:34px; height:34px; display:grid; flex:0 0 auto; place-items:center; border-radius:10px; color:var(--green); background:#dfece6; }
.content-engine.warning .engine-mark { color:#9b633e; background:#f1e3d2; }.engine-mark svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; }
.evidence-box.template-warning { border-color:#ead9c7; background:#fbf5ec; }
.generator-label { display:inline-block; margin-left:7px; padding:4px 8px; border-radius:999px; font-size:12px; font-weight:700; vertical-align:middle; }
.generator-label.ai { color:#2f6955; background:#e0eee7; }.generator-label.template { color:#895836; background:#f4e7d8; }
.template-article-warning { margin:18px 0 2px; padding:12px 14px; border:1px solid #ead9c7; border-radius:9px; color:#764b30; background:#fbf5ec; font-size:12px; line-height:1.6; }
.publish-options { display: grid; gap: 10px; margin: 18px 0; }.publish-option { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 11px; cursor: pointer; }.publish-option:hover { border-color: #b7c5bd; }.publish-option input { width: 17px; height: 17px; accent-color: var(--green); }.publish-option-copy { flex: 1; }.publish-option strong,.publish-option small { display: block; }.publish-option strong { font-size: 12px; }.publish-option small { margin-top: 3px; color: var(--muted); font-size: 12px; }
.copy-actions { display: flex; gap: 9px; padding: 18px 0; }
.package-title { min-height: 78px; }
.package-content { min-height: 360px; font: 12px/1.75 "Segoe UI","Microsoft YaHei",sans-serif; }
.check-field { min-height: 44px; display: flex; align-items: center; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fffefa; }
.check-field label { display: flex; align-items: center; gap: 9px; margin: 0; cursor: pointer; }
.check-field input { width: 17px; height: 17px; accent-color: var(--green); }

.empty-state { min-height: 300px; display: grid; place-items: center; padding: 40px; text-align: center; }.empty-state h3 { margin: 12px 0 6px; }.empty-state p { max-width: 420px; margin: 0 0 18px; color: var(--muted); font-size: 12px; }
.empty-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; background: var(--surface-soft); color: var(--ink-soft); }.empty-icon svg { width: 24px; height: 24px; fill:none;stroke:currentColor;stroke-width:1.7; }
.toast-region { position: fixed; z-index: 100; right: 20px; bottom: 20px; display: grid; gap: 10px; }
.toast { width: min(360px, calc(100vw - 40px)); display: flex; align-items: flex-start; gap: 11px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; color: #f5f6f2; background: #213337; box-shadow: var(--shadow); animation: toast-in .22s ease both; }.toast.error { background: #6e3632; }.toast strong,.toast small { display:block; }.toast strong { font-size:12px; }.toast small { margin-top:3px;color:#c5d0ce;font-size:12px;line-height:1.5; }
@keyframes toast-in { from { transform: translateY(8px); opacity: 0; } }
.skeleton { min-height: 110px; border-radius: var(--radius); background: linear-gradient(100deg,#ebeae4 25%,#f5f4ef 37%,#ebeae4 63%); background-size:400% 100%; animation: shimmer 1.4s ease infinite; }.hero-skeleton { min-height:236px }.skeleton-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px }.skeleton-grid .skeleton { min-height:150px }
@keyframes shimmer { 0%{background-position:100% 0}100%{background-position:0 0} }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important} }

.queue-status-panel { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,2fr); gap:18px; align-items:center; margin:0 0 22px; padding:18px 20px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.queue-status-head { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.queue-status-head span { display:grid; gap:3px; }
.queue-status-head small,.queue-status-head em { color:var(--muted); font-size:12px; font-style:normal; }
.queue-status-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.queue-status-grid article { display:flex; align-items:center; gap:10px; min-width:0; padding:11px 12px; border-radius:11px; background:var(--surface-soft); }
.queue-status-grid article > span:last-child { display:grid; gap:2px; min-width:0; }
.queue-status-grid article small { color:var(--muted); font-size:12px; white-space:nowrap; }
.queue-status-dot { width:9px; height:9px; border-radius:50%; flex:0 0 auto; background:var(--green); box-shadow:0 0 0 4px rgba(54,126,91,.12); }
.queue-status-grid article.warning .queue-status-dot { background:#bd772e; box-shadow:0 0 0 4px rgba(190,119,46,.14); }
@media (max-width:980px) { .queue-status-panel { grid-template-columns:1fr; }.queue-status-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:1280px) { .geo-main-grid { grid-template-columns:1fr; }.geo-platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.geo-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) { .queue-status-grid { grid-template-columns:1fr; }.content-engine { align-items:flex-start; flex-wrap:wrap; }.engine-actions { width:100%; }.engine-actions .filter-select { flex:1; min-width:0; } }
@media (max-width:700px) { .geo-auto-schedule-summary,.geo-auto-schedule.empty { align-items:flex-start; flex-wrap:wrap; }.geo-auto-schedule-summary > .button,.geo-auto-schedule.empty > .button { width:100%; }.geo-auto-schedule-list { grid-template-columns:1fr; } }
@media (max-width:700px) { .quality-card { grid-template-columns:72px minmax(0,1fr); }.quality-card > .button { grid-column:1/-1; }.report-kpis { grid-template-columns:1fr 1fr; }.retest-list article { grid-template-columns:38px minmax(0,1fr); }.retest-list article > .tag { grid-column:2; justify-self:start; }.geo-platform-grid,.geo-kpis,.geo-lower-grid { grid-template-columns:1fr; }.geo-operational-strip { grid-template-columns:1fr; }.geo-filterbar { align-items:stretch; flex-wrap:wrap; }.geo-filterbar .filter-select { flex:1 1 145px; }.geo-filter-note { width:100%; margin-left:0; }.geo-filterbar-structured { display:grid; }.geo-filter-controls { display:grid; grid-template-columns:1fr 1fr; }.geo-source-navigation { align-items:stretch; flex-direction:column; }.geo-source-tabs { gap:16px; overflow-x:auto; }.geo-source-tabs button { min-height:42px; flex:0 0 auto; white-space:nowrap; }.geo-history-reset-action { justify-content:space-between; min-height:48px; border-top:1px solid var(--line); }.geo-scope-switch { width:100%; }.geo-scope-switch button { flex:1; }.geo-baseline,.geo-api-diagnostic { grid-template-columns:1fr; gap:10px; }.geo-baseline-counts,.geo-api-diagnostic .geo-baseline-counts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.effect-report-hero,.effect-overview-grid,.effect-two-column,.effect-accuracy { grid-template-columns:1fr; }.effect-dimension-grid,.effect-question-model,.effect-metric-grid { grid-template-columns:1fr 1fr; }.effect-accuracy > div { padding:0 0 12px; border:0; border-bottom:1px solid var(--line); }.effect-evidence-list button { grid-template-columns:1fr; }.effect-evidence-list button > p,.effect-evidence-flags { grid-column:1; }.effect-ai-state { align-items:flex-start; flex-direction:column; } }
@media (max-width:700px) { .geo-analysis-panel { padding:12px; }.geo-analysis-head { align-items:flex-start; flex-direction:column; gap:5px; }.geo-analysis-head > span { white-space:normal; }.geo-analysis-panel .geo-filter-controls { grid-template-columns:1fr; }.geo-analysis-group-head { align-items:flex-start; flex-direction:column; gap:2px; }.geo-platforms-group { margin-top:12px; padding:10px; } }
@media (max-width:700px) { .geo-recent-panel .observation-evidence { grid-column:2; justify-self:start; }.geo-proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.geo-proof-grid > div:first-child { grid-column:1/-1; } }

.logout-icon { font-size:18px; line-height:1; transform:rotate(45deg); }
.generation-progress { display:flex; align-items:center; gap:12px; margin:24px 0; padding:18px; border:1px solid #d4ded9; border-radius:12px; background:#f3f7f4; }
.generation-progress strong,.generation-progress small { display:block; }.generation-progress strong { font-size:13px; }.generation-progress small { margin-top:5px; color:var(--muted); font-size:12px; }
.task-workflow { margin:20px 0; overflow:hidden; border:1px solid #dce6ee; border-radius:12px; background:#fff; }.task-workflow > header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 16px; border-bottom:1px solid #e7edf2; }.task-workflow > header > span { color:#233c58; font-size:13px; font-weight:800; }.task-workflow > header small { color:#78889a; font-size:12px; }.task-workflow-state { display:grid; justify-items:center; gap:4px; padding:22px 18px 16px; text-align:center; }.task-workflow-state strong { color:#294f7d; font-size:20px; font-weight:700; }.task-workflow-state small { max-width:680px; color:#718097; font-size:12px; line-height:1.55; }.task-workflow-steps { display:grid; grid-template-columns:repeat(var(--workflow-count), minmax(0, 1fr)); padding:0 16px 19px; }.task-workflow-steps article { position:relative; display:grid; justify-items:center; min-width:0; padding:0 5px; text-align:center; }.task-workflow-steps article:not(:last-child)::after { position:absolute; z-index:0; top:11px; left:calc(50% + 12px); right:calc(-50% + 12px); height:1px; background:#d5dfea; content:""; }.task-workflow-steps article.completed:not(:last-child)::after { background:#70a891; }.task-workflow-index { position:relative; z-index:1; display:grid; place-items:center; width:23px; height:23px; border:1px solid #c7d3e0; border-radius:50%; color:#708197; background:#fff; font-size:12px; font-weight:800; }.task-workflow-steps article > span:last-child { display:grid; justify-items:center; gap:4px; min-width:0; margin-top:7px; }.task-workflow-steps strong { color:#41566f; font-size:12px; line-height:1.35; }.task-workflow-steps small { color:#8997a8; font-size:12px; line-height:1.45; }.task-workflow-steps article.completed .task-workflow-index { border-color:#559779; color:#fff; background:#559779; }.task-workflow-steps article.completed strong { color:#356c52; }.task-workflow-steps article.active .task-workflow-index { border-color:#326bc0; color:#fff; background:#326bc0; box-shadow:0 0 0 4px rgba(50,107,192,.12); }.task-workflow-steps article.active strong { color:#275b9f; }.task-workflow-steps article.failed .task-workflow-index { border-color:#bc625b; color:#fff; background:#bc625b; }.task-workflow-steps article.failed strong { color:#aa4d46; }.task-workflow.compact { margin:14px 0; }.task-workflow.compact > header { padding:10px 13px; }.task-workflow.compact .task-workflow-state { justify-items:start; padding:14px 14px 11px; text-align:left; }.task-workflow.compact .task-workflow-state strong { font-size:15px; }.task-workflow.compact .task-workflow-steps { padding:0 14px 14px; }.task-workflow.compact .task-workflow-steps article { grid-template-columns:23px minmax(0,1fr); }.task-workflow.compact .task-workflow-steps article:not(:last-child)::after { top:9px; left:23px; }.task-workflow.compact .task-workflow-index { width:19px; height:19px; font-size:12px; }
.task-workflow.compact .task-workflow-steps article { justify-items:stretch; padding:0 8px 0 0; text-align:left; }.task-workflow.compact .task-workflow-steps article > span:last-child { justify-items:start; margin-top:0; }.task-workflow.compact .task-workflow-steps article:not(:last-child)::after { right:0; }
.content-action-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin-bottom:18px; }
.content-action-metric { display:grid; gap:5px; padding:16px 17px; border:1px solid var(--line); border-radius:13px; color:var(--ink); text-align:left; cursor:pointer; background:var(--surface); }
.content-action-metric:hover { border-color:#9db9af; box-shadow:0 7px 18px rgba(32,64,55,.06); }
.content-action-metric strong { font:700 23px/1 ui-sans-serif,system-ui; }
.content-action-metric small { color:var(--muted); }
.content-action-metric.attention { border-color:#dfc59f; background:#fffaf2; }
.content-action-metric.danger { border-color:#e4bbb6; background:#fff8f7; }
.content-table th:first-child { width:38%; }
.content-table .table-title { max-width:560px; }
.article-quick-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
.article-quick-actions .button { min-height:32px; padding:0 11px; border:1px solid #c9d9d3; font-size:12px; background:#f4f8f6; }
.article-quick-actions .button:hover { border-color:#78a596; background:#edf6f2; }
.article-quick-actions .button svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; }
.article-quick-actions .quick-link { color:#76502f; border-color:#e1d1bb; background:#fbf7f0; }
.article-quick-actions .quick-link.attention { color:#8a4c27; border-color:#d9b88c; background:#fff7e9; box-shadow:0 0 0 3px rgba(190,119,46,.08); }
.article-operations { margin:16px 0 20px; overflow:hidden; border:1px solid #d7dfdb; border-radius:14px; background:#fbfcfb; }
.article-operations summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 17px; cursor:pointer; list-style:none; }
.article-operations summary::-webkit-details-marker { display:none; }
.article-operations summary>span { display:grid; gap:4px; }
.article-operations summary small,.article-operations summary em,.article-operation-row small,.article-operation-log small { color:var(--muted); font-style:normal; }
.article-operations>section { padding:14px 17px; border-top:1px solid #e5eae7; }
.article-operations h4 { margin:0 0 9px; font-size:12px; }
.article-operation-row { display:grid; width:100%; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px 0; border:0; color:inherit; text-align:left; background:transparent; }
.article-operation-row>span:nth-child(2),.article-operation-log>span:last-child { display:grid; gap:3px; }
.article-operation-row a { color:#28705f; font-size:12px; font-weight:700; }
.article-operation-row em { color:#68736f; font-size:12px; font-style:normal; }
button.article-operation-row { cursor:pointer; }
button.article-operation-row:hover strong { color:#28705f; }
.article-operation-log { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:10px; padding:8px 0; }
.settings-section { margin-bottom:18px; padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.settings-section>.panel-head { margin-bottom:15px; }
.settings-status { display:flex; align-items:center; gap:12px; padding:15px; border:1px solid #d6e1dc; border-radius:12px; background:#f4f8f6; }
.settings-status>span:last-child { display:grid; gap:4px; }
.settings-status small { color:var(--muted); }
.settings-status.warning { border-color:#e3c2bc; background:#fff8f7; }
.channel-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.test-results.compact { margin-top:0; }
.user-list { display:grid; border:1px solid var(--line); border-radius:13px; overflow:hidden; }
.user-row { display:grid; grid-template-columns:38px minmax(150px,.8fr) minmax(220px,1.3fr) auto; align-items:center; gap:12px; padding:13px 15px; background:#fff; }
.user-row + .user-row { border-top:1px solid var(--line); }
.user-row.is-inactive { background:#fafbfc; }
.user-row.is-inactive .avatar { color:#758091; background:#e8ebef; }
.user-row.is-inactive .user-identity { opacity:.72; }
.user-row .avatar { width:36px; height:36px; }
.user-identity { display:grid; gap:3px; min-width:0; }
.user-identity small { color:var(--muted); overflow:hidden; text-overflow:ellipsis; }
.user-permission-tags { display:flex; flex-wrap:wrap; gap:5px; }
.user-permission-tags i { padding:5px 7px; border-radius:7px; color:#41675b; background:#edf4f0; font-size:12px; font-style:normal; }
.user-actions { display:flex; align-items:center; justify-content:flex-end; gap:3px; }
.user-actions em { color:var(--muted); font-size:12px; font-style:normal; }
.settings-note { margin:11px 0 0; color:var(--muted); font-size:12px; }
.settings-note code { padding:2px 5px; border-radius:5px; color:#6e4630; background:#f5ece5; }
.llm-profile-summary { display:flex; align-items:center; gap:18px; margin-bottom:12px; padding:12px 15px; border:1px solid #dbe5e0; border-radius:12px; background:#f7faf8; }
.llm-profile-summary>span { display:flex; align-items:baseline; gap:8px; padding-right:18px; border-right:1px solid #dbe5e0; }
.llm-profile-summary small,.llm-profile-summary p { color:var(--muted); }
.llm-profile-summary strong { color:#245d4f; font-size:21px; }
.llm-profile-summary p { margin:0; font-size:12px; }
.llm-profile-list { display:grid; border:1px solid var(--line); border-radius:13px; overflow:hidden; }
.llm-profile-row { display:grid; grid-template-columns:42px minmax(240px,1fr) auto; align-items:center; gap:13px; padding:14px 15px; background:#fff; }
.llm-profile-row + .llm-profile-row { border-top:1px solid var(--line); }
.llm-profile-row.disabled { background:#fafbfa; opacity:.78; }
.llm-provider-mark { display:grid; place-items:center; width:40px; height:40px; border-radius:10px; color:#285f51; background:#e9f2ee; font-size:12px; font-weight:800; letter-spacing:.02em; }
.llm-profile-identity { display:grid; gap:4px; min-width:0; }
.llm-profile-identity>span { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.llm-profile-identity small { color:#5e6a66; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.llm-profile-identity em { color:#668077; font-size:12px; font-style:normal; }
.llm-profile-identity em.failed { color:#a2473a; }
.llm-profile-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:3px; }
.llm-empty { padding:28px; text-align:center; }
.llm-empty p { margin:7px 0 0; color:var(--muted); }
.llm-form-grid { margin-top:20px; }
.llm-checks { align-content:start; }
.check-line { display:flex; align-items:center; gap:8px; margin-top:8px; color:#3f4d48; font-weight:500 !important; }
.check-line input { width:16px; height:16px; accent-color:#33715e; }
.permission-section { margin-top:20px; }
.permission-section>strong,.permission-section>small { display:block; }
.permission-section>small { margin-top:4px; color:var(--muted); }
.permission-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:13px; }
.permission-option { cursor:pointer; }
.permission-option input { position:absolute; opacity:0; pointer-events:none; }
.permission-option span { display:flex; align-items:center; gap:10px; min-height:52px; padding:12px 14px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.permission-option svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; }
.permission-option input:checked + span { color:#245d4f; border-color:#78a596; background:#edf6f2; box-shadow:0 0 0 3px rgba(53,120,92,.07); }
.permission-option input:focus-visible + span { outline:2px solid #387a66; outline-offset:2px; }
.management-list { display:grid; gap:8px; margin-top:16px; }
.management-list article { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); }
.management-list article > span:first-child { min-width:0; display:grid; gap:5px; }
.management-list strong { display:block; font-size:13px; }.management-list strong em { display:inline-block; margin-left:6px; padding:2px 6px; border-radius:5px; color:#276150; background:#e5f1ea; font-size:12px; font-style:normal; }
.management-list small { display:block; overflow:hidden; color:var(--muted); font-size:12px; line-height:1.5; text-overflow:ellipsis; white-space:nowrap; }
.management-list article > span:last-child { display:flex; gap:5px; flex:0 0 auto; }
.login-page { min-width:960px; min-height:100vh; display:grid; place-items:center; padding:48px; background:radial-gradient(circle at 18% 18%,rgba(80,125,107,.18),transparent 32%),var(--ink); }
.login-shell { width:min(1120px,100%); min-height:650px; display:grid; grid-template-columns:1.28fr .72fr; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:20px; background:var(--surface); box-shadow:0 30px 80px rgba(0,0,0,.24); }
.login-story { position:relative; display:flex; flex-direction:column; padding:44px 50px; color:#eef2ec; background:linear-gradient(150deg,#142b2e,#1f4240 68%,#315c4f); }
.login-story::after { content:""; position:absolute; right:-100px; bottom:-170px; width:430px; height:430px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 64px rgba(255,255,255,.025),0 0 0 128px rgba(255,255,255,.018); }
.login-brand { position:relative; z-index:1; width:max-content; color:#f7f8f3; }.login-brand small { color:#aebfba; }
.login-story-copy { position:relative; z-index:1; max-width:610px; margin:auto 0; }.login-story-copy .eyebrow { color:#9fc1b2; }.login-story-copy h1 { max-width:570px; margin:18px 0; font:600 46px/1.2 Georgia,"Songti SC",serif; letter-spacing:-.035em; }.login-story-copy p { max-width:540px; margin:0; color:#bdcbc6; font-size:15px; line-height:1.9; }
.login-proof-list { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:9px; }.login-proof-list span { padding:7px 10px; border:1px solid rgba(255,255,255,.14); border-radius:7px; color:#c7d3cf; font-size:12px; }
.login-card { align-self:center; padding:52px 44px; }.login-card h2 { margin:9px 0 7px; font:600 29px/1.3 Georgia,"Songti SC",serif; }.login-card>p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.login-form { display:grid; gap:18px; margin-top:30px; }.login-form .input { min-height:48px; }.remember-row { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; }.remember-row input { accent-color:var(--green); }.login-submit { width:100%; min-height:48px; justify-content:center; }.login-note { display:block; margin-top:24px; color:var(--muted); font-size:12px; line-height:1.6; }.field .field-error { color:var(--red); }
.required-mark,.required-note em { color:var(--red); font-style:normal; font-weight:800; }.required-note { color:#9a3d36; font-size:12px; }.foundation-required-note { margin:0 0 2px; }

.wechatsync-trigger { border-color:#88aaa0; color:#245f52; }
.wechatsync-trigger:hover { background:#edf6f2; border-color:#4f8779; }
.wechatsync-summary { display:grid; width:100%; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:13px; margin:16px 0 20px; padding:14px 16px; border:1px solid #c9ddd5; border-radius:14px; color:inherit; text-align:left; background:linear-gradient(135deg,#f1f8f5,#fafcfb); }
button.wechatsync-summary { cursor:pointer; }
button.wechatsync-summary:hover { border-color:#7fab9e; box-shadow:0 7px 20px rgba(37,83,70,.08); }
.wechatsync-summary.empty { grid-template-columns:42px minmax(0,1fr); }
.wechatsync-summary>span:nth-child(2) { display:grid; gap:3px; }
.wechatsync-summary small { color:var(--muted); }
.wechatsync-brand { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; background:#2f7767; color:#fff; font:700 17px/1 ui-sans-serif,system-ui; }
.wechatsync-mini-platforms { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.wechatsync-mini-platforms i { display:grid; width:27px; height:27px; place-items:center; border:1px solid #d8ddd8; border-radius:8px; background:#fff; color:#68706d; font:normal 700 12px/1 ui-sans-serif,system-ui; }
.wechatsync-mini-platforms i.done { border-color:#9bc8b9; background:#e7f5ef; color:#246c5a; }
.wechatsync-mini-platforms i.failed { border-color:#e6b9b2; background:#fbeceb; color:#9a4034; }
.wechatsync-checking { display:flex; align-items:center; gap:12px; margin:18px 0; padding:18px; border:1px solid #d5e2dd; border-radius:14px; background:#f4f8f6; }
.wechatsync-checking>span:last-child { display:grid; gap:4px; }
.wechatsync-checking small,.wechatsync-progress-head small { color:var(--muted); }
.wechatsync-prerequisites { margin-top:18px; }
.wechatsync-help { display:grid; gap:7px; margin-top:18px; }
.wechatsync-help a { display:inline-flex; align-items:center; gap:6px; width:fit-content; color:#2d6f61; font-weight:700; }
.wechatsync-help svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; }
.wechatsync-selection-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:18px 0 10px; }
.wechatsync-selection-head>span:first-child { display:grid; gap:4px; }
.wechatsync-selection-head small,.wechatsync-account-option small,.wechatsync-publication-head small,.wechatsync-publication-row small { color:var(--muted); }
.wechatsync-account-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.wechatsync-account-option { display:grid; grid-template-columns:18px 38px minmax(0,1fr); align-items:center; gap:10px; padding:13px; border:1px solid var(--line); border-radius:12px; cursor:pointer; background:#fff; }
.wechatsync-account-option:hover { border-color:#8fb4a8; background:#f6faf8; }
.wechatsync-account-option input { width:17px; height:17px; accent-color:var(--green); }
.wechatsync-account-option>span:last-child { display:grid; gap:3px; min-width:0; }
.wechatsync-progress { margin-top:18px; border:1px solid #cdded7; border-radius:16px; overflow:hidden; }
.wechatsync-progress-head { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 18px; background:#eff7f3; }
.wechatsync-progress-head>span { display:grid; gap:4px; }
.wechatsync-progress-head em { color:#2e7061; font-size:20px; font-style:normal; font-weight:800; }
.wechatsync-item-list { display:grid; }
.wechatsync-item { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px 16px; border-top:1px solid #e6ebe8; background:#fff; }
.wechatsync-item>span:nth-child(2) { display:grid; gap:3px; }
.wechatsync-item small { color:var(--muted); overflow-wrap:anywhere; }
.wechatsync-item.failed { background:#fff9f8; }
.wechatsync-item-status { color:#6b7470; font-size:12px; font-weight:700; }
.wechatsync-item.done .wechatsync-item-status,.wechatsync-item-status a { color:#28705f; }
.wechatsync-item.failed .wechatsync-item-status { color:#a2473b; }
.wechatsync-publications { margin-top:18px; padding:17px; border:1px solid #d4dfda; border-radius:16px; background:#fbfcfb; }
.wechatsync-publication-head { display:grid; gap:4px; margin-bottom:12px; }
.wechatsync-publication-row { display:grid; grid-template-columns:minmax(130px,.55fr) minmax(240px,1.45fr); align-items:center; gap:14px; padding:9px 0; border-top:1px solid #e8ece9; }
.wechatsync-publication-row>span { display:grid; gap:3px; }
.wechatsync-publication-row .input { min-height:40px; }
.publication-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }.publication-actions .button { min-height:31px; padding:5px 8px; }
.manual-publication-entry { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:18px 0; padding:15px 16px; border:1px solid #cbded4; border-radius:12px; background:#f4f9f6; }.manual-publication-entry > div { display:grid; gap:4px; }.manual-publication-entry strong { color:#2d5e4e; }.manual-publication-entry small { color:#62776e; line-height:1.55; }.manual-publication-entry.compact { margin:18px 0 0; }.manual-publication-entry .button { flex:0 0 auto; white-space:nowrap; }
.manual-publication-form { margin-top:22px; }.manual-publication-note { display:grid; gap:5px; margin-top:16px; padding:13px 14px; border-left:3px solid #5c9d7e; border-radius:0 9px 9px 0; color:#4e665d; background:#f3f8f5; line-height:1.55; }.manual-publication-note strong { color:#285c49; }.manual-publication-history { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }.manual-publication-history h3 { margin:0 0 10px; font-size:14px; }.manual-publication-history ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }.manual-publication-history li { display:grid; grid-template-columns:minmax(110px,.45fr) minmax(0,1.55fr); gap:12px; align-items:center; padding:10px 0; border-top:1px solid #edf0ed; }.manual-publication-history li:first-child { border-top:0; }.manual-publication-history a { overflow:hidden; color:#2864a1; text-overflow:ellipsis; white-space:nowrap; }

/* B 端工作台：中性底色、单一蓝色主操作与紧凑的信息层级。 */
body { font-family: Inter, "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: rgba(37,99,201,.28); }
.brand-mark span { background:#6ea3f5; }.nav-item.active::after { background:#78a9f8; }
.page-heading h2, .topbar h1, .hero h2 { font-family: Inter, "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; font-weight:700; letter-spacing:-.02em; }
.button.primary { box-shadow:0 4px 12px rgba(37,99,201,.18); }.button.primary:hover { background:var(--accent-dark); }
.hero { background:#1b2940; }.hero .button.primary { background:#3475d3; }.hero .button.primary:hover { background:#2563c9; }
.panel, .table-wrap, .settings-section, .foundation-card { box-shadow:0 1px 2px rgba(24,34,48,.025); }
.data-table th { background:#f7f9fc; color:#667389; }.data-table tbody tr:hover { background:#f7faff; }
.button.quiet { border:1px solid transparent; }.button.quiet:hover { border-color:#d7e0ed; background:#f2f6fb; }
.button.danger { color:#b83b43; background:#fff4f5; }.button.danger:hover { border-color:#f1c8cc; background:#feecee; }
.tag { border-radius:5px; }.tag.approved,.tag.published,.tag.success { color:#1f6a4c; background:#eaf6ef; }
.tag.generating,.tag.queued,.tag.processing,.tag.retrying,.tag.ready { color:#275da8; background:#eaf1fc; }

.admin-page-heading { margin-bottom:22px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.admin-page-heading p { max-width:720px; margin:7px 0 0; color:var(--muted); line-height:1.6; }
.admin-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:24px; align-items:start; }
.admin-content { display:grid; gap:20px; min-width:0; }
.admin-section-anchor { min-width:0; scroll-margin-top:20px; }
.admin-section-anchor > .settings-section { margin-bottom:0; }
.admin-section-nav { position:sticky; top:20px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:0 1px 2px rgba(24,34,48,.025); }
.admin-nav-title { display:grid; gap:3px; padding:17px 16px 14px; border-bottom:1px solid var(--line); }
.admin-nav-title strong { color:var(--ink); font-size:14px; }.admin-nav-title small { color:var(--muted); line-height:1.45; }
.admin-section-nav nav { display:grid; padding:7px; }
.admin-section-nav a { display:grid; grid-template-columns:28px minmax(0,1fr); gap:2px 8px; align-items:center; padding:11px 10px; border-radius:7px; color:var(--ink-soft); text-decoration:none; transition:background .16s ease,color .16s ease; }
.admin-section-nav a:hover { color:#174f92; background:#f1f6fc; }.admin-section-nav a:focus-visible { outline:2px solid #4b83c4; outline-offset:-2px; }
.admin-section-nav a > span { grid-row:1 / 3; align-self:start; padding-top:1px; color:#7890a8; font-size:12px !important; font-weight:750; }
.admin-section-nav a b { font-size:13px; }.admin-section-nav a small { overflow:hidden; color:var(--muted); line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.admin-section-nav > p { margin:0; padding:13px 16px; border-top:1px solid var(--line); color:#617285; background:#f8fafc; font-size:12px; line-height:1.55; }
.section-kicker { display:block; margin-bottom:5px; color:#55789d; font-size:12px !important; font-weight:750; letter-spacing:.04em; }
.admin-content .settings-section { padding:0; overflow:hidden; border-radius:var(--radius); }
.admin-content .settings-section > .panel-head { min-height:78px; margin:0; padding:17px 20px; background:#fbfcfe; }
.admin-content .settings-section > :not(.panel-head) { margin-left:20px; margin-right:20px; }
.admin-content .settings-section > :last-child { margin-bottom:20px; }
.admin-content .settings-section > .user-list,.admin-content .settings-section > .customer-status-tabs { margin-left:20px; margin-right:20px; }
.foundation-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; align-items:start; min-width:0; }
.foundation-knowledge-anchor,.foundation-wide-anchor { grid-column:1 / -1; }
.foundation-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.foundation-knowledge-card { grid-column:1 / -1; }
.foundation-project-cases-card { grid-column:1 / -1; }
.foundation-card-head { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:17px 20px; border-bottom:1px solid var(--line); background:#fbfcfe; }
.foundation-card-head h3 { margin:0; color:var(--ink); font-size:16px; line-height:1.4; }.foundation-card-head p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.foundation-card-head small { display:block; margin-top:4px; color:var(--muted); line-height:1.55; }
.foundation-card-actions { display:flex; align-items:center; gap:8px; }
.foundation-card-body { padding:0 20px 20px; }
.foundation-group { padding:20px 0; border-bottom:1px solid var(--line); }.foundation-group:last-child { padding-bottom:0; border-bottom:0; }
.foundation-group h4 { margin:0 0 15px; color:#334155; font-size:13px; font-weight:700; }.foundation-facts .textarea { min-height:180px; }
.foundation-table-wrap { overflow:auto; }.foundation-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.foundation-table th { height:42px; padding:0 16px; color:var(--muted); background:#f7f9fc; font-size:12px; font-weight:700; letter-spacing:.04em; text-align:left; }.foundation-table th:nth-child(1) { width:28%; }.foundation-table th:nth-child(3) { width:120px; }
.foundation-table td { height:58px; padding:10px 16px; border-top:1px solid var(--line); color:var(--ink-soft); font-size:12px; vertical-align:middle; }.foundation-table td:nth-child(2) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.foundation-table td strong { margin-right:7px; color:var(--ink); font-size:13px; }.foundation-table .tag { vertical-align:middle; }.foundation-empty { color:var(--muted); text-align:center; }
.foundation-table .row-actions { justify-content:flex-end; }.foundation-table .row-actions .button { min-height:30px; }
.prompt-table th:first-child { width:24%; }.prompt-table td { height:auto; min-height:58px; vertical-align:top; }.prompt-table td:nth-child(2) { overflow:visible; white-space:normal; }.prompt-name { display:flex; align-items:flex-start; gap:7px; line-height:1.45; }.prompt-name strong { margin:0; overflow-wrap:anywhere; }.prompt-summary { display:-webkit-box; overflow:hidden; color:var(--ink-soft); line-height:1.6; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:3; }.prompt-table .row-actions { padding-top:1px; }
.query-cluster-table th.selection-cell,.query-cluster-table td.selection-cell { width:44px; padding-right:4px; text-align:center; }.query-cluster-table th:nth-child(2) { width:auto; }.query-cluster-table th:nth-child(3) { width:170px; }.query-cluster-table th:nth-child(4) { width:220px; }.query-cluster-table td:nth-child(2) { overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }.query-cluster-table .selection-cell input { width:16px; height:16px; margin:0; cursor:pointer; accent-color:var(--primary); }
.foundation-project-cases-card .foundation-table th:nth-child(3) { width:210px; }
.project-case-problem { display:block; max-width:720px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.project-case-form .textarea.compact { min-height:92px; }.project-case-form .field label em { color:#a2473b; font-size:12px; font-style:normal; }.project-case-switch { display:flex; align-items:center; gap:10px; margin-top:18px; }
.project-case-preview { display:grid; gap:9px; margin-top:12px; padding:14px 16px; border:1px solid #d5e2dc; border-radius:10px; background:#f7faf8; }.project-case-preview>strong { color:var(--ink); font-size:13px; }.project-case-preview p { display:grid; grid-template-columns:78px minmax(0,1fr); gap:10px; margin:0; color:var(--ink-soft); font-size:12px; line-height:1.65; }.project-case-preview p span { color:var(--muted); font-weight:700; }.project-case-empty { padding:12px 14px; border:1px dashed var(--line); border-radius:9px; color:var(--muted); background:#fbfcfe; font-size:12px; }
.project-case-preview[hidden] { display:none; }

.growth-brief { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:center; margin-bottom:20px; padding:24px; border:1px solid #dbe5f5; border-radius:var(--radius); background:#f7faff; }
.growth-brief.new-brand { border-color:#d6e3f7; background:#f4f8ff; }.growth-kicker { display:inline-flex; min-height:24px; align-items:center; padding:0 8px; border-radius:4px; color:#285b9e; background:#e5efff; font-size:12px; font-weight:700; }.growth-brief h3 { margin:10px 0 7px; font-size:20px; }.growth-brief p { max-width:760px; margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.growth-baseline { display:grid; grid-template-columns:repeat(3, minmax(76px,1fr)); min-width:276px; border-left:1px solid #dbe5f5; }.growth-baseline span { padding:4px 18px; text-align:center; }.growth-baseline span + span { border-left:1px solid #dbe5f5; }.growth-baseline strong,.growth-baseline small { display:block; }.growth-baseline strong { color:#1f4f90; font-size:24px; line-height:1.2; }.growth-baseline small { margin-top:5px; color:var(--muted); font-size:12px; }
.growth-path { margin-bottom:20px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }.growth-path-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 20px; border-bottom:1px solid var(--line); }.growth-path-head h3 { margin:0; font-size:16px; }.growth-path-head p { margin:4px 0 0; color:var(--muted); font-size:12px; }.growth-path-steps { display:grid; grid-template-columns:repeat(4,1fr); }.growth-path-steps article { display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; align-items:center; min-height:78px; padding:14px 18px; }.growth-path-steps article + article { border-left:1px solid var(--line); }.growth-path-steps b { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:#2460b5; background:#eaf1ff; font-size:12px; }.growth-path-steps strong,.growth-path-steps small { display:block; }.growth-path-steps strong { font-size:12px; }.growth-path-steps small { margin-top:4px; color:var(--muted); font-size:12px; line-height:1.45; }
.growth-worklist,.growth-progress { overflow:hidden; margin-bottom:20px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }.growth-task-list { display:grid; }.growth-task { display:grid; grid-template-columns:minmax(260px,1.12fr) minmax(280px,1fr) auto; gap:22px; align-items:start; padding:21px; border-top:1px solid var(--line); }.growth-task:first-child { border-top:0; }.growth-task:hover { background:#fbfdff; }.growth-task-main { min-width:0; }.growth-priority { display:inline-flex; min-width:27px; height:22px; align-items:center; justify-content:center; margin-right:7px; border-radius:4px; color:#275ca3; background:#e9f1ff; font-size:12px; font-weight:800; }.growth-task h3 { margin:10px 0 5px; font-size:15px; line-height:1.45; }.growth-task p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }.growth-target { display:grid; gap:3px; margin-top:14px; padding:10px 12px; border-left:3px solid #73a5ef; background:#f5f8fd; }.growth-target strong { color:#31577f; font-size:12px; }.growth-target span { color:var(--ink-soft); font-size:12px; line-height:1.5; }
.growth-task-plan { min-width:0; padding:2px 0; }.growth-task-plan h4 { margin:0 0 9px; color:#43546c; font-size:12px; }.growth-task-plan ol { display:grid; gap:8px; margin:0; padding-left:19px; }.growth-task-plan li { padding-left:2px; color:var(--ink-soft); font-size:12px; line-height:1.45; }.growth-task-plan li strong,.growth-task-plan li small { display:block; }.growth-task-plan li small { margin-top:2px; color:var(--muted); }.growth-task-plan details { margin-top:12px; }.growth-task-plan summary { color:#3565a6; font-size:12px; font-weight:700; cursor:pointer; }.growth-task-plan details ul { margin:8px 0 0; padding-left:17px; color:var(--muted); font-size:12px; line-height:1.65; }.growth-task-actions { display:grid; justify-items:end; gap:5px; min-width:112px; }.growth-task-actions .button { min-width:112px; min-height:34px; padding:0 10px; font-size:12px; }
.growth-progress-list { display:grid; }.growth-progress-list article { display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:10px; align-items:center; min-height:57px; padding:10px 0; border-bottom:1px solid var(--line); }.growth-progress-list article:last-child { border-bottom:0; }.growth-progress-list .status-dot { width:7px; height:7px; }.growth-progress-list strong,.growth-progress-list small { display:block; }.growth-progress-list strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }.growth-progress-list small { margin-top:4px; color:var(--muted); font-size:12px; }.growth-empty { display:grid; gap:5px; min-height:122px; align-content:center; padding:20px; text-align:center; }.growth-empty strong { font-size:13px; }.growth-empty small { color:var(--muted); font-size:12px; }.growth-empty.actionable { min-height:190px; }.growth-empty.actionable .button { justify-self:center; margin-top:10px; }
.baseline-runner { display:grid; grid-template-columns:minmax(250px,1.2fr) auto; gap:22px; align-items:center; margin-bottom:20px; padding:20px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }.baseline-runner h3 { margin:9px 0 5px; font-size:16px; }.baseline-runner p { max-width:680px; margin:0; color:var(--muted); font-size:12px; line-height:1.65; }.baseline-plan { display:grid; grid-template-columns:repeat(4,minmax(62px,1fr)); min-width:320px; border-left:1px solid var(--line); }.baseline-plan span { padding:3px 13px; text-align:center; }.baseline-plan span + span { border-left:1px solid var(--line); }.baseline-plan strong,.baseline-plan small { display:block; }.baseline-plan strong { color:#1f4f90; font-size:18px; line-height:1.25; }.baseline-plan small { margin-top:4px; color:var(--muted); font-size:12px; }.baseline-actions,.baseline-progress { grid-column:1 / -1; display:flex; align-items:center; gap:9px; padding-top:15px; border-top:1px solid var(--line); }.baseline-actions .button { min-height:34px; font-size:12px; }.baseline-progress { justify-content:space-between; }.baseline-progress > span:not(.status-dot) { display:grid; gap:3px; margin-right:auto; }.baseline-progress strong { font-size:12px; }.baseline-progress small { color:var(--muted); font-size:12px; }.baseline-progress .status-dot { flex:0 0 auto; }
.website-audit-panel { display:grid; grid-template-columns:minmax(0,1fr) 170px; gap:22px; margin-bottom:20px; overflow:hidden; border:1px solid #cfddee; border-radius:var(--radius); background:linear-gradient(130deg,#f7fbff 0%,#fff 56%); }.website-audit-intro { padding:22px 0 20px 22px; }.website-audit-intro h3 { margin:9px 0 6px; font-size:17px; }.website-audit-form { display:flex; gap:9px; max-width:660px; margin-top:15px; }.website-audit-form .input { min-width:0; flex:1; }.website-audit-form .button { flex:0 0 auto; }.audit-model-line { display:flex; align-items:center; gap:8px; margin-top:12px; color:var(--muted); font-size:12px; }.audit-model-line strong { color:#1f4f90; font-weight:700; }.audit-model-line em { margin-left:auto; color:#71859d; font-style:normal; }.website-audit-score { display:grid; align-content:center; justify-items:center; gap:7px; padding:20px; border-left:1px solid #dce7f3; background:#f1f7fd; text-align:center; }.website-audit-score > strong { color:#1f4f90; font-size:28px; line-height:1; letter-spacing:-1px; }.website-audit-score small,.website-audit-score em { color:var(--muted); font-size:12px; font-style:normal; }.website-audit-results { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,.95fr) minmax(310px,1.05fr); border-top:1px solid #dce7f3; background:var(--surface); }.website-audit-summary { padding:18px 22px; }.website-audit-summary > strong { font-size:13px; }.website-audit-summary > p { margin:6px 0 15px; color:var(--muted); font-size:12px; line-height:1.6; }.audit-dimensions { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.audit-dimensions span { padding:9px 6px; text-align:center; }.audit-dimensions span + span { border-left:1px solid var(--line); }.audit-dimensions b,.audit-dimensions small { display:block; }.audit-dimensions b { color:#244f85; font-size:14px; }.audit-dimensions small { margin-top:3px; color:var(--muted); font-size:12px; }.website-audit-actions { padding:18px 22px; border-left:1px solid var(--line); }.website-audit-actions h4 { margin:0 0 10px; font-size:12px; }.website-audit-actions ul,.audit-findings { display:grid; gap:9px; margin:0; padding:0; list-style:none; }.website-audit-actions li,.audit-findings li { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:start; }.website-audit-actions strong,.website-audit-actions small,.audit-findings strong,.audit-findings small { display:block; }.website-audit-actions strong,.audit-findings strong { font-size:12px; line-height:1.4; }.website-audit-actions small,.audit-findings small { margin-top:2px; color:var(--muted); font-size:12px; line-height:1.45; }.audit-priority { min-width:25px; padding:2px 4px; border-radius:3px; color:#2a609e; background:#e8f1ff; font-size:12px; font-weight:800; text-align:center; }.audit-priority.p0 { color:#9d412d; background:#fff0eb; }.audit-priority.p2 { color:#6d6b55; background:#f5f3e8; }.website-audit-evidence { grid-column:1 / -1; padding:13px 22px 16px; border-top:1px solid var(--line); }.website-audit-evidence summary { color:#355e94; font-size:12px; font-weight:700; cursor:pointer; }.website-audit-evidence > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; margin-top:13px; }.audit-finding { width:8px; height:8px; margin-top:4px; border-radius:50%; background:#b6c2cf; }.audit-finding.ready { background:#36a170; }.audit-finding.partial { background:#cf9a38; }.audit-finding.blocked,.audit-finding.needs_work { background:#c95d48; }.audit-platforms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.audit-platforms span { padding:8px 9px; border:1px solid var(--line); border-radius:5px; background:#fbfcfe; }.audit-platforms b,.audit-platforms small { display:block; }.audit-platforms b { font-size:12px; }.audit-platforms small { margin-top:3px; color:var(--muted); font-size:12px; line-height:1.45; }
.connector-error { color:#a34b3c; font-style:normal; }
.audit-dimensions { grid-template-columns:repeat(3,1fr); }
.website-audit-log .growth-progress-list article { grid-template-columns:minmax(0,1fr) auto; }
.website-audit-log .panel-body { max-height:420px; overflow:auto; }
.website-audit-log .growth-progress-list em { color:var(--muted); font-size:12px; font-style:normal; }
.workspace-tabs,.geo-page-tabs { display:flex; align-items:center; gap:4px; width:max-content; max-width:100%; margin:0 0 20px; padding:4px; border:1px solid #dce5ef; border-radius:10px; background:#f5f8fb; }.workspace-tabs button,.geo-page-tabs button { min-height:38px; border:0; border-radius:7px; padding:8px 15px; background:transparent; color:#607286; font:600 13px/1.2 inherit; cursor:pointer; }.workspace-tabs button:hover,.geo-page-tabs button:hover { color:#244f85; background:#eef4fb; }.workspace-tabs button.active,.geo-page-tabs button.active { color:#174f92; background:#fff; box-shadow:0 1px 3px rgba(25,52,82,.13); }.workspace-tabs button:focus-visible,.geo-page-tabs button:focus-visible { outline:2px solid #4b83c4; outline-offset:2px; }
.list-pagination { display:flex; align-items:center; justify-content:flex-end; gap:9px; min-height:48px; padding:10px 14px; color:var(--muted); font-size:12px; }.list-pagination b { min-width:42px; color:var(--ink); text-align:center; font-size:12px; }.list-pagination .button { min-height:30px; padding:5px 10px; }
.audit-detail-actions { display:flex; flex-wrap:wrap; gap:10px; }
.website-audit-detail { display:grid; gap:22px; }.website-audit-detail section { padding:18px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }.website-audit-detail section h3 { margin:0 0 10px; font-size:14px; }.website-audit-detail section > p { margin:0; color:var(--ink-soft); line-height:1.75; white-space:pre-line; }.website-audit-action-detail { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; padding:14px 0; border-top:1px solid var(--line); }.website-audit-action-detail:first-of-type { border-top:0; padding-top:0; }.website-audit-action-detail strong { font-size:13px; }.website-audit-action-detail p { margin:5px 0; color:var(--ink-soft); font-size:12px; line-height:1.65; }.website-audit-action-detail ol { margin:8px 0; padding-left:18px; color:var(--muted); font-size:12px; line-height:1.65; }.website-audit-action-detail pre { overflow:auto; margin:10px 0; padding:12px; border-radius:6px; background:#15212a; color:#dceaf0; font:12px/1.55 ui-monospace,Consolas,monospace; white-space:pre-wrap; }.website-audit-action-detail small { color:var(--muted); font-size:12px; }.website-audit-timeline { display:grid; gap:9px; margin:0; padding:0; list-style:none; }.website-audit-timeline li { display:grid; grid-template-columns:145px minmax(0,1fr); gap:10px; color:var(--ink-soft); font-size:12px; line-height:1.55; }.website-audit-timeline strong { color:#577080; font-size:12px; }
.quick-diagnosis-intro { display:grid; grid-template-columns:minmax(0,1fr) 255px; gap:24px; margin-bottom:20px; overflow:hidden; border:1px solid #cfddee; border-radius:var(--radius); background:linear-gradient(130deg,#f7fbff 0%,#fff 62%); }.quick-diagnosis-copy { padding:23px 0 21px 23px; }.quick-diagnosis-copy h3 { margin:9px 0 7px; font-size:18px; }.quick-diagnosis-copy p { max-width:790px; margin:0; color:var(--muted); font-size:12px; line-height:1.7; }.quick-diagnosis-form { display:grid; grid-template-columns:minmax(160px,.8fr) minmax(190px,1fr) auto; gap:9px; max-width:850px; margin-top:16px; }.quick-diagnosis-form .input { min-width:0; }.quick-diagnosis-form .button { white-space:nowrap; }.quick-diagnosis-boundary { display:grid; align-content:center; gap:8px; padding:22px; border-left:1px solid #dce7f3; background:#f1f7fd; }.quick-diagnosis-boundary strong { color:#274f80; font-size:13px; }.quick-diagnosis-boundary span { padding:7px 8px; border:1px solid #d7e4f2; border-radius:5px; color:#587087; background:#fff; font-size:12px; line-height:1.4; }.quick-diagnosis-history .panel-head p { margin:4px 0 0; color:var(--muted); font-size:12px; }.quick-diagnosis-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; min-height:64px; padding:12px 0; border-bottom:1px solid var(--line); }.quick-diagnosis-row:last-child { border-bottom:0; }.quick-diagnosis-row strong,.quick-diagnosis-row small { display:block; }.quick-diagnosis-row strong { font-size:13px; }.quick-diagnosis-row small { margin-top:4px; color:var(--muted); font-size:12px; }.quick-diagnosis-row > span { display:flex; align-items:center; gap:10px; }.quick-diagnosis-row b { min-width:30px; color:#1f4f90; font:600 20px/1 Georgia,serif; text-align:right; }.quick-diagnosis-row em { max-width:290px; color:var(--muted); font-size:12px; font-style:normal; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.quick-diagnosis-detail { display:grid; gap:18px; }.quick-diagnosis-detail section { padding:18px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }.quick-diagnosis-detail section h3 { margin:0 0 11px; font-size:14px; }.quick-report-hero { display:grid; grid-template-columns:minmax(0,1fr) 96px; gap:18px; align-items:center; padding:22px; border-radius:var(--radius); color:#f8fbff; background:#172b47; }.quick-report-hero h3 { margin:8px 0; font:600 20px/1.45 Georgia,"Songti SC",serif; }.quick-report-hero p { margin:0; color:#cad7e5; font-size:12px; line-height:1.65; }.quick-report-hero small { display:block; margin-top:12px; color:#aabed4; font-size:12px; }.quick-report-hero > strong { display:grid; place-items:center; width:84px; height:84px; border:5px solid #759cf3; border-radius:50%; color:#fff; font:600 30px/1 Georgia,serif; }.quick-dimension-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line); border-radius:7px; overflow:hidden; }.quick-dimension-grid article { min-height:102px; padding:13px; background:#fbfcfe; }.quick-dimension-grid article + article { border-left:1px solid var(--line); }.quick-dimension-grid strong,.quick-dimension-grid b,.quick-dimension-grid small { display:block; }.quick-dimension-grid strong { color:var(--ink-soft); font-size:12px; }.quick-dimension-grid b { margin:7px 0 6px; color:#205797; font:600 23px/1 Georgia,serif; }.quick-dimension-grid small { color:var(--muted); font-size:12px; line-height:1.45; }.quick-identity { margin:0 0 13px; color:var(--muted); font-size:12px; }.quick-identity a,.quick-source-list a { color:#295eac; overflow-wrap:anywhere; }.quick-question-list,.quick-competitor-list,.quick-source-list { display:grid; gap:10px; margin:0; padding:0; list-style:none; }.quick-question-list li { display:grid; grid-template-columns:62px minmax(0,1fr); gap:10px; align-items:start; padding:10px 0; border-top:1px solid var(--line); }.quick-question-list li:first-child { border-top:0; padding-top:0; }.quick-question-list strong,.quick-question-list small,.quick-competitor-list strong,.quick-competitor-list small,.quick-source-list small { display:block; }.quick-question-list strong,.quick-competitor-list strong { font-size:12px; }.quick-question-list small,.quick-competitor-list small,.quick-source-list small { margin-top:3px; color:var(--muted); font-size:12px; line-height:1.5; }.quick-coverage { padding:3px 5px; border-radius:4px; color:#6b7280; background:#eef1f4; font-size:12px; text-align:center; }.quick-coverage.supported { color:#26724e; background:#e7f5ed; }.quick-coverage.partial { color:#8d641d; background:#fff5df; }.quick-competitor-list { grid-template-columns:repeat(2,minmax(0,1fr)); }.quick-competitor-list li { padding:10px; border:1px solid var(--line); border-radius:6px; background:#fbfcfe; }.quick-finding-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.quick-finding-list article { padding:12px; border-left:3px solid #84a8dd; background:#f7faff; }.quick-finding-list strong { font-size:12px; }.quick-finding-list p { margin:5px 0; color:var(--ink-soft); font-size:12px; line-height:1.6; }.quick-finding-list small { color:var(--muted); font-size:12px; }.quick-action { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; padding:13px 0; border-top:1px solid var(--line); }.quick-action:first-of-type { padding-top:0; border-top:0; }.quick-action strong { font-size:13px; }.quick-action p { margin:5px 0; color:var(--ink-soft); font-size:12px; line-height:1.6; }.quick-action ol { margin:8px 0 0; padding-left:18px; color:var(--muted); font-size:12px; line-height:1.65; }.quick-source-list li { padding:8px 0; border-bottom:1px solid var(--line); }.quick-source-list li:last-child { border-bottom:0; }.quick-limitations { margin:13px 0 0; color:#6d7d8f; font-size:12px; line-height:1.65; }
.client-geo-report { display:grid; gap:24px; max-width:1120px; margin:0 auto; padding-bottom:12px; color:#24364b; }.client-report-hero { display:grid; grid-template-columns:minmax(0,1fr) 152px; gap:28px; align-items:center; padding:30px; overflow:hidden; border-radius:14px; color:#f7f8ff; background:radial-gradient(circle at 88% 12%,rgba(140,101,255,.42),transparent 27%),linear-gradient(120deg,#1c1748,#2c1571 68%,#3d218e); }.client-report-hero > div { min-width:0; }.client-report-hero > div > span { color:#cfc7ff; font-size:12px; font-weight:800; letter-spacing:.14em; }.client-report-hero h2 { margin:9px 0 10px; font:600 27px/1.25 Georgia,"Songti SC",serif; letter-spacing:-.025em; }.client-report-hero p { max-width:770px; margin:0; color:#dedaff; font-size:12px; line-height:1.75; }.client-report-hero small { display:block; margin-top:14px; color:#bdb5ed; font-size:12px; }.client-report-hero aside { display:grid; justify-items:center; gap:5px; padding:17px 8px; border:1px solid rgba(255,255,255,.22); border-radius:11px; background:rgba(255,255,255,.09); text-align:center; }.client-report-hero aside strong { font:600 43px/1 Georgia,serif; }.client-report-hero aside small { margin:0; color:#dedaff; }.client-report-hero aside em { margin-top:5px; padding:3px 6px; border-radius:3px; color:#fff; background:rgba(255,255,255,.14); font-size:12px; font-style:normal; }
.client-report-section { padding:0 2px; }.client-section-head { display:grid; grid-template-columns:52px minmax(0,1fr); gap:12px; align-items:start; margin-bottom:14px; }.client-section-head > span { color:#9e8df0; font:600 31px/.95 Georgia,serif; letter-spacing:-.05em; }.client-section-head h3 { margin:0; color:#272e43; font-size:17px; }.client-section-head p { margin:4px 0 0; color:#758198; font-size:12px; line-height:1.6; }.client-overview-grid { display:grid; grid-template-columns:1.12fr 1fr 1fr; border:1px solid #dfe3ee; border-radius:10px; overflow:hidden; background:#fff; }.client-overview-grid > article { min-height:140px; padding:18px; }.client-overview-grid > article + article { border-left:1px solid #e3e7ef; }.client-overview-grid h4 { margin:0 0 12px; color:#30364d; font-size:12px; }.client-overview-score { display:grid; align-content:center; background:#f7f6ff; }.client-overview-score b { color:#5837d8; font:600 45px/.95 Georgia,serif; }.client-overview-score span { margin-top:7px; color:#35344b; font-size:13px; font-weight:700; }.client-overview-score small { margin-top:7px; color:#818aa0; font-size:12px; }.client-positive-list,.client-risk-list { display:grid; gap:8px; margin:0; padding:0; list-style:none; }.client-positive-list li,.client-risk-list li { position:relative; padding-left:13px; color:#566176; font-size:12px; line-height:1.55; }.client-positive-list li:before,.client-risk-list li:before { content:""; position:absolute; top:7px; left:0; width:5px; height:5px; border-radius:50%; }.client-positive-list li:before { background:#47a978; }.client-risk-list li:before { background:#dd825f; }
.client-evaluation-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.client-evaluation-grid article { min-height:172px; padding:17px; border:1px solid #dcd8fb; border-radius:9px; background:#fbfaff; }.client-evaluation-grid article:nth-child(2) { border-color:#d8e9fc; background:#f8fcff; }.client-evaluation-grid article:nth-child(3) { border-color:#d9f0e2; background:#f9fdf9; }.client-evaluation-grid article:nth-child(4) { border-color:#f1e2ce; background:#fffdf9; }.client-evaluation-grid span { color:#9a8ae4; font:600 12px Georgia,serif; }.client-evaluation-grid b { display:block; margin:15px 0 7px; color:#4d30c4; font:600 33px/1 Georgia,serif; }.client-evaluation-grid strong { display:block; color:#30364b; font-size:12px; }.client-evaluation-grid p { margin:7px 0 0; color:#738095; font-size:12px; line-height:1.55; }
.client-personas { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }.client-personas article { padding:16px; border-top:3px solid #8066e9; border-radius:7px; background:#fff; box-shadow:0 1px 0 #e6e9f0,0 5px 15px rgba(30,43,73,.04); }.client-personas article:nth-child(2) { border-color:#4e96e1; }.client-personas article:nth-child(3) { border-color:#5ab17b; }.client-personas strong,.client-personas small { display:block; }.client-personas strong { color:#30364a; font-size:13px; }.client-personas small { margin-top:5px; color:#7663c9; font-size:12px; }.client-personas p { margin:10px 0 0; color:#6f7c91; font-size:12px; line-height:1.55; }.client-personas p b { display:block; margin-bottom:2px; color:#3c485b; font-size:12px; }
.client-visibility-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.client-visibility-grid article { padding:15px; border:1px solid #e0e3ef; border-radius:8px; background:#fff; }.client-visibility-grid strong { color:#34405a; font-size:12px; }.client-visibility-grid p { margin:5px 0 11px; color:#7a8599; font-size:12px; line-height:1.5; }.client-visibility-grid div { display:flex; flex-wrap:wrap; gap:5px; }.client-visibility-grid div span { padding:4px 6px; border-radius:3px; color:#6253af; background:#f0edff; font-size:12px; line-height:1.3; }.client-coverage-layout { display:grid; grid-template-columns:minmax(0,1fr) 188px; gap:18px; align-items:stretch; margin-top:13px; padding:16px; border-radius:9px; background:#fafbfe; }.client-coverage-layout h4 { margin:0 0 10px; color:#354057; font-size:12px; }.client-coverage-layout aside { display:grid; align-content:center; justify-items:center; padding:16px; border-left:1px solid #e1e5ee; text-align:center; }.client-coverage-layout aside strong { color:#5b38da; font:600 38px/1 Georgia,serif; }.client-coverage-layout aside small { margin-top:5px; color:#657086; font-size:12px; }.client-coverage-layout aside p { margin:9px 0 0; color:#7a8597; font-size:12px; line-height:1.5; }
.client-foundation-list { display:grid; gap:0; margin:0; padding:0; overflow:hidden; border:1px solid #e0e4ed; border-radius:8px; list-style:none; background:#fff; }.client-foundation-list li { display:grid; grid-template-columns:73px minmax(0,1fr); gap:12px; padding:13px 15px; border-top:1px solid #e7e9f0; }.client-foundation-list li:first-child { border-top:0; }.quick-foundation-status { align-self:start; padding:3px 5px; border-radius:3px; color:#7a8495; background:#edf0f4; font-size:12px; text-align:center; }.quick-foundation-status.ready { color:#298357; background:#e6f5eb; }.quick-foundation-status.partial { color:#976717; background:#fff3dc; }.quick-foundation-status.missing { color:#a74b3d; background:#ffece8; }.client-foundation-list strong { color:#354056; font-size:12px; }.client-foundation-list p { margin:4px 0; color:#6f7c90; font-size:12px; line-height:1.55; }.client-foundation-list small { color:#7866c9; font-size:12px; }
.client-competitor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.client-competitor-grid article { display:grid; gap:5px; min-height:103px; padding:14px; border:1px solid #e1e4ed; border-radius:7px; background:#fff; }.client-competitor-grid strong { color:#374057; font-size:12px; }.client-competitor-grid small { color:#6f7c90; font-size:12px; line-height:1.55; }.client-competitor-grid em { align-self:end; justify-self:start; padding:3px 5px; border-radius:3px; color:#7c69c8; background:#f0edff; font-size:12px; font-style:normal; }
.client-outcome-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:12px; border:1px solid #e1e4ef; border-radius:8px; overflow:hidden; background:#fff; }.client-outcome-metrics article { padding:14px; text-align:center; }.client-outcome-metrics article + article { border-left:1px solid #e4e7ef; }.client-outcome-metrics b,.client-outcome-metrics span { display:block; }.client-outcome-metrics b { color:#5c39dc; font:600 28px/1 Georgia,serif; }.client-outcome-metrics span { margin-top:5px; color:#69758a; font-size:12px; }.client-roadmap { display:grid; gap:0; border:1px solid #e1e4ed; border-radius:8px; overflow:hidden; background:#fff; }.client-roadmap article { display:grid; grid-template-columns:30px minmax(0,1fr); gap:11px; padding:14px; border-top:1px solid #e7e9f0; }.client-roadmap article:first-child { border-top:0; }.client-roadmap article > span { display:grid; place-items:center; align-self:start; height:24px; border-radius:4px; color:#643fd7; background:#eeeaff; font-size:12px; font-weight:800; }.client-roadmap strong { color:#354057; font-size:12px; }.client-roadmap p { margin:4px 0; color:#6f7c90; font-size:12px; line-height:1.55; }.client-roadmap ol { margin:7px 0 0; padding-left:17px; color:#5e6a7e; font-size:12px; line-height:1.65; }.client-evidence { padding-top:3px; border-top:1px solid #e2e5ed; }.client-evidence-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr); gap:14px; }.client-evidence-grid > div { padding:15px; border:1px solid #e1e4ed; border-radius:8px; background:#fafbfe; }.client-evidence-grid h4 { margin:0 0 9px; color:#3d465a; font-size:12px; }.client-evidence-grid p { margin:0; color:#6e7a8f; font-size:12px; line-height:1.7; }.client-evidence-grid h4:nth-of-type(2) { margin-top:16px; }
.diagnostic-empty { display:grid; grid-template-columns:minmax(250px,1fr) minmax(240px,.8fr) minmax(220px,.9fr) auto; gap:20px; align-items:center; min-height:164px; padding:24px; text-align:left; }.diagnostic-empty-head { display:grid; gap:7px; min-width:0; }.diagnostic-empty-head strong { font-size:15px; line-height:1.4; }.diagnostic-empty-head p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }.diagnostic-counts { display:grid; grid-template-columns:repeat(3,minmax(70px,1fr)); min-width:240px; border-left:1px solid var(--line); }.diagnostic-counts span { padding:0 12px; text-align:center; }.diagnostic-counts span + span { border-left:1px solid var(--line); }.diagnostic-counts strong,.diagnostic-counts small { display:block; }.diagnostic-counts strong { color:#1f4f90; font-size:20px; line-height:1.25; }.diagnostic-counts small { margin-top:4px; color:var(--muted); font-size:12px; white-space:nowrap; }.diagnostic-reasons { display:grid; gap:7px; max-width:100%; margin:0; padding:0; list-style:none; }.diagnostic-reasons li { display:flex; gap:8px; align-items:baseline; color:var(--muted); font-size:12px; line-height:1.45; }.diagnostic-reasons li span { min-width:0; overflow-wrap:anywhere; }.diagnostic-reasons strong { flex:0 0 auto; color:#9a5a18; }.diagnostic-empty > .button { white-space:nowrap; }

/* 全系统可读性基线：辅助信息不再低于 13px；标题与数值指标保留自己的更大字号。 */
#app :where(p, small, span, label, button, input, select, textarea, th, td, li, a, summary, em, code) { font-size:max(13px, 1em) !important; }
#app :where(.eyebrow, .ai-state, .proof-label, .proof-row, .pipeline-meta, .channel-logo, .channel-mode, .channel-targets, .platform-mark, .geo-notice, .geo-measurement-note, .geo-filter-note, .geo-kpi > div, .geo-chart-labels, .geo-chart-empty, .geo-data-empty, .raw-answer, .login-page-origin, .login-zoom-hint, .template-article-warning, .audit-model-line, .website-audit-score, .audit-priority, .growth-kicker, .growth-priority, .growth-target, .task-priority, .opportunity-type, .generator-label, .settings-note, .remember-row, .login-proof-list, .diagnostic-reasons, .diagnostic-counts) { font-size:13px !important; }
#app :where(.channel-copy strong, .geo-query-row strong, .observation-row strong, .geo-runtime-platforms strong, .geo-topic-list strong, .geo-topic-list b, .geo-task strong, .geo-task em, .retest-list strong, .retest-list em, .connector-row strong, .connector-row em, .competitor-list strong, .geo-proof-grid strong, .geo-login-status strong, .quality-summary > strong, .quality-dimensions small, .quality-dimensions em, .quality-notes strong, .report-retests strong, .content-engine strong, .publish-option strong, .toast strong, .generation-progress small, .article-operation-row em, .user-permission-tags i, .user-actions em, .management-list strong em, .wechatsync-mini-platforms i, .website-audit-actions strong, .audit-findings strong, .audit-platforms b) { font-size:13px !important; }
/* 个别原本就大于 13px 的强调信息保持原有层级。 */
#app .article-content .lead { font-size:16px !important; }
#app .login-story-copy p { font-size:15px !important; }
#app .score-ring span { font-size:22px !important; }
#app .login-preview-close { font-size:30px !important; }

/* 弹窗内容单独兜底：报告、证据与表单内的所有文字均不低于 13px。 */
#drawer :where(p, small, span, label, button, input, select, textarea, th, td, li, a, summary, strong, b, em, code, pre) { font-size:max(13px, 1em) !important; }
#drawer :where(.task-priority, .retest-day small, .raw-answer, .login-zoom-hint, .login-page-origin, .template-article-warning, .generator-label, .article-quick-actions .button, .report-delta) { font-size:13px !important; }
#drawer .quality-score strong { font:600 32px/1 Georgia,serif !important; }
#drawer .report-kpis strong { font:600 20px Georgia,serif !important; }

.quick-diagnosis-history { margin-bottom:20px; overflow:hidden; border:1px solid #dbe4ef; border-radius:var(--radius); background:#fff; box-shadow:0 7px 20px rgba(26,52,87,.035); }.quick-diagnosis-history .panel-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid #e5ebf2; }.quick-diagnosis-list { display:grid; }.quick-diagnosis-card { display:grid; grid-template-columns:76px minmax(0,1fr) 86px 132px; gap:18px; align-items:center; min-height:100px; padding:15px 20px; border-top:1px solid #e9eef4; transition:background .18s ease; }.website-audit-record { grid-template-columns:76px minmax(0,1fr) 132px; }.quick-diagnosis-card:first-child { border-top:0; }.quick-diagnosis-card:hover { background:#f9fbfe; }.quick-record-status { display:grid; place-items:center; min-height:42px; padding:6px; border-radius:7px; color:#52708c; background:#edf3f8; text-align:center; }.quick-record-status span { font-size:12px; font-weight:800; }.quick-record-status.completed { color:#238052; background:#e8f7ee; }.quick-record-status.failed { color:#b64c42; background:#fff0ee; }.quick-record-status.researching,.quick-record-status.analyzing,.quick-record-status.queued { color:#8a681e; background:#fff5df; }.quick-record-main { min-width:0; }.quick-record-main strong,.quick-record-main small { display:block; }.quick-record-main strong { color:#263b55; font-size:14px; }.quick-record-main small { margin-top:4px; color:#718098; font-size:12px; }.quick-record-main p { margin:7px 0 0; overflow:hidden; color:#66768b; font-size:12px; line-height:1.5; text-overflow:ellipsis; white-space:nowrap; }.quick-record-score { display:grid; justify-items:center; gap:3px; padding:4px 0; border-left:1px solid #e6ecf2; border-right:1px solid #e6ecf2; }.quick-record-score b { color:#245995; font:600 28px/1 Georgia,serif; }.quick-record-score small { color:#76849a; font-size:12px; }.quick-record-action { display:grid; justify-items:end; gap:9px; }.quick-record-action > span { color:#718096; font-size:12px; }.quick-record-action .button { min-width:92px; white-space:nowrap; }.brand-geo-date-filter { display:flex; align-items:flex-end; gap:18px; margin-bottom:14px; padding:14px 16px; border:1px solid #dbe4ef; border-radius:var(--radius); background:#fff; }.brand-geo-date-copy { display:grid; gap:3px; min-width:220px; margin-right:auto; }.brand-geo-date-copy strong { color:#263b55; font-size:14px; }.brand-geo-date-copy small { color:#718096; font-size:12px; line-height:1.45; }.brand-geo-date-fields { display:flex; align-items:flex-end; gap:9px; }.brand-geo-date-fields label { display:grid; gap:5px; }.brand-geo-date-fields label span { color:#66768b; font-size:12px; font-weight:700; }.brand-geo-date-fields input { width:145px; min-height:38px; }.brand-geo-date-fields i { padding-bottom:11px; color:#8a98aa; font-size:12px; font-style:normal; }.brand-geo-date-actions { display:flex; gap:8px; }.brand-geo-date-actions .button { min-height:38px; white-space:nowrap; }.brand-geo-loading { display:flex; align-items:center; gap:14px; min-height:132px; padding:22px; border:1px solid #dbe4ef; border-radius:var(--radius); background:#fff; }.brand-geo-loading > div { display:grid; gap:5px; }.brand-geo-loading strong { color:#2c4059; font-size:15px; }.brand-geo-loading p { margin:0; color:#718096; font-size:12px; line-height:1.65; }.brand-geo-loading.failed { border-color:#f0d2cc; background:#fffaf9; }.brand-geo-loading .button { justify-self:start; margin-top:7px; }.brand-geo-report > .effect-report { max-width:1240px; }.brand-geo-report .effect-report > .form-actions { padding-bottom:0; }
.geo-recent-panel .observation-list { gap:0; }.geo-recent-panel .observation-row { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:11px; align-items:start; min-height:84px; padding:13px 14px; border-bottom:1px solid #e7edf3; }.geo-recent-panel .observation-row:hover { background:#f8fbfe; }.geo-recent-panel .platform-mark.small { margin-top:2px; }.observation-copy { display:grid; min-width:0; gap:4px; text-align:left; }.observation-copy strong { overflow:hidden; color:#2b415b; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }.observation-copy p { display:-webkit-box; margin:0; overflow:hidden; color:#40556d; font-size:13px; font-weight:600; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.observation-copy small { overflow:hidden; color:#78869a; font-size:12px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }.geo-recent-panel .evidence-badge { align-self:center; padding:5px 7px; color:#547087; background:#edf3f8; font-size:12px; }.geo-recent-panel .observation-row:focus-visible { outline:2px solid #6b9cdd; outline-offset:-2px; }
.brand-geo-report .effect-report { --client-report-gap:18px; }.brand-geo-report .effect-report-hero { margin-bottom:4px; }.brand-geo-report .effect-score-note,.brand-geo-report .effect-lead,.brand-geo-report .effect-note,.brand-geo-report .effect-roles { display:none; }.brand-geo-report .effect-dimension-grid { margin:14px 0 18px; }.brand-geo-report .client-dimension-grid article { min-height:82px; padding:13px 14px; }.brand-geo-report .client-dimension-grid article > div { align-self:center; }.brand-geo-report .effect-section { padding:20px 0; }.brand-geo-report .effect-section-head { margin-bottom:12px; }.brand-geo-report .effect-metric-grid article { min-height:74px; padding:12px; }.brand-geo-report .effect-metric-grid em { display:none; }.brand-geo-report .effect-accuracy { grid-template-columns:130px minmax(0,1fr); gap:14px; padding:13px 15px; }.brand-geo-report .effect-accuracy p { display:none; }.brand-geo-report .effect-insight-list { gap:8px; }.brand-geo-report .effect-insight-list article { padding:10px 0; }.brand-geo-report .effect-insight-list p { display:-webkit-box; overflow:hidden; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.brand-geo-report .effect-ai-detail > p { display:-webkit-box; overflow:hidden; margin:0 0 9px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.brand-geo-report .effect-ai-detail ul { margin:5px 0 0; }.brand-geo-report .effect-ai-detail li:nth-child(n+4) { display:none; }.brand-geo-report .effect-diagnosis-list { gap:12px; }.brand-geo-report .effect-diagnosis-list article { padding:12px 0; border-top:1px solid #e7edf3; }.brand-geo-report .effect-diagnosis-list article:first-child { border-top:0; padding-top:0; }.brand-geo-report .effect-diagnosis-list ol { margin:7px 0 0; }.brand-geo-report .effect-empty-inline { padding:13px 15px; font-size:12px; }.brand-geo-report .effect-ai-state { min-height:48px; padding:12px 14px; }.brand-geo-report .effect-ai-state strong { margin-top:3px; }
@media (max-width:1050px) {
  .admin-layout { grid-template-columns:1fr; }
  .admin-section-nav { position:static; }
  .admin-section-nav .admin-nav-title,.admin-section-nav > p { display:none; }
  .admin-section-nav nav { display:flex; gap:4px; overflow-x:auto; padding:6px; }
  .admin-section-nav a { flex:1 0 150px; grid-template-columns:24px minmax(0,1fr); padding:9px 10px; }
}
@media (max-width:700px) {
  .task-workflow-state { padding:17px 14px 12px; justify-items:start; text-align:left; }
  .task-workflow-state strong { font-size:17px; }
  .task-workflow-steps { grid-template-columns:1fr; gap:14px; padding:0 14px 17px; }
  .task-workflow-steps article { padding:0; }
  .task-workflow-steps article:not(:last-child)::after { top:22px; right:auto; bottom:-14px; left:11px; width:1px; height:auto; }
  .task-workflow.compact .task-workflow-steps { grid-template-columns:1fr; }
  .quick-diagnosis-card { grid-template-columns:70px minmax(0,1fr); gap:12px; padding:14px; }.quick-record-score { grid-column:1; border:0; justify-items:start; padding-left:6px; }.quick-record-action { grid-column:2; grid-row:2; justify-items:start; align-self:center; grid-template-columns:auto auto; align-items:center; }.quick-record-main p { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }.quick-diagnosis-history .panel-head { padding:15px; }.geo-recent-panel .observation-row { grid-template-columns:30px minmax(0,1fr); min-height:92px; padding:12px; }.geo-recent-panel .evidence-badge { grid-column:2; justify-self:start; }.brand-geo-date-filter { align-items:stretch; flex-direction:column; gap:12px; }.brand-geo-date-copy { min-width:0; margin-right:0; }.brand-geo-date-fields { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:end; }.brand-geo-date-fields input { width:100%; }.brand-geo-date-actions { justify-content:flex-end; }.brand-geo-report .effect-accuracy { grid-template-columns:1fr; }.brand-geo-report .effect-metric-grid { grid-template-columns:1fr 1fr; }
  .drawer,.drawer.login-drawer,.drawer.editor-drawer,.drawer.article-drawer { inset:12px; width:calc(100vw - 24px); max-height:calc(100vh - 24px); border-radius:14px; }
  .content-action-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .channel-grid.compact { grid-template-columns:1fr; }
  .settings-section { padding:15px; }
  .settings-section>.panel-head { align-items:flex-start; flex-direction:column; }
  .admin-page-heading { margin-bottom:16px; padding-bottom:14px; }
  .admin-layout,.admin-content,.foundation-workspace { gap:14px; }
  .admin-section-nav a { flex-basis:132px; }.admin-section-nav a small { display:none; }
  .admin-content .settings-section > .panel-head { padding:15px; }
  .admin-content .settings-section > :not(.panel-head),.admin-content .settings-section > .user-list,.admin-content .settings-section > .customer-status-tabs { margin-left:15px; margin-right:15px; }
  .foundation-knowledge-anchor,.foundation-wide-anchor { grid-column:auto; }
  .article-operation-row { grid-template-columns:30px minmax(0,1fr); }
  .article-operation-row>a,.article-operation-row>em { grid-column:2; }
  .wechatsync-summary { grid-template-columns:42px minmax(0,1fr); }
  .wechatsync-mini-platforms { grid-column:1/-1; justify-content:flex-start; }
  .wechatsync-item { grid-template-columns:38px minmax(0,1fr); }
  .wechatsync-item-status { grid-column:2; }
  .wechatsync-selection-head { align-items:flex-start; flex-direction:column; }
  .wechatsync-account-list { grid-template-columns:1fr; }
  .wechatsync-publication-row { grid-template-columns:1fr; gap:7px; }
  .manual-publication-entry { align-items:flex-start; flex-direction:column; }.manual-publication-entry .button { width:100%; justify-content:center; }.manual-publication-history li { grid-template-columns:1fr; gap:5px; }
  .user-row { grid-template-columns:38px minmax(0,1fr); }
  .llm-profile-summary { align-items:flex-start; flex-direction:column; gap:8px; }
  .llm-profile-summary>span { padding:0; border:0; }
  .llm-profile-row { grid-template-columns:40px minmax(0,1fr); }
  .llm-profile-actions { grid-column:1/-1; justify-content:flex-start; padding-left:53px; }
  .user-permission-tags,.user-actions { grid-column:2; justify-content:flex-start; }
  .permission-grid { grid-template-columns:1fr; }
  .management-list article { align-items:flex-start; flex-direction:column; }
  .foundation-workspace { grid-template-columns:1fr; }.foundation-knowledge-card,.foundation-project-cases-card { grid-column:auto; }.foundation-card-head { align-items:flex-start; flex-direction:column; }.foundation-table { min-width:560px; }
  .growth-brief { grid-template-columns:1fr; }.growth-baseline { width:100%; border-top:1px solid #dbe5f5; border-left:0; padding-top:14px; }.growth-path-steps { grid-template-columns:1fr 1fr; }.growth-path-steps article:nth-child(odd) { border-left:0; }.growth-path-steps article:nth-child(n+3) { border-top:1px solid var(--line); }.growth-task { grid-template-columns:1fr; gap:15px; }.growth-task-actions { justify-items:start; grid-auto-flow:column; justify-content:start; }.growth-path-head { align-items:flex-start; flex-direction:column; }.baseline-runner { grid-template-columns:1fr; }.baseline-plan { width:100%; border-top:1px solid var(--line); border-left:0; padding-top:14px; }.baseline-actions,.baseline-progress { align-items:flex-start; flex-wrap:wrap; }.baseline-progress .button { margin-left:auto; }.website-audit-panel { grid-template-columns:1fr; }.website-audit-intro { padding:20px; }.website-audit-score { grid-row:1; grid-column:1; justify-items:start; padding:16px 20px; border-bottom:1px solid #dce7f3; border-left:0; text-align:left; }.website-audit-results { grid-template-columns:1fr; }.website-audit-actions { border-top:1px solid var(--line); border-left:0; }.website-audit-evidence > div { grid-template-columns:1fr; }.diagnostic-empty { grid-template-columns:1fr; gap:14px; }.diagnostic-counts { border-top:1px solid var(--line); border-left:0; padding-top:13px; }.diagnostic-empty > .button { justify-self:start; }
  .client-report-hero,.client-overview-grid,.client-evidence-grid,.client-coverage-layout { grid-template-columns:1fr; }.client-report-hero aside { justify-self:start; width:130px; }.client-overview-grid > article + article { border-top:1px solid #e3e7ef; border-left:0; }.client-evaluation-grid,.client-personas,.client-competitor-grid { grid-template-columns:1fr; }.client-visibility-grid { grid-template-columns:1fr; }.client-coverage-layout aside { border-top:1px solid #e1e5ee; border-left:0; }.client-section-head { grid-template-columns:42px minmax(0,1fr); }
}

/* ==========================================================================
   GEO Pilot · Industrial instrument console theme
   Visual-only system refresh. Existing structure and behaviour stay intact.
   ========================================================================== */

:root {
  --ink: #172231;
  --ink-soft: #3f4b5c;
  --muted: #697587;
  --paper: #eef1f4;
  --surface: #ffffff;
  --surface-soft: #f5f7f9;
  --line: #d5dbe2;
  --line-strong: #c2cad3;
  --nav: #172330;
  --nav-soft: #2a3948;
  --accent: #2c61b2;
  --accent-dark: #214d91;
  --green: #27835b;
  --green-soft: #edf6f1;
  --amber: #bd650e;
  --amber-soft: #fff4e8;
  --red: #b33f46;
  --red-soft: #fbecee;
  --shadow: 0 10px 28px rgba(20, 31, 43, .08);
  --radius-sm: 3px;
  --radius: 4px;
  --radius-lg: 5px;
  --sidebar: 184px;
}

html { scroll-behavior: auto; }
body {
  min-width: 0;
  background: var(--paper);
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid rgba(44, 97, 178, .34);
  outline-offset: 2px;
}

/* App frame */
.sidebar {
  width: var(--sidebar);
  padding: 0 0 14px;
  border-right: 1px solid #31404d;
  background: #172330;
}
.brand {
  min-height: 66px;
  gap: 9px;
  padding: 0 20px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.brand strong { font-size: 18px; letter-spacing: -.01em; }
.brand small { display: none; }
.brand-mark {
  width: 23px;
  height: 23px;
  gap: 2px;
  padding: 5px;
  border: 0;
  border-radius: 3px;
  background: var(--accent);
}
.brand-mark span { border-radius: 0; background: #fff; }
.workspace-switcher { margin: 12px 10px 6px; }
.nav-list { gap: 2px; padding: 8px 0; }
.nav-item {
  position: relative;
  min-height: 54px;
  gap: 11px;
  padding: 0 20px;
  border-radius: 0;
  color: #c0cad4;
  font-size: 14px;
  transition: background .12s ease, color .12s ease;
}
.nav-item:hover { color: #fff; background: rgba(255,255,255,.055); }
.nav-item:active { transform: none; }
.nav-item.active { color: #fff; background: #2a3948; }
.nav-item.active::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #4c84d6;
}
.nav-item.active::after { display: none; }
.nav-item svg { width: 17px; height: 17px; stroke-width: 1.7; }
.sidebar-foot {
  margin: auto 14px 0;
  padding: 15px 4px 0;
  border-top-color: rgba(255,255,255,.11);
}
.workspace-chip strong { color: #e9edf1; font-weight: 600; }
.workspace-chip small { color: #8e9cab; }
.sidebar-foot .icon-button { border-radius: 2px; color: #aeb9c3; }
.sidebar-foot .icon-button:hover { color: #fff; background: rgba(255,255,255,.07); }

.main-area {
  min-height: 100vh;
  margin-left: var(--sidebar);
  background: var(--surface);
}
.page {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 28px 28px 42px;
  animation: none;
}
.page-heading {
  min-height: 58px;
  align-items: center;
  margin: -28px -28px 24px;
  padding: 0 28px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.page-heading h2 {
  margin: 0;
  font-family: inherit;
  font-size: 22px;
  font-weight: 650;
  letter-spacing: -.02em;
}
.page-heading .eyebrow { display: none; }
.eyebrow {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}

/* Controls */
.button {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 650;
  box-shadow: none;
  transition: background .12s ease, border-color .12s ease, color .12s ease;
}
.button:hover { transform: none; }
.button:active { transform: translateY(1px); }
.button.primary,
.hero .button.primary {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
  box-shadow: none;
}
.button.primary:hover,
.hero .button.primary:hover { background: var(--accent-dark); border-color: var(--accent-dark); }
.button.secondary { background: #fff; border-color: var(--line-strong); }
.button.secondary:hover { background: var(--surface-soft); border-color: #9ca8b5; }
.button.quiet { min-height: 34px; color: var(--accent); }
.button.quiet:hover { background: #edf2f8; }
.button.danger { border-color: #e8c5c9; }
.icon-button { width: 36px; height: 36px; border-radius: 3px; }
.input,
.filter-select,
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  border-color: var(--line-strong);
  border-radius: 3px;
  background: #fff;
  box-shadow: none;
}
.input:focus,
.filter-select:focus,
input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(44,97,178,.09);
}

/* Shared surfaces */
:where(.panel,.table-wrap,.settings-section,.content-engine,.content-action-metrics,
  .quick-diagnosis-history,.brand-geo-date-filter,.brand-geo-loading,
  .website-audit-panel,.query-workspace-section,.query-center-shell,
  .customer-quota-panel,.workbench-section) {
  border-color: var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: none;
}
.panel-head {
  min-height: 54px;
  padding: 12px 16px;
}
.panel-head h2,.panel-head h3 { font-size: 14px; }
.panel-head p { color: var(--muted); }
.panel-body { padding: 16px; }
.section-grid { gap: 16px; }

.metrics,
.content-action-metrics {
  overflow: hidden;
  margin: 0 0 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: none;
}
.metric,
.content-action-metric,
.optimization-metric {
  min-height: 106px;
  padding: 18px 20px;
  border-color: var(--line);
  background: #fff;
}
.metric-icon { display: none; }
.metric { grid-template-columns: 1fr; gap: 0; }
.metric strong,
.content-action-metric strong,
.optimization-metric strong {
  font-family: inherit;
  color: var(--accent);
  font-size: 28px;
  font-weight: 650;
}

/* Tables and ledger rows */
.table-wrap { overflow: auto; border: 1px solid var(--line); }
.data-table { width: 100%; border-collapse: collapse; background: #fff; }
.data-table thead { background: #f6f8fa; }
.data-table th {
  height: 45px;
  padding: 0 16px;
  border-bottom: 1px solid var(--line);
  color: #586476;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .01em;
  text-transform: none;
}
.data-table td {
  min-height: 54px;
  padding: 13px 16px;
  border-bottom: 1px solid #e3e7eb;
}
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #f5f8fc; }
.data-table a { color: var(--accent); }
.pipeline-row { min-height: 58px; padding: 9px 16px; border-bottom-color: #e3e7eb; }
.pipeline-row:hover { background: #f5f8fc; }
.step-index { border-radius: 2px; background: #edf1f5; font-family: inherit; }
.channel-logo { border-radius: 3px; }

.tag {
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 650;
}
.tag.draft,.tag.cancelled { border-color: #d8dde1; }
.tag.generating,.tag.queued,.tag.processing,.tag.retrying,.tag.ready { border-color: #d2dce8; }
.tag.review { border-color: #efdbb8; }
.tag.approved,.tag.published,.tag.success { border-color: #cfe3d8; }
.tag.failed { border-color: #ebc9cd; }
.status-dot { width: 7px; height: 7px; box-shadow: none; }

/* Workbench */
.workbench-heading { margin-bottom: 18px; }
.workbench-section {
  margin-bottom: 18px;
  border-radius: var(--radius);
}
.workbench-section-head { min-height: 62px; padding: 13px 18px; }
.workbench-section-head .eyebrow { display: none; }
.workbench-section-head h3 { margin: 0; font-size: 15px; }
.workbench-metric { min-height: 126px; padding: 19px 22px; }
.workbench-metric::before { width: 2px; opacity: 1; }
.workbench-metric strong {
  font-family: inherit;
  font-size: 36px;
  font-weight: 650;
  letter-spacing: -.035em;
}
.workbench-metric small { color: var(--muted); }
.workbench-trend-panel { padding: 17px 18px 10px; }
.workbench-visibility-chart line { stroke: #e0e5ea; }
.workbench-visibility-chart path { stroke-width: 2; }
.workbench-trend-head i { height: 2px; border-radius: 0; }
.workbench-data-foot { padding: 10px 18px; background: #f7f9fb; }
.workbench-quota-overview { padding: 18px; }
.workbench-quota-overview strong,
.workbench-usage-summary strong { font-family: inherit; }
.workbench-quota-progress i { height: 6px; border-radius: 0; }
.workbench-quota-progress b { border-radius: 0; }
.workbench-usage-summary article::before { width: 2px; border-radius: 0; }
.workbench-usage-bars i { border-radius: 0; }

/* Content and diagnostic workspaces */
.content-engine {
  min-height: 48px;
  margin-bottom: 16px;
  padding: 10px 14px;
  border: 1px solid var(--line);
}
.content-engine .engine-mark { display: none; }
.workspace-tabs {
  gap: 0;
  margin: -8px 0 18px;
  border-bottom: 1px solid var(--line);
}
.workspace-tabs button {
  min-height: 46px;
  padding: 0 20px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--ink-soft);
  background: transparent;
}
.workspace-tabs button:hover { color: var(--accent); background: #f7f9fb; }
.workspace-tabs button.active { color: var(--accent); border-bottom-color: var(--accent); background: transparent; }
.growth-brief,
.growth-path,
.growth-task,
.growth-progress,
.quick-diagnosis-intro,
.website-audit-panel {
  border-radius: var(--radius);
  box-shadow: none;
}
.growth-task { border-color: var(--line); }
.growth-task:hover { box-shadow: none; border-color: var(--line-strong); }
.quick-diagnosis-card {
  min-height: 86px;
  padding: 13px 16px;
  border-top-color: #e3e7eb;
}
.quick-diagnosis-card:hover { background: #f5f8fc; }
.quick-record-status { border-radius: 3px; }
.quick-record-score b { font-family: inherit; color: var(--accent); }
.brand-geo-date-filter { padding: 12px 14px; }

/* Settings, forms, modals and drawers */
.settings-section { margin-bottom: 16px; border: 1px solid var(--line); }
.field label { color: var(--ink-soft); font-weight: 650; }
.drawer-backdrop,.confirm-backdrop { background: rgba(10,18,26,.52); backdrop-filter: none; }
.drawer {
  border-left: 1px solid var(--line-strong);
  border-radius: 0;
  box-shadow: -14px 0 34px rgba(15,26,37,.16);
}
.drawer-head {
  min-height: 65px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--line);
  background: #f7f9fb;
}
.drawer-head h2 { font-family: inherit; font-size: 18px; }
.drawer-body { background: #fff; }
.confirm-dialog {
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  box-shadow: var(--shadow);
}
.confirm-dialog-icon { border-radius: 3px; }
.toast {
  border: 1px solid var(--line-strong);
  border-radius: 3px;
  box-shadow: var(--shadow);
}

/* Login and forced password change */
.login-page { min-width: 0; background: #eef1f4; }
.login-shell {
  width: min(1040px, calc(100% - 48px));
  min-height: 620px;
  margin: 48px auto;
  overflow: hidden;
  border: 1px solid #cbd2da;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(20,31,43,.12);
}
.login-story {
  color: #eaf0f5;
  background: #172330;
}
.login-story::after { display: none; }
.login-story h1 { font-family: inherit; font-weight: 600; }
.login-card { border-radius: 0; box-shadow: none; }
.login-card h2 { font-family: inherit; }

/* Remove glossy/decorative treatments inherited from legacy pages */
.hero {
  border: 1px solid #31404d;
  border-radius: 4px;
  background: #172330;
}
.hero::after { display: none; }
.hero h2 { font-family: inherit; font-weight: 600; }
.proof-value { font-family: inherit; }
.quick-report-hero { border-radius: 4px; background: #172b47; }
.quick-report-hero h3 { font-family: inherit; }
.quick-report-hero > strong { font-family: inherit; }
.effect-score-orb,
.score-ring { box-shadow: none; }

/* Responsive behaviour keeps the same hierarchy instead of shrinking the desktop. */
@media (max-width: 1050px) {
  :root { --sidebar: 164px; }
  .page { padding: 22px 20px 36px; }
  .page-heading { margin: -22px -20px 20px; padding: 0 20px; }
  .nav-item { padding-inline: 16px; }
  .section-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  :root { --sidebar: 0px; }
  .sidebar {
    position: static;
    width: 100%;
    min-height: auto;
    padding-bottom: 0;
  }
  .brand { min-height: 58px; }
  .workspace-switcher { margin: 8px 10px 0; }
  .nav-list {
    display: flex;
    gap: 0;
    overflow-x: auto;
    padding: 0;
  }
  .nav-item { min-width: max-content; min-height: 46px; padding: 0 16px; }
  .nav-item.active::before { inset: auto 0 0; width: auto; height: 2px; }
  .sidebar-foot { display: none; }
  .main-area { margin-left: 0; }
  .page { min-height: calc(100vh - 104px); padding: 18px 14px 30px; }
  .page-heading {
    min-height: auto;
    align-items: stretch;
    flex-direction: column;
    margin: -18px -14px 18px;
    padding: 15px 14px;
  }
  .page-heading .toolbar { width: 100%; }
  .page-heading .toolbar > * { flex: 1; }
  .content-action-metrics,.metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric,.content-action-metric,.optimization-metric { min-height: 86px; padding: 14px; }
  .workspace-tabs { overflow-x: auto; }
  .workspace-tabs button { min-width: max-content; padding: 0 14px; }
  .login-shell { width: calc(100% - 24px); margin: 12px auto; }
  .login-story { min-height: 280px; }
}

/* Content automation stays explicit, calm, and auditable. */
.content-automation { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:0 0 16px; padding:15px 18px; border:1px solid var(--line); border-left:3px solid #8796a8; border-radius:var(--radius); background:#fff; }
.content-automation.active { border-left-color:var(--green); background:#fbfdfc; }
.content-automation.failed { border-left-color:#c5574d; background:#fffafa; }
.content-automation-main,.content-automation-meta { display:flex; align-items:center; gap:14px; min-width:0; }
.content-automation-mark { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:6px; color:#566779; background:#eef2f6; }
.content-automation.active .content-automation-mark { color:#256b54; background:#e7f3ee; }
.content-automation-mark svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; }
.content-automation-main small,.content-automation-main strong,.content-automation-main p,.content-automation-meta small,.content-automation-meta strong { display:block; }
.content-automation-main small,.content-automation-meta small { color:var(--muted); font-size:11px; font-weight:700; }
.content-automation-main strong { margin-top:2px; font-size:14px; }
.content-automation-main p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.content-automation-meta { justify-content:flex-end; }
.content-automation-meta > span { min-width:108px; padding-left:14px; border-left:1px solid var(--line); }
.content-automation-meta strong { max-width:190px; margin-top:3px; overflow:hidden; color:var(--ink-soft); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.automation-form-intro { display:flex; gap:13px; margin-bottom:20px; padding:15px; border:1px solid var(--line); border-radius:var(--radius); background:#f7f9fb; }
.automation-form-intro > span { width:34px; height:34px; display:grid; flex:0 0 auto; place-items:center; color:#335d86; }
.automation-form-intro svg { width:21px; fill:none; stroke:currentColor; stroke-width:1.8; }
.automation-form-intro strong,.automation-form-intro p { display:block; }
.automation-form-intro p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.content-automation-switch { display:flex; align-items:center; gap:12px; margin-bottom:20px; padding:15px; border:1px solid var(--line); border-radius:var(--radius); }
.content-automation-switch span strong,.content-automation-switch span small { display:block; }
.content-automation-switch span small { margin-top:3px; color:var(--muted); font-size:12px; }
.automation-risk-note { margin-top:18px; padding:13px 15px; border-left:3px solid #c58b37; background:#fff9ef; }
.automation-risk-note strong { font-size:12px; }
.automation-risk-note p { margin:4px 0 0; color:#765a31; font-size:12px; line-height:1.55; }
.article-generation-audit { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:0 0 18px; border:1px solid var(--line); border-radius:var(--radius); background:#fafbfd; }
.article-generation-audit > div { min-width:0; padding:11px 13px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.article-generation-audit > div:nth-child(3n) { border-right:0; }
.article-generation-audit small,.article-generation-audit strong { display:block; }
.article-generation-audit small { color:var(--muted); font-size:11px; }
.article-generation-audit strong { margin-top:4px; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:900px) { .content-automation { align-items:flex-start; flex-direction:column; }.content-automation-meta { width:100%; justify-content:flex-start; flex-wrap:wrap; }.content-automation-meta > span:first-child { padding-left:0; border-left:0; } }
@media (max-width:700px) { .article-generation-audit { grid-template-columns:1fr; }.article-generation-audit > div { border-right:0; }.article-generation-audit > div:last-child { border-bottom:0; } }
.workspace-switcher { margin:18px 12px 10px; display:grid; gap:7px; }
.workspace-switcher label { color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.08em; }
.workspace-switcher .select { width:100%; min-height:40px; padding:0 10px; background:rgba(255,255,255,.08); color:inherit; border-color:rgba(255,255,255,.16); }
.workspace-switcher .select option,.workspace-switcher .select optgroup { color:#172326; background:#fff; }
.customer-create-form { display:grid; gap:0; max-width:900px; margin:0 auto; }
.customer-form-intro { padding:2px 0 22px; border-bottom:1px solid var(--line); }
.customer-form-intro h3 { margin:10px 0 6px; color:var(--ink); font-size:19px; }
.customer-form-intro p { max-width:680px; margin:0; color:var(--muted); line-height:1.65; }
.customer-form-section { padding:22px 0; border-bottom:1px solid var(--line); }
.customer-form-section-head { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; align-items:start; margin-bottom:18px; }
.customer-form-section-head>span { display:grid; width:32px; height:32px; place-items:center; border:1px solid #cbdbea; border-radius:7px; color:#235c99; background:#f2f7fc; font-size:12px; font-weight:800; }
.customer-form-section-head strong,.customer-form-section-head small { display:block; }
.customer-form-section-head strong { color:var(--ink); font-size:14px; }
.customer-form-section-head small { margin-top:4px; color:var(--muted); line-height:1.45; }
.customer-create-form .field label em { margin-left:5px; color:#b4533e; font-size:12px; font-style:normal; font-weight:600; }
.customer-create-form .textarea { min-height:92px; }
.customer-form-note { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin-top:20px; padding:13px 15px; border:1px solid #d7e6df; border-radius:8px; color:#49675e; background:#f4faf7; }
.customer-form-note strong { margin-right:2px; color:#245f50; }
.customer-form-note span { position:relative; padding-left:13px; }
.customer-form-note span:before { content:""; position:absolute; top:.55em; left:0; width:5px; height:5px; border-radius:50%; background:#4e9a7f; }
@media (max-width:700px) {
  .customer-create-form .form-grid { grid-template-columns:1fr; }
  .customer-create-form .field.full { grid-column:auto; }
  .customer-form-intro { padding-bottom:18px; }
  .customer-form-section { padding:18px 0; }
  .customer-form-note { align-items:flex-start; flex-direction:column; }
}

.customer-row.is-inactive { background:#fafbfc; }
.customer-row.is-inactive .avatar { color:#758091; background:#e8ebef; }
.customer-row.is-inactive .user-identity { opacity:.72; }
.user-permission-tags i.inactive { color:#8a5960; background:#f7e9eb; }
.user-permission-tags i.warning { color:#8b621d; background:#fbf0d8; }
.customer-unlimited-toggle { display:flex; align-items:flex-start; gap:10px; padding:12px 13px; border:1px solid #dbe5f2; border-radius:7px; color:#34495e; background:#f7f9fc; cursor:pointer; }
.customer-unlimited-toggle.full { grid-column:1/-1; }
.customer-unlimited-toggle input { width:17px; height:17px; margin-top:2px; accent-color:#2866c7; }
.customer-unlimited-toggle span,.customer-unlimited-toggle strong,.customer-unlimited-toggle small { display:block; }
.customer-unlimited-toggle small { margin-top:3px; color:var(--muted); line-height:1.45; }
.customer-status-tabs { display:flex; gap:4px; padding:12px 15px; border-bottom:1px solid var(--line); background:#fafbfc; }
.quota-conversion-note { display:flex; align-items:center; gap:10px; margin:0 15px; padding:11px 13px; border:1px solid #dbe5f2; border-radius:7px; color:#53667d; background:#f5f8fc; font-size:12px; line-height:1.55; }
.quota-conversion-note strong { flex:0 0 auto; color:#264f82; font-size:12px; }
.customer-status-tabs button { min-height:34px; padding:0 13px; border:0; border-radius:6px; color:var(--muted); background:transparent; font-weight:650; cursor:pointer; }
.customer-status-tabs button:hover { color:var(--ink); background:#eef1f5; }
.customer-status-tabs button.active { color:#1f56a5; background:#e8f0fb; }
.customer-empty { margin:0; padding:26px 20px; color:var(--muted); text-align:center; }
.permission-option.is-disabled { opacity:.62; cursor:not-allowed; }
.confirm-backdrop { position:fixed; z-index:90; inset:0; background:rgba(15,24,38,.58); backdrop-filter:blur(5px); animation:fade .18s ease; }
.confirm-dialog { position:fixed; z-index:100; inset:50% auto auto 50%; width:min(440px,calc(100vw - 32px)); padding:26px; transform:translate(-50%,-50%); border:1px solid rgba(214,224,236,.95); border-radius:14px; background:var(--surface); box-shadow:0 28px 76px rgba(15,29,49,.3); animation:confirm-in .2s ease both; }
.confirm-dialog[hidden],.confirm-backdrop[hidden] { display:none; }
.confirm-dialog-icon { width:38px; height:38px; display:grid; place-items:center; margin-bottom:17px; border-radius:10px; color:var(--red); background:var(--red-soft); font-size:18px; font-weight:800; }
.confirm-dialog h2 { margin:0; font-family:Georgia,"Songti SC",serif; font-size:21px; }
.confirm-dialog p { margin:10px 0 24px; color:var(--muted); line-height:1.7; }
.confirm-dialog-actions { display:flex; justify-content:flex-end; gap:9px; }
@keyframes confirm-in { from { opacity:0; transform:translate(-50%,-47%) scale(.98); } to { opacity:1; transform:translate(-50%,-50%) scale(1); } }

/* Query-centred GEO workspace: compact evidence first, actions second. */
.geo-query-center-intro { padding:18px 20px 15px; }
.brand-discovery-workspace > .panel-head p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.brand-discovery-workspace > .panel-body { padding:20px; }
.brand-discovery-form { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr); gap:20px; align-items:start; }
.brand-discovery-block { min-width:0; }
.brand-discovery-block h3 { margin:0 0 14px; font-size:13px; }
.brand-discovery-form .textarea { min-height:224px; resize:vertical; }
.brand-discovery-form .choice-row { margin-bottom:18px; }
.brand-discovery-form .form-actions { grid-column:1/-1; margin-top:0; padding-top:16px; border-top:1px solid var(--line); }
.brand-discovery-history { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.brand-discovery-history > .panel-head { padding:0 0 14px; border:0; }
.discovery-session > .panel-head > div:first-child { width:auto; min-width:0; }
.discovery-session-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.discovery-session-heading time { color:var(--muted); font-size:12px; font-style:normal; white-space:nowrap; }
.discovery-session td time { color:var(--ink-soft); font-size:12px; white-space:nowrap; }
.discovery-session > .panel-head { min-height:74px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; padding:13px 15px; }
.discovery-session-actions { width:auto; min-width:max-content; justify-self:end; }
.discovery-session-actions .button { min-height:34px; }
.discovery-session.expanded { margin:8px 0 14px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.discovery-session.expanded > .panel-head { background:#f8fafc; }
.discovery-session.expanded > .table-wrap { border-width:1px 0 0; border-radius:0 0 var(--radius) var(--radius); }
.discovery-session-loading { min-height:92px; display:grid; place-items:center; border-top:1px solid var(--line); color:var(--muted); }
.geo-query-center-intro p { margin:12px 0 0; color:var(--muted); font-size:13px; }
.query-center-list { display:grid; }
.query-center-row { width:100%; display:grid; grid-template-columns:minmax(230px,1.35fr) minmax(210px,1fr) 72px 72px minmax(170px,.9fr) 104px 24px; gap:16px; align-items:center; padding:16px 20px; border:0; border-bottom:1px solid var(--line); color:inherit; background:transparent; text-align:left; cursor:pointer; }
.query-center-row:hover { background:#f7fafc; }
.query-center-main strong,.query-center-main small,.query-center-coverage b,.query-center-coverage small,.query-task-state b,.query-task-state small { display:block; }
.query-center-main strong { color:var(--ink); line-height:1.45; }.query-center-main small,.query-task-state small { margin-top:4px; color:var(--muted); font-size:12px; line-height:1.45; }
.query-platform-summary { display:flex; flex-wrap:wrap; gap:6px; }.query-platform-status { min-width:62px; padding:5px 7px; border-radius:6px; background:#f2f5f8; }.query-platform-status b,.query-platform-status small { display:block; font-size:12px; }.query-platform-status small { margin-top:2px; color:var(--muted); }.query-platform-status.mentioned { color:#276749; background:#edf8f1; }.query-platform-status.missing { color:#9b3b31; background:#fff2f0; }
.query-center-coverage { text-align:center; }.query-center-coverage b { color:var(--ink); font-size:18px; }.query-center-coverage small { margin-top:2px; color:var(--muted); font-size:12px; }.query-task-state b { color:#2e5f9f; font-size:12px; }.query-task-state.open b { color:#b4533e; }.query-center-arrow { color:#8a96a6; }.query-center-arrow svg { width:18px; height:18px; }
.query-trend-link { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:34px; padding:0 10px; border:1px solid #bfd0e4; border-radius:6px; color:#1f56a5; background:#f7faff; font-size:12px; white-space:nowrap; }.query-trend-link svg { width:15px; height:15px; }.query-center-row:hover .query-trend-link { border-color:#8fadd0; background:#eef5fc; }.query-center-row:focus-visible { position:relative; z-index:1; outline:2px solid rgba(31,86,165,.35); outline-offset:-2px; }
.query-workspace { display:grid; gap:24px; }.query-workspace-header { padding-bottom:20px; border-bottom:1px solid var(--line); }.query-workspace-header h3 { margin:10px 0 7px; color:var(--ink); font-size:22px; line-height:1.4; }.query-workspace-header p { margin:0 0 16px; color:var(--muted); line-height:1.55; }.query-workspace-header>div { display:flex; flex-wrap:wrap; gap:8px; }.query-workspace-section h3 { margin:0 0 12px; color:var(--ink); font-size:15px; }
.query-workspace-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:12px; }.query-workspace-section-head h3 { margin-bottom:4px; }.query-workspace-section-head .pipeline-meta { margin:0; }.query-history-filters { display:flex; align-items:center; gap:12px; }.query-history-filter { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; white-space:nowrap; }.query-history-filter .filter-select { min-height:34px; }.query-history-table tbody tr { cursor:default; }.query-history-table tbody tr[hidden] { display:none; }
.query-platform-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--line); border-radius:9px; overflow:hidden; }.query-platform-cards article { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:9px; align-items:center; padding:13px; border-bottom:1px solid var(--line); }.query-platform-cards article:nth-child(odd) { border-right:1px solid var(--line); }.query-platform-cards article:nth-last-child(-n+2) { border-bottom:0; }.query-platform-cards strong,.query-platform-cards small,.query-platform-cards em { display:block; }.query-platform-cards small,.query-platform-cards em { margin-top:3px; color:var(--muted); font-size:12px; font-style:normal; }.query-platform-cards b { color:#1f56a5; font-size:17px; }.query-platform-cards em { grid-column:2/-1; }
.query-platform-cards .query-platform-trend-card { display:block; min-width:0; padding:0; background:#fff; }.query-platform-trend-card>header { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:9px; align-items:center; padding:14px 15px 10px; }.query-maturity { padding:4px 7px; border:1px solid #d8e0e9; border-radius:5px; color:#607086; background:#f7f9fb; font-size:11px; white-space:nowrap; }.query-maturity.initial,.query-maturity.clear { color:#35654f; border-color:#cce0d5; background:#f1f8f4; }.query-maturity.stable { color:#205e48; border-color:#acd1bf; background:#e9f5ee; }.query-trend-chart { padding:0 14px 8px; }.query-trend-chart svg { display:block; width:100%; height:190px; overflow:visible; }.query-trend-chart text { fill:#8490a0; font-size:10px; }.query-trend-grid { stroke:#e7ebf0; stroke-width:1; }.query-trend-chart path { fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }.query-trend-chart circle { stroke-width:2; fill:#fff; }.query-series-mention { stroke:#245ea8; }.query-series-recommendation { stroke:#2f855a; }.query-series-conversion { stroke:#b7791f; }.query-trend-axis { display:flex; justify-content:space-between; margin:-22px 14px 0 38px; color:#8490a0; font-size:10px; }.query-trend-legend { display:flex; flex-wrap:wrap; gap:8px 16px; margin:12px 0 0 38px; color:#59697d; font-size:11px; }.query-trend-legend span { display:inline-flex; align-items:center; gap:6px; }.query-trend-legend i { width:16px; height:2px; }.query-trend-legend .query-series-mention { background:#245ea8; }.query-trend-legend .query-series-recommendation { background:#2f855a; }.query-trend-legend .query-series-conversion { background:#b7791f; }.query-trend-empty { min-height:190px; display:grid; place-content:center; gap:4px; margin:0 14px; border:1px dashed #dce3eb; color:#627186; background:#fafbfd; text-align:center; }.query-trend-empty small { color:var(--muted); }.query-trend-details { margin-top:8px; border-top:1px solid var(--line); }.query-trend-details>div { display:grid; grid-template-columns:58px minmax(0,1fr); gap:10px; padding:10px 15px; border-bottom:1px solid #edf0f3; }.query-trend-details strong { color:#26384d; font-size:12px; }.query-trend-details p { margin:0; color:#5e6d7f; font-size:12px; line-height:1.65; }.query-trend-sample-note { display:block; color:#7c8898; font-size:11px; }.query-trend-details footer { display:flex; flex-wrap:wrap; gap:6px 16px; padding:10px 15px 13px; color:#748194; background:#fafbfd; font-size:11px; }.query-trend-details footer span { position:relative; }.query-trend-details footer span+span:before { content:'·'; position:absolute; left:-10px; color:#b1bac5; }
.query-platform-trend-card[hidden],[data-query-trend-window][hidden] { display:none!important; }.query-platform-cards.single-platform { grid-template-columns:1fr; }.query-platform-cards.single-platform .query-platform-trend-card { border-right:0; }
.query-task-stack,.query-linked-list { display:grid; gap:8px; }.query-task-card { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:11px; align-items:center; padding:13px; border:1px solid var(--line); border-radius:8px; }.query-task-card p { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }.query-linked-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 13px; border:1px solid var(--line); border-radius:8px; color:inherit; background:#fff; text-align:left; cursor:pointer; }.query-linked-row:hover { border-color:#b8cbe0; background:#f8fbff; }.query-linked-row strong,.query-linked-row small { display:block; }.query-linked-row small { margin-top:4px; color:var(--muted); font-size:12px; }.query-linked-row svg { width:18px; color:#8190a2; }
@media (max-width:900px) { .query-center-row { grid-template-columns:minmax(0,1fr) 26px; gap:12px; }.query-platform-summary,.query-center-coverage,.query-task-state,.query-trend-link { grid-column:1; }.query-trend-link { justify-self:start; }.query-center-arrow { grid-column:2; grid-row:1; }.query-platform-cards { grid-template-columns:1fr; }.query-platform-cards article { border-right:0 !important; }.query-platform-cards article:not(:last-child) { border-bottom:1px solid var(--line) !important; }.query-task-card { grid-template-columns:34px minmax(0,1fr); }.query-task-card .task-actions { grid-column:2; justify-self:start; }.query-workspace-section-head { align-items:stretch; flex-direction:column; }.query-history-filters { align-items:stretch; flex-direction:column; gap:8px; }.query-history-filter { justify-content:space-between; }.query-history-filter .filter-select { flex:1; max-width:220px; } }

.quota-tag.warning{color:#9a5b14;background:#fff4dd;border-color:#f0cf93}
.customer-quota-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.customer-quota-summary>*{padding:12px 14px;border:1px solid #dce4ee;border-radius:12px;background:#f8fafc;color:#516174;font-size:13px}
.customer-quota-summary strong{color:#182333}
@media (max-width:760px){.customer-quota-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* AI visibility visual upgrade — matched to the approved 2026-09 reference. */
:root { --sidebar:194px; --geo-blue:#2468e8; --geo-line:#dce7f7; --geo-ink:#10203d; }
.sidebar { background:#12243f; border-right:0; }
.brand { min-height:68px; padding:0 16px; background:#10213a; }
.brand-mark { width:37px; height:37px; border-radius:7px; background:linear-gradient(145deg,#3478f6,#2357c9); box-shadow:0 8px 18px rgba(16,87,224,.3); }
.brand strong { font-size:18px; }
.brand small { display:block; margin-top:2px; color:#8fa6cb; font-size:9px; }
.workspace-switcher { margin:13px 10px 8px; }
.workspace-switcher label { color:#8296b3; }
.workspace-switcher .select { border-color:#344a69; border-radius:7px; color:#eef5ff; background:#1a304f; }
.nav-item { min-height:45px; margin:2px 6px; width:calc(100% - 12px); padding:0 17px; border-radius:7px; color:#9eb2cf; }
.nav-item.active { background:linear-gradient(90deg,#2759b7,#203f79); box-shadow:0 7px 18px rgba(5,30,73,.35); }
.nav-item.active::before { width:4px; border-radius:0 3px 3px 0; background:#fff; }
.geo-sidebar-promo { position:relative; min-height:0; height:218px; flex:0 0 218px; margin:auto 11px 0; overflow:hidden; padding:18px 17px; border:1px solid rgba(104,146,232,.16); border-radius:10px; color:#fff; background:#193765; box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
.geo-sidebar-promo[hidden] { display:none; }
.geo-sidebar-promo strong { position:relative; z-index:2; display:block; font-size:17px; line-height:1.55; }
.geo-sidebar-promo small { position:relative; z-index:2; display:block; margin-top:8px; color:#68a0ff; font-size:11px; line-height:1.6; }
.geo-sidebar-promo img { position:absolute; right:-3px; bottom:-6px; width:148px; height:auto; opacity:.9; }
.main-area { background:#f7faff; }
.page { padding:0 26px 28px; background:#f7faff; }
.app-page-heading,.geo-page-heading { position:relative; min-height:78px; margin:0 -26px 22px!important; padding:0 40px!important; border:0; border-bottom:1px solid #e8eef8; background:#fff; }
.app-page-heading > div:first-child { min-width:0; align-self:center; }
.app-page-heading h2 { margin:0; color:var(--geo-ink); font-size:22px; line-height:1.25; }
.app-page-heading p { display:block; margin:5px 0 0; color:#71829d; font-size:11px; line-height:1.45; }
.app-page-heading .toolbar { align-self:flex-start; margin-top:15px; }
.app-page-heading > .toolbar { position:relative; z-index:5; }
.geo-page-heading h2 { font-size:22px; color:var(--geo-ink); }
.geo-page-heading p { display:block; margin:5px 0 0; color:#71829d; font-size:11px; }
.geo-page-heading .toolbar { align-self:flex-start; margin-top:15px; }
.geo-page-heading .button { min-height:36px; border-radius:7px; }
.geo-page-heading .button.primary { box-shadow:0 7px 14px rgba(36,104,232,.2); }
.geo-heading-bell { width:38px; height:38px; margin-left:5px; border:0; border-left:1px solid #e1e9f5; border-radius:0; color:#27446f; background:transparent; }
.geo-heading-bell svg { width:17px; fill:#27446f; stroke:#27446f; }
.geo-account-menu { position:relative; flex:0 0 auto; margin-left:2px; }
.geo-account-menu summary { min-height:42px; display:flex; align-items:center; gap:8px; padding:3px 8px 3px 4px; border-radius:7px; list-style:none; cursor:pointer; user-select:none; }
.geo-account-menu summary::-webkit-details-marker { display:none; }
.geo-account-menu summary:hover,.geo-account-menu[open] summary { background:#f0f5fc; }
.geo-account-avatar { width:34px; height:34px; display:grid; place-items:center; flex:0 0 34px; border-radius:50%; color:#fff; background:#2868df; font-weight:700; }
.geo-account-copy strong,.geo-account-copy small { display:block; max-width:104px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.geo-account-copy strong { color:#1c2b47; font-size:12px; }.geo-account-copy small { margin-top:2px; color:#8290a7; font-size:10px; }
.geo-account-chevron { width:15px; height:15px; fill:none; stroke:#63738b; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .16s ease; }
.geo-account-menu[open] .geo-account-chevron { transform:rotate(180deg); }
.geo-account-dropdown { position:absolute; z-index:50; top:calc(100% + 7px); right:0; width:150px; padding:6px; border:1px solid #d8e2f0; border-radius:8px; background:#fff; box-shadow:0 12px 28px rgba(27,48,82,.16); }
.geo-account-logout { width:100%; min-height:38px; display:flex; align-items:center; gap:9px; padding:0 10px; border:0; border-radius:6px; color:#a63842; background:transparent; font:inherit; font-weight:600; cursor:pointer; }
.geo-account-logout:hover { background:#fff1f2; }
.geo-account-logout svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.geo-page-heading + .geo-auto-schedule,.geo-page-heading + .geo-page-tabs { margin-top:0; }
.geo-page-tabs { min-height:55px; margin:0; padding:0 14px; border-bottom:1px solid var(--geo-line); background:rgba(255,255,255,.9); }
.geo-page-tabs button { min-height:55px; padding:0 16px; color:#64758f; }
.geo-page-tabs button.active { color:var(--geo-blue); font-weight:750; }
.geo-page-tabs button.active::after { height:3px; border-radius:3px 3px 0 0; background:var(--geo-blue); }
.geo-measurement-panel { margin:20px 0 12px; overflow:hidden; border:1px solid var(--geo-line); border-radius:13px; background:#fff; box-shadow:0 6px 22px rgba(39,78,134,.05); }
.geo-source-navigation { padding:0 8px; }
.geo-source-tabs { background:transparent; }
.geo-source-tabs button.active { color:var(--geo-blue); }
.geo-source-tabs button.active::after { background:var(--geo-blue); }
.geo-operational-strip { gap:12px; padding:10px 13px; }
.geo-operational-summary { min-height:69px; border-color:#cce9df; border-radius:11px; background:#f6fcfa; }
.geo-baseline-counts strong { color:#10213d; }
.geo-analysis-panel { padding:14px; border-color:var(--geo-line); border-radius:13px; background:#fff; box-shadow:0 7px 24px rgba(39,78,134,.05); }
.geo-analysis-head { padding:0 4px 4px; }
.geo-analysis-head h3 { color:var(--geo-ink); font-size:15px; }
.geo-analysis-panel .geo-filterbar { padding:10px 0; border:0; background:transparent; }
.filter-select { min-height:36px; border-color:#cfdbeb; border-radius:7px; background:#fff; }
.geo-scope-switch,.geo-query-tabs { border-color:#dfe7f3; border-radius:9px; background:#f3f6fb; }
.geo-scope-switch button,.geo-query-tab { border-radius:7px; }
.geo-scope-switch button.active,.geo-query-tab.active { color:var(--geo-blue); box-shadow:0 2px 7px rgba(34,86,169,.1); }
.geo-analysis-group-head h4 { color:#263a5c; font-size:12px; }
.geo-kpis { gap:10px; }
.geo-kpi { min-height:182px; padding:13px 14px 11px; border-color:#dfe9f8; border-radius:9px; box-shadow:0 4px 14px rgba(34,74,132,.04); }
.geo-kpi-heading { display:flex!important; align-items:center!important; gap:8px!important; color:#1d2e4c!important; }
.geo-kpi-icon { width:32px; height:32px; display:grid; place-items:center; flex:0 0 auto; border-radius:9px; color:#377bed; background:#e8f1ff; }
.geo-kpi-icon svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.9; }
.geo-kpi-icon.purple { color:#8158eb; background:#f0eaff; }.geo-kpi-icon.green { color:#11a878; background:#e2f7f0; }.geo-kpi-icon.orange { color:#ee9a27; background:#fff1df; }.geo-kpi-icon.indigo { color:#416bea; background:#e8efff; }.geo-kpi-icon.pink { color:#ef5692; background:#ffe6f0; }
.geo-kpi > strong { margin:11px 0 5px; color:#0b1730; font:750 30px/1 Inter,"Segoe UI",sans-serif; }
.geo-kpi p { min-height:30px; color:#71819b; font-size:11px; line-height:1.35; }
.geo-kpi-trend { height:35px; display:block; margin:1px 0 0; overflow:hidden; }
.geo-kpi-trend img { width:100%; height:100%; object-fit:fill; }
.geo-kpi-trend.purple img { filter:hue-rotate(50deg); }.geo-kpi-trend.green img { filter:hue-rotate(105deg); }.geo-kpi-trend.orange img { filter:hue-rotate(175deg); }.geo-kpi-trend.indigo img { filter:hue-rotate(20deg); }.geo-kpi-trend.pink img { filter:hue-rotate(300deg); }
.geo-kpi em,.geo-kpi-button em { position:static; display:flex; justify-content:flex-end; margin-top:1px; color:#7a8aa2; font-size:11px; }
.geo-kpi-change { color:#07956b; }
.geo-kpi-button { background:#fff; }
.geo-kpi-button { cursor:pointer; border-color:#8bb3f3; box-shadow:0 7px 18px rgba(36,104,232,.14); }
.geo-kpi-button::after { display:block; height:4px; background:#2f6fd3; }
.geo-kpi-button:hover { border-color:#8bb3f3; background:#fff; box-shadow:0 8px 22px rgba(36,104,232,.12); transform:translateY(-1px); }
.geo-platforms-group { margin-top:10px; padding:12px; border:1px solid #e6eef9; border-radius:10px; background:#f8fbff; }
.geo-analysis-panel .geo-platform-card { min-height:101px; padding:13px; border-color:#dfe8f6; border-radius:9px; background:#fff; box-shadow:0 3px 10px rgba(35,74,130,.035); }
.platform-mark { width:37px; height:37px; border-radius:10px; color:#16614e; background:#e8f5f0; }
.platform-logo { width:42px; height:42px; display:grid; place-items:center; flex:0 0 auto; overflow:hidden; border:1px solid #e1e9f5; border-radius:11px; background:#f7faff; }
.platform-logo img { width:30px; height:30px; display:block; object-fit:contain; }
.platform-logo svg { width:22px; height:22px; fill:none; stroke:#4b6fa8; }
.platform-rate { color:#0c1c37; font-family:Inter,"Segoe UI",sans-serif!important; font-weight:750!important; }
.geo-main-grid { gap:12px; margin-top:12px; }
.geo-main-grid > .panel { border-color:var(--geo-line); border-radius:11px; box-shadow:0 5px 18px rgba(35,74,130,.05); }
.panel-head { min-height:52px; }
.geo-table .data-table th { background:#f1f5fb; }
.geo-table .data-table td { padding:11px 13px; }
.geo-toggle.on { border-color:#c9eadc; color:#168260; background:#eaf8f2; }
.observation-list article { border-color:#e4ebf4; }
@media (max-width:1280px), (max-height:820px) { .geo-sidebar-promo { display:none!important; } }
@media (max-width:760px) {
  .app-page-heading,.geo-page-heading { min-height:0; margin:0 -20px 16px!important; padding:16px 20px!important; }
  .app-page-heading .toolbar { margin-top:0; }
  .geo-account-copy { display:none; }
}

/* 首页工作台：品牌竞争表现与客户级积分概览。 */
.workbench-heading { align-items:center; margin-bottom:20px; }
.workbench-heading p { display:block; margin:7px 0 0; color:var(--muted); font-size:12px; }
.workbench-scope { display:flex; align-items:center; gap:0; color:var(--muted); font-size:12px; }
.workbench-scope span { padding:0 11px; border-left:1px solid var(--line); }
.workbench-scope span:first-child { border-left:0; }
.workbench-section { overflow:hidden; margin-bottom:22px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:0 4px 16px rgba(24,34,48,.035); }
.workbench-section-head { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 22px; border-bottom:1px solid var(--line); }
.workbench-section-head h3 { margin:4px 0 0; font-size:17px; }
.workbench-section-head p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.workbench-month { color:var(--muted); font-size:12px; font-weight:650; }
.workbench-metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--line); }
.workbench-metric { position:relative; min-width:0; min-height:154px; padding:21px 22px; border:0; border-right:1px solid var(--line); color:inherit; background:transparent; text-align:left; }
.workbench-metric:last-child { border-right:0; }
.workbench-metric::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--accent); opacity:.8; }
.workbench-metric.metric-competitor::before { background:#c47a22; }
.workbench-metric.metric-recommendation::before { background:var(--green); }
.workbench-metric span,.workbench-metric strong,.workbench-metric small { display:block; }
.workbench-metric span { color:var(--ink-soft); font-size:12px; font-weight:700; }
.workbench-metric strong { margin-top:9px; font:600 32px/1.1 Georgia,"Songti SC",serif; letter-spacing:-.025em; }
.workbench-metric small { margin-top:8px; color:var(--ink-soft); font-size:12px; }
.workbench-trend-panel { padding:19px 22px 12px; }
.workbench-trend-head { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:10px; }
.workbench-trend-head strong { font-size:12px; }
.workbench-trend-head span { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; color:var(--muted); font-size:12px; }
.workbench-trend-head i { width:16px; height:3px; display:inline-block; margin-right:-7px; border-radius:2px; background:var(--accent); }
.workbench-trend-head i.series-competitor,.workbench-trend-head i.usage-diagnosis { background:#c47a22; }
.workbench-trend-head i.series-recommendation { background:var(--green); }
.workbench-visibility-chart svg { width:100%; height:auto; display:block; overflow:visible; }
.workbench-visibility-chart line { stroke:#e7ebf0; stroke-width:1; }
.workbench-visibility-chart text { fill:#8a94a3; font-size:12px; }
.workbench-visibility-chart path { fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.workbench-visibility-chart path.series-brand { stroke:var(--accent); }
.workbench-visibility-chart path.series-competitor { stroke:#c47a22; }
.workbench-visibility-chart path.series-recommendation { stroke:var(--green); }
.workbench-visibility-chart .hover-target { fill:transparent; cursor:crosshair; }
.workbench-visibility-chart .hover-guide { stroke:#aeb8c5; stroke-width:1; stroke-dasharray:3 4; opacity:0; transition:opacity .12s ease; }
.workbench-visibility-chart circle { stroke:#fff; stroke-width:2; opacity:0; transition:opacity .12s ease; }
.workbench-visibility-chart circle.series-brand { fill:var(--accent); }
.workbench-visibility-chart circle.series-competitor { fill:#c47a22; }
.workbench-visibility-chart circle.series-recommendation { fill:var(--green); }
.workbench-visibility-chart .workbench-chart-point:hover .hover-guide,.workbench-visibility-chart .workbench-chart-point:hover circle { opacity:1; }
.workbench-chart-labels { display:flex; justify-content:space-between; padding:0 18px 0 42px; color:var(--muted); font-size:12px; }
.workbench-data-foot { padding:12px 22px; border-top:1px solid var(--line); color:var(--muted); background:#fafbfd; font-size:12px; }
.workbench-chart-empty { min-height:190px; display:grid; place-content:center; justify-items:center; padding:24px; color:var(--muted); text-align:center; }
.workbench-chart-empty strong { color:var(--ink-soft); font-size:13px; }
.workbench-chart-empty small { margin-top:7px; font-size:12px; }
.workbench-quota-overview { display:grid; grid-template-columns:minmax(280px,.7fr) minmax(360px,1.3fr); gap:34px; align-items:center; padding:22px; border-bottom:1px solid var(--line); }
.workbench-quota-overview small,.workbench-quota-overview strong { display:block; }
.workbench-quota-overview strong { margin-top:6px; font:600 27px/1.2 Georgia,"Songti SC",serif; }
.workbench-quota-overview strong em { color:var(--muted); font:500 13px/1.2 "Segoe UI","Microsoft YaHei",sans-serif; }
.workbench-quota-progress { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px 14px; align-items:center; }
.workbench-quota-progress i { display:block; height:9px; overflow:hidden; border-radius:6px; background:#e8edf3; }
.workbench-quota-progress b { display:block; height:100%; border-radius:inherit; background:var(--accent); }
.workbench-quota-progress small { color:var(--muted); font-size:12px; }
.workbench-usage-layout { display:grid; grid-template-columns:280px minmax(0,1fr); min-height:270px; }
.workbench-usage-summary { display:grid; grid-template-rows:1fr 1fr; border-right:1px solid var(--line); }
.workbench-usage-summary article { position:relative; display:grid; align-content:center; padding:22px 26px; }
.workbench-usage-summary article + article { border-top:1px solid var(--line); }
.workbench-usage-summary article::before { content:""; position:absolute; inset:22px auto 22px 0; width:3px; border-radius:3px; background:var(--accent); }
.workbench-usage-summary article.diagnosis::before { background:#c47a22; }
.workbench-usage-summary span,.workbench-usage-summary strong,.workbench-usage-summary small { display:block; }
.workbench-usage-summary span { color:var(--ink-soft); font-size:12px; font-weight:700; }
.workbench-usage-summary strong { margin-top:6px; font:600 26px/1.15 Georgia,"Songti SC",serif; }
.workbench-usage-summary small { margin-top:5px; color:var(--muted); font-size:12px; }
.workbench-daily { min-width:0; padding:20px 22px 16px; }
.workbench-usage-chart { height:205px; display:flex; align-items:stretch; gap:4px; padding-top:8px; border-bottom:1px solid var(--line); }
.workbench-usage-day { min-width:0; display:grid; grid-template-rows:1fr 20px; flex:1; align-items:end; }
.workbench-usage-bars { height:100%; display:flex; align-items:flex-end; justify-content:center; gap:2px; }
.workbench-usage-bars i { width:min(8px,38%); display:block; min-height:0; border-radius:3px 3px 0 0; background:var(--accent); }
.workbench-usage-bars i.diagnosis { background:#c47a22; }
.workbench-usage-day small { overflow:visible; color:var(--muted); font-size:12px; text-align:center; white-space:nowrap; }
@media (max-width:900px) {
  .workbench-heading { align-items:flex-start; flex-direction:column; }
  .workbench-scope span:first-child { padding-left:0; }
  .workbench-metric-grid { grid-template-columns:1fr; }
  .workbench-metric { border-right:0; border-bottom:1px solid var(--line); }
  .workbench-metric:last-child { border-bottom:0; }
  .workbench-quota-overview,.workbench-usage-layout { grid-template-columns:1fr; }
  .workbench-usage-summary { grid-template-columns:1fr 1fr; grid-template-rows:auto; border-right:0; border-bottom:1px solid var(--line); }
  .workbench-usage-summary article + article { border-top:0; border-left:1px solid var(--line); }
}

.brand-geo-report .brand-geo-period-control { display:inline-flex; align-items:center; gap:8px; margin-top:10px; color:#b9c9da; font-size:12px; font-weight:700; }
.brand-geo-report .brand-geo-period-control select { min-width:112px; height:29px; padding:0 24px 0 8px; border:1px solid rgba(218,230,244,.32); border-radius:5px; color:#f4f8fd; background-color:rgba(11,29,51,.38); font:600 12px/1 "Segoe UI","Microsoft YaHei",sans-serif; }
.brand-geo-report .brand-geo-period-control select:focus-visible { outline:2px solid #9fc3ee; outline-offset:2px; }
.brand-geo-report .brand-geo-period-control select:disabled { cursor:wait; opacity:.65; }
@media (max-width:700px) {
  .brand-geo-report .brand-geo-period-control { margin-top:8px; }
}

.brand-geo-period-filter { display:flex; align-items:flex-end; gap:16px; margin-bottom:14px; padding:14px 16px; border:1px solid #dbe4ef; border-radius:var(--radius); background:#fff; }
.brand-geo-period-filter label { display:grid; gap:6px; }
.brand-geo-period-filter label span { color:#66768b; font-size:12px; font-weight:700; }
.brand-geo-period-filter .filter-select { width:160px; min-height:40px; }
.brand-geo-period-filter > small { padding-bottom:11px; color:#718096; font-size:12px; line-height:1.45; }
@media (max-width:700px) {
  .brand-geo-period-filter { align-items:stretch; flex-direction:column; gap:8px; }
  .brand-geo-period-filter .filter-select { width:100%; }
.brand-geo-period-filter > small { padding-bottom:0; }
}

/* Brand GEO diagnosis is an embedded full-page report, not a capped drawer. */
.brand-geo-report,
.brand-geo-report > .effect-report {
  width: 100%;
  max-width: none;
  min-width: 0;
}

/* Keep the score column inside the report header at every desktop width. */
.brand-geo-report .effect-report-hero {
  grid-template-columns: minmax(0,1fr) minmax(180px,220px);
  padding-right: 28px;
}
.brand-geo-report .effect-report-hero > div:first-child { min-width: 0; }
.brand-geo-report .effect-score-wrap {
  width: 100%;
  max-width: 220px;
  min-width: 0;
  justify-self: end;
  justify-items: end;
}
.brand-geo-report .effect-score-wrap > .tag {
  width: 100%;
  min-height: 28px;
  justify-content: center;
  padding: 6px 9px;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.4;
  text-align: center;
}
.brand-geo-report .effect-score-orb { justify-self: end; }

@media (max-width: 700px) {
  .brand-discovery-workspace > .panel-body { padding:14px; }
  .brand-discovery-form { grid-template-columns:1fr; gap:16px; }
  .brand-discovery-form .form-actions { grid-column:auto; }
  .discovery-session > .panel-head { grid-template-columns:1fr; gap:9px; }
  .discovery-session-actions { justify-self:start; }
  .discovery-session-heading { align-items:flex-start; flex-direction:column; gap:5px; }
  .brand-geo-report .effect-report-hero { grid-template-columns: 1fr; padding-right: 20px; }
  .brand-geo-report .effect-score-wrap { justify-self: start; justify-items: start; }
  .brand-geo-report .effect-score-orb { justify-self: start; }
}

/* Final cascade guard: later feature modules inherit the approved console skin. */
:where(.customer-form-section-head>span,.quick-competitor-list li,.query-platform-cards article,
  .query-task-card,.query-center-row,.growth-task,.baseline-runner,.website-audit-panel,
  .quick-diagnosis-history,.brand-geo-period-filter,.brand-geo-date-filter,
  .settings-section,.customer-quota-summary,.workbench-section) {
  border-radius: var(--radius);
  box-shadow: none;
}
:where(.quick-diagnosis-history,.brand-geo-period-filter,.brand-geo-date-filter,
  .settings-section,.baseline-runner,.website-audit-panel,.query-workspace-section,
  .query-task-card,.query-center-row,.growth-task) {
  border-color: var(--line);
  background-color: var(--surface);
}
:where(.quick-record-status,.quick-coverage,.customer-form-section-head>span,
  .query-center-arrow,.query-task-card .task-priority) { border-radius: 3px; }
:where(.quick-report-hero h3,.quick-record-score b,.quick-dimension-grid b,
  .effect-score-orb strong,.score-ring strong,.customer-quota-summary strong) {
  font-family: "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
}
:where(.query-center-row,.query-task-card,.quick-diagnosis-card,.growth-task):hover {
  box-shadow: none;
}

/* Dense work areas use a single ruled surface rather than card mosaics. */
.content-action-metrics {
  gap: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.content-action-metric {
  min-height: 104px;
  padding: 17px 20px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.content-action-metric + .content-action-metric { border-left: 1px solid var(--line); }
.content-action-metric:hover { border-color: var(--line); background: #f5f8fc; box-shadow: none; }
.content-action-metric.attention,.content-action-metric.danger { background: #fff; }
.content-action-metric.active { position:relative; color:#184f9f; background:#f3f7fd; }
.content-action-metric.active::after { position:absolute; right:0; bottom:0; left:0; height:3px; background:var(--accent); content:""; }
.content-heading-toolbar { flex-wrap:nowrap; }
.content-model-test { display:inline-flex; align-items:center; gap:6px; margin-right:2px; padding-right:12px; border-right:1px solid #dde5f0; }
.content-model-test .filter-select { width:190px; min-height:34px; color:#516174; }
.content-model-test .button { min-height:34px; padding:0 11px; color:#43546b; font-weight:600; box-shadow:none; }
.content-model-test .button:hover { transform:none; }
.content-model-test :disabled { opacity:.55; }

.workspace-tabs,.geo-page-tabs {
  width: 100%;
  gap: 0;
  margin: -6px 0 18px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}
.workspace-tabs button,.geo-page-tabs button {
  min-height: 46px;
  padding: 0 20px;
  border-radius: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  box-shadow: none;
}
.workspace-tabs button:hover,.geo-page-tabs button:hover { background: #f7f9fb; }
.workspace-tabs button.active,.geo-page-tabs button.active {
  border-bottom-color: var(--accent);
  color: var(--accent);
  background: transparent;
  box-shadow: none;
}

.workbench-metric strong,
.workbench-quota-overview strong,
.workbench-usage-summary strong {
  font-family: "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
}

/* GEO reports retain their information but follow the same instrument-console skin. */
.effect-report { color: var(--ink); }
.effect-report-hero {
  grid-template-columns: minmax(0,1fr) 132px;
  gap: 22px;
  padding: 20px 24px;
  border: 1px solid #31465c;
  border-radius: var(--radius);
  background: #1b314a;
}
.effect-report-hero h3 {
  margin: 7px 0 5px;
  font: 650 22px/1.3 "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  letter-spacing: -.015em;
}
.effect-score-note { margin-top: 11px; border-radius: 2px; }
.effect-score-orb {
  width: 94px;
  height: 76px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 3px;
  background: rgba(255,255,255,.04);
}
.effect-score-orb::before { display: none; }
.effect-score-orb strong { font: 650 28px/1 "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
.effect-dimension-grid {
  gap: 0;
  overflow: hidden;
  margin: 14px 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.effect-dimension-grid article {
  min-height: 96px;
  padding: 13px 15px;
  border: 0;
  border-radius: 0;
}
.effect-dimension-grid article + article { border-left: 1px solid var(--line); }
.effect-dimension-grid strong { font: 650 22px/1.2 "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
.effect-source-badge { border-radius: 2px; }
.effect-coverage-strip { margin-bottom: 18px; border-radius: var(--radius); }
.effect-section { padding: 20px 0; }
.effect-section-head { margin-bottom: 13px; }
.effect-section-head > span { font-family: inherit; }
.effect-overview-grid > div,
.effect-ai-state,
.effect-question-model article,
.effect-metric-grid article,
.effect-secondary-metrics,
.effect-breakdown article,
.effect-source-audit,
.effect-empty-inline,
.effect-accuracy,
.sentiment-research,
.sentiment-source-item,
.effect-diagnosis-list article,
.effect-evidence-list button,
.effect-source-split article {
  border-radius: var(--radius);
  box-shadow: none;
}
.effect-metric-grid { gap: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); }
.effect-metric-grid article { border: 0; border-right: 1px solid var(--line); }
.effect-metric-grid article:last-child { border-right: 0; }
.effect-metric-grid strong,
.effect-source-split article > strong,
.effect-breakdown b,
.effect-accuracy strong { font-family: inherit; }
.effect-confidence span,.effect-priority,.effect-roles span,.effect-evidence-flags i { border-radius: 2px; }

@media (max-width: 700px) {
  .content-action-metric + .content-action-metric:nth-child(odd) { border-left: 0; }
  .content-action-metric:nth-child(n+3) { border-top: 1px solid var(--line); }
  .workspace-tabs,.geo-page-tabs { width: max-content; min-width: 100%; overflow-x: auto; }
  .effect-report-hero { grid-template-columns: 1fr; }
  .effect-score-wrap { justify-items: start; }
  .effect-dimension-grid,.effect-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .effect-dimension-grid article:nth-child(odd),.effect-metric-grid article:nth-child(odd) { border-left: 0; }
  .effect-dimension-grid article:nth-child(n+3),.effect-metric-grid article:nth-child(n+3) { border-top: 1px solid var(--line); }
}
.choice-row,.choice-grid{display:flex;gap:12px;flex-wrap:wrap}.choice-grid{margin-top:8px}.choice-row label,.choice-grid label{display:flex;align-items:center;gap:6px}.discovery-session{padding:14px 0;border-bottom:1px solid var(--border)}.discovery-session:last-child{border-bottom:0}.button.compact{padding:4px 7px;margin:2px;font-size:11px}

/* Login — a restrained brand entrance, without decorative AI motifs. */
.auth-login {
  min-width:0;
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:36px;
  background:#e9edf2;
}
.auth-login .login-shell {
  width:min(1080px,100%);
  min-height:620px;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);
  margin:0;
  overflow:hidden;
  border:1px solid #c9d1dc;
  border-radius:3px;
  background:#fff;
  box-shadow:0 18px 46px rgba(24,38,55,.13);
}
.auth-login .login-story {
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:42px 48px 38px;
  color:#fff;
  background:#13263f;
}
.auth-login .login-story::before {
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:#2d6bd1;
  content:"";
}
.auth-login .login-story::after { display:none; }
.auth-login .login-brand {
  min-height:52px;
  width:max-content;
  padding:0 0 18px;
  border-bottom:1px solid rgba(255,255,255,.18);
  color:#fff;
  background:transparent;
}
.auth-login .login-brand .brand-mark {
  width:36px;
  height:36px;
  border:0;
  border-radius:5px;
  background:#2d6bd1;
  box-shadow:none;
}
.auth-login .login-brand strong { font-size:19px; }
.auth-login .login-brand small { margin-top:3px; color:#aebed3; font-size:10px; letter-spacing:.02em; }
.auth-login .login-story-copy { max-width:520px; margin:auto 0; }
.auth-login .login-slogan-label { display:block; margin-bottom:20px; color:#9fb2ca; font-size:13px; font-weight:600; letter-spacing:.08em; }
.auth-login .login-story-copy h1 { margin:0; color:#fff; font:700 48px/1.2 "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; letter-spacing:-.04em; }
.auth-login .login-story-copy p { max-width:430px; margin:24px 0 0; color:#c0cbda; font-size:15px; line-height:1.8; }
.auth-login .login-story-foot { display:flex; align-items:center; gap:0; padding-top:18px; border-top:1px solid rgba(255,255,255,.16); color:#9fb0c5; }
.auth-login .login-story-foot span { padding:0 18px; border-left:1px solid rgba(255,255,255,.18); font-size:12px; letter-spacing:.08em; }
.auth-login .login-story-foot span:first-child { padding-left:0; border-left:0; }
.auth-login .login-card { align-self:center; padding:58px 48px; }
.auth-login .login-card-head > span { display:block; margin-bottom:12px; color:#2d6bd1; font-size:12px; font-weight:700; letter-spacing:.1em; }
.auth-login .login-card h2 { margin:0; color:#13233a; font:700 28px/1.3 "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; letter-spacing:-.02em; }
.auth-login .login-card-head p { margin:9px 0 0; color:#708096; font-size:13px; }
.auth-login .login-form { gap:20px; margin-top:34px; }
.auth-login .login-form .field { gap:8px; }
.auth-login .login-form .field > label { color:#25364d; font-size:13px; font-weight:650; }
.auth-login .login-form .input { min-height:48px; border-color:#c7d1de; border-radius:3px; background:#fff; box-shadow:none; }
.auth-login .login-form .input:hover { border-color:#9eb0c7; }
.auth-login .login-form .input:focus { border-color:#2d6bd1; box-shadow:0 0 0 3px rgba(45,107,209,.11); }
.auth-login .remember-row { color:#64758a; }
.auth-login .remember-row input { width:16px; height:16px; accent-color:#2d6bd1; }
.auth-login .login-submit { min-height:48px; border-radius:3px; background:#2d63b9; box-shadow:none; }
.auth-login .login-submit:hover { background:#234f96; }
.auth-login .login-note { margin-top:25px; padding-top:18px; border-top:1px solid #e2e7ed; color:#8a96a6; text-align:center; }
@media (max-width:820px) {
  .auth-login { place-items:start center; padding:16px; }
  .auth-login .login-shell { grid-template-columns:1fr; min-height:0; }
  .auth-login .login-story { min-height:300px; padding:30px 32px 28px; }
  .auth-login .login-story-copy { margin:48px 0; }
  .auth-login .login-story-copy h1 { font-size:38px; }
  .auth-login .login-card { padding:42px 32px; }
}
@media (max-width:480px) {
  .auth-login { padding:0; background:#fff; }
  .auth-login .login-shell { width:100%; border:0; box-shadow:none; }
  .auth-login .login-story { min-height:250px; padding:24px; }
  .auth-login .login-story-copy { margin:34px 0; }
  .auth-login .login-slogan-label,.auth-login .login-story-copy p { display:none; }
  .auth-login .login-story-copy h1 { font-size:32px; }
  .auth-login .login-story-foot span { padding:0 10px; }
  .auth-login .login-card { padding:36px 24px 42px; }
}

/* Workbench: the charts carry the color; the surrounding interface stays calm. */
.workbench-heading.app-page-heading { min-height:104px; margin-bottom:26px!important; }
.workbench-heading .eyebrow { display:block; margin-bottom:5px; color:#8b99ad; font-size:10px; letter-spacing:.15em; }
.workbench-heading h2 { font-size:25px; letter-spacing:-.035em; }
.workbench-heading p { margin-top:6px; color:#6e7e93; font-size:12px; }
.workbench-scope { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-left:auto; }
.workbench-scope span { padding:7px 10px; border:1px solid #e3eaf3; border-radius:6px; color:#64768e; background:#f9fbfe; font-size:11px; white-space:nowrap; }
.workbench-scope span:first-child { border:1px solid #cbdcf5; color:#285c9c; background:#edf5ff; }
.workbench-section { margin-bottom:22px; overflow:hidden; border:1px solid #e1e8f1; border-radius:12px; background:#fff; box-shadow:0 6px 24px rgba(29,54,91,.04); }
.workbench-section-head { min-height:92px; padding:22px 28px; border-bottom:1px solid #edf1f6; background:#fff; }
.workbench-section-head .eyebrow { display:block; margin-bottom:7px; color:#8a99ae; font-size:10px; letter-spacing:.14em; }
.workbench-section-head h3 { margin:0; color:#233148; font-size:19px; font-weight:720; letter-spacing:-.025em; }
.workbench-section-head p { margin:6px 0 0; color:#7a889a; font-size:12px; }
.workbench-section-link { display:inline-flex; align-items:center; gap:9px; padding:8px 1px; border:0; color:#2a66ae; background:transparent; cursor:pointer; font-size:12px; font-weight:650; white-space:nowrap; }
.workbench-section-link:hover { color:#174b88; text-decoration:underline; text-underline-offset:3px; }
.workbench-section-link span { font-size:17px; font-weight:400; }
.workbench-metric-grid { gap:12px; padding:20px 28px 0; border:0; background:#fff; }
.workbench-metric { min-height:128px; padding:20px 22px 18px; border:1px solid #e5ebf3; border-radius:9px; background:#f9fbfe; }
.workbench-metric:last-child { border-right:1px solid #e5ebf3; }
.workbench-metric::before { inset:20px auto 20px 0; width:3px; border-radius:0 3px 3px 0; background:#37a2ff; opacity:1; }
.workbench-metric.metric-competitor::before { background:#e844a5; }
.workbench-metric.metric-recommendation::before { background:#2fc6ae; }
.workbench-metric span { color:#63748a; font-size:12px; font-weight:650; }
.workbench-metric strong { margin-top:8px; color:#233148; font-size:35px; font-weight:700; line-height:1.1; }
.workbench-metric small { margin-top:9px; color:#8391a2; font-size:11px; }
.workbench-trend-panel { margin:23px 28px 24px; padding:20px 0 0; border-top:1px solid #e9eef5; }
.workbench-trend-head { align-items:flex-start; margin:0 0 7px; }
.workbench-trend-head strong,.workbench-trend-head small { display:block; }
.workbench-trend-head strong { color:#344258; font-size:14px; font-weight:700; }
.workbench-trend-head small { margin-top:5px; color:#91a0b1; font-size:11px; }
.workbench-trend-head > span { padding-top:2px; color:#8a99ab; font-size:11px; }
.workbench-chart { width:100%; min-width:0; overflow-x:auto; }
.workbench-visibility-chart,.workbench-usage-chart { display:block; height:auto; border:0; padding:0; }
.workbench-data-foot { display:flex; flex-wrap:wrap; gap:18px 28px; padding:15px 28px; border-top:1px solid #edf1f6; color:#7c8b9e; background:#fafcff; font-size:11px; }
.workbench-data-foot strong { color:#40516b; font-weight:700; }
.workbench-chart-empty { min-height:250px; }
.workbench-chart { overflow:hidden; }
.workbench-visibility-chart { height:390px; min-height:390px; }
.workbench-usage-chart { height:265px; min-height:265px; }
.workbench-month { padding:8px 11px; border:1px solid #e1e8f1; border-radius:6px; color:#526782; background:#f8fafd; font-size:12px; font-weight:650; }
.workbench-usage-layout { display:grid; grid-template-columns:minmax(270px,31%) minmax(0,1fr); min-height:380px; }
.workbench-usage-aside { min-width:0; border-right:1px solid #edf1f6; background:#fbfcff; }
.workbench-quota-overview { display:block; padding:27px 28px 22px; border:0; }
.workbench-quota-overview > small { display:block; color:#697b90; font-size:12px; font-weight:650; }
.workbench-quota-overview > strong { display:block; margin-top:10px; color:#24334b; font-size:31px; font-weight:720; letter-spacing:-.035em; }
.workbench-quota-overview > span { display:block; margin-top:3px; color:#8a98a9; font-size:11px; }
.workbench-quota-progress { display:block; margin-top:20px; }
.workbench-quota-progress i { height:7px; border-radius:7px; background:#e6edf6; }
.workbench-quota-progress b { border-radius:7px; background:linear-gradient(90deg,#50c5eb,#5784eb); }
.workbench-quota-progress small { display:block; margin-top:9px; color:#63758c; font-size:11px; }
.workbench-usage-summary { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:none; margin:0 28px; padding-top:19px; border-top:1px solid #e6ebf3; border-right:0; }
.workbench-usage-summary article { min-height:95px; padding:5px 13px 5px 0; }
.workbench-usage-summary article + article { padding-left:18px; border-top:0; border-left:1px solid #e6ebf3; }
.workbench-usage-summary article::before { display:none; }
.workbench-usage-summary span { color:#6c7e93; font-size:11px; }
.workbench-usage-summary article.article span::before,.workbench-usage-summary article.diagnosis span::before { content:""; display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:#37a2ff; }
.workbench-usage-summary article.diagnosis span::before { background:#e844a5; }
.workbench-usage-summary strong { margin-top:9px; color:#34445d; font-size:20px; font-weight:700; }
.workbench-usage-summary small { color:#94a1b1; font-size:10px; }
.workbench-daily { min-width:0; padding:27px 28px 19px; }
.workbench-daily .workbench-trend-head { margin-bottom:2px; }
@media (max-width:1100px) {
  .workbench-heading.app-page-heading { flex-wrap:wrap; min-height:110px; padding-top:17px!important; padding-bottom:17px!important; }
  .workbench-scope { order:3; width:100%; margin-left:0; }
  .workbench-heading .toolbar { margin-left:auto; }
  .workbench-usage-layout { grid-template-columns:1fr; }
  .workbench-usage-aside { display:grid; grid-template-columns:1fr 1fr; align-items:center; border-right:0; border-bottom:1px solid #edf1f6; }
  .workbench-usage-summary { margin:0 24px 0 0; padding:0 0 0 24px; border-top:0; border-left:1px solid #e6ebf3; }
}
@media (max-width:700px) {
  .workbench-section-head { align-items:flex-start; flex-direction:column; gap:12px; padding:20px; }
  .workbench-metric-grid { grid-template-columns:1fr; gap:9px; padding:16px 20px 0; }
  .workbench-metric { min-height:108px; }
  .workbench-trend-panel { margin:18px 20px 20px; }
  .workbench-trend-head { flex-direction:column; gap:7px; }
  .workbench-data-foot { padding:14px 20px; }
  .workbench-usage-aside { display:block; }
  .workbench-quota-overview { padding:22px 20px 12px; }
  .workbench-usage-summary { margin:0 20px 8px; padding:13px 0 0; border-top:1px solid #e6ebf3; border-left:0; }
  .workbench-daily { padding:22px 20px 16px; }
}
