:root {
  --ink: #172337;
  --muted: #738198;
  --muted-2: #9aa6b8;
  --line: #e7ebf1;
  --soft: #f5f7fa;
  --paper: #ffffff;
  --navy: #0d1828;
  --navy-2: #14243a;
  --cyan: #1aa6a6;
  --cyan-soft: #e7f7f6;
  --orange: #e88a3d;
  --orange-soft: #fff3e9;
  --green: #2a9b6b;
  --green-soft: #e9f7f0;
  --red: #d85f62;
  --red-soft: #fff0f1;
  --shadow: 0 16px 38px rgba(22, 35, 55, .07);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
  color: var(--ink);
  background: var(--soft);
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 0; background: var(--soft); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }
.login-screen { min-height: 100vh; display: grid; grid-template-columns: 52% 48%; background: var(--paper); }
.login-panel { padding: 72px clamp(44px, 8vw, 130px); display: flex; flex-direction: column; justify-content: center; }
.login-panel { order: 2; }
.login-visual { order: 1; background: var(--navy); color: #fff; padding: 42px 52px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; position: relative; }
.login-visual::before, .login-visual::after { content: ""; position: absolute; border: 1px solid rgba(126, 226, 216, .16); border-radius: 50%; pointer-events: none; }
.login-visual::before { width: 780px; height: 780px; left: 10%; top: 10%; }
.login-visual::after { width: 530px; height: 530px; left: 22%; top: 24%; }
.brand-mark { display: flex; align-items: center; gap: 11px; letter-spacing: 0; color: var(--navy); font-size: 15px; }
.brand-mark span { display: inline-grid; place-items: center; width: 31px; height: 31px; background: var(--cyan); color: white; font-weight: 800; border-radius: 7px; letter-spacing: 0; }
.brand-mark img { width: 39px; height: 39px; flex: 0 0 auto; object-fit: contain; border-radius: 9px; padding: 2px; background: #fff; }
.brand-mark.small { color: white; font-size: 13px; }
.brand-mark.small span { width: 28px; height: 28px; font-size: 14px; }
.eyebrow { margin: 0; color: var(--cyan); font-size: 10px; letter-spacing: 0; font-weight: 800; }
.login-panel h1 { font-size: 48px; line-height: 1.08; letter-spacing: 0; margin: 26px 0 22px; font-weight: 730; }
.login-panel h1 em { font-style: normal; color: var(--cyan); }
.login-copy { max-width: 450px; color: var(--muted); font-size: 14px; line-height: 1.8; margin: 0 0 32px; }
.stack-form { display: grid; gap: 16px; max-width: 410px; }
label { display: grid; gap: 8px; color: #536178; font-size: 12px; font-weight: 700; }
input, textarea, select { width: 100%; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 12px 13px; outline: none; transition: border .15s, box-shadow .15s; }
input:focus, textarea:focus, select:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(26, 166, 166, .12); }
textarea { min-height: 105px; resize: vertical; line-height: 1.65; }
.primary-button, .secondary-button, .danger-button, .ghost-button { border: 0; border-radius: 6px; min-height: 40px; padding: 0 15px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-weight: 750; font-size: 12px; transition: transform .15s, opacity .15s, background .15s; }
.primary-button:hover, .secondary-button:hover, .danger-button:hover, .ghost-button:hover { transform: translateY(-1px); }
.primary-button { color: white; background: var(--navy); }
.primary-button:hover { background: #1c304b; }
.primary-button.wide { width: 100%; justify-content: space-between; padding: 0 16px; margin-top: 5px; }
.button-arrow { font-size: 18px; font-weight: 400; }
.text-button { border: 0; background: transparent; color: var(--cyan); padding: 8px 0; font-size: 11px; font-weight: 700; text-align: left; width: max-content; }
.text-button:hover { color: var(--navy); }
.secondary-button { color: var(--navy); background: var(--cyan-soft); }
.ghost-button { color: var(--muted); background: var(--soft); }
.danger-button { color: var(--red); background: var(--red-soft); }
.login-hint { font-size: 11px; color: var(--muted-2); margin: 24px 0 0; }
code { font-family: "SFMono-Regular", Consolas, monospace; color: var(--navy); background: var(--soft); padding: 2px 5px; border-radius: 3px; }
.visual-topline, .visual-bottomline { position: relative; z-index: 2; display: flex; justify-content: space-between; color: rgba(255,255,255,.45); font-size: 10px; letter-spacing: 0; }
.signal-graphic { position: relative; flex: 1; min-height: 480px; display: grid; place-items: center; }
.signal-grid { position: absolute; inset: 8% 4%; opacity: .32; background-image: linear-gradient(rgba(126,226,216,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(126,226,216,.08) 1px, transparent 1px); background-size: 42px 42px; mask-image: radial-gradient(circle at center, #000 10%, transparent 72%); animation: signal-grid-drift 16s linear infinite; }
.signal-ring { position: absolute; border: 1px solid rgba(77, 211, 202, .32); border-radius: 50%; }
.ring-one { width: 470px; height: 470px; }
.ring-two { width: 310px; height: 310px; border-color: rgba(232, 138, 61, .55); }
.ring-three { width: 150px; height: 150px; border-color: rgba(255,255,255,.42); border-style: dashed; }
.signal-core { position: relative; z-index: 1; width: 102px; height: 102px; border-radius: 50%; background: var(--cyan); display: grid; place-items: center; align-content: center; box-shadow: 0 0 0 15px rgba(26,166,166,.13), 0 0 65px rgba(26,166,166,.34); }
.signal-core img { width: 82px; height: 82px; object-fit: contain; border-radius: 50%; padding: 5px; background: rgba(255,255,255,.96); }
.signal-core small { letter-spacing: 0; font-size: 8px; margin-left: 4px; opacity: .8; }
.signal-label { position: absolute; z-index: 2; color: rgba(255,255,255,.62); font-size: 10px; letter-spacing: 0; }
.label-one { top: 31%; right: 16%; }.label-two { bottom: 26%; left: 17%; }.label-three { top: 20%; left: 18%; }
.signal-node { position: absolute; z-index: 3; display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,.7); font-size: 9px; letter-spacing: .12em; animation: signal-node-pulse 3.8s ease-in-out infinite; }
.signal-node i { display: block; width: 7px; height: 7px; border: 2px solid #7ee2d8; border-radius: 50%; background: var(--navy); box-shadow: 0 0 0 4px rgba(126,226,216,.1), 0 0 16px rgba(126,226,216,.6); }
.model-orbit { position: absolute; z-index: 4; display: flex; align-items: center; gap: 8px; padding: 8px 11px 8px 8px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: rgba(255,255,255,.82); background: rgba(8,29,48,.76); box-shadow: 0 12px 28px rgba(0,0,0,.2); backdrop-filter: blur(8px); font-size: 10px; animation: model-orbit-float 4.8s ease-in-out infinite; }
.model-orbit img { width: 30px; height: 30px; object-fit: contain; border-radius: 8px; padding: 4px; background: rgba(255,255,255,.97); box-shadow: 0 0 12px rgba(126,226,216,.18); }
.orbit-one { top: 15%; left: 13%; animation-delay: -.5s; }.orbit-two { top: 39%; right: 4%; animation-delay: -1.7s; }.orbit-three { bottom: 17%; right: 10%; animation-delay: -2.9s; }.orbit-four { bottom: 33%; left: 5%; animation-delay: -4s; }
.orbit-five { top: 6%; left: 43%; animation-delay: -1s; }.orbit-six { top: 57%; right: 1%; animation-delay: -2.1s; }.orbit-seven { bottom: 7%; left: 39%; animation-delay: -3.2s; }.orbit-eight { bottom: 42%; left: 1%; animation-delay: -4.3s; }
.node-one { top: 29%; left: 15%; }.node-two { top: 49%; right: 11%; animation-delay: -1.2s; }.node-three { bottom: 23%; right: 18%; animation-delay: -2.4s; }
.signal-metric { position: absolute; z-index: 4; display: grid; gap: 3px; min-width: 96px; padding: 10px 12px; border: 1px solid rgba(126,226,216,.2); border-radius: 8px; background: rgba(9,29,48,.72); box-shadow: 0 12px 28px rgba(0,0,0,.16); backdrop-filter: blur(8px); animation: signal-card-float 5s ease-in-out infinite; }
.signal-metric b { color: #f7fbfa; font-size: 16px; }.signal-metric small { color: rgba(255,255,255,.52); font-size: 9px; }.metric-one { top: 13%; right: 7%; }.metric-two { bottom: 13%; left: 7%; animation-delay: -2.5s; }
.signal-particle { position: absolute; z-index: 2; width: 3px; height: 3px; border-radius: 50%; background: #f0b36e; box-shadow: 0 0 14px #f0b36e; animation: signal-particle-float 7s ease-in-out infinite; }.particle-one { top: 21%; left: 36%; }.particle-two { right: 28%; bottom: 31%; animation-delay: -2s; }.particle-three { top: 66%; left: 27%; animation-delay: -4s; }
@keyframes signal-grid-drift { from { transform: translate3d(0,0,0); } to { transform: translate3d(42px,42px,0); } }
@keyframes signal-node-pulse { 0%,100% { opacity: .55; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-5px); } }
@keyframes signal-card-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes signal-particle-float { 0%,100% { opacity: .25; transform: translate(0,0) scale(.8); } 50% { opacity: 1; transform: translate(18px,-24px) scale(1.4); } }
@keyframes model-orbit-float { 0%,100% { transform: translate3d(0,0,0) rotate(-1deg); opacity: .72; } 50% { transform: translate3d(0,-10px,0) rotate(1deg); opacity: 1; } }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 230px 1fr; }
.mobile-app-bar { display: none; }
.sidebar { background: var(--navy); color: rgba(255,255,255,.75); padding: 28px 16px 18px; display: flex; flex-direction: column; }
.sidebar-brand { display: flex; align-items: center; justify-content: space-between; padding: 0 10px 28px; }
.version-tag { border: 1px solid rgba(255,255,255,.17); color: rgba(255,255,255,.43); border-radius: 3px; padding: 4px 6px; font-size: 8px; letter-spacing: 0; }
.tenant-switcher { display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); border-radius: 7px; margin-bottom: 23px; }
.tenant-switcher b, .tenant-switcher small { display: block; }.tenant-switcher b { color: #fff; font-size: 11px; max-width: 122px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.tenant-switcher small { color: rgba(255,255,255,.42); font-size: 10px; margin-top: 4px; }.tenant-avatar, .user-avatar { display: grid; place-items: center; border-radius: 50%; flex: 0 0 auto; }.tenant-avatar { width: 29px; height: 29px; color: var(--navy); background: var(--cyan); font-size: 12px; font-weight: 800; }.chevron { margin-left: auto; color: rgba(255,255,255,.4); }
.mobile-app-brand .tenant-avatar { object-fit: contain; padding: 2px; background: #fff; }
.nav-list { display: grid; gap: 4px; }.nav-label { margin: 18px 10px 5px; color: rgba(255,255,255,.34); font-size: 16px; line-height: 21.6px; letter-spacing: 0; font-weight: 400; }.nav-item { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.66); background: transparent; border: 0; border-radius: 6px; min-height: 40px; padding: 10px 11px; text-align: left; font-size: 14.4px; line-height: 19.8px; font-weight: 500; }.nav-item:hover { color: #fff; background: rgba(255,255,255,.07); }.nav-item.active { color: #fff; background: var(--cyan); box-shadow: 0 7px 14px rgba(26,166,166,.18); }.nav-icon { width: 17px; text-align: center; font-size: 16px; font-weight: 400; }.sidebar-footer { margin-top: auto; }.footer-rule { height: 1px; background: rgba(255,255,255,.1); margin: 18px 10px; }.footer-status { display: flex; align-items: center; gap: 7px; padding: 0 10px; font-size: 10px; color: rgba(255,255,255,.42); }.status-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; background: var(--green); box-shadow: 0 0 0 3px rgba(42,155,107,.12); }.logout-button { width: 100%; margin-top: 13px; border: 0; background: transparent; color: rgba(255,255,255,.35); text-align: left; padding: 8px 10px; font-size: 11px; }.logout-button:hover { color: #fff; }
.main-content { min-width: 0; }.topbar { min-height: 87px; padding: 24px 42px 20px; display: flex; justify-content: space-between; align-items: center; background: var(--paper); border-bottom: 1px solid var(--line); }.topbar h2 { margin: 7px 0 0; font-size: 23px; letter-spacing: 0; }.topbar-actions { display: flex; align-items: center; gap: 24px; }.env-badge { color: var(--green); background: var(--green-soft); padding: 7px 10px; border-radius: 4px; display: flex; align-items: center; gap: 7px; font-size: 9px; font-weight: 800; letter-spacing: 0; }.user-chip { display: flex; align-items: center; gap: 9px; }.user-avatar { width: 34px; height: 34px; color: white; background: var(--navy); font-size: 11px; }.user-chip b, .user-chip small { display: block; }.user-chip b { font-size: 11px; }.user-chip small { color: var(--muted); font-size: 10px; margin-top: 3px; }
#view-root { padding: 34px 42px 52px; max-width: 1500px; }.view-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 24px; }.view-header h3 { margin: 4px 0 0; font-size: 20px; letter-spacing: 0; }.view-header p { color: var(--muted); font-size: 12px; margin: 8px 0 0; }.action-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.layout-main-side { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .75fr); gap: 18px; }.panel { background: var(--paper); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 5px 20px rgba(22,35,55,.025); min-width: 0; }.panel-pad { padding: 20px; }.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 19px 20px; border-bottom: 1px solid var(--line); }.panel-heading h4, .panel-heading p { margin: 0; }.panel-heading h4 { font-size: 13px; }.panel-heading p { color: var(--muted); font-size: 11px; margin-top: 5px; }.muted { color: var(--muted); }.small-text { font-size: 11px; line-height: 1.6; }.stat-card { padding: 19px 20px; min-height: 130px; position: relative; overflow: hidden; }.stat-card::after { content: ""; position: absolute; width: 88px; height: 88px; border: 1px solid rgba(26,166,166,.14); border-radius: 50%; right: -30px; bottom: -31px; }.stat-card .stat-label { color: var(--muted); font-size: 11px; }.stat-card .stat-value { display: block; margin-top: 14px; font-size: 31px; letter-spacing: 0; }.stat-card .stat-meta { color: var(--muted-2); font-size: 10px; margin-top: 7px; }.stat-card.accent { background: var(--navy); color: #fff; border-color: var(--navy); }.stat-card.accent .stat-label, .stat-card.accent .stat-meta { color: rgba(255,255,255,.52); }.stat-card.orange { background: var(--orange-soft); border-color: #f6dfca; }.stat-card.green { background: var(--green-soft); border-color: #d4efdf; }
.table-wrap { overflow: auto; }.data-table { width: 100%; border-collapse: collapse; font-size: 11px; }.data-table th { text-align: left; color: var(--muted-2); font-size: 10px; font-weight: 700; padding: 12px 14px; border-bottom: 1px solid var(--line); white-space: nowrap; }.data-table td { padding: 14px; border-bottom: 1px solid #f0f2f5; vertical-align: middle; }.data-table tr:last-child td { border-bottom: 0; }.data-table tbody tr:hover { background: #fbfcfd; }.strong { font-weight: 760; color: var(--ink); }.status-pill { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; padding: 4px 7px; border-radius: 4px; white-space: nowrap; }.status-pill.ready, .status-pill.succeeded, .status-pill.paid, .status-pill.published { color: var(--green); background: var(--green-soft); }.status-pill.running, .status-pill.review { color: #b76b1b; background: var(--orange-soft); }.status-pill.queued, .status-pill.draft, .status-pill.pending_payment { color: var(--muted); background: var(--soft); }.status-pill.failed, .status-pill.not_configured { color: var(--red); background: var(--red-soft); }.empty-state { padding: 38px 20px; color: var(--muted); text-align: center; font-size: 12px; }.empty-state strong { color: var(--ink); display: block; margin-bottom: 7px; font-size: 13px; }
.status-pill.completed { color: var(--green); background: var(--green-soft); }
.status-pill.rendering { color: #b76b1b; background: var(--orange-soft); }
.status-pill.script_ready, .status-pill.assets_ready { color: var(--muted); background: var(--soft); }
.bar-track { height: 7px; background: #edf1f4; border-radius: 10px; overflow: hidden; }.bar-fill { height: 100%; background: var(--cyan); border-radius: inherit; }.metric-row { display: grid; grid-template-columns: 86px 1fr 46px; align-items: center; gap: 12px; margin: 15px 0; font-size: 11px; }.metric-row b { text-align: right; font-size: 11px; }.provider-list { display: grid; gap: 0; }.provider-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 0; border-bottom: 1px solid #f0f2f5; }.provider-item:last-child { border-bottom: 0; }.provider-name { display: flex; align-items: center; gap: 9px; font-size: 11px; }.provider-logo { display: grid; place-items: center; width: 27px; height: 27px; background: var(--soft); color: var(--navy); border-radius: 5px; font-size: 11px; font-weight: 800; }.provider-note { color: var(--muted-2); font-size: 10px; margin-top: 4px; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }.form-grid .full { grid-column: 1 / -1; }.form-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 17px; }.section-note { padding: 11px 13px; background: var(--orange-soft); border: 1px solid #f5dfc9; color: #9a622a; font-size: 11px; line-height: 1.6; border-radius: 5px; }.section-note.info { background: var(--cyan-soft); border-color: #cdebea; color: #2e7776; }.list-card { padding: 17px 18px; border-bottom: 1px solid var(--line); }.list-card:last-child { border-bottom: 0; }.list-card h4 { margin: 0; font-size: 13px; }.list-card p { color: var(--muted); font-size: 11px; line-height: 1.6; margin: 7px 0 0; }.card-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 11px; color: var(--muted-2); font-size: 10px; }.tag { display: inline-flex; padding: 4px 6px; background: var(--soft); border-radius: 3px; color: var(--muted); font-size: 10px; }.tag.cyan { background: var(--cyan-soft); color: #277f7e; }.tag.orange { background: var(--orange-soft); color: #a4662b; }
.report-hero { display: grid; grid-template-columns: 125px 1fr; gap: 23px; align-items: center; padding: 21px; background: var(--navy); color: white; border-radius: 8px; }.score-ring { width: 104px; height: 104px; display: grid; place-items: center; border-radius: 50%; border: 7px solid var(--cyan); box-shadow: inset 0 0 0 7px rgba(255,255,255,.06); }.score-ring b { font-size: 30px; }.score-ring small { font-size: 10px; color: rgba(255,255,255,.5); }.report-hero h3 { margin: 0; font-size: 18px; }.report-hero p { color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.6; margin: 8px 0 0; }.report-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }.report-metric { padding: 13px; background: var(--soft); border-radius: 5px; }.report-metric small, .report-metric b { display: block; }.report-metric small { color: var(--muted); font-size: 10px; }.report-metric b { font-size: 20px; margin-top: 7px; }.recommendations { margin: 0; padding-left: 18px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.balance-strip { display: flex; align-items: center; justify-content: space-between; background: var(--navy); color: white; padding: 24px 26px; border-radius: 8px; margin-bottom: 18px; }.balance-strip small { display: block; color: rgba(255,255,255,.52); font-size: 10px; }.balance-strip strong { display: block; font-size: 35px; letter-spacing: 0; margin-top: 6px; }.balance-unit { color: var(--cyan); font-size: 11px; margin-left: 7px; }.package-card { padding: 19px; }.package-card h4 { font-size: 14px; margin: 0; }.package-card .price { margin: 17px 0 5px; font-size: 25px; }.package-card .price small { font-size: 11px; color: var(--muted); }.package-card p { margin: 0 0 17px; color: var(--muted); font-size: 11px; }.package-card .primary-button { width: 100%; }
.code-block { background: #0c1726; color: #bce3dc; padding: 16px; border-radius: 6px; font-family: Consolas, monospace; font-size: 11px; line-height: 1.7; overflow: auto; white-space: pre-wrap; }.system-list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }.system-row { background: #fff; display: grid; grid-template-columns: 190px 130px 1fr; gap: 18px; align-items: center; padding: 15px; font-size: 11px; }.system-row small { color: var(--muted); }#toast-root { position: fixed; inset: 0; z-index: 2000; display: grid; align-content: center; justify-items: center; gap: 12px; padding: 24px; pointer-events: none; }.toast { position: relative; display: flex; align-items: center; justify-content: center; width: min(560px, calc(100vw - 40px)); min-height: 72px; padding: 20px 56px 20px 24px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; box-shadow: 0 18px 50px rgba(7, 24, 39, .24); background: var(--navy); color: white; font-size: 16px; font-weight: 600; line-height: 1.6; text-align: center; pointer-events: auto; animation: toast-in .2s ease-out; }.toast-message { display: block; max-width: 100%; overflow-wrap: anywhere; }.toast-close { position: absolute; top: 8px; right: 10px; display: grid; width: 30px; height: 30px; place-items: center; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: white; font-size: 22px; line-height: 1; cursor: pointer; }.toast-close:hover { background: rgba(255,255,255,.22); }.toast.error { background: #8e3d43; }.toast.success { background: #1c7858; }.toast.info { background: #32658c; }@keyframes toast-in { from { transform: translateY(-8px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.inline-form { display: flex; gap: 8px; align-items: flex-end; }.inline-form label { flex: 1; }.nowrap { white-space: nowrap; }.right { text-align: right; }.split-label { display: flex; justify-content: space-between; align-items: baseline; }.split-label span { color: var(--muted-2); font-size: 10px; font-weight: 400; }
.compact { min-height: 30px; padding: 0 9px; font-size: 10px; }

.row-between { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.row-between > :first-child { min-width: 0; }
.side-stack { display: grid; gap: 18px; align-content: start; }
.flush { padding: 0 0 18px; border: 0; }
.toolbar-panel { padding: 14px 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.toolbar-panel > input { max-width: 320px; }
.keyword-columns { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.keyword-columns textarea { min-height: 160px; }
.keyword-preview { border-top: 1px solid var(--line); }
.tag-cloud { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.keyword-preview-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.keyword-selection-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.keyword-selection-hint { margin: 10px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.keyword-term-grid { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 8px; max-height: 420px; overflow: auto; margin-top: 13px; padding: 14px; border: 1px solid #dce9ed; border-radius: 7px; background: #fbfdfd; }
.keyword-term { max-width: 100%; min-height: 32px; padding: 6px 10px; border: 1px solid #d6e3e7; border-radius: 5px; color: #617187; background: #fff; font-size: 11px; line-height: 1.45; text-align: left; overflow-wrap: anywhere; transition: border-color .15s, background .15s, color .15s, opacity .15s; }
.keyword-term::before { content: "✓"; margin-right: 5px; color: #15948e; font-weight: 800; }
.keyword-term:hover { border-color: #8bcac5; background: #f2fbfa; }
.keyword-term.selected { border-color: #9ed8d3; color: #216f6d; background: #effaf9; box-shadow: inset 0 0 0 1px rgba(21, 148, 142, .08); }
.keyword-term:not(.selected) { color: #9aa6b8; background: #f4f6f8; opacity: .72; }
.keyword-term:not(.selected)::before { content: "×"; color: #aab5c1; }
.keyword-ai-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 154px; background: linear-gradient(120deg, #f0fbfa 0%, #fff 58%, #f7fbff 100%); border-color: #cce7e5; }
.keyword-ai-hero-copy { max-width: 760px; }
.keyword-ai-hero-copy h4 { margin: 10px 0 8px; color: #173244; font-size: 22px; }
.keyword-ai-hero-copy p:not(.eyebrow) { margin: 0; color: #66798b; font-size: 13px; line-height: 1.75; }
.keyword-ai-hero-stat { min-width: 190px; padding: 18px; border: 1px solid #c7e6e2; border-radius: 8px; background: rgba(255,255,255,.78); }
.keyword-ai-hero-stat b, .keyword-ai-hero-stat span { display: block; }
.keyword-ai-hero-stat b { color: #128b85; font-size: 17px; }
.keyword-ai-hero-stat span { margin-top: 7px; color: #7a8998; font-size: 11px; line-height: 1.5; }
.keyword-ai-form-panel { margin-top: 18px; }
.keyword-ai-form-grid { display: grid; grid-template-columns: minmax(220px, 1.1fr) minmax(260px, 1.5fr) 150px minmax(180px, .7fr); gap: 14px; align-items: end; }
.keyword-ai-form-action { display: grid; gap: 7px; }
.keyword-ai-form-action small { color: #8a98a9; font-size: 10px; }
.keyword-ai-result-panel, .keyword-ai-help { margin-top: 18px; }
.keyword-ai-result-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.keyword-ai-result-head .card-meta { margin-top: 9px; }
.keyword-ai-term-grid { max-height: 560px; }
.keyword-ai-warning { margin-top: 13px; color: #8b642f; background: #fff8ed; border: 1px solid #f0d9b9; }
.keyword-ai-help-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.keyword-ai-help-grid > div { display: grid; gap: 7px; min-height: 80px; padding: 14px; border: 1px solid #e0ecef; border-radius: 7px; background: #fbfdfd; }
.keyword-ai-help-grid b { color: #34445a; font-size: 12px; }
.keyword-ai-help-grid span { color: #7a8799; font-size: 11px; line-height: 1.55; }
.workflow-launch-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; padding: 0; background: var(--line); }
.workflow-launch { display: grid; gap: 9px; min-height: 150px; padding: 19px; border: 0; color: var(--ink); background: #fff; text-align: left; }
.workflow-launch:hover { background: #f7fbfa; }
.workflow-launch-icon { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #b9dfda; border-radius: 6px; color: #187f79; background: #eff9f7; font-size: 10px; font-weight: 800; }
.workflow-launch > b { font-size: 14px; }
.workflow-launch > small { min-height: 32px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.workflow-launch > strong { color: #168b84; font-size: 11px; }
.provider-batch-field { display: grid; gap: 10px; min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 6px; }
.provider-batch-field legend { padding: 0 5px; color: var(--ink); font-size: 12px; font-weight: 700; }
.provider-batch-field .provider-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.topic-compact-list { display: grid; gap: 8px; }
.topic-compact-list > div { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.topic-compact-list > div:last-child { border-bottom: 0; }
.topic-compact-list > div > b { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.template-strip { overflow: hidden; }
.template-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.template-option { min-height: 104px; padding: 16px; border: 0; background: #fff; color: var(--ink); display: grid; align-content: center; gap: 7px; text-align: left; }
.template-option:hover { background: var(--cyan-soft); }
.template-option span { font-size: 12px; font-weight: 780; }
.template-option small { color: var(--muted); font-size: 10px; line-height: 1.55; }
.template-option.static { cursor: default; }
.editor-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .65fr); gap: 24px; }
.article-body { min-height: 420px; font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 15px; font-weight: 400; line-height: 1.85; }
.version-list { display: grid; gap: 8px; margin-top: 12px; }
.version-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px; border: 1px solid var(--line); border-radius: 6px; }
.version-item b, .version-item span { display: block; }
.version-item span { color: var(--muted); font-size: 10px; margin-top: 4px; }
.evidence-form { margin-top: 14px; }
.segmented { display: inline-flex; gap: 2px; padding: 3px; background: var(--soft); border: 1px solid var(--line); border-radius: 6px; }
.segmented button { min-height: 30px; padding: 0 11px; border: 0; border-radius: 4px; color: var(--muted); background: transparent; font-size: 10px; font-weight: 750; }
.segmented button.active { color: #fff; background: var(--navy); }
.platform-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.platform-card { min-height: 86px; padding: 16px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--ink); text-decoration: none; }
.platform-card:hover { border-color: #b7ddda; background: var(--cyan-soft); }
.platform-card b, .platform-card small { display: block; }
.platform-card b { font-size: 12px; }.platform-card small { color: var(--muted); font-size: 10px; margin-top: 4px; }
.platform-arrow { color: var(--cyan); font-size: 16px; }
.steps-band { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.steps-band > div { min-height: 96px; display: grid; place-content: center; gap: 8px; text-align: center; border-right: 1px solid var(--line); }
.steps-band > div:last-child { border-right: 0; }.steps-band span { color: var(--cyan); font-size: 10px; }.steps-band b { font-size: 12px; }
.integration-hero { display: flex; align-items: center; gap: 20px; min-height: 150px; }
.integration-hero h3, .integration-hero p { margin: 0; }.integration-hero p { color: var(--muted); font-size: 11px; line-height: 1.7; margin-top: 8px; }
.integration-icon { width: 64px; height: 64px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: var(--cyan); border-radius: 8px; font-size: 26px; }
.compact-select { min-width: 90px; padding: 7px 9px; font-size: 10px; }
.selected-row td { background: var(--cyan-soft); }
.timeline { display: grid; gap: 0; margin-top: 12px; }
.timeline > div { display: grid; grid-template-columns: 120px 150px minmax(0, 1fr); gap: 12px; align-items: start; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 10px; }
.timeline > div:last-child { border-bottom: 0; }.timeline span { color: var(--muted); }.timeline code { overflow-wrap: anywhere; }
.guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.guide-card { padding: 20px; }.guide-card > span { color: var(--cyan); font-size: 10px; font-weight: 800; }.guide-card h3 { margin: 14px 0 8px; font-size: 15px; }.guide-card p { min-height: 54px; color: var(--muted); font-size: 11px; line-height: 1.65; }
.formula { text-align: center; color: var(--muted); font-size: 13px; line-height: 2; }.formula b { color: var(--cyan); margin: 0 5px; }
.help-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.help-steps button { min-height: 104px; padding: 18px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; text-align: left; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.help-steps button:hover { background: var(--cyan-soft); }.help-steps span { grid-row: 1 / 3; color: var(--cyan); font-size: 11px; }.help-steps b { font-size: 12px; }.help-steps small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.check-list { margin: 12px 0 0; padding-left: 18px; color: var(--muted); font-size: 11px; line-height: 1.9; }
.field-label { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; color: #536178; font-size: 12px; font-weight: 700; }
.field-label small { color: var(--muted-2); font-size: 10px; font-weight: 400; }
.provider-choice-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.provider-choice { min-width: 0; min-height: 62px; padding: 10px; grid-template-columns: auto auto 1fr; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; cursor: pointer; }
.provider-choice:has(input:checked) { border-color: #a7d9d5; background: var(--cyan-soft); }
.provider-choice input { width: 14px; height: 14px; padding: 0; }.provider-choice b, .provider-choice small { display: block; overflow-wrap: anywhere; }.provider-choice b { color: var(--ink); font-size: 10px; }.provider-choice small { color: var(--muted); font-size: 9px; margin-top: 3px; }
.model-question-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.model-question-grid textarea { min-height: 100px; }.model-question-grid.compact-grid textarea { min-height: 84px; }
.disabled-field { opacity: .42; }.disabled-field textarea { pointer-events: none; background: var(--soft); }
.clickable-row, .clickable-cell { cursor: pointer; }
.status-pill.inactive, .status-pill.cancelled, .status-pill.expired, .status-pill.refunded, .status-pill.withdrawn { color: var(--muted); background: var(--soft); }
.tier-name { font-size: 22px !important; }

@media (max-width: 1200px) {
  .login-panel { padding: 48px; }.login-visual { padding: 35px; }.topbar, #view-root { padding-left: 27px; padding-right: 27px; }
  .layout-main-side { grid-template-columns: 1fr; }.grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .keyword-ai-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.keyword-ai-help-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .keyword-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }.template-grid, .platform-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .login-screen { grid-template-columns: 1fr; }.login-visual { display: none; }.login-panel { order: 1; min-height: 100vh; padding: 32px 24px; }.login-panel h1 { font-size: 34px; }
  .app-shell { display: block; }.sidebar { padding: 16px; max-height: 300px; overflow: auto; }.sidebar-brand { padding-bottom: 14px; }.tenant-switcher { margin-bottom: 8px; }.nav-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }.nav-label { grid-column: 1 / -1; margin-top: 10px; }.sidebar-footer { display: none; }
  .topbar { min-height: 70px; padding: 16px 18px; }.topbar h2 { font-size: 19px; }.topbar-actions { gap: 8px; }.env-badge { display: none; }.user-chip small { display: none; }
  #view-root { padding: 22px 16px 40px; }.view-header { align-items: flex-start; flex-direction: column; }.grid-4, .grid-3, .grid-2, .guide-grid { grid-template-columns: 1fr; }
  .form-grid, .editor-layout, .model-question-grid, .keyword-ai-form-grid { grid-template-columns: 1fr; }.form-grid .full { grid-column: auto; }
  .keyword-ai-hero { align-items: stretch; flex-direction: column; }.keyword-ai-hero-stat { min-width: 0; }
  .keyword-ai-result-head { flex-direction: column; }.keyword-ai-result-head .keyword-selection-actions { width: 100%; }
  .keyword-columns, .template-grid, .platform-grid, .provider-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps-band { grid-template-columns: 1fr; }.steps-band > div { min-height: 68px; border-right: 0; border-bottom: 1px solid var(--line); }.steps-band > div:last-child { border-bottom: 0; }
  .help-steps { grid-template-columns: 1fr; }.help-steps button { border-right: 0; }.toolbar-panel, .inline-form, .balance-strip { align-items: stretch; flex-direction: column; }.toolbar-panel > input { max-width: none; }
  .keyword-ai-help-grid { grid-template-columns: 1fr; }
  .panel-heading, .row-between { flex-wrap: wrap; }.timeline > div { grid-template-columns: 1fr; gap: 5px; }.report-hero { grid-template-columns: 1fr; }.system-row { grid-template-columns: 1fr; gap: 7px; }.article-body { min-height: 300px; }
}
@media (max-width: 520px) {
  .grid-4, .keyword-columns, .template-grid, .platform-grid, .provider-choice-grid { grid-template-columns: 1fr; }
  .nav-list { grid-template-columns: 1fr; }.nav-label { grid-column: auto; }.action-row { width: 100%; }.action-row > button, .action-row > a { flex: 1 1 auto; }
  .panel-pad { padding: 16px; }.panel-heading { padding: 16px; }.data-table th, .data-table td { padding: 11px; }
}

/* Reference-aligned AI official website management workspace. */
.website-reference-page { color: #1f2937; max-width: 1480px; margin: 0 auto; }
.website-card { background: #fff; border: 1px solid rgba(15, 23, 42, .06); border-radius: 12px; box-shadow: 0 1px 3px rgba(0, 0, 0, .06); }
.website-page-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.website-page-actions { display: flex; align-items: center; gap: 8px; }
.website-page-header h3 { margin: 0; font-size: 20px; font-weight: 760; color: #1f2937; }
.website-page-header span { color: #9ca3af; font-size: 13px; }
.website-status-bar { display: flex; align-items: center; gap: 0; min-height: 66px; padding: 14px 20px; margin-bottom: 16px; }
.website-status-item { display: flex; align-items: center; gap: 8px; padding: 0 16px; white-space: nowrap; }
.website-status-item small { color: #9ca3af; font-size: 12px; }.website-status-item strong { max-width: 190px; overflow: hidden; color: #374151; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }.website-status-item b { font-size: 14px; }
.website-status-bar > em { width: 1px; height: 20px; background: #e5e7eb; flex: 0 0 auto; }
.website-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #d1d5db; }.website-status-dot.published { background: #10b981; }
.website-toggle { width: 34px; height: 20px; padding: 2px; border: 0; border-radius: 999px; background: #d1d5db; cursor: pointer; }.website-toggle span { display: block; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .2s; box-shadow: 0 1px 3px #0002; }.website-toggle.on { background: #10b981; }.website-toggle.on span { transform: translateX(14px); }
.website-badge, .website-current-tag { display: inline-flex; align-items: center; padding: 3px 8px; border: 1px solid #d9dcff; border-radius: 4px; color: #6366f1; background: #f4f3ff; font-size: 12px; }
.website-status-actions { display: flex; gap: 8px; margin-left: auto; }
.website-primary-button, .website-secondary-button, .website-success-button { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 16px; border: 1px solid transparent; border-radius: 6px; font-size: 13px; font-weight: 650; cursor: pointer; text-decoration: none; transition: all .2s; }
.website-primary-button { color: #fff; background: linear-gradient(135deg, #6366f1, #8b5cf6); box-shadow: 0 3px 10px #6366f133; }.website-primary-button:hover { transform: translateY(-1px); box-shadow: 0 6px 15px #6366f14d; }.website-primary-button.small, .website-secondary-button.small, .website-success-button.small { min-height: 30px; padding: 0 12px; font-size: 12px; }
.website-secondary-button { color: #4b5563; border-color: #e5e7eb; background: #fff; }.website-secondary-button:hover { border-color: #a5b4fc; color: #6366f1; }.website-success-button { color: #fff; background: #10b981; }.website-success-button.disabled { opacity: .5; pointer-events: none; }
.website-completion-bar { padding: 16px 20px; margin-bottom: 16px; }.website-completion-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }.website-completion-header b { color: #374151; font-size: 13px; }.website-completion-header strong { color: #6366f1; font-size: 14px; }.website-completion-track { height: 6px; margin-bottom: 12px; overflow: hidden; border-radius: 3px; background: #f0f0f0; }.website-completion-track i { display: block; height: 100%; border-radius: 3px; background: linear-gradient(90deg, #6366f1, #8b5cf6); transition: width .35s; }.website-completion-list { display: flex; flex-wrap: wrap; gap: 6px 18px; }.website-completion-list button { padding: 0; border: 0; color: #9ca3af; background: transparent; font-size: 12px; cursor: pointer; }.website-completion-list button.done { color: #374151; }.website-completion-list button:hover { color: #6366f1; }
.website-config-section { overflow: hidden; }.website-tabs { display: flex; align-items: center; gap: 0; padding: 0 24px; border-bottom: 1px solid #f0f0f0; overflow-x: auto; }.website-tabs button { position: relative; min-height: 48px; padding: 0 16px; border: 0; color: #6b7280; background: transparent; font-size: 14px; font-weight: 550; cursor: pointer; white-space: nowrap; }.website-tabs button:hover { color: #6366f1; }.website-tabs button.active { color: #6366f1; font-weight: 700; }.website-tabs button.active::after { position: absolute; right: 14px; bottom: -1px; left: 14px; height: 2px; border-radius: 2px; background: #6366f1; content: ''; }.website-tab-panel { min-height: 360px; }.website-tab-content { padding: 24px; }.website-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }.website-form-group { display: block; margin-bottom: 20px; }.website-form-label { display: block; margin-bottom: 8px; color: #374151; font-size: 14px; font-weight: 650; }.website-form-label i { color: #ef4444; font-style: normal; margin-right: 2px; }.website-form-label em { color: #9ca3af; font-size: 12px; font-style: normal; font-weight: 400; }.website-form-group input, .website-form-group textarea, .website-form-group select, .website-form-stack input, .website-form-stack textarea, .website-form-stack select { width: 100%; min-height: 38px; padding: 9px 11px; border: 1px solid #e5e7eb; border-radius: 6px; outline: none; color: #374151; background: #fff; font: inherit; font-size: 13px; transition: border-color .2s, box-shadow .2s; }.website-form-group textarea, .website-form-stack textarea { min-height: 96px; resize: vertical; line-height: 1.6; }.website-form-group input:focus, .website-form-group textarea:focus, .website-form-group select:focus, .website-form-stack input:focus, .website-form-stack textarea:focus, .website-form-stack select:focus { border-color: #818cf8; box-shadow: 0 0 0 3px #6366f11a; }.website-form-hint { display: block; margin-top: 5px; color: #9ca3af; font-size: 12px; line-height: 1.45; }.website-divider-title { display: flex; align-items: center; gap: 12px; margin: 22px 0 18px; color: #374151; font-size: 14px; font-weight: 700; }.website-divider-title::after { height: 1px; flex: 1; background: #f0f0f0; content: ''; }
.website-logo-upload { display: flex; align-items: center; justify-content: center; gap: 12px; width: 220px; min-height: 68px; padding: 8px 12px; border: 1px dashed #d9d9d9; border-radius: 8px; color: #9ca3af; cursor: pointer; transition: all .2s; }.website-logo-upload:hover { border-color: #6366f1; color: #6366f1; }.website-logo-upload img { max-width: 160px; height: 48px; border: 1px solid #e4e7ed; border-radius: 6px; object-fit: contain; }.website-logo-upload span { font-size: 12px; }.website-logo-placeholder { font-size: 13px !important; }.website-form-group .website-logo-upload + .website-form-hint { margin-top: 6px; }
.website-mode-switcher { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }.website-mode-card { display: grid; justify-items: center; gap: 5px; padding: 18px 20px; border: 2px solid #e5e7eb; border-radius: 12px; color: #374151; background: #fff; cursor: pointer; text-align: center; transition: all .2s; }.website-mode-card:hover { border-color: #a5b4fc; background: #fafbff; }.website-mode-card.active { border-color: #6366f1; background: #f5f3ff; box-shadow: 0 2px 12px #6366f11f; }.website-mode-card strong { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 3px; border-radius: 12px; color: #6366f1; background: #f0f1ff; font-size: 23px; }.website-mode-card.active strong { color: #fff; background: #6366f1; }.website-mode-card b { font-size: 15px; }.website-mode-card small { color: #9ca3af; font-size: 12px; }.website-redirect-section { margin-top: 18px; padding: 20px; border: 1px solid #fef3c7; border-radius: 12px; background: #fffbeb; }
.website-dns-guide { margin-bottom: 20px; padding: 18px 20px; border: 1px solid #e8eaff; border-radius: 10px; background: #f8f9ff; }.website-dns-title { display: flex; align-items: center; gap: 6px; margin-bottom: 14px; color: #374151; font-size: 14px; }.website-dns-title:first-letter { color: #6366f1; }.website-dns-step { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; color: #4b5563; font-size: 13px; }.website-dns-step span { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex: 0 0 auto; border-radius: 50%; color: #fff; background: #6366f1; font-size: 11px; font-weight: 700; }.website-dns-ip { display: flex; align-items: center; gap: 12px; width: fit-content; margin: 4px 0 14px 30px; padding: 10px 14px; border: 1px dashed #c7cbff; border-radius: 8px; background: #fff; }.website-dns-ip code { color: #6366f1; font-family: Consolas, monospace; font-size: 17px; font-weight: 700; }.website-dns-ip button { padding: 4px 11px; border: 1px solid #c7cbff; border-radius: 6px; color: #6366f1; background: #f0f1ff; cursor: pointer; font-size: 12px; }.website-dns-ip button:hover { color: #fff; background: #6366f1; }.website-block-switches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 32px; }.website-block-switches label { display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 8px; }.website-block-switches input { width: 17px; height: 17px; accent-color: #6366f1; }.website-block-switches b { color: #374151; font-size: 13px; }.website-block-switches small { color: #9ca3af; font-size: 12px; }.website-block-hint { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid #f3f4f6; color: #9ca3af; font-size: 12px; line-height: 1.5; }
.website-content-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; }.website-content-toolbar > span { color: #6b7280; font-size: 13px; }.website-primary-button.small { min-height: 30px; padding: 0 13px; }.website-content-table { overflow: hidden; border: 1px solid #edf0f3; border-radius: 8px; }.website-table-head, .website-table-row { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(220px, 1.3fr) 140px 92px; gap: 14px; align-items: center; padding: 12px 14px; }.website-table-head { color: #9ca3af; background: #fafafa; font-size: 12px; font-weight: 650; }.website-table-row { min-height: 58px; border-top: 1px solid #f1f3f5; color: #667085; font-size: 13px; }.website-table-row > b { color: #1f2937; }.website-table-row > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.website-action-buttons { display: flex; align-items: center; justify-content: center; gap: 4px; }.website-icon-button { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 0; border-radius: 6px; color: #94a3b8; background: transparent; cursor: pointer; font-size: 16px; }.website-icon-button:hover { color: #fff; background: linear-gradient(135deg, #6366f1, #8b5cf6); }.website-icon-button.danger:hover { background: linear-gradient(135deg, #ef4444, #f87171); }.website-empty-inline { padding: 70px 20px; color: #9ca3af; text-align: center; font-size: 13px; }.website-faq-list { display: grid; gap: 12px; }.website-faq-item { padding: 16px; border: 1px solid #f0f0f0; border-radius: 8px; }.website-faq-question { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }.website-faq-question > span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: #6366f1; background: #f0f1ff; font-weight: 800; }.website-faq-question > b { flex: 1; color: #1f2937; font-size: 14px; }.website-faq-item p { margin: 0 0 0 30px; color: #6b7280; font-size: 13px; line-height: 1.65; }.website-testimonial-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }.website-testimonial-card { position: relative; padding: 16px; border: 1px solid #f0f0f0; border-radius: 8px; }.website-testimonial-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }.website-testimonial-head b { color: #1f2937; font-size: 14px; }.website-testimonial-head span { color: #9ca3af; font-size: 12px; }.website-testimonial-head strong { margin-left: auto; color: #f59e0b; letter-spacing: 1px; }.website-testimonial-card p { margin: 0 0 10px; color: #4b5563; font-size: 13px; line-height: 1.6; }
.website-section-card { margin-top: 16px; padding: 24px; }.website-section-header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 20px; }.website-section-header h4 { margin: 0; color: #1f2937; font-size: 15px; }.website-section-header span { color: #9ca3af; font-size: 12px; }.website-template-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }.website-template-card { overflow: hidden; padding: 0; border: 2px solid #e5e7eb; border-radius: 12px; background: #fff; color: #1f2937; cursor: pointer; text-align: left; transition: all .25s; }.website-template-card:hover { border-color: #6366f1; transform: translateY(-2px); box-shadow: 0 6px 16px #6366f11f; }.website-template-card.active { border-color: #6366f1; box-shadow: 0 4px 16px #6366f12e; }.website-template-thumb { height: 142px; overflow: hidden; background: #f0f2f5; }.website-thumb-nav { display: flex; align-items: center; gap: 6px; height: 24px; padding: 0 9px; background: #fff; }.website-thumb-nav b { color: var(--template-accent); font-size: 9px; }.website-thumb-nav span { width: 18px; height: 4px; margin-left: auto; border-radius: 2px; background: #c5cae9; }.website-thumb-nav span + span { margin-left: 0; }.website-thumb-hero { display: grid; gap: 3px; padding: 20px 12px 16px; background: linear-gradient(135deg, var(--template-accent), #283593); color: #fff; }.website-thumb-hero strong { font-size: 13px; }.website-thumb-hero small { font-size: 8px; color: #ffffffb3; }.website-thumb-blocks { display: flex; gap: 7px; padding: 10px; background: #fafafa; }.website-thumb-blocks i { height: 24px; flex: 1; border-radius: 4px; background: color-mix(in srgb, var(--template-accent) 20%, white); }.website-template-meta { padding: 10px 12px; border-top: 1px solid #f3f4f6; }.website-template-meta > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 3px; }.website-template-meta b { font-size: 14px; }.website-template-meta small { display: block; color: #9ca3af; font-size: 12px; line-height: 1.4; }
.website-preview-fab { position: fixed; right: 24px; bottom: 24px; z-index: 2001; padding: 10px 18px; border: 0; border-radius: 24px; color: #fff; background: linear-gradient(135deg, #6366f1, #8b5cf6); box-shadow: 0 4px 16px #6366f159; cursor: pointer; font-size: 13px; font-weight: 650; }.website-preview-fab:hover { transform: translateY(-2px); }.website-preview-fab.active { background: #374151; }.website-preview-panel { position: fixed; z-index: 2000; top: 0; right: 0; bottom: 0; display: flex; width: 348px; flex-direction: column; overflow: hidden; background: #fff; box-shadow: -4px 0 24px #0000001f; }.website-preview-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 16px; border-bottom: 1px solid #f0f0f0; color: #1f2937; font-size: 14px; }.website-preview-panel > header > div { display: flex; gap: 4px; }.website-preview-pill { padding: 2px 8px; border: 0; border-radius: 10px; color: #6b7280; background: #f3f4f6; cursor: pointer; font-size: 11px; }.website-preview-pill.active { color: #fff; background: #6366f1; }.website-preview-body { flex: 1; overflow-y: auto; background: #f0f2f5; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }.website-preview-hero { padding-bottom: 22px; color: #fff; }.website-preview-nav { display: flex; align-items: center; padding: 9px 14px; }.website-preview-nav img { max-width: 120px; height: 32px; object-fit: contain; }.website-preview-nav b { font-size: 11px; }.website-preview-hero > strong, .website-preview-hero > small { display: block; padding: 0 14px; }.website-preview-hero > strong { margin-top: 18px; font-size: 19px; line-height: 1.3; }.website-preview-hero > small { margin-top: 5px; color: #ffffffc7; font-size: 11px; }.website-preview-body section, .website-preview-body > footer { padding: 14px; }.website-preview-body h4 { margin: 0 0 8px; padding-bottom: 4px; border-bottom: 2px solid var(--preview-accent); color: #374151; font-size: 12px; }.website-preview-body p, .website-preview-body small { color: #6b7280; font-size: 10px; line-height: 1.5; }.website-preview-product { margin-bottom: 6px; padding: 8px 10px; border-left: 3px solid var(--preview-accent); border-radius: 6px; background: #fff; }.website-preview-product b, .website-preview-product small, .website-preview-faq b, .website-preview-faq small { display: block; }.website-preview-product b, .website-preview-faq b { color: #374151; font-size: 11px; }.website-preview-faq { margin-bottom: 7px; }.website-preview-body > footer { background: #eef1f5; }.website-preview-body > footer small { display: block; }
.website-modal-backdrop { position: fixed; z-index: 3000; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(15, 23, 42, .42); }.website-modal { width: min(560px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 22px; border-radius: 12px; background: #fff; box-shadow: 0 20px 60px #0004; }.website-modal > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 18px; }.website-modal h3 { margin: 0; color: #1f2937; font-size: 19px; }.website-modal-kicker { margin: 0 0 4px; color: #6366f1; font-size: 10px; font-weight: 800; letter-spacing: .12em; }.website-modal-close { width: 30px; height: 30px; border: 0; border-radius: 6px; color: #9ca3af; background: transparent; cursor: pointer; font-size: 24px; line-height: 1; }.website-modal-close:hover { color: #fff; background: #ef4444; }.website-form-stack label { display: block; margin-bottom: 16px; color: #374151; font-size: 13px; font-weight: 650; }.website-form-stack label input, .website-form-stack label textarea, .website-form-stack label select { margin-top: 7px; font-weight: 400; }.website-form-stack footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #f0f0f0; }
@media (max-width: 1400px) { .website-template-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1050px) { .website-status-bar { flex-wrap: wrap; gap: 12px 0; }.website-status-bar > em { display: none; }.website-status-actions { width: 100%; margin-left: 16px; }.website-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .website-page-header { align-items: flex-start; flex-direction: column; gap: 5px; }.website-status-item { padding: 0 8px; }.website-status-item strong { max-width: 135px; }.website-form-grid, .website-mode-switcher, .website-block-switches, .website-testimonial-list { grid-template-columns: 1fr; }.website-template-grid { grid-template-columns: 1fr; }.website-table-head { display: none; }.website-table-row { grid-template-columns: 1fr auto; gap: 6px 12px; }.website-table-row > span { white-space: normal; }.website-table-row > span:nth-child(2) { grid-column: 1 / -1; }.website-table-row > span:nth-child(3) { grid-column: 1; }.website-preview-panel { width: min(348px, 100vw); }.website-preview-fab { right: 14px; bottom: 14px; }.website-tab-content { padding: 18px; }.website-tabs { padding: 0 10px; }.website-tabs button { padding: 0 11px; } }

/* Reference-aligned workspace layout */
.main-content {
  min-height: 100vh;
  background-color: #eef7fb;
  background-image:
    linear-gradient(rgba(30, 143, 154, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(30, 143, 154, .055) 1px, transparent 1px);
  background-size: 32px 32px;
}
.sidebar { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.sidebar-brand, .tenant-switcher, .sidebar-footer { flex: 0 0 auto; }
.nav-list { min-height: 0; flex: 1 1 auto; overflow-y: auto; padding-right: 3px; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.16) transparent; }
.nav-list::-webkit-scrollbar { width: 5px; }
.nav-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,.16); border-radius: 8px; }
.topbar { display: none; }
#view-root { max-width: none; min-height: 100vh; padding: 32px 30px 64px; }

.view-header {
  position: relative;
  isolation: isolate;
  min-height: 154px;
  margin-bottom: 24px;
  padding: 29px 32px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  align-content: center;
  gap: 8px 24px;
  overflow: hidden;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(184, 211, 223, .78);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(39, 91, 112, .08);
}
.view-header::before {
  content: var(--page-kicker, "GEO WORKSPACE");
  grid-column: 1 / -1;
  color: #138f8b;
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 1.7px;
}
.view-header::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #18a8a2 0 65%, #ef8b54 65% 100%);
}
.view-header > div:first-of-type { min-width: 0; }
.view-header h3 { margin: 4px 0 0; color: #101b2d; font-size: 30px; line-height: 1.25; font-weight: 760; }
.view-header p { max-width: 760px; margin: 12px 0 0; color: #66758b; font-size: 14px; line-height: 1.75; }
.view-header > .action-row,
.view-header > button,
.view-header > a,
.view-header > span { align-self: center; justify-self: end; }

#view-root[data-view="dashboard"] .view-header {
  min-height: 218px;
  color: white;
  background-color: #087f7c;
  background-image:
    linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px),
    linear-gradient(115deg, #087975 0%, #118ca3 68%, #d47a4c 100%);
  background-size: 38px 38px, 38px 38px, auto;
  border-color: rgba(255, 255, 255, .24);
}
#view-root[data-view="dashboard"] .view-header::before { color: rgba(255, 255, 255, .76); }
#view-root[data-view="dashboard"] .view-header::after { width: 0; }
#view-root[data-view="dashboard"] .view-header h3 { color: white; font-size: 34px; }
#view-root[data-view="dashboard"] .view-header p { color: rgba(255, 255, 255, .78); }
#view-root[data-view="dashboard"] .view-header .secondary-button { color: #0d5f5d; background: white; border-color: white; }
#view-root[data-view="dashboard"] .view-header .primary-button { color: white; background: transparent; border-color: rgba(255, 255, 255, .62); }

.primary-button, .secondary-button, .danger-button, .ghost-button {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.primary-button { color: white; background: #0c827d; border-color: #0c827d; box-shadow: 0 7px 16px rgba(12, 130, 125, .14); }
.primary-button:hover { background: #086f6b; }
.secondary-button { color: #0b7773; background: #effbfa; border-color: #b8e3df; }
.ghost-button { color: #52637a; background: white; border-color: #dbe4ea; }
.danger-button { border-color: #f3c9cc; }
.compact { min-height: 32px; padding: 0 10px; font-size: 11px; }

.grid-4, .grid-3, .grid-2 { gap: 16px; }
.layout-main-side { grid-template-columns: minmax(0, 1.5fr) minmax(330px, .72fr); gap: 18px; align-items: start; }
.panel {
  border-color: #d9e7ed;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(39, 91, 112, .06);
}
.panel-pad { padding: 24px; }
.panel-heading { min-height: 76px; padding: 20px 22px; align-items: center; border-bottom-color: #e4edf1; }
.panel-heading h4 { color: #172337; font-size: 16px; line-height: 1.35; }
.panel-heading p { margin-top: 6px; color: #7a8799; font-size: 12px; line-height: 1.55; }
.panel-heading.flush { min-height: 0; padding: 0 0 20px; }

.stat-card { min-height: 144px; padding: 24px 22px; border-top: 3px solid #18a8a2; }
.grid-4 > .stat-card:nth-child(2), .grid-3 > .stat-card:nth-child(2) { border-top-color: #278fbc; }
.grid-4 > .stat-card:nth-child(3), .grid-3 > .stat-card:nth-child(3) { border-top-color: #ed925b; }
.grid-4 > .stat-card:nth-child(4) { border-top-color: #7058c7; }
.stat-card::after { width: 112px; height: 112px; right: -42px; bottom: -50px; border-color: rgba(18, 151, 148, .16); }
.stat-card .stat-label { color: #68778d; font-size: 12px; }
.stat-card .stat-value { margin-top: 15px; color: #152237; font-size: 34px; line-height: 1; }
.stat-card .stat-value small { font-size: 16px; }
.stat-card .stat-meta { margin-top: 11px; font-size: 11px; }
.stat-card.accent { background: #0d827d; border-color: #0d827d; }
.stat-card.orange { background: #fff8f1; border-color: #f0a06d; }
.stat-card.green { background: #effaf6; border-color: #2ca985; }

label, .field-label { color: #35455c; font-size: 13px; font-weight: 650; }
input, textarea, select { min-height: 44px; border-color: #d5e1e7; border-radius: 6px; padding: 11px 13px; font-size: 13px; background: #fff; }
textarea { min-height: 116px; }
.stack-form { gap: 17px; max-width: none; }
.form-grid { gap: 18px; }
.form-actions { margin-top: 20px; }
.toolbar-panel { min-height: 80px; padding: 14px 18px; }
.toolbar-panel form { width: 100%; }
.toolbar-panel .inline-form label { min-width: 280px; }
.toolbar-panel .inline-form input { min-width: min(680px, 60vw); }
.inline-form { gap: 10px; }

.data-table { font-size: 12px; }
.data-table th { padding: 13px 16px; color: #78869a; font-size: 11px; background: #f7fafb; }
.data-table td { padding: 16px; line-height: 1.55; }
.data-table tbody tr { transition: background .15s; }
.data-table tbody tr:hover { background: #f2fbfa; }
.list-card { padding: 21px 22px; }
.list-card:hover { background: #fbfefe; }
.list-card h4 { font-size: 15px; }
.list-card p { font-size: 12px; line-height: 1.7; }
.card-meta { gap: 9px; font-size: 11px; }
.tag { padding: 5px 8px; border-radius: 4px; font-size: 11px; }

.empty-state { min-height: 190px; display: grid; place-content: center; gap: 8px; padding: 36px; color: #8896a8; font-size: 13px; background: #fbfdfd; }
.empty-state::before { content: "+"; width: 38px; height: 38px; display: grid; place-items: center; justify-self: center; border: 1px solid #b9dad9; border-radius: 50%; color: #168e89; font-size: 22px; font-weight: 400; }
.empty-state strong { margin: 0; color: #34445a; font-size: 15px; }

.section-note { padding: 13px 15px; font-size: 12px; border-radius: 6px; }
.provider-item { min-height: 58px; padding: 12px 0; }
.provider-name { font-size: 12px; }
.provider-logo { width: 32px; height: 32px; font-size: 12px; }
.provider-note { font-size: 10px; }
.status-pill { padding: 5px 8px; font-size: 10px; }

.template-strip { padding-bottom: 18px; background: transparent; border: 0; box-shadow: none; }
.template-strip > .panel-heading { padding: 3px 4px 18px; border: 0; }
.template-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 0; background: transparent; }
.template-option { min-height: 292px; padding: 0 0 19px; align-content: start; gap: 10px; overflow: hidden; border: 1px solid #d8e5eb; border-radius: 8px; box-shadow: 0 10px 24px rgba(39, 91, 112, .07); }
.template-option::before { content: "GEO 内容模板"; height: 132px; display: flex; align-items: flex-end; padding: 18px; color: rgba(255,255,255,.88); background-color: #169b93; background-image: linear-gradient(135deg, rgba(7,91,89,.82), rgba(75,209,193,.68)); font-size: 12px; font-weight: 800; }
.template-option:nth-child(3n+2)::before { background-color: #168db1; background-image: linear-gradient(135deg, rgba(18,96,145,.9), rgba(86,205,208,.72)); }
.template-option:nth-child(3n)::before { background-color: #d5803f; background-image: linear-gradient(135deg, rgba(176,85,31,.92), rgba(247,201,74,.72)); }
.template-option span, .template-option small { margin: 0 18px; }
.template-option span { font-size: 16px; line-height: 1.35; }
.template-option small { color: #6f7e91; font-size: 12px; line-height: 1.65; }
.template-option:hover { border-color: #82c9c4; background: #fff; transform: translateY(-2px); }

.platform-grid { gap: 14px; }
.platform-card { min-height: 104px; padding: 19px; border-color: #d8e5eb; box-shadow: 0 7px 18px rgba(39, 91, 112, .04); }
.platform-card b { font-size: 14px; }
.platform-card small { font-size: 11px; line-height: 1.55; }
.package-card { min-height: 286px; padding: 24px; border-top: 3px solid #16a19a; }
.package-card h4 { margin-top: 22px; font-size: 17px; }
.package-card .price { font-size: 31px; }
.guide-card { min-height: 216px; padding: 24px; border-top: 3px solid #16a19a; }
.guide-card h3 { font-size: 18px; }
.guide-card p { font-size: 12px; }
.integration-hero { min-height: 190px; }
.integration-icon { width: 72px; height: 72px; background: #0d827d; }
.help-steps button { min-height: 124px; padding: 22px; }
.help-steps b { font-size: 14px; }
.help-steps small, .check-list { font-size: 12px; }
.system-row { padding: 18px; font-size: 12px; }
.balance-strip { min-height: 142px; padding: 28px 30px; background: #0d827d; }

@media (max-width: 1200px) {
  #view-root { padding: 26px 24px 56px; }
  .layout-main-side { grid-template-columns: 1fr; }
  .template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .toolbar-panel .inline-form input { min-width: 420px; }
}
@media (max-width: 820px) {
  .sidebar { position: static; height: auto; max-height: 300px; overflow: auto; }
  .nav-list { overflow: visible; padding-right: 0; }
  #view-root { min-height: auto; padding: 20px 16px 42px; }
  .view-header { min-height: 0; padding: 24px 21px; grid-template-columns: 1fr; gap: 14px; }
  .view-header::before { grid-column: 1; }
  .view-header h3, #view-root[data-view="dashboard"] .view-header h3 { font-size: 26px; }
  .view-header > .action-row, .view-header > button, .view-header > a, .view-header > span { justify-self: stretch; }
  #view-root[data-view="dashboard"] .view-header { min-height: 250px; }
  .toolbar-panel .inline-form input { min-width: 0; }
  .template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .template-option { min-height: 260px; }
  .template-option::before { height: 112px; }
}
@media (max-width: 520px) {
  .view-header { padding: 22px 18px; }
  .view-header h3, #view-root[data-view="dashboard"] .view-header h3 { font-size: 24px; }
  .view-header p { font-size: 13px; }
  .view-header .action-row { display: grid; grid-template-columns: 1fr; }
  .view-header .action-row > * { width: 100%; }
  .panel-heading { padding: 18px; }
  .panel-pad { padding: 18px; }
  .stat-card { min-height: 128px; }
  .template-grid { grid-template-columns: 1fr; }
  .template-option { min-height: 274px; }
  .toolbar-panel .inline-form label { min-width: 0; }
}

/* Data-heavy workspaces added for acquisition, monitoring and local preview flows. */
.topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 20px; }
.topic-card { display: grid; gap: 12px; min-height: 220px; padding: 18px; border: 1px solid #dbe8ed; border-radius: 8px; background: #fff; box-shadow: 0 8px 20px rgba(39, 91, 112, .045); }
.topic-card:hover { border-color: #91d1cc; box-shadow: 0 12px 24px rgba(39, 91, 112, .08); transform: translateY(-1px); }
.topic-card h4 { margin: 0; color: #172337; font-size: 15px; line-height: 1.45; }
.topic-card p { min-height: 42px; margin: 0; color: #68778d; font-size: 12px; line-height: 1.65; }
.topic-card .card-meta { display: flex; align-items: center; flex-wrap: wrap; margin-top: auto; }
.topic-card .card-meta span:not(.tag), .topic-card .card-meta a { color: #8795a6; }
.topic-card .secondary-button { justify-self: start; }
.compact-select { min-height: 34px; padding: 7px 10px; font-size: 11px; }
.trend-list { display: grid; gap: 12px; padding: 20px 22px 24px; }
.trend-row { display: grid; grid-template-columns: 92px minmax(120px, 1fr) 70px 110px; gap: 12px; align-items: center; color: #627189; font-size: 11px; }
.trend-row > b { color: #26364d; text-align: right; font-size: 11px; }
.trend-row > small { color: #8a98a9; font-size: 10px; }
.trend-track, .share-track { height: 9px; overflow: hidden; border-radius: 999px; background: #edf4f5; }
.trend-track i, .share-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1ca49e, #55c9bd); }
.share-list { display: grid; gap: 17px; padding: 22px; }
.share-row { display: grid; grid-template-columns: minmax(170px, .7fr) minmax(120px, 1fr) 54px; gap: 16px; align-items: center; }
.share-row > div:first-child { display: grid; gap: 5px; }
.share-row b { color: #26364d; font-size: 12px; }
.share-row small { color: #8a98a9; font-size: 10px; }
.share-row strong { color: #0c827d; font-size: 14px; text-align: right; }
.share-track i { background: linear-gradient(90deg, #1886b0, #55c7cd); }
.question-list { display: grid; gap: 9px; }
.question-list > div { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: center; min-height: 45px; padding: 8px 12px; border: 1px solid #e4edf1; border-radius: 6px; background: #fbfdfd; }
.question-list span, .recommendation-row > span { color: #15948e; font-size: 11px; font-weight: 800; }
.question-list b { color: #394a61; font-size: 12px; font-weight: 650; }
.recommendation-list { display: grid; gap: 0; padding: 0 22px 8px; }
.recommendation-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 13px; align-items: center; min-height: 66px; border-bottom: 1px solid #edf2f4; }
.recommendation-row:last-child { border-bottom: 0; }
.recommendation-row > div { display: grid; gap: 5px; }
.recommendation-row b { color: #34445a; font-size: 12px; font-weight: 650; }
.recommendation-row small { color: #8a98a9; font-size: 10px; }
.template-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.template-choice { display: grid; gap: 7px; min-height: 96px; padding: 13px; border: 1px solid #d8e5eb; border-radius: 7px; background: #fbfdfd; color: #34445a; text-align: left; cursor: pointer; }
.template-choice:hover, .template-choice.selected { border-color: #42aaa3; background: #effaf9; box-shadow: inset 0 0 0 1px rgba(66, 170, 163, .18); }
.template-choice b { font-size: 12px; line-height: 1.4; }
.template-choice small { color: #7a8799; font-size: 10px; line-height: 1.55; }
.website-workspace, .video-workspace { align-items: start; }
.video-workspace .table-wrap { max-height: 470px; overflow: auto; }

/* Matches the reference AI video creation view, which embeds Printfilm's method page. */
.video-embed { display: grid; gap: .85rem; min-height: calc(100vh - 6.5rem); grid-template-rows: auto minmax(0, 1fr); }
.video-embed-header .subtitle { margin: .35rem 0 0; max-width: 40rem; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.video-embed-frame-wrap { min-height: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--cyan) 12%, #d9e5ea); border-radius: 1rem; background: #0b1220; box-shadow: 0 12px 32px rgba(12, 56, 72, .08); }
.video-embed-frame { display: block; width: 100%; height: 100%; min-height: min(72vh, 52rem); border: 0; background: #fff; }

@media (max-width: 767px) {
  .video-embed { min-height: calc(100vh - 5.5rem); }
  .video-embed-frame { min-height: 70vh; }
}

@media (max-width: 1100px) {
  .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trend-row { grid-template-columns: 78px minmax(100px, 1fr) 58px; }
  .trend-row > small { grid-column: 2 / -1; }
}
@media (max-width: 820px) {
  .topic-grid { grid-template-columns: 1fr; padding: 16px; }
  .share-row { grid-template-columns: 1fr 58px; gap: 10px 14px; }
  .share-row .share-track { grid-column: 1 / 2; }
  .share-row strong { grid-column: 2; grid-row: 1 / span 2; }
  .template-choice-grid { grid-template-columns: 1fr; }
  .recommendation-row { grid-template-columns: 30px minmax(0, 1fr); padding: 10px 0; }
  .recommendation-row .ghost-button { grid-column: 2; justify-self: start; }
}
@media (max-width: 520px) {
  .trend-list { padding: 16px; }
  .trend-row { grid-template-columns: 70px minmax(80px, 1fr) 50px; gap: 8px; }
  .trend-row > small { display: none; }
  .share-list { padding: 17px; }
  .recommendation-list { padding: 0 17px 8px; }
}

/* Reference-aligned dashboard workflow. The links are wired to the local views via data-go. */
.ops-workflow {
  margin-top: 18px;
  padding: 22px;
  border: 1px solid #d9e7ed;
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 10px 28px rgba(39, 91, 112, .06);
}
.ops-workflow-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px 20px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.ops-workflow-head h3 {
  margin: 0;
  color: #172337;
  font-size: 19px;
  line-height: 1.35;
}
.ops-workflow-lead {
  max-width: 680px;
  margin: 6px 0 0;
  color: #68778d;
  font-size: 12px;
  line-height: 1.65;
}
.ops-workflow-loop-tag {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border: 1px solid #c6e8e2;
  border-radius: 999px;
  color: #0f766e;
  background: #e8f7f4;
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
}
.ops-workflow-loop {
  display: grid;
  gap: 12px;
  padding: 13px;
  border: 1px dashed rgba(13, 130, 125, .34);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(0, 168, 148, .05), rgba(0, 144, 212, .035) 48%, rgba(255, 122, 69, .045));
}
.ops-workflow-group {
  padding: 15px 16px 14px;
  border: 1px solid #e6eef2;
  border-radius: 10px;
  background: rgba(255, 255, 255, .9);
}
.ops-workflow-group.is-diagnosis { border-color: rgba(13, 130, 125, .24); }
.ops-workflow-group.is-content { border-color: rgba(39, 143, 188, .24); }
.ops-workflow-group-head { display: grid; gap: 3px; margin-bottom: 12px; }
.ops-workflow-phase {
  color: #0f766e;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
}
.ops-workflow-group.is-content .ops-workflow-phase { color: #0369a1; }
.ops-workflow-group-head h4 {
  margin: 0;
  color: #12343c;
  font-size: 15px;
  line-height: 1.35;
}
.ops-workflow-group-head p {
  margin: 0;
  color: #6b7c86;
  font-size: 11px;
  line-height: 1.55;
}
.ops-workflow-track {
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  list-style: none;
  scrollbar-width: thin;
}
.ops-workflow-item {
  display: flex;
  align-items: center;
  flex: 1 1 0;
  min-width: 122px;
}
.ops-workflow-link {
  display: flex;
  flex: 1;
  min-width: 0;
  min-height: 150px;
  padding: 8px 6px;
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  gap: 6px;
  border: 0;
  border-radius: 9px;
  color: inherit;
  background: transparent;
  text-align: center;
  cursor: pointer;
}
.ops-workflow-link:hover, .ops-workflow-link:focus-visible { background: #f4fafb; outline: none; }
.ops-workflow-link strong {
  max-width: 120px;
  color: #16333a;
  font-size: 11px;
  line-height: 1.35;
}
.ops-workflow-link small {
  max-width: 120px;
  color: #7a8b95;
  font-size: 10px;
  line-height: 1.35;
}
.ops-workflow-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 45px;
  height: 45px;
  margin-bottom: 1px;
  border-radius: 50%;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  box-shadow: 0 7px 14px rgba(20, 60, 80, .13);
}
.ops-workflow-icon.tone-blue { background: #3b82f6; }
.ops-workflow-icon.tone-green { background: #10b981; }
.ops-workflow-icon.tone-amber { background: #f59e0b; }
.ops-workflow-icon.tone-purple { background: #8b5cf6; }
.ops-workflow-icon.tone-yellow { color: #422006; background: #eab308; }
.ops-workflow-icon.tone-coral { background: #f43f5e; }
.ops-workflow-icon.tone-rose { background: #fb7185; }
.ops-workflow-badge {
  position: absolute;
  top: -3px;
  right: -4px;
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #172337;
  background: #fff;
  box-shadow: 0 1px 3px rgba(20, 40, 60, .18);
  font-size: 9px;
  font-weight: 800;
}
.ops-workflow-cta {
  display: inline;
  margin-top: auto;
  color: #0f766e;
  font-size: 10px;
  font-weight: 750;
}
.ops-workflow-arrow {
  position: relative;
  flex: 0 0 24px;
  height: 3px;
  margin: 0 3px 31px;
  border-radius: 999px;
  background: linear-gradient(90deg, #5ec4b8, #0f766e);
  box-shadow: 0 0 0 3px rgba(15, 118, 110, .08);
}
.ops-workflow-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -4px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #0f766e;
  border-bottom: 2px solid #0f766e;
  transform: translateY(-50%) rotate(-45deg);
}
.ops-workflow-bridge {
  display: grid;
  grid-template-columns: minmax(24px, 1fr) auto minmax(24px, 1fr);
  align-items: center;
  gap: 10px;
  color: #0f766e;
  font-size: 11px;
  font-weight: 750;
  text-align: center;
}
.ops-workflow-bridge span { height: 1px; background: linear-gradient(90deg, transparent, #9ec9c4, transparent); }
.ops-workflow-bridge.is-back { color: #0369a1; }
.ops-workflow-bridge.is-back span { background: linear-gradient(90deg, transparent, #93c5fd, transparent); }

@media (max-width: 900px) {
  .ops-workflow-item { flex: 0 0 122px; }
  .ops-workflow-track { padding-bottom: 4px; }
}
@media (max-width: 520px) {
  .ops-workflow { padding: 17px 14px; }
  .ops-workflow-head { display: grid; }
  .ops-workflow-loop-tag { justify-self: start; }
  .ops-workflow-group { padding: 14px 10px 12px; }
  .ops-workflow-loop { padding: 9px; }
  .ops-workflow-bridge { grid-template-columns: 1fr; gap: 5px; }
  .ops-workflow-bridge span { display: none; }
}

/* Operational home workspace */
#app-shell.dashboard-home .main-content {
  background-color: var(--theme-surface-muted);
  background-image: none;
}
#view-root[data-view="dashboard"] {
  display: grid;
  align-content: start;
  gap: 24px;
  color: var(--ink);
}
.dashboard-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 5px 2px 22px;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
}
.dashboard-intro-copy { min-width: 0; }
.dashboard-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--theme-focus);
  font-size: 12px;
  font-weight: 750;
}
.dashboard-eyebrow i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--theme-focus);
  box-shadow: 0 0 0 4px var(--theme-focus-soft);
}
.dashboard-intro h1 {
  margin: 10px 0 0;
  color: var(--ink);
  font-size: 30px;
  line-height: 1.25;
  font-weight: 760;
}
.dashboard-intro p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.dashboard-intro-tools {
  display: flex;
  align-items: flex-end;
  gap: 22px;
  flex: 0 0 auto;
}
.dashboard-date { display: grid; gap: 5px; text-align: right; }
.dashboard-date span { color: var(--muted-2); font-size: 11px; }
.dashboard-date strong { color: var(--ink); font-size: 13px; font-weight: 650; white-space: nowrap; }
.dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.dashboard-metric {
  display: flex;
  min-width: 0;
  min-height: 174px;
  padding: 19px 20px 16px;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid var(--line);
  border-top: 3px solid var(--theme-focus);
  border-radius: 8px;
  background: var(--paper);
  box-shadow: 0 8px 22px color-mix(in srgb, var(--theme-sidebar) 5%, transparent);
}
.dashboard-metric.is-brand { border-top-color: #3985a6; }
.dashboard-metric.is-knowledge { border-top-color: var(--theme-warm); }
.dashboard-metric.is-content { border-top-color: #8b6f9e; }
.dashboard-metric.is-balance {
  border-color: var(--navy);
  background: var(--navy);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--navy) 16%, transparent);
}
.dashboard-metric-label { color: var(--muted); font-size: 12px; font-weight: 650; }
.dashboard-metric-value {
  display: block;
  max-width: 100%;
  margin-top: 16px;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 32px;
  line-height: 1;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
}
.dashboard-metric-value small { margin-left: 5px; color: var(--muted); font-size: 13px; font-weight: 600; }
.dashboard-metric-note { margin-top: 9px; color: var(--muted-2); font-size: 11px; line-height: 1.45; }
.dashboard-metric-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  margin: auto 0 -5px -9px;
  padding: 0 9px;
  border: 0;
  border-radius: 5px;
  color: var(--theme-focus);
  background: transparent;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}
.dashboard-metric-link:hover { background: var(--theme-focus-soft); }
.dashboard-metric.is-balance .dashboard-metric-label,
.dashboard-metric.is-balance .dashboard-metric-note { color: rgba(255, 255, 255, .7); }
.dashboard-metric.is-balance .dashboard-metric-value,
.dashboard-metric.is-balance .dashboard-metric-value small { color: #fff; }
.dashboard-metric.is-balance .dashboard-metric-link { color: #fff; }
.dashboard-metric.is-balance .dashboard-metric-link:hover { background: rgba(255, 255, 255, .12); }
.dashboard-actions { display: grid; gap: 13px; }
.dashboard-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}
.dashboard-section-heading h2,
.dashboard-activity .panel-heading h2 {
  margin: 0;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.4;
  font-weight: 740;
}
.dashboard-section-heading p,
.dashboard-activity .panel-heading p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}
.dashboard-action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.dashboard-action-tile {
  display: grid;
  min-width: 0;
  min-height: 94px;
  padding: 15px 14px;
  grid-template-columns: 38px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  background: var(--paper);
  text-align: left;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.dashboard-action-tile:hover,
.dashboard-action-tile:focus-visible {
  border-color: color-mix(in srgb, var(--theme-focus) 42%, var(--line));
  box-shadow: 0 9px 20px color-mix(in srgb, var(--theme-sidebar) 8%, transparent);
  outline: none;
  transform: translateY(-1px);
}
.dashboard-action-symbol {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 7px;
  color: #117d76;
  background: #e8f6f3;
  font-size: 18px;
  font-weight: 700;
}
.dashboard-action-tile.tone-blue .dashboard-action-symbol { color: #356b9a; background: #edf4fb; }
.dashboard-action-tile.tone-copper .dashboard-action-symbol { color: #9d6b2d; background: #faf3e9; }
.dashboard-action-tile.tone-rose .dashboard-action-symbol { color: #9f5860; background: #fbf0f1; }
.dashboard-action-copy { display: grid; min-width: 0; gap: 5px; }
.dashboard-action-copy strong { overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-action-copy small { overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-action-arrow { color: var(--muted-2); font-size: 16px; text-align: right; }
.dashboard-activity { overflow: hidden; }
.dashboard-activity .panel-heading { min-height: 74px; }
.dashboard-activity-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.dashboard-task-summary { color: var(--muted-2); font-size: 11px; white-space: nowrap; }
.dashboard-activity .table-wrap { overflow-x: auto; }
.dashboard-activity .data-table { min-width: 720px; }
.dashboard-activity .data-table td:first-child { min-width: 240px; }
.dashboard-activity .data-table td:nth-child(2) { min-width: 132px; }
.dashboard-report-panel:empty { display: none; }
#view-root[data-view="dashboard"] .ops-workflow { margin-top: 0; }
#view-root[data-view="dashboard"] .ops-workflow,
#view-root[data-view="dashboard"] .ops-workflow-loop,
#view-root[data-view="dashboard"] .ops-workflow-group,
#view-root[data-view="dashboard"] .ops-workflow-track { min-width: 0; max-width: 100%; }
#view-root[data-view="dashboard"] .ops-workflow-track { width: 100%; }
@media (max-width: 1100px) {
  .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .dashboard-intro { align-items: flex-start; flex-direction: column; }
  .dashboard-intro-tools { width: 100%; align-items: center; justify-content: space-between; }
  .dashboard-date { text-align: left; }
  .dashboard-activity .panel-heading { align-items: flex-start; flex-direction: column; }
  .dashboard-activity-actions { width: 100%; justify-content: space-between; }
}
@media (max-width: 520px) {
  #view-root[data-view="dashboard"] { gap: 20px; }
  .dashboard-intro { padding: 0 0 17px; }
  .dashboard-intro h1 { font-size: 26px; }
  .dashboard-intro p { max-width: 38ch; font-size: 12px; }
  .dashboard-intro-tools { display: grid; gap: 12px; }
  .dashboard-intro-tools .action-row { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .dashboard-intro-tools .action-row > * { width: 100%; padding-right: 8px; padding-left: 8px; }
  .dashboard-date { gap: 3px; }
  .dashboard-date strong { white-space: normal; }
  .dashboard-metrics { gap: 10px; }
  .dashboard-metric { min-height: 158px; padding: 15px 14px 13px; }
  .dashboard-metric-value { margin-top: 13px; font-size: 27px; }
  .dashboard-metric-note { min-height: 30px; font-size: 10px; }
  .dashboard-metric-link { font-size: 10px; }
  .dashboard-action-grid { grid-template-columns: 1fr; gap: 9px; }
  .dashboard-action-tile { min-height: 72px; padding: 11px 13px; }
  .dashboard-action-copy small { white-space: normal; }
  .dashboard-activity .panel-heading { padding: 16px; }
  .dashboard-activity-actions { align-items: flex-start; flex-direction: column; gap: 7px; }
  .dashboard-activity .data-table { min-width: 0; table-layout: fixed; }
  .dashboard-activity .data-table td:first-child { width: 70%; min-width: 0; }
  .dashboard-activity .data-table th:nth-child(2),
  .dashboard-activity .data-table td:nth-child(2),
  .dashboard-activity .data-table th:nth-child(4),
  .dashboard-activity .data-table td:nth-child(4),
  .dashboard-activity .data-table th:nth-child(5),
  .dashboard-activity .data-table td:nth-child(5) { display: none; }
}

/* LLM customer-acquisition workspace */
.lead-view-header { align-items: flex-end; }
.lead-stats { margin-bottom: 0; }
.lead-rule-panel { overflow: hidden; }
.lead-rule-summary { display: flex; align-items: center; gap: 10px; padding: 14px 20px; color: #2c7776; background: linear-gradient(90deg, #f1fbfa, #fff); font-size: 11px; font-weight: 700; flex-wrap: wrap; }
.lead-rule-summary b { color: var(--cyan); font-size: 16px; }
.lead-rule-code { max-height: 380px; overflow: auto; border-top: 1px solid var(--line); background: #0f1b2c; }
.lead-rule-code pre { margin: 0; padding: 18px 20px; color: #c7efe9; font: 12px/1.7 "SFMono-Regular", Consolas, monospace; white-space: pre-wrap; }
.lead-workspace { align-items: start; }
.lead-task-form { margin-top: 16px; }
.lead-task-form textarea { min-height: 104px; }
.lead-task-form .lead-candidate-input { min-height: 168px; font-family: "SFMono-Regular", Consolas, "Microsoft YaHei", sans-serif; font-size: 12px; }
.lead-form-actions { justify-content: flex-start; align-items: center; margin-top: 2px; }
.lead-form-actions .section-note { flex: 1; min-width: 240px; }
.lead-history-panel { overflow: hidden; }
.lead-task-list { display: grid; }
.lead-task-card { padding: 15px 17px; border-bottom: 1px solid var(--line); }
.lead-task-card:last-child { border-bottom: 0; }
.lead-task-card.is-active { background: linear-gradient(90deg, rgba(26,166,166,.08), transparent 85%); box-shadow: inset 3px 0 0 var(--cyan); }
.lead-task-select { display: grid; gap: 5px; width: 100%; padding: 0; border: 0; color: var(--ink); background: transparent; text-align: left; }
.lead-task-select strong { font-size: 12px; }
.lead-task-select span { color: var(--muted); font-size: 10px; }
.lead-task-meta { display: flex; align-items: center; gap: 6px; margin-top: 10px; color: var(--muted-2); font-size: 10px; flex-wrap: wrap; }
.lead-task-error { margin: 8px 0 0; color: var(--red); font-size: 10px; line-height: 1.55; }
.lead-task-card .form-actions { justify-content: flex-start; margin-top: 10px; }
.lead-results-panel { overflow: hidden; }
.lead-results-table { min-width: 1130px; }
.lead-company { display: flex; align-items: center; gap: 7px; margin-bottom: 5px; }
.lead-domain { display: inline-block; max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.lead-level { display: inline-flex; align-items: center; justify-content: center; min-width: 31px; height: 21px; padding: 0 6px; border-radius: 4px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.lead-level-A { color: #10724c; background: var(--green-soft); }
.lead-level-B { color: #a86524; background: var(--orange-soft); }
.lead-level-C { color: #66758a; background: var(--soft); }
.lead-signal-list { display: flex; gap: 5px; flex-wrap: wrap; max-width: 330px; }
.lead-signal { display: inline-flex; padding: 4px 6px; color: #4f6474; background: #f3f6f8; border-radius: 4px; font-size: 10px; line-height: 1.35; }
.lead-signal.demand { color: #aa6330; background: #fff3e7; }
.lead-signal.service { color: #187671; background: #eaf8f6; }
.lead-summary { max-width: 320px; margin: 8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.lead-score { color: var(--cyan); font-size: 17px; }
.lead-results-table td small { color: var(--muted-2); font-size: 10px; }
.lead-row-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.lead-detail-panel { overflow: hidden; }
.lead-detail-panel .panel-heading p .lead-level { margin-right: 5px; }
.lead-detail-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 28px; }
.lead-detail-grid h5 { margin: 0 0 10px; color: var(--ink); font-size: 12px; }
.lead-detail-grid h5:not(:first-child) { margin-top: 22px; }
.lead-detail-grid ul { display: grid; gap: 7px; margin: 0; padding-left: 18px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.lead-message { min-height: 106px; margin-top: 10px; padding: 13px; color: #445269; background: #f7fafb; border: 1px solid #e1e9ed; border-radius: 6px; font-size: 12px; line-height: 1.7; white-space: pre-wrap; }

@media (max-width: 900px) {
  .lead-detail-grid { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 620px) {
  .lead-view-header { align-items: flex-start; }
  .lead-rule-summary { align-items: flex-start; flex-direction: column; }
  .lead-rule-summary b { display: none; }
  .lead-form-actions .section-note { min-width: 0; }
}

/* Enterprise Knowledge Base — reference-aligned graph, profile and material workspace */
#view-root[data-view="knowledge"] { max-width: 1580px; }
.knowledge-view, .knowledge-builder { display: grid; gap: 18px; }
.knowledge-page-header, .knowledge-builder-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; padding: 6px 2px 2px; }
.knowledge-page-header h3, .knowledge-builder-header h3 { margin: 3px 0 0; color: #13283a; font-size: 26px; letter-spacing: -.02em; }
.knowledge-page-header > div > p:last-child, .knowledge-builder-header > div > p:last-child { max-width: 680px; margin: 8px 0 0; color: #77879a; font-size: 13px; line-height: 1.75; }
.knowledge-kicker { margin: 0; color: #10847f; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.knowledge-search-panel { display: flex; align-items: center; gap: 12px; padding: 12px; }
.knowledge-search-input-wrap { display: flex; flex: 1; align-items: center; gap: 10px; min-width: 0; padding-left: 12px; border: 1px solid #cfe0e7; border-radius: 7px; background: #fff; transition: border .15s, box-shadow .15s; }
.knowledge-search-input-wrap:focus-within { border-color: #1aa6a6; box-shadow: 0 0 0 3px rgba(26,166,166,.11); }
.knowledge-search-input-wrap > span { color: #16918c; font-size: 22px; line-height: 1; }
.knowledge-search-input-wrap input { min-width: 0; border: 0; box-shadow: none !important; padding-left: 0; }
.knowledge-search-results { display: grid; gap: 15px; }
.knowledge-hit-list { display: grid; gap: 10px; }
.knowledge-hit { padding: 16px 17px; border: 1px solid #dce9ed; border-radius: 9px; background: linear-gradient(90deg, #fcffff, #f6fbfb); }
.knowledge-hit > div { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.knowledge-hit b { color: #1b3446; font-size: 14px; }
.knowledge-hit > div span { flex: 0 0 auto; color: #087b77; background: #e6f7f5; border-radius: 999px; padding: 4px 8px; font-size: 10px; font-weight: 750; }
.knowledge-hit p { margin: 9px 0 7px; color: #596b80; font-size: 12px; line-height: 1.72; }
.knowledge-hit small { color: #6f9a97; font-size: 11px; }
.knowledge-bases-section { display: grid; gap: 12px; }
.knowledge-section-head, .knowledge-subsection-head, .knowledge-builder-form-head, .knowledge-module-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.knowledge-section-head h4, .knowledge-subsection-head h4, .knowledge-builder-form-head h4, .knowledge-module-panel-head h4 { margin: 0; color: #1d3244; font-size: 16px; }
.knowledge-section-head p, .knowledge-subsection-head p, .knowledge-builder-form-head p, .knowledge-module-panel-head p { margin: 5px 0 0; color: #7a899a; font-size: 12px; line-height: 1.6; }
.knowledge-section-head > span, .knowledge-subsection-head > span { padding-top: 3px; color: #748397; font-size: 12px; white-space: nowrap; }
.knowledge-base-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.knowledge-base-card { display: grid; gap: 13px; min-height: 224px; padding: 18px; border: 1px solid #d7e6eb; border-radius: 10px; outline: 0; background: rgba(255,255,255,.96); box-shadow: 0 8px 22px rgba(32,84,104,.055); cursor: pointer; transition: transform .16s ease, border .16s ease, box-shadow .16s ease, background .16s ease; }
.knowledge-base-card:hover, .knowledge-base-card:focus-visible { border-color: #71beb9; box-shadow: 0 14px 28px rgba(26,124,120,.11); transform: translateY(-2px); }
.knowledge-base-card.selected { border-color: #138d88; background: linear-gradient(145deg, #fff, #edfafa); box-shadow: 0 0 0 3px rgba(20,150,144,.09), 0 14px 28px rgba(26,124,120,.1); }
.knowledge-base-card-head { display: flex; align-items: center; gap: 11px; min-width: 0; }
.knowledge-base-icon { display: grid; place-items: center; flex: 0 0 auto; width: 37px; height: 37px; border-radius: 10px; color: #fff; background: linear-gradient(145deg, #0a817d, #38b6ad); font-size: 15px; font-weight: 800; }
.knowledge-base-card-head h4 { overflow: hidden; margin: 0; color: #1b3243; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-base-card-head p { overflow: hidden; margin: 4px 0 0; color: #8090a0; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-base-desc { min-height: 40px; margin: 0; color: #5f7184; font-size: 12px; line-height: 1.68; }
.knowledge-base-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; color: #75879b; font-size: 10px; }
.knowledge-base-meta span { padding: 4px 6px; border-radius: 4px; background: #f2f7f9; }
.knowledge-base-actions { display: flex; gap: 7px; padding-top: 11px; border-top: 1px solid #e5eef1; }
.knowledge-base-actions .danger-text, .danger-text { color: #bf5b61; }
.knowledge-selected-panel { overflow: hidden; }
.knowledge-selected-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 23px 24px 19px; border-bottom: 1px solid #e2edf0; background: linear-gradient(110deg, rgba(15,143,137,.08), rgba(255,255,255,.55) 54%, rgba(47,145,202,.05)); }
.knowledge-selected-head h4 { margin: 4px 0 0; color: #193246; font-size: 19px; }
.knowledge-selected-head > div > p:last-child { margin: 6px 0 0; color: #738398; font-size: 14px; line-height: 1.65; }
.knowledge-selected-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.knowledge-core-summary { display: grid; gap: 16px; margin: 20px 24px; padding: 18px 20px; border: 1px solid rgba(19,143,137,.18); border-radius: 11px; background: linear-gradient(125deg, rgba(230,248,246,.65), #fff 52%); }
.knowledge-core-summary-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 13px; border-bottom: 1px solid #dfebee; }
.knowledge-core-summary-head h4 { margin: 0; color: #263a4b; font-size: 16px; }
.knowledge-core-summary-head p { margin: 5px 0 0; color: #78889a; font-size: 13px; line-height: 1.65; }
.knowledge-core-summary-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 14px; }
.knowledge-core-summary-basics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 18px; align-content: start; }
.knowledge-core-summary-basics > div, .knowledge-summary-block { display: grid; gap: 5px; min-width: 0; }
.knowledge-core-summary-basics span, .knowledge-summary-block > span { color: #78889a; font-size: 12px; font-weight: 700; }
.knowledge-core-summary-basics b { color: #2b4053; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.knowledge-summary-block { padding: 10px 12px; border: 1px solid #dde9ed; border-radius: 8px; background: #fff; }
.knowledge-summary-block.is-text { grid-column: 1 / -1; }
.knowledge-summary-block p { margin: 0; color: #53677a; font-size: 14px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.knowledge-tag-cloud, .knowledge-inline-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.knowledge-tag-cloud span, .knowledge-inline-tags .knowledge-tag-cloud span { display: inline-flex; max-width: 100%; align-items: center; border: 1px solid rgba(15,145,139,.25); border-radius: 999px; color: #087b76; background: #eaf8f7; padding: 4px 8px; font-size: 12px; font-weight: 700; line-height: 1.5; word-break: break-word; }
.knowledge-empty-inline { color: #93a1ae; font-size: 13px; }
.knowledge-detail-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr); gap: 0; border-top: 1px solid #e2edf0; }
.knowledge-detail-grid-single { grid-template-columns: minmax(0, 1fr); }
.knowledge-detail-grid > section { min-width: 0; padding: 21px 24px 24px; }
.knowledge-detail-grid > section + section { border-left: 1px solid #e2edf0; }
.knowledge-item-list { display: grid; gap: 0; margin-top: 14px; border: 1px solid #e0eaee; border-radius: 8px; overflow: hidden; }
.knowledge-item-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 13px; padding: 14px; background: #fff; }
.knowledge-item-row + .knowledge-item-row { border-top: 1px solid #e8eff2; }
.knowledge-item-row-copy { min-width: 0; }
.knowledge-item-row-copy > div { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.knowledge-item-row-copy b { color: #32485a; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.knowledge-item-row-copy p { margin: 7px 0 5px; color: #718295; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.knowledge-item-row-copy small { color: #98a6b3; font-size: 12px; }
.knowledge-synced-mark { flex: 0 0 auto; color: #218c7d; background: #e9f8f2; border-radius: 4px; padding: 4px 6px; font-size: 10px; font-weight: 700; }
.knowledge-material-side { background: #fbfdfd; }
.knowledge-material-modal { position: fixed; z-index: 2200; inset: 0; display: grid; place-items: center; padding: 24px; }
.knowledge-material-modal.hidden { display: none; }
.knowledge-material-backdrop { position: absolute; inset: 0; background: rgba(15, 35, 55, .42); backdrop-filter: blur(2px); }
.knowledge-material-modal-card { position: relative; z-index: 1; width: min(640px, 100%); max-height: min(88vh, 760px); overflow: auto; border: 1px solid #d7e7e9; border-radius: 12px; background: #fbfdfd; box-shadow: 0 24px 70px rgba(15, 35, 55, .25); }
.knowledge-material-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px 24px 16px; border-bottom: 1px solid #e2edf0; background: #fff; }
.knowledge-material-modal-head h3 { margin: 3px 0 0; color: #193246; font-size: 19px; }
.knowledge-material-modal-head p:last-child { max-width: 500px; margin: 6px 0 0; color: #738398; font-size: 13px; line-height: 1.7; }
.knowledge-material-modal-close { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border: 0; border-radius: 6px; color: #718195; background: #f1f6f7; font-size: 22px; line-height: 1; }
.knowledge-material-modal-close:hover { color: #fff; background: #0c827d; }
.knowledge-material-modal-body { padding: 20px 24px 24px; }
.compact-form { gap: 11px; margin-top: 13px; }
.compact-form textarea { min-height: 92px; }
.knowledge-source-upload { padding-top: 14px; margin-top: 14px; border-top: 1px dashed #d4e2e7; }
.knowledge-small-empty { min-height: 132px; font-size: 11px; }
.knowledge-unassigned { display: grid; gap: 12px; }
.knowledge-unassigned h4 { margin: 0; font-size: 15px; }

.knowledge-completeness { display: grid; grid-template-columns: auto auto; align-items: center; gap: 3px 10px; min-width: 182px; padding: 12px 14px; border: 1px solid #bee1de; border-radius: 9px; background: #fff; }
.knowledge-completeness span { color: #75879a; font-size: 10px; font-weight: 700; }
.knowledge-completeness b { grid-row: span 2; grid-column: 2; align-self: center; color: #0c827d; font-size: 21px; }
.knowledge-completeness b small { color: #8292a0; font-size: 11px; font-weight: 600; }
.knowledge-completeness i { grid-column: 1; display: block; width: 96px; height: 5px; overflow: hidden; border-radius: 99px; background: #e0eeef; }
.knowledge-completeness i em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #10a39c, #3bc8bd); }
.knowledge-builder-tips { display: flex; flex-wrap: wrap; gap: 8px; padding: 11px 14px; border: 1px dashed #b9d9d8; border-radius: 8px; color: #5f7787; background: rgba(255,255,255,.72); font-size: 11px; }
.knowledge-builder-tips span { padding-left: 11px; position: relative; }
.knowledge-builder-tips span::before { content: ""; position: absolute; left: 0; top: .5em; width: 4px; height: 4px; border-radius: 50%; background: #18a39c; }
.knowledge-upload-banner { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 16px; padding: 17px 20px; border: 1px solid #b9e1dc; border-radius: 10px; color: #275361; background: linear-gradient(110deg, #e5f8f5, #fff 62%); }
.knowledge-upload-banner b { color: #136c69; font-size: 14px; }
.knowledge-upload-banner p { margin: 5px 0 0; color: #6c8290; font-size: 11px; line-height: 1.6; }
.knowledge-upload-control { display: block; color: #0b7974; background: #fff; border: 1px dashed #85c9c4; border-radius: 6px; padding: 9px 11px; cursor: pointer; white-space: nowrap; }
.knowledge-upload-control input { display: none; }
.knowledge-builder-form { display: grid; gap: 16px; }
.knowledge-builder-form-head { margin-bottom: 18px; }
.knowledge-name-row { display: grid; grid-template-columns: minmax(230px, .7fr) minmax(300px, 1.3fr); gap: 15px; margin-bottom: 17px; }
.knowledge-core-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.knowledge-core-fields .knowledge-field:nth-child(4), .knowledge-core-fields .knowledge-field:nth-child(5) { grid-column: 1 / -1; }
.knowledge-field { display: grid; gap: 7px; min-width: 0; padding: 13px; border: 1px solid #e0eaee; border-radius: 8px; background: #fcfefe; }
.knowledge-field.compact { padding: 11px; }
.knowledge-field-head { display: flex; justify-content: space-between; align-items: center; gap: 9px; }
.knowledge-field label { display: inline-flex; align-items: center; gap: 5px; color: #324a5c; font-size: 14px; }
.knowledge-field p { min-height: 18px; margin: -1px 0 0; color: #91a0ad; font-size: 12px; line-height: 1.65; }
.knowledge-field input, .knowledge-field textarea { min-height: 44px; padding: 9px 10px; background: #fff; font-size: 14px; line-height: 1.75; }
.knowledge-field textarea { min-height: 104px; }
.knowledge-field.compact textarea { min-height: 90px; }
.knowledge-required, .knowledge-optional { border-radius: 4px; padding: 2px 4px; font-size: 11px; font-weight: 700; }
.knowledge-required { color: #ae611d; background: #fff2e7; }
.knowledge-optional { color: #8694a2; background: #edf2f4; }
.knowledge-field-assist { flex: 0 0 auto; min-height: 28px; padding: 0 8px; border: 1px solid #b9dedb; border-radius: 5px; color: #09807a; background: #f2fbfa; font-size: 12px; font-weight: 700; }
.knowledge-field-assist:hover { border-color: #61bbb4; background: #e4f8f5; }
.knowledge-inline-tags { min-height: 18px; }
.knowledge-optional-core { display: grid; gap: 13px; margin-top: 17px; padding: 16px; border: 1px dashed #a9d4d1; border-radius: 9px; background: linear-gradient(110deg, rgba(243,252,251,.95), #fff); }
.knowledge-optional-core h4 { margin: 0; color: #335262; font-size: 13px; }
.knowledge-optional-core p { margin: 5px 0 0; color: #8392a0; font-size: 11px; }
.knowledge-optional-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.knowledge-optional-grid .knowledge-field:first-child { grid-column: 1 / -1; }
.knowledge-assist-panel { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-color: #d6e9e8; background: linear-gradient(105deg, #fff, #f1fbfa); }
.knowledge-assist-panel h4 { margin: 0; color: #215061; font-size: 15px; }
.knowledge-assist-panel p { max-width: 580px; margin: 5px 0 0; color: #748798; font-size: 11px; line-height: 1.65; }
.knowledge-assist-controls { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 8px; align-items: center; min-width: min(500px, 52vw); }
.knowledge-assist-controls input { min-height: 39px; padding: 8px 9px; font-size: 11px; }
.knowledge-module-workspace { overflow: hidden; }
.knowledge-module-tabs { display: flex; gap: 0; overflow-x: auto; border-bottom: 1px solid #dbe8ec; background: #f8fbfc; scrollbar-width: thin; }
.knowledge-module-tabs button { flex: 0 0 auto; min-height: 48px; padding: 0 14px; border: 0; border-bottom: 2px solid transparent; color: #718195; background: transparent; font-size: 14px; font-weight: 700; }
.knowledge-module-tabs button:hover { color: #168b85; background: #f0faf9; }
.knowledge-module-tabs button.active { border-bottom-color: #10948e; color: #087d78; background: #fff; }
.knowledge-module-panel { display: grid; gap: 17px; }
.knowledge-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.knowledge-module-empty { padding: 34px; border: 1px dashed #d4e4e8; border-radius: 8px; color: #8091a0; text-align: center; font-size: 12px; }
.knowledge-builder-actions { display: flex; justify-content: flex-end; gap: 9px; }
.knowledge-builder-material { display: grid; gap: 13px; }
.knowledge-builder-material .inline-form { display: flex; align-items: flex-end; gap: 10px; }
.knowledge-builder-material .inline-form label { flex: 1; }

.knowledge-builder .knowledge-name-row label,
.knowledge-builder .knowledge-name-row input,
.knowledge-selected-panel .knowledge-material-side label,
.knowledge-selected-panel .knowledge-material-side input,
.knowledge-selected-panel .knowledge-material-side textarea,
.knowledge-selected-panel .knowledge-material-side select { font-size: 14px; line-height: 1.7; }
.knowledge-builder .knowledge-builder-form-head p,
.knowledge-builder .knowledge-module-panel-head p,
.knowledge-builder .knowledge-optional-core > div > p,
.knowledge-selected-panel .knowledge-subsection-head p { font-size: 13px; line-height: 1.7; }
.knowledge-builder .knowledge-optional-core h4 { font-size: 15px; }

@media (max-width: 1180px) {
  .knowledge-base-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .knowledge-assist-panel { align-items: flex-start; flex-direction: column; }
  .knowledge-assist-controls { width: 100%; min-width: 0; }
}

/* Video production workbench. */
.video-workbench-page { display: grid; gap: 18px; min-width: 0; }
.video-entry { display: grid; gap: 18px; }
.video-entry-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: 26px; align-items: center; min-height: 280px; padding: 34px; overflow: hidden; border: 1px solid #c9e5e2; border-radius: 10px; background: linear-gradient(120deg, #087f7c, #116f87 67%, #d57b4c); box-shadow: 0 18px 38px rgba(18, 95, 111, .13); color: #fff; }
.video-entry-hero h1 { margin: 8px 0 0; color: #fff; font-size: 32px; line-height: 1.25; }
.video-entry-hero p { max-width: 650px; margin: 13px 0 20px; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.7; }
.video-entry-hero .secondary-button { color: #0b7773; background: #effbfa; border-color: #effbfa; }
.video-entry-art { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 7px 12px; padding: 22px; border: 1px solid rgba(255,255,255,.25); border-radius: 9px; background: rgba(7, 43, 55, .22); }
.video-entry-art span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; color: #fff; font-size: 11px; font-weight: 800; }
.video-entry-art b { color: #fff; font-size: 13px; }
.video-entry-art i { grid-column: 1; width: 1px; height: 17px; margin: -7px 0 -7px 17px; background: rgba(255,255,255,.38); }
.video-entry-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.video-entry-flow article { display: flex; gap: 13px; min-height: 108px; padding: 20px; border: 1px solid #d9e7ed; border-radius: 8px; background: rgba(255,255,255,.94); box-shadow: 0 10px 28px rgba(39,91,112,.05); }
.video-entry-flow article > span { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 6px; color: #0c827d; background: #e8f7f4; font-size: 11px; font-weight: 800; }
.video-entry-flow h3 { margin: 0; color: #172337; font-size: 14px; }
.video-entry-flow p { margin: 7px 0 0; color: #748398; font-size: 11px; line-height: 1.6; }
.video-workbench-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 4px 3px 2px; }
.video-workbench-head h1 { margin: 7px 0 0; color: #152237; font-size: 27px; line-height: 1.25; }
.video-workbench-head p { max-width: 680px; margin: 8px 0 0; color: #6e7e91; font-size: 13px; line-height: 1.6; }
.video-workbench-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.video-workbench-grid { display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.55fr); gap: 18px; align-items: start; }
.video-workbench-sidebar, .video-workbench-main { display: grid; gap: 18px; min-width: 0; }
.video-workbench-sidebar { position: sticky; top: 18px; }
.video-task-library { overflow: hidden; }
.video-library-head, .video-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 20px 21px; border-bottom: 1px solid #e5edf1; }
.video-library-head h3, .video-panel-heading h3 { margin: 4px 0 0; color: #172337; font-size: 16px; }
.video-panel-heading p { max-width: 650px; margin: 6px 0 0; color: #7a8799; font-size: 11px; line-height: 1.55; }
.video-section-kicker { color: #0d8b85; font-size: 10px; font-weight: 800; letter-spacing: 1.2px; }
.video-task-list { display: grid; max-height: 365px; overflow-y: auto; padding: 7px; }
.video-task-card { display: grid; grid-template-columns: 34px minmax(0, 1fr) 16px; gap: 10px; align-items: center; width: 100%; min-height: 75px; border: 1px solid transparent; border-radius: 7px; background: transparent; padding: 11px 10px; color: #34445a; text-align: left; cursor: pointer; }
.video-task-card:hover { background: #f4fbfa; }
.video-task-card.is-active { border-color: #a8dcd6; background: #effaf8; box-shadow: inset 3px 0 0 #0c827d; }
.video-task-card-mark { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 6px; color: #0e847e; background: #e5f6f3; font-size: 10px; font-weight: 800; }
.video-task-card-copy { min-width: 0; }
.video-task-card-copy strong, .video-task-card-copy small, .video-task-card-copy > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.video-task-card-copy strong { color: #26364d; font-size: 12px; }
.video-task-card-copy small { margin-top: 4px; color: #8794a6; font-size: 10px; }
.video-task-card-copy > span { margin-top: 7px; }
.video-task-card-copy .status-pill { margin-right: 7px; }
.video-task-card-copy em { color: #7b8c9a; font-size: 10px; font-style: normal; }
.video-task-card-arrow { color: #8fa0ad; font-size: 20px; }
.video-task-empty, .video-inline-empty { display: grid; place-items: center; gap: 8px; min-height: 170px; padding: 28px; color: #8b99a9; text-align: center; font-size: 12px; }
.video-task-empty strong { color: #34445a; font-size: 14px; }
.video-task-empty p { margin: 0; color: #8b99a9; font-size: 11px; }
.video-empty-icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #b9dad9; border-radius: 8px; color: #168e89; font-size: 19px; }
.video-create-shell { max-width: 980px; margin: 0 auto; overflow: hidden; }
.video-create-shell .video-panel-heading { padding: 24px 26px; }
.video-create-shell .video-create-form { padding: 24px 26px 28px; }
.video-form-intro { display: flex; align-items: center; gap: 12px; margin-bottom: 2px; padding-bottom: 16px; border-bottom: 1px solid #e6eef1; }
.video-step-number { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 6px; color: #fff; background: #0c827d; font-size: 10px; font-weight: 800; }
.video-form-intro strong { color: #24364d; font-size: 14px; }
.video-form-intro p { margin: 4px 0 0; color: #8391a1; font-size: 11px; }
.video-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.video-form-grid.compact { gap: 11px; }
.video-inspector-form { overflow: hidden; border: 1px solid #d9e7ed; border-radius: 8px; background: #fff; box-shadow: 0 10px 28px rgba(39,91,112,.06); }
.video-inspector-section { display: grid; gap: 13px; padding: 19px 20px; border-bottom: 1px solid #e5edf1; }
.video-inspector-section:last-of-type { border-bottom: 0; }
.video-inspector-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.video-inspector-head h4 { margin: 4px 0 0; color: #1e3046; font-size: 14px; }
.video-save-state { color: #8795a4; font-size: 10px; }
.video-switch { display: flex; align-items: center; gap: 7px; color: #617186; font-size: 10px; font-weight: 600; }
.video-switch input { width: 15px; min-height: 15px; padding: 0; accent-color: #0c827d; }
.video-check-row { display: flex; align-items: center; gap: 8px; color: #748398; font-size: 11px; font-weight: 500; }
.video-check-row input { width: 15px; min-height: 15px; padding: 0; accent-color: #0c827d; }
.video-inspector-actions, .video-scene-form-actions, .video-preview-actions, .video-panel-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.video-timeline-panel, .video-scene-editor, .video-assets-panel, .video-preview-panel { overflow: hidden; }
.video-timeline-track { display: grid; gap: 9px; padding: 14px; }
.video-scene-card { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 12px; align-items: start; min-width: 0; border: 1px solid #e0eaee; border-radius: 7px; background: #fff; padding: 13px; cursor: pointer; }
.video-scene-card:hover { border-color: #9bd5cf; background: #fbfefe; }
.video-scene-card.is-selected { border-color: #70c4bc; background: #f1fbf9; box-shadow: inset 3px 0 0 #0c827d; }
.video-scene-index { display: grid; gap: 5px; justify-items: center; }
.video-scene-index span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 6px; color: #0c827d; background: #e6f7f4; font-size: 11px; font-weight: 800; }
.video-scene-index small { color: #8795a5; font-size: 10px; }
.video-scene-copy { min-width: 0; }
.video-scene-title { display: flex; align-items: center; gap: 8px; min-width: 0; }
.video-scene-title strong { overflow: hidden; color: #2b3d54; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.video-scene-title span { flex: 0 0 auto; border-radius: 4px; padding: 3px 6px; color: #718293; background: #f1f5f6; font-size: 9px; }
.video-scene-copy p { display: -webkit-box; overflow: hidden; margin: 7px 0 0; color: #718093; font-size: 11px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.video-scene-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; color: #0e847e; font-size: 9px; }
.video-scene-meta span { border-radius: 4px; padding: 3px 5px; background: #eef8f6; }
.video-scene-actions { display: flex; gap: 4px; }
.icon-button { display: inline-grid; width: 29px; height: 29px; place-items: center; border: 1px solid #d9e5e9; border-radius: 5px; color: #63748a; background: #fff; cursor: pointer; font-size: 12px; }
.icon-button:hover { border-color: #78c6be; color: #0c827d; background: #effaf8; }
.icon-button:disabled { cursor: not-allowed; opacity: .4; }
.icon-button.danger:hover { border-color: #efb9b9; color: #bf4f59; background: #fff7f7; }
.icon-button.primary-icon { border-color: #0c827d; color: #fff; background: #0c827d; }
.video-scene-editor .video-scene-form { display: grid; gap: 14px; padding: 18px 20px 21px; }
.video-assets-panel .video-asset-list { display: grid; gap: 0; padding: 3px 18px; }
.video-asset-row { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto auto; gap: 10px; align-items: center; min-width: 0; padding: 11px 0; border-bottom: 1px solid #edf2f4; }
.video-asset-row:last-child { border-bottom: 0; }
.video-asset-thumb { display: grid; width: 48px; height: 48px; place-items: center; overflow: hidden; border-radius: 6px; color: #fff; background: var(--asset-color, #0d1828); font-size: 10px; font-weight: 800; }
.video-asset-thumb img, .video-asset-thumb video { width: 100%; height: 100%; object-fit: cover; }
.video-asset-copy { min-width: 0; }
.video-asset-copy strong, .video-asset-copy small, .video-asset-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.video-asset-copy strong { color: #33445a; font-size: 11px; }
.video-asset-copy small { margin-top: 4px; color: #7d8c9c; font-size: 10px; }
.video-asset-copy span { margin-top: 4px; color: #0c827d; font-size: 9px; }
.video-file-button { position: relative; min-height: 29px; padding: 0 8px; border: 1px solid #d9e5e9; border-radius: 5px; color: #60738a; background: #fff; font-size: 10px; line-height: 27px; cursor: pointer; }
.video-file-button input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.video-voice-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.video-voice-state { border-radius: 5px; padding: 7px 9px; color: #0c827d; background: #eef8f6; font-size: 10px; line-height: 1.45; }
.video-asset-row .is-cover { border-color: #e9c46a; color: #b7791f; background: #fffaf0; }
.video-preview-stage { position: relative; display: grid; place-items: center; min-height: 320px; padding: 20px; background: #0b1524; }
.video-preview-stage canvas { display: block; width: min(100%, 420px); max-height: 620px; height: auto; border: 1px solid rgba(255,255,255,.15); background: #101c2e; box-shadow: 0 12px 28px rgba(0,0,0,.2); }
.video-preview-overlay { position: absolute; right: 28px; bottom: 29px; left: 28px; display: flex; justify-content: space-between; gap: 10px; color: rgba(255,255,255,.72); font-size: 10px; pointer-events: none; }
.video-preview-controls { display: grid; grid-template-columns: 30px 30px minmax(0, 1fr) 42px; gap: 8px; align-items: center; padding: 13px 18px 5px; }
.video-preview-controls input { min-height: 20px; padding: 0; accent-color: #0c827d; }
.video-preview-percent { color: #728398; font-size: 10px; text-align: right; }
.video-preview-actions { padding: 10px 18px 18px; }
.video-preview-actions .section-note { flex: 1; margin: 0; }
.video-preview-status { border-radius: 4px; padding: 5px 8px; color: #0c827d; background: #e9f7f4; font-size: 10px; font-weight: 700; }
.video-render-progress { display: grid; gap: 6px; padding: 0 18px 18px; color: #7c8c9d; font-size: 10px; }
.video-render-progress i { display: block; height: 6px; overflow: hidden; border-radius: 8px; background: #e5eff0; }
.video-render-progress b { display: block; height: 100%; border-radius: inherit; background: #0c827d; transition: width .1s linear; }

@media (max-width: 1100px) { .video-workbench-grid { grid-template-columns: 1fr; }.video-workbench-sidebar { position: static; }.video-inspector-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.video-inspector-section { min-width: 0; }.video-inspector-section:first-child { grid-row: span 2; }.video-inspector-actions { grid-column: 1 / -1; padding: 0 20px 20px; } }
@media (max-width: 760px) { .video-entry-hero { grid-template-columns: 1fr; padding: 25px 20px; }.video-entry-hero h1 { font-size: 26px; }.video-entry-art { max-width: 320px; }.video-entry-flow { grid-template-columns: 1fr; }.video-workbench-head { flex-direction: column; }.video-workbench-head-actions { justify-content: flex-start; }.video-form-grid, .video-inspector-form { grid-template-columns: 1fr; }.video-inspector-section:first-child { grid-row: auto; }.video-inspector-actions { grid-column: auto; padding: 0; }.video-preview-stage { min-height: 260px; padding: 12px; }.video-preview-stage canvas { max-height: 440px; }.video-scene-card { grid-template-columns: 43px minmax(0, 1fr); }.video-scene-actions { grid-column: 2; }.video-asset-row { grid-template-columns: 42px minmax(0, 1fr) auto; }.video-asset-thumb { width: 42px; height: 42px; }.video-asset-row .icon-button { grid-column: 3; grid-row: 1; }.video-file-button { grid-column: 3; grid-row: 2; } }
@media (max-width: 430px) { .video-workbench-head h1 { font-size: 22px; }.video-library-head, .video-panel-heading { padding: 16px; }.video-scene-card { padding: 10px; }.video-scene-title { align-items: flex-start; flex-direction: column; gap: 5px; }.video-preview-controls { grid-template-columns: 30px 30px minmax(0, 1fr); }.video-preview-percent { display: none; } }
@media (max-width: 820px) {
  .knowledge-page-header, .knowledge-builder-header, .knowledge-selected-head { flex-direction: column; }
  .knowledge-selected-actions { width: 100%; justify-content: flex-start; }
  .knowledge-search-panel, .knowledge-upload-banner { grid-template-columns: 1fr; align-items: stretch; }
  .knowledge-search-panel { flex-direction: column; align-items: stretch; }
  .knowledge-base-grid, .knowledge-detail-grid, .knowledge-core-summary-body, .knowledge-name-row, .knowledge-core-fields, .knowledge-optional-grid, .knowledge-field-grid { grid-template-columns: 1fr; }
  .knowledge-detail-grid > section + section { border-top: 1px solid #e2edf0; border-left: 0; }
  .knowledge-core-fields .knowledge-field:nth-child(4), .knowledge-core-fields .knowledge-field:nth-child(5), .knowledge-optional-grid .knowledge-field:first-child { grid-column: auto; }
  .knowledge-core-summary-basics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .knowledge-summary-block.is-text { grid-column: auto; }
  .knowledge-assist-controls { grid-template-columns: 1fr; }
  .knowledge-builder-material .inline-form { align-items: stretch; flex-direction: column; }
  .knowledge-material-modal { padding: 12px; }
  .knowledge-material-modal-head, .knowledge-material-modal-body { padding-left: 17px; padding-right: 17px; }
}
@media (max-width: 520px) {
  .knowledge-base-grid { grid-template-columns: 1fr; }
  .knowledge-core-summary, .knowledge-selected-head, .knowledge-detail-grid > section { margin-left: 0; margin-right: 0; padding-left: 16px; padding-right: 16px; }
  .knowledge-core-summary { margin: 14px 16px; }
  .knowledge-core-summary-basics { grid-template-columns: 1fr; }
  .knowledge-upload-banner { padding: 15px; }
  .knowledge-completeness { width: 100%; }
}

/* AI article creator — template first, then guided full-article generation. */
.article-view-header { align-items: center; margin-bottom: 20px; }
.article-view-header > div:first-child { max-width: 760px; }
.article-view-header h3 { color: #18283e; }
.article-view-header p { max-width: 720px; color: #687b90; font-size: 13px; line-height: 1.7; }
.article-compliance-note { display: flex; align-items: baseline; gap: 9px; margin: -5px 0 18px; padding: 11px 14px; border: 1px solid #f0dfc5; border-radius: 7px; color: #8a6a42; background: #fffaf2; font-size: 10px; line-height: 1.6; }
.article-compliance-note b { color: #a66c2c; font-weight: 800; white-space: nowrap; }
.article-cost-pill { display: inline-flex; align-items: center; justify-content: center; min-height: 26px; padding: 0 10px; border: 1px solid #bce5e1; border-radius: 999px; color: #087f79; background: #e9f9f7; font-size: 11px; font-weight: 800; white-space: nowrap; }
.article-template-library { overflow: hidden; border: 1px solid #d8e8eb; border-radius: 12px; background: linear-gradient(140deg, #f3fbfb 0%, #fff 32%, #fbfdfd 100%); box-shadow: 0 14px 35px rgba(28, 76, 93, .065); }
.article-template-library-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 27px 29px 24px; border-bottom: 1px solid #e2edf0; }
.article-template-library-head > div:first-child > span { color: #10948e; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.article-template-library-head h4 { margin: 7px 0 0; color: #1d3047; font-size: 19px; }
.article-template-library-head p { max-width: 660px; margin: 8px 0 0; color: #75879a; font-size: 12px; line-height: 1.7; }
.article-template-library-metrics { display: grid; place-items: center; flex: 0 0 auto; width: 94px; height: 75px; border: 1px solid #d3e9e7; border-radius: 9px; color: #0b827d; background: #f7fdfc; }
.article-template-library-metrics b { margin-top: 8px; font-size: 24px; line-height: 1; }
.article-template-library-metrics span { margin-bottom: 8px; color: #80919e; font-size: 10px; }
.article-template-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 22px; }
.article-template-card { display: grid; min-width: 0; padding: 0; overflow: hidden; border: 1px solid #d8e6ea; border-radius: 10px; color: #273b53; background: #fff; text-align: left; cursor: pointer; box-shadow: 0 6px 17px rgba(31, 77, 91, .045); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.article-template-card:hover { border-color: #76c9c3; box-shadow: 0 13px 25px rgba(24, 124, 120, .12); transform: translateY(-3px); }
.article-template-card:focus-visible { outline: 3px solid rgba(16, 155, 148, .28); outline-offset: 2px; }
.article-template-cover { position: relative; display: flex; align-items: flex-end; min-height: 112px; padding: 15px; overflow: hidden; color: #fff; background: radial-gradient(circle at 82% 22%, rgba(111, 236, 216, .68), transparent 30%), linear-gradient(132deg, #075f67 0%, #159b93 55%, #6dd5c7 100%); }
.article-template-card:nth-child(3n + 2) .article-template-cover { background: radial-gradient(circle at 78% 20%, rgba(122, 219, 239, .65), transparent 30%), linear-gradient(132deg, #185a81, #278cae 57%, #73ced5); }
.article-template-card:nth-child(3n) .article-template-cover { background: radial-gradient(circle at 78% 20%, rgba(255, 218, 112, .7), transparent 31%), linear-gradient(132deg, #9a5935, #d88947 57%, #f0ba68); }
.article-template-cover img, .article-template-cover-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.article-template-cover img { z-index: 0; object-fit: cover; opacity: .92; }
.article-template-cover-overlay { z-index: 0; background: linear-gradient(125deg, rgba(7, 49, 61, .48), rgba(11, 125, 116, .05) 65%, rgba(7, 36, 48, .28)); }
.article-template-cover::after { content: ""; position: absolute; right: -22px; top: -42px; width: 126px; height: 126px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; box-shadow: 0 0 0 20px rgba(255,255,255,.055), 0 0 0 44px rgba(255,255,255,.04); }
.article-template-cover-mark { position: relative; z-index: 1; color: rgba(255,255,255,.9); font-size: 14px; font-weight: 850; letter-spacing: .17em; }
.article-template-cover-no { position: absolute; z-index: 1; right: 17px; bottom: 13px; color: rgba(255,255,255,.66); font-size: 18px; font-weight: 850; letter-spacing: .06em; }
.article-template-badge { display: inline-flex; align-items: center; width: fit-content; min-height: 21px; padding: 0 7px; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; color: #fff; background: rgba(9, 48, 58, .16); font-size: 10px; font-weight: 800; line-height: 1; white-space: nowrap; }
.article-template-cover .article-template-badge { position: absolute; z-index: 1; top: 13px; left: 14px; }
.article-template-card-body { display: grid; align-content: start; gap: 10px; min-height: 250px; padding: 17px 17px 15px; }
.article-template-title-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.article-template-title-row h4 { margin: 0; color: #21364f; font-size: 15px; line-height: 1.4; }
.article-template-title-row > span { color: #119991; font-size: 17px; font-weight: 750; }
.article-template-card-body > p { min-height: 58px; margin: 0; color: #718297; font-size: 11px; line-height: 1.65; }
.article-template-keywords, .article-template-elements { display: flex; flex-wrap: wrap; gap: 6px; }
.article-template-keywords span { padding: 3px 6px; border-radius: 4px; color: #397d7c; background: #edf8f7; font-size: 9px; line-height: 1.4; }
.article-template-elements { min-height: 30px; }
.article-template-elements span { color: #7e8e9f; font-size: 10px; line-height: 1.55; }
.article-template-elements b { color: #12a097; }
.article-template-action { align-self: end; padding-top: 5px; color: #0f908a; font-size: 11px; font-weight: 750; }
.article-template-action b { padding-left: 3px; font-size: 14px; }

.article-composer { overflow: hidden; border: 1px solid #d6e6e9; border-radius: 12px; background: #fff; box-shadow: 0 13px 33px rgba(31, 79, 95, .07); }
.article-composer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 23px 25px; border-bottom: 1px solid #e2ecef; background: linear-gradient(115deg, #f0faf9, #fff 65%); }
.article-composer-breadcrumb { display: flex; align-items: center; gap: 11px; margin-bottom: 13px; }
.article-composer-breadcrumb > span { color: #7d8e9d; font-size: 11px; }
.article-current-template { display: grid; gap: 7px; }
.article-current-template .article-template-badge { border-color: #b8dedb; color: #10877f; background: #eaf9f7; }
.article-current-template h4 { margin: 0; color: #1e344b; font-size: 19px; }
.article-current-template p { max-width: 720px; margin: 0; color: #748599; font-size: 12px; line-height: 1.65; }
.article-preset { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 25px; border-bottom: 1px solid #e8f0f2; background: #fbfdfd; }
.article-preset > div:first-child { display: grid; gap: 4px; }
.article-preset > div:first-child > span { color: #0d938c; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.article-preset b { color: #31465d; font-size: 13px; }
.article-preset small { color: #8493a2; font-size: 11px; line-height: 1.55; }
.article-preset-keywords { display: flex; flex: 0 1 490px; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.article-preset-keywords span { padding: 4px 7px; border: 1px solid #d4e9e7; border-radius: 99px; color: #44817e; background: #f2fbfa; font-size: 10px; white-space: nowrap; }
.article-custom-mode-note { display: flex; align-items: center; gap: 10px; padding: 13px 25px; border-bottom: 1px solid #e2eeef; color: #35605f; background: #f2faf9; font-size: 12px; line-height: 1.6; }
.article-custom-mode-note b { flex: 0 0 auto; color: #0d857e; font-size: 12px; font-weight: 800; }
.article-custom-prompt-help { color: #7e8e9d; font-size: 10px; font-weight: 400; line-height: 1.6; }
.article-composer-form { display: grid; }
.article-form-section { padding: 23px 25px; border-bottom: 1px solid #e8f0f2; }
.article-section-heading { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 11px; align-items: start; margin-bottom: 16px; }
.article-section-heading > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 7px; color: #fff; background: linear-gradient(135deg, #13a29a, #3abeb2); font-size: 10px; font-weight: 850; }
.article-section-heading h4 { margin: 0; color: #2a4058; font-size: 14px; }
.article-section-heading p { margin: 4px 0 0; color: #8291a1; font-size: 11px; line-height: 1.6; }
.article-form-grid, .article-setting-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.article-form-grid .full, .article-setting-grid .full { grid-column: 1 / -1; }
.article-composer label { display: grid; min-width: 0; gap: 7px; color: #4f6277; font-size: 12px; font-weight: 700; }
.article-composer input, .article-composer select, .article-composer textarea { box-sizing: border-box; width: 100%; border-color: #d7e4e9; background: #fff; font-size: 12px; }
.article-composer input:focus, .article-composer select:focus, .article-composer textarea:focus { border-color: #5dbdb6; box-shadow: 0 0 0 3px rgba(40, 166, 159, .1); }
.article-topic-field textarea { min-height: 88px; resize: vertical; }
.article-source-picker { padding: 14px; border: 1px solid #deebee; border-radius: 8px; background: #fcfefe; }
.article-source-note { margin-bottom: 10px; color: #7a8c9d; font-size: 10px; line-height: 1.55; }
.article-source-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 196px; overflow: auto; gap: 8px; padding-right: 3px; }
.article-source-item { display: grid !important; grid-template-columns: 16px minmax(0, 1fr); align-items: center; gap: 8px !important; min-height: 49px; padding: 8px 9px; border: 1px solid #e0ebee; border-radius: 6px; color: #445d70 !important; background: #fff; cursor: pointer; }
.article-source-item:hover, .article-source-item:has(input:checked) { border-color: #90d2cd; background: #f1fbfa; }
.article-source-item input { width: 14px; height: 14px; margin: 0; padding: 0; accent-color: #159c95; }
.article-source-item b, .article-source-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.article-source-item b { color: #354d63; font-size: 11px; }
.article-source-item small { margin-top: 3px; color: #92a0ad; font-size: 9px; font-weight: 500; }
.article-source-empty { padding: 16px; border: 1px dashed #c7dce0; border-radius: 6px; color: #8696a5; background: #fff; font-size: 11px; line-height: 1.6; }
.article-inline-warning { display: block; margin-top: 3px; color: #b46e2c; font-size: 10px; font-weight: 500; }
.article-no-base { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 3px; }
.article-no-base small { color: #b46e2c; font-size: 10px; font-weight: 500; }
.article-focus-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.article-focus-item { position: relative; display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 9px !important; min-height: 76px; padding: 13px 12px; border: 1px solid #dbe8eb; border-radius: 8px; background: #fff; cursor: pointer; transition: border-color .14s ease, background .14s ease; }
.article-focus-item:hover, .article-focus-item:has(input:checked) { border-color: #72c8c2; background: #f3fbfa; }
.article-focus-item input { position: absolute; opacity: 0; pointer-events: none; }
.article-focus-item b { display: block; color: #354d63; font-size: 12px; }
.article-focus-item small { display: block; margin-top: 5px; color: #8292a1; font-size: 10px; font-weight: 500; line-height: 1.55; }
.article-focus-item i { display: grid; place-items: center; width: 18px; height: 18px; border: 1px solid #b9d6d6; border-radius: 50%; color: transparent; background: #fff; font-size: 10px; font-style: normal; }
.article-focus-item:has(input:checked) i { border-color: #10a199; color: #fff; background: #10a199; }
.article-contact-controls { padding: 15px; border: 1px solid #dce9eb; border-radius: 9px; background: #fbfdfd; }
.article-contact-mode, .article-contact-types { display: flex; flex-wrap: wrap; gap: 10px; }
.article-contact-radio { display: inline-flex !important; flex: 1 1 210px; align-items: center; gap: 10px !important; min-height: 56px; padding: 10px 13px; border: 1px solid #dce8eb; border-radius: 8px; background: #fff; cursor: pointer; }
.article-contact-radio:has(input:checked) { border-color: #71c8c1; background: #f1faf9; box-shadow: inset 0 0 0 1px rgba(17, 157, 148, .1); }
.article-contact-radio input, .article-contact-type input { flex: 0 0 16px; width: 16px !important; height: 16px !important; margin: 0; padding: 0; accent-color: #159c95; }
.article-contact-radio span { display: grid; gap: 3px; color: #354d63; font-size: 12px; }
.article-contact-radio small { color: #8495a2; font-size: 10px; font-weight: 500; }
.article-contact-types { margin-top: 13px; padding: 12px; border: 1px solid #e0ebed; border-radius: 8px; background: #fff; }
.article-contact-types[hidden] { display: none; }
.article-contact-type { display: inline-flex !important; align-items: center; gap: 7px !important; min-width: 92px; padding: 8px 10px; border: 1px solid #e0e9ec; border-radius: 7px; background: #fff; cursor: pointer; }
.article-contact-type:has(input:checked) { border-color: #82cec7; color: #0b827b; background: #f0faf8; }
.article-contact-hint { margin: 11px 0 0; color: #7c8e9d; font-size: 11px; line-height: 1.6; }
.article-image-picker { padding: 14px; border: 1px solid #dce9eb; border-radius: 9px; background: #fbfdfd; }
.article-image-picker-toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.article-image-picker-toolbar > div { display: grid; gap: 4px; }
.article-image-picker-toolbar strong { color: #354d63; font-size: 12px; }
.article-image-picker-toolbar span { color: #8495a2; font-size: 10px; font-weight: 500; line-height: 1.5; }
.article-image-count-field { display: flex !important; flex: 0 0 116px; align-items: center; gap: 7px !important; color: #53677a !important; font-size: 11px !important; }
.article-image-count-field select { min-height: 34px; padding: 7px 9px; }
.article-image-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; max-height: 360px; overflow: auto; padding: 2px 3px 2px 1px; }
.article-image-option { position: relative; display: grid !important; gap: 5px !important; min-width: 0; padding: 5px; border: 1px solid #dce8eb; border-radius: 7px; background: #fff; cursor: pointer; }
.article-image-option:hover, .article-image-option:has(input:checked) { border-color: #72c8c2; background: #f1fbfa; box-shadow: 0 0 0 1px rgba(17, 157, 148, .08); }
.article-image-option input { position: absolute; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.article-image-option-visual { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 5px; background: #eef4f5; }
.article-image-option-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.article-image-option-visual i { position: absolute; top: 5px; right: 5px; display: grid; place-items: center; width: 19px; height: 19px; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; color: transparent; background: rgba(255,255,255,.9); font-size: 11px; font-style: normal; }
.article-image-option:has(input:checked) .article-image-option-visual i { color: #fff; background: #10a199; }
.article-image-option-name, .article-image-option small { display: block; overflow: hidden; padding: 0 3px; text-overflow: ellipsis; white-space: nowrap; }
.article-image-option-name { color: #354d63; font-size: 10px; }
.article-image-option small { color: #92a0ad; font-size: 9px; font-weight: 500; }
.article-image-picker-hint { margin: 11px 0 0; color: #8495a2; font-size: 10px; line-height: 1.6; }
.article-image-picker-empty { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.article-image-empty-copy { display: grid; gap: 4px; }
.article-image-empty-copy strong { color: #53677a; font-size: 12px; }
.article-image-empty-copy span { color: #8495a2; font-size: 10px; line-height: 1.5; }
.article-editor-images { padding: 13px; border: 1px solid #dce9eb; border-radius: 8px; background: #fbfdfd; }
.article-editor-images-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.article-editor-images-head h4 { margin: 0; color: #354d63; font-size: 12px; }
.article-editor-images-head span { color: #15948d; font-size: 10px; }
.article-editor-image-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 10px; }
.article-editor-image-grid figure { min-width: 0; margin: 0; }
.article-editor-image-grid img { display: block; width: 100%; aspect-ratio: 4 / 3; border-radius: 5px; object-fit: cover; background: #eef4f5; }
.article-editor-image-grid figcaption { overflow: hidden; margin-top: 4px; color: #738596; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.article-advanced { border-bottom: 1px solid #e8f0f2; background: #fcfefe; }
.article-advanced summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 17px 25px; color: #344d62; cursor: pointer; list-style: none; }
.article-advanced summary::-webkit-details-marker { display: none; }
.article-advanced summary > span { font-size: 13px; font-weight: 800; }
.article-advanced summary small { color: #8a99a7; font-size: 10px; }
.article-advanced summary b { color: #15948d; font-size: 16px; transition: transform .15s ease; }
.article-advanced:not([open]) summary b { transform: rotate(-90deg); }
.article-advanced-body { display: grid; gap: 19px; padding: 2px 25px 24px; }
.article-setting-grid > label { padding: 12px; border: 1px solid #e1ebee; border-radius: 8px; background: #fff; }
.article-setting-grid .field-label { margin: 0; }
.article-setting-grid .field-label small { font-size: 10px; }
.article-requirements { min-height: 155px; resize: vertical; line-height: 1.6; }
.article-chip-editor { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-height: 41px; padding: 6px; border: 1px solid #d6e5e9; border-radius: 6px; background: #fff; }
.article-chip-editor:focus-within { border-color: #5dbdb6; box-shadow: 0 0 0 3px rgba(40, 166, 159, .1); }
.article-chip-list { display: contents; }
.article-keyword-chip { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; padding: 4px 5px 4px 7px; border-radius: 4px; color: #287d78; background: #eaf8f6; font-size: 10px; line-height: 1.35; }
.article-keyword-chip button { width: 15px; height: 15px; padding: 0; border: 0; border-radius: 50%; color: #348e88; background: transparent; font-size: 14px; line-height: 13px; }
.article-keyword-chip button:hover { color: #fff; background: #49aba4; }
.article-chip-input { flex: 1 1 130px; width: auto !important; min-width: 110px; min-height: 25px !important; padding: 2px 5px !important; border: 0 !important; box-shadow: none !important; outline: 0; }
.article-chip-editor > small { flex-basis: 100%; color: #99a7b2; font-size: 9px; font-weight: 500; }
.article-model-section { padding: 14px; border: 1px solid #dce9ec; border-radius: 8px; background: linear-gradient(110deg, #f7fcfc, #fff); }
.article-model-section .field-label { margin: 0 0 10px; }
.article-provider-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.article-provider-option { display: grid !important; grid-template-columns: 23px minmax(0, 1fr) auto; align-items: center; gap: 8px !important; min-height: 57px; padding: 9px; border: 1px solid #dce8eb; border-radius: 7px; color: #53677a !important; background: #fff; cursor: pointer; }
.article-provider-option:hover, .article-provider-option:has(input:checked) { border-color: #79c9c4; background: #effaf9; }
.article-provider-option input { position: absolute; opacity: 0; pointer-events: none; }
.article-provider-mark { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 5px; color: #fff; background: #187e82; font-size: 10px; font-weight: 850; }
.article-provider-option b, .article-provider-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.article-provider-option b { color: #365166; font-size: 10px; }
.article-provider-option small { margin-top: 3px; color: #93a2ae; font-size: 8px; font-weight: 500; }
.article-provider-option i { width: 9px; height: 9px; border: 2px solid #c2d6d9; border-radius: 50%; }
.article-provider-option:has(input:checked) i { border-color: #13a099; box-shadow: inset 0 0 0 2px #effaf9; background: #13a099; }
.article-provider-empty { padding: 12px; border: 1px dashed #d0dde2; border-radius: 6px; color: #8695a2; font-size: 11px; }
.article-generation-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 25px; background: linear-gradient(108deg, #f3fbfa, #fff 62%); }
.article-generation-footer > div { display: flex; align-items: center; gap: 11px; }
.article-generation-footer p { max-width: 610px; margin: 0; color: #76899a; font-size: 11px; line-height: 1.6; }
.article-publish-option { display: inline-flex !important; grid-template-columns: none !important; align-items: center; gap: 6px !important; color: #546a7c !important; font-size: 10px !important; font-weight: 650 !important; white-space: nowrap; }
.article-publish-option input { width: 14px; height: 14px; padding: 0; accent-color: #119b94; }
.article-generate-button { display: inline-flex; align-items: center; gap: 13px; min-width: 185px; justify-content: center; }
.article-generate-button b { font-size: 17px; }

.article-history { overflow: hidden; }
.article-history-list { display: grid; }
.article-history-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 19px 21px; border-bottom: 1px solid #e7eff1; }
.article-history-item:last-child { border-bottom: 0; }
.article-history-item:hover { background: #fcfefe; }
.article-history-main { min-width: 0; }
.article-history-title { display: flex; align-items: center; gap: 9px; }
.article-history-title h4 { margin: 0; color: #263d55; font-size: 14px; }
.article-history-main > p { max-width: 830px; margin: 7px 0 0; overflow: hidden; color: #76889b; font-size: 13px; line-height: 1.65; text-overflow: ellipsis; white-space: nowrap; }
.article-history-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 10px; color: #8a99a7; font-size: 10px; }
.article-history-meta a { color: #118d87; text-decoration: none; }
.article-history-meta a:hover { text-decoration: underline; }
.article-history-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 7px; max-width: 360px; }
.article-list-toolbar .inline-form { display: grid; width: 100%; grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(145px, 1fr)) auto; align-items: end; gap: 10px; }
.article-list-toolbar .inline-form label { min-width: 0; flex: initial; }
.article-list-toolbar .inline-form input,
.article-list-toolbar .inline-form select { width: 100%; min-width: 0; }
.article-list-toolbar .inline-form > .tag { justify-self: end; margin-bottom: 2px; }
.status-pill.publishing { color: #a96012; background: #fff3df; }
.status-pill.not_distributed { color: #617386; background: #eef2f6; }
.status-pill.pending_republish { color: #b42335; background: #fff0f1; }
.status-pill.partial { color: #8b5b10; background: #fff7df; }
.status-pill.after_sales { color: #8a4e83; background: #f8edfa; }
.article-generation-summary { padding: 12px; border: 1px solid #dcebea; border-radius: 7px; background: #f7fcfc; }
.article-generation-summary h4 { margin: 0 0 8px; color: #365266; font-size: 12px; }
.article-generation-summary p { margin: 5px 0; color: #6f8394; font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.article-generation-summary p span { display: inline-block; min-width: 33px; margin-right: 7px; color: #0b918a; font-weight: 800; }

@media (max-width: 1180px) {
  .article-template-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-provider-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-list-toolbar .inline-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .article-template-library-head, .article-composer-head, .article-preset, .article-generation-footer, .article-history-item { align-items: stretch; flex-direction: column; }
  .article-template-library-head, .article-composer-head, .article-form-section, .article-preset, .article-custom-mode-note, .article-advanced summary, .article-advanced-body, .article-generation-footer { padding-left: 18px; padding-right: 18px; }
  .article-preset-keywords { justify-content: flex-start; }
  .article-form-grid, .article-setting-grid, .article-focus-grid, .article-source-list { grid-template-columns: 1fr; }
  .article-image-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .article-image-picker-toolbar { align-items: stretch; flex-direction: column; }
  .article-image-count-field { flex-basis: auto; }
  .article-history-actions { justify-content: flex-start; max-width: none; }
  .article-list-toolbar .inline-form { grid-template-columns: 1fr; }
  .article-list-toolbar .inline-form > .tag { justify-self: start; }
}
@media (max-width: 520px) {
  .article-template-gallery { grid-template-columns: 1fr; padding: 14px; }
  .article-template-library-head { padding: 19px 17px; }
  .article-image-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-image-picker-empty { align-items: stretch; flex-direction: column; }
  .article-template-library-metrics { display: none; }
  .article-template-card-body { min-height: 230px; }
  .article-composer-head { padding-top: 18px; padding-bottom: 18px; }
  .article-current-template h4 { font-size: 17px; }
  .article-provider-grid { grid-template-columns: 1fr; }
  .article-generation-footer > div { align-items: flex-start; flex-direction: column; }
  .article-generate-button { width: 100%; }
  .article-history-title { align-items: flex-start; flex-direction: column; }
}

/* Global readability pass: keep controls compact while making content copy easier to scan. */
#view-root label,
#view-root .field-label { font-size: 14px !important; line-height: 1.65 !important; }
#view-root label small,
#view-root .field-label small,
#view-root small { font-size: 12px !important; line-height: 1.6 !important; }
#view-root p,
#view-root .muted,
#view-root .hint,
#view-root .small-text,
#view-root .field-hint,
#view-root .section-note,
#view-root .article-source-note { font-size: 13px !important; line-height: 1.7 !important; }
#view-root .article-source-item b { font-size: 13px !important; line-height: 1.5 !important; }
#view-root .article-source-item small { font-size: 12px !important; line-height: 1.55 !important; }
#view-root th { font-size: 12px !important; line-height: 1.5 !important; }
#view-root td { font-size: 13px !important; line-height: 1.6 !important; }
#view-root .tag,
#view-root .status-pill,
#view-root .card-meta,
#view-root .article-history-meta,
#view-root .stat-label,
#view-root .stat-meta { font-size: 12px !important; line-height: 1.5 !important; }

/* AI Viral Replica — discovery, analysis, brand rewrite and batch workspace */
#view-root[data-view="viral"] { max-width: 1580px; }
.viral-page-local { display: grid; gap: 28px; }
.viral-hero-local { position: relative; overflow: hidden; min-height: 286px; padding: 34px 38px 28px; border: 1px solid rgba(15, 55, 95, .09); border-radius: 24px; color: #153047; background: linear-gradient(128deg, #fff 0%, #f0fbf9 48%, #e7f4fc 100%); box-shadow: 0 14px 34px rgba(22, 55, 74, .07); }
.viral-hero-copy-local { position: relative; z-index: 1; max-width: 830px; }
.viral-hero-glow-local { position: absolute; display: block; border-radius: 50%; filter: blur(16px); pointer-events: none; }
.viral-hero-glow-local.glow-a { top: -90px; right: -20px; width: 310px; height: 310px; background: radial-gradient(circle, rgba(24, 168, 159, .18), transparent 70%); }
.viral-hero-glow-local.glow-b { bottom: -120px; left: 28%; width: 300px; height: 220px; background: radial-gradient(circle, rgba(64, 156, 212, .14), transparent 72%); }
.viral-hero-badge-local { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border: 1px solid rgba(21, 148, 141, .23); border-radius: 999px; color: #167e79; background: rgba(255,255,255,.78); font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.viral-hero-local h2 { margin: 15px 0 0; color: #173247; font-size: 32px; line-height: 1.16; letter-spacing: -.035em; }
.viral-hero-local h2 + p { max-width: 650px; margin: 10px 0 0; color: #5f788a; font-size: 14px; line-height: 1.7; }
.viral-search-row-local { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; margin-top: 25px; }
.viral-search-row-local > div { position: relative; min-width: 0; }
.viral-search-row-local > div > span { position: absolute; z-index: 1; top: 50%; left: 15px; transform: translateY(-53%); color: #7b98a7; font-size: 21px; line-height: 1; }
.viral-search-row-local input { min-height: 50px; padding-left: 43px; border-color: #bfe2df; border-radius: 13px; color: #24455a; background: rgba(255,255,255,.86); box-shadow: 0 4px 15px rgba(21, 99, 112, .04); font-size: 14px; }
.viral-search-row-local .primary-button, .viral-search-row-local .ghost-button { min-height: 50px; border-radius: 13px; padding: 0 20px; }
.viral-search-row-local .primary-button { min-width: 116px; color: #fff; background: linear-gradient(135deg, #0f928c, #187e82); }
.viral-search-row-local .ghost-button { min-width: 104px; color: #397084; background: rgba(255,255,255,.72); border: 1px solid rgba(81, 130, 151, .16); }
.viral-theme-chips-local { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.viral-theme-chips-local button { min-height: 28px; padding: 0 12px; border: 1px solid rgba(36, 70, 90, .12); border-radius: 999px; color: #536e7e; background: rgba(255,255,255,.66); font-size: 11px; font-weight: 650; transition: .16s ease; }
.viral-theme-chips-local button:hover, .viral-theme-chips-local button.active { border-color: rgba(18, 153, 145, .48); color: #117c76; background: #e4f8f5; }
.viral-mode-switch-local { display: flex; align-items: center; gap: 7px; min-height: 48px; padding: 6px; border: 1px solid #e0ecef; border-radius: 12px; background: #fff; box-shadow: 0 5px 15px rgba(30, 70, 90, .025); }
.viral-mode-switch-local button { min-height: 34px; padding: 0 14px; border: 0; border-radius: 8px; color: #708595; background: transparent; font-size: 12px; font-weight: 800; }
.viral-mode-switch-local button.active { color: #127e78; background: #e7f8f6; }
.viral-mode-switch-local > span { margin-left: 7px; color: #98a9b4; font-size: 11px; }
.viral-section-local { display: grid; gap: 15px; }
.viral-section-head-local { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 0 2px; }
.viral-section-head-local h3 { margin: 0; color: #243f55; font-size: 18px; letter-spacing: -.015em; }
.viral-section-head-local p { margin: 6px 0 0; color: #80929f; font-size: 12px; line-height: 1.5; }
.viral-source-badge-local { display: inline-flex; flex: 0 0 auto; align-items: center; min-height: 25px; padding: 0 9px; border: 1px solid #dce8ed; border-radius: 999px; color: #7d909d; background: #fff; font-size: 10px; font-weight: 700; }
.viral-empty-discover-local, .viral-empty-history-local { display: grid; justify-items: center; padding: 48px 24px; border: 1px dashed #cbdde1; border-radius: 20px; color: #7f929f; background: linear-gradient(135deg, #fbfefe, #f5fbfb); text-align: center; }
.viral-empty-discover-local > span { display: grid; width: 55px; height: 55px; place-items: center; border-radius: 16px; color: #128d87; background: #e5f7f5; font-size: 25px; }
.viral-empty-discover-local strong { margin-top: 14px; color: #385166; font-size: 14px; }
.viral-empty-discover-local p { max-width: 480px; margin: 8px 0 0; color: #8293a0; font-size: 12px; line-height: 1.7; }
.viral-empty-history-local { display: block; padding: 36px 24px; font-size: 12px; }
.viral-discover-grid-local { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.viral-discover-skeleton-local { min-height: 310px; border: 1px solid #e3edef; border-radius: 17px; background: linear-gradient(100deg, #f5f9fa 20%, #fff 43%, #f5f9fa 63%); background-size: 200% 100%; animation: viral-skeleton 1.4s linear infinite; }
@keyframes viral-skeleton { to { background-position: -200% 0; } }
.viral-discover-card-local { display: flex; min-width: 0; min-height: 315px; flex-direction: column; padding: 17px; border: 1px solid #e0ebee; border-radius: 17px; background: #fff; box-shadow: 0 7px 22px rgba(29, 68, 85, .035); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.viral-discover-card-local:hover { transform: translateY(-3px); border-color: #9bd7d2; box-shadow: 0 15px 30px rgba(25, 136, 130, .12); }
.viral-discover-card-head-local { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.viral-platform-badge-local { min-height: 23px; padding: 4px 7px; border: 1px solid #e2eaed; border-radius: 6px; color: #738794; background: #f9fbfc; font-size: 10px; font-weight: 750; }
.viral-heat-badge-local { display: inline-flex; align-items: center; gap: 3px; min-height: 23px; padding: 3px 8px; border-radius: 999px; color: #fff; font-size: 10px; font-weight: 850; white-space: nowrap; }
.viral-heat-badge-local small { font-size: 9px; font-weight: 600; opacity: .9; }
.viral-heat-badge-local.heat-high { background: linear-gradient(90deg, #ff6543, #fa9a4e); }
.viral-heat-badge-local.heat-mid { background: linear-gradient(90deg, #12a19a, #2588b6); }
.viral-heat-badge-local.heat-low { background: linear-gradient(90deg, #6e8190, #9aaab4); }
.viral-discover-card-local h4 { display: -webkit-box; overflow: hidden; min-height: 42px; margin: 14px 0 0; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #294257; font-size: 14px; line-height: 1.48; }
.viral-discover-excerpt-local { display: -webkit-box; overflow: hidden; min-height: 56px; margin: 8px 0 0; -webkit-box-orient: vertical; -webkit-line-clamp: 3; color: #7a8e9d; font-size: 11px; line-height: 1.68; }
.viral-structure-box-local { display: grid; gap: 4px; min-height: 61px; margin-top: 13px; padding: 9px 10px; border-radius: 9px; background: linear-gradient(135deg, #eaf9f7, #ebf6fc); }
.viral-structure-box-local b { color: #177d78; font-size: 9px; letter-spacing: .05em; }
.viral-structure-box-local span { color: #577180; font-size: 10px; line-height: 1.52; }
.viral-discover-url-local { overflow: hidden; margin: 10px 0 0; color: #96a5af; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.viral-unreliable-local { margin: 4px 0 0; color: #ae742e; font-size: 9px; line-height: 1.45; }
.viral-discover-actions-local { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: auto; padding-top: 12px; }
.viral-discover-actions-local a { text-decoration: none; }
.viral-discover-actions-local .compact { min-height: 29px; padding: 0 8px; font-size: 10px; }
.viral-replicate-button { width: 100%; min-height: 33px; margin-top: 7px; border-radius: 7px; font-size: 11px; }
.viral-batch-panel-local { overflow: hidden; border: 1px solid #dcebed; border-radius: 19px; background: linear-gradient(135deg, #fff, #f4fbfb); box-shadow: 0 9px 25px rgba(30, 80, 94, .04); }
.viral-batch-panel-local > header { padding: 23px 25px 0; }
.viral-batch-panel-local > header > span { color: #168e87; font-size: 10px; font-weight: 850; letter-spacing: .09em; }
.viral-batch-panel-local h3 { margin: 7px 0 0; color: #274459; font-size: 19px; }
.viral-batch-panel-local p { max-width: 680px; margin: 7px 0 0; color: #7c909e; font-size: 12px; line-height: 1.6; }
.viral-batch-form-local { display: grid; gap: 15px; padding: 20px 25px 23px; }
.viral-batch-form-local textarea { min-height: 160px; resize: vertical; }
.viral-batch-form-grid-local { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.viral-batch-form-actions-local { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 2px; }
.viral-batch-form-actions-local > span { color: #899ba7; font-size: 11px; }
.viral-batch-form-actions-local .primary-button { min-width: 135px; }
.viral-history-toolbar-local { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 7px; }
.viral-history-toolbar-local label { display: inline-flex; align-items: center; gap: 6px; min-height: 31px; padding: 0 10px; border: 1px solid #dce8eb; border-radius: 999px; color: #718591; background: #fff; font-size: 10px; font-weight: 700; }
.viral-history-toolbar-local input { width: 13px; height: 13px; padding: 0; accent-color: #12958e; }
.viral-history-toolbar-local .compact { min-height: 31px; padding: 0 10px; font-size: 10px; }
.viral-history-list-local { display: grid; gap: 9px; }
.viral-history-card-local { display: flex; gap: 12px; padding: 15px 17px; border: 1px solid #e0ebee; border-radius: 15px; background: rgba(255,255,255,.94); box-shadow: 0 5px 15px rgba(33, 74, 91, .025); transition: .16s ease; }
.viral-history-card-local:hover, .viral-history-card-local.selected { border-color: #a4dcd7; box-shadow: 0 10px 25px rgba(24, 138, 130, .09); }
.viral-history-card-local.selected { background: linear-gradient(135deg, #f0fbf9, #fff); }
.viral-history-check-local { flex: 0 0 auto; padding-top: 4px; }
.viral-history-check-local input { width: 14px; height: 14px; padding: 0; accent-color: #119a92; }
.viral-history-icon-local { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border-radius: 11px; color: #168d85; background: linear-gradient(135deg, #dff5f1, #e8f4fb); font-size: 14px; font-weight: 850; }
.viral-history-body-local { min-width: 0; flex: 1; }
.viral-history-top-local { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.viral-history-copy-local { min-width: 0; }
.viral-history-copy-local h4 { margin: 0; color: #2e475a; font-size: 13px; line-height: 1.45; }
.viral-history-copy-local a, .viral-history-copy-local .muted { display: block; overflow: hidden; max-width: 760px; margin-top: 4px; color: #198e88; font-size: 10px; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.viral-history-copy-local a:hover { text-decoration: underline; }
.viral-history-top-local .action-row { flex: 0 0 auto; }
.viral-history-top-local .compact { min-height: 30px; padding: 0 9px; font-size: 10px; }
.viral-history-meta-local { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 9px; color: #93a3ad; font-size: 10px; }
.viral-status-local, .viral-kb-local, .viral-analysis-local { display: inline-flex; align-items: center; min-height: 22px; padding: 0 7px; border-radius: 999px; font-size: 9px; font-weight: 750; }
.viral-status-local.done { color: #17825b; background: #e9f8f0; }
.viral-status-local.pending { color: #b1712e; background: #fff4e9; }
.viral-kb-local { color: #16817b; background: #e9f8f6; }
.viral-kb-local.muted { color: #899aa5; background: #f3f6f7; }
.viral-analysis-local { color: #397fa6; background: #edf6fb; }
.viral-overlay-local { position: fixed; z-index: 1000; inset: 0; display: grid; overflow: auto; place-items: center; padding: 24px; background: rgba(10, 31, 45, .46); backdrop-filter: blur(3px); }
.viral-modal-local, .viral-preview-modal-local { position: relative; width: min(100%, 610px); max-height: min(92vh, 900px); overflow: auto; border: 1px solid rgba(235, 248, 249, .86); border-radius: 21px; background: #fff; box-shadow: 0 30px 80px rgba(8, 34, 48, .34); }
.viral-modal-local { padding: 26px; }
.viral-modal-close-local { position: absolute; z-index: 2; top: 13px; right: 14px; display: grid; width: 32px; height: 32px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #5d7584; background: #f2f6f7; font-size: 23px; line-height: 1; }
.viral-modal-close-local:hover { color: #fff; background: #168f88; }
.viral-modal-head-local { display: flex; gap: 12px; padding-right: 28px; }
.viral-modal-icon-local { display: grid; width: 40px; height: 40px; flex: 0 0 auto; place-items: center; border-radius: 13px; color: #138d85; background: #e5f7f4; font-size: 17px; }
.viral-modal-head-local h3 { margin: 0; color: #29465a; font-size: 18px; }
.viral-modal-head-local p { margin: 5px 0 0; color: #7c909e; font-size: 11px; line-height: 1.62; }
.viral-selected-discover-local { display: grid; gap: 5px; margin-top: 19px; padding: 12px; border: 1px solid #c9e9e5; border-radius: 11px; background: linear-gradient(135deg, #ecfaf8, #f0f8fc); }
.viral-selected-discover-local b { color: #16837c; font-size: 10px; }
.viral-selected-discover-local strong { color: #395469; font-size: 12px; line-height: 1.45; }
.viral-selected-discover-local p { margin: 0; color: #738997; font-size: 10px; line-height: 1.55; }
.viral-modal-form-local { display: grid; gap: 14px; margin-top: 18px; }
.viral-modal-form-local textarea { min-height: 82px; }
.viral-field-hint-local { margin: -5px 0 0; color: #b27431; font-size: 10px; }
.viral-source-details-local { padding: 10px 11px; border: 1px solid #e1eaed; border-radius: 9px; background: #fbfdfd; }
.viral-source-details-local summary { color: #527080; font-size: 11px; font-weight: 750; cursor: pointer; }
.viral-source-details-local summary small { margin-left: 6px; color: #95a4ad; font-size: 9px; font-weight: 500; }
.viral-source-details-local textarea { margin-top: 10px; }
.viral-modal-actions-local { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 3px; }
.viral-modal-actions-local .primary-button span { color: rgba(255,255,255,.74); font-size: 10px; }
.viral-preview-modal-local { display: flex; width: min(100%, 1120px); flex-direction: column; overflow: hidden; }
.viral-preview-head-local { position: relative; flex: 0 0 auto; padding: 24px 58px 18px 25px; border-bottom: 1px solid #e2edef; background: linear-gradient(135deg, #fff, #f5fbfc); }
.viral-preview-head-local > div > span { display: inline-flex; min-height: 23px; align-items: center; padding: 0 8px; border: 1px solid #c9e8e3; border-radius: 999px; color: #16867f; background: #effbf9; font-size: 9px; font-weight: 850; }
.viral-preview-head-local h3 { margin: 8px 0 0; color: #294358; font-size: 20px; line-height: 1.35; }
.viral-preview-links-local { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.viral-preview-links-local a, .viral-preview-links-local b { overflow: hidden; max-width: 100%; padding: 4px 7px; border-radius: 6px; color: #348095; background: #fff; font-size: 9px; font-weight: 650; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; box-shadow: inset 0 0 0 1px #e0eaed; }
.viral-preview-links-local b { color: #16847c; }
.viral-preview-tabs-local { display: flex; gap: 7px; padding: 12px 18px 0; }
.viral-preview-tabs-local button { min-height: 28px; padding: 0 10px; border: 1px solid #dce8eb; border-radius: 999px; color: #748793; background: #fff; font-size: 10px; font-weight: 750; }
.viral-preview-tabs-local button.active { border-color: #118e87; color: #fff; background: #118e87; }
.viral-preview-panels-local { display: grid; grid-template-columns: minmax(0, 1fr); min-height: 0; flex: 1; gap: 13px; padding: 18px 20px; background: #f8fbfc; }
.viral-preview-panel-local { display: none; min-height: 390px; flex-direction: column; padding: 16px; border: 1px solid #e0eaed; border-radius: 13px; background: #fff; }
.viral-preview-panel-local.active { display: flex; }
.viral-preview-panel-local h4 { margin: 0; color: #385268; font-size: 13px; }
.viral-preview-panel-local > p { margin: 5px 0 0; color: #8a9ba6; font-size: 10px; }
.viral-preview-panel-local pre { overflow: auto; flex: 1; margin: 11px 0 0; color: #506b7c; font: 11px/1.75 Inter, "PingFang SC", "Microsoft YaHei", sans-serif; white-space: pre-wrap; word-break: break-word; }
.viral-preview-footer-local { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 20px 16px; color: #8a9ba7; background: #f8fbfc; font-size: 10px; }
.viral-preview-footer-local .compact { min-height: 30px; padding: 0 10px; font-size: 10px; }
@media (max-width: 1240px) { .viral-discover-grid-local { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .viral-hero-local { min-height: 0; padding: 25px 19px 20px; border-radius: 18px; }.viral-hero-local h2 { font-size: 26px; }.viral-search-row-local { grid-template-columns: 1fr; }.viral-search-row-local .primary-button, .viral-search-row-local .ghost-button { width: 100%; }.viral-mode-switch-local { flex-wrap: wrap; }.viral-mode-switch-local > span { width: 100%; margin: 0 7px 4px; }.viral-section-head-local, .viral-batch-form-actions-local { align-items: flex-start; flex-direction: column; }.viral-history-toolbar-local { justify-content: flex-start; }.viral-discover-grid-local, .viral-batch-form-grid-local { grid-template-columns: 1fr; }.viral-history-icon-local { display: none; }.viral-history-top-local { flex-direction: column; }.viral-history-top-local .action-row { width: 100%; }.viral-history-top-local .compact { flex: 1; }.viral-preview-panels-local { grid-template-columns: 1fr; }.viral-preview-panel-local { display: none; min-height: 360px; }.viral-preview-panel-local.active { display: flex; }.viral-preview-tabs-local { display: flex; }.viral-preview-footer-local { align-items: flex-start; flex-direction: column; }.viral-modal-local { padding: 21px 17px; }.viral-overlay-local { padding: 12px; } }
@media (max-width: 460px) { .viral-theme-chips-local { gap: 6px; }.viral-theme-chips-local button { padding: 0 9px; }.viral-history-card-local { padding: 13px 11px; }.viral-history-top-local .action-row { flex-wrap: nowrap; }.viral-preview-head-local { padding-left: 17px; }.viral-preview-panels-local { padding: 12px; } }

.model-logo-img, .article-provider-mark { display: block; flex: 0 0 auto; object-fit: contain; padding: 3px; border: 1px solid #e9eef0; background: #fff; }
.model-logo-img { width: 30px; height: 30px; border-radius: 6px; }
.provider-name .model-logo-img { width: 32px; height: 32px; }
.article-provider-mark { width: 25px; height: 25px; padding: 2px; border-radius: 6px; }
.provider-logo-wrap { display: flex; flex: 0 0 auto; }
.model-select-control { display: grid; width: 100%; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: 7px; min-width: 0; padding: 3px 6px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.model-select-control:focus-within { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(26,166,166,.12); }
.model-select-control img { display: block; width: 28px; height: 28px; object-fit: contain; padding: 2px; border: 1px solid #e9eef0; border-radius: 5px; background: #fff; }
.model-select-control select { min-width: 0; padding: 7px 25px 7px 6px; border: 0; box-shadow: none; }
.model-select-control select:focus { box-shadow: none; }
.version-model { display: flex; min-width: 0; align-items: center; gap: 10px; }
.version-model > div { min-width: 0; }
.version-model img { width: 32px; height: 32px; flex: 0 0 auto; object-fit: contain; padding: 2px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.version-item .version-model span { margin-top: 4px; }
.model-identity { display: inline-flex; min-width: 0; align-items: center; gap: 7px; color: inherit; font-size: 11px; line-height: 1.3; }
.model-identity > span { overflow-wrap: anywhere; }
.model-identity .model-logo-img { width: 24px; height: 24px; padding: 2px; }
.model-identity-list { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.model-question-grid .model-identity { margin-bottom: 7px; color: #536178; font-weight: 700; }
.provider-choice .model-logo-img { width: 32px; height: 32px; padding: 2px; }
.provider-choice:has(input:disabled) { cursor: not-allowed; }
.data-table .model-identity { white-space: nowrap; }

/* Brand strategy workspace aligned with the reference table/editor flow. */
.brand-strategy-page { display: flex; min-height: 100%; flex-direction: column; gap: 20px; padding: 8px 4px 24px; }
.brand-strategy-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.brand-strategy-head h1 { margin: 0 0 6px; color: #1c2738; font-size: 24px; line-height: 1.25; }
.brand-strategy-head p { max-width: 760px; margin: 0; color: #6b7a90; font-size: 13px; line-height: 1.6; }
.brand-strategy-actions { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.brand-strategy-count { color: #6b7a90; font-size: 12px; white-space: nowrap; }
.brand-strategy-table-wrap { overflow: auto; border: 1px solid #dfe7f1; border-radius: 8px; background: #fff; box-shadow: 0 12px 28px rgba(28, 39, 56, .05); }
.brand-strategy-table { width: 100%; min-width: 940px; table-layout: fixed; border-collapse: collapse; }
.brand-strategy-table th, .brand-strategy-table td { padding: 16px 14px; border-bottom: 1px solid #e8eef5; text-align: left; vertical-align: top; }
.brand-strategy-table th { background: linear-gradient(180deg, #f7fafc, #f3f6fa); color: #5b6b82; font-size: 12px; font-weight: 750; text-align: center; white-space: nowrap; }
.brand-strategy-table th.col-models { text-align: left; }
.brand-strategy-table tr:last-child td { border-bottom: 0; }
.brand-strategy-table tbody tr:hover td { background: #f8fcfb; }
.brand-strategy-table .col-strategy { width: 13%; }.brand-strategy-table .col-summary { width: 13%; }.brand-strategy-table .col-company { width: 12%; }.brand-strategy-table .col-brand { width: 12%; }.brand-strategy-table .col-models { width: 38%; }.brand-strategy-table .col-actions { width: 12%; }
.cell-strategy, .cell-summary, .cell-company, .cell-brand, .cell-actions { text-align: center !important; vertical-align: middle !important; }
.strategy-cell, .brand-cell { display: flex; width: 100%; flex-direction: column; align-items: center; justify-content: center; gap: 6px; }
.strategy-cell strong { color: #142033; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.diagnosis-type-chip { display: inline-flex; align-items: center; justify-content: center; padding: 3px 9px; border-radius: 999px; color: #0f766e; background: #e8f7f3; font-size: 11px; line-height: 1.3; }
.cell-summary span, .company-name { color: #7b8ba3; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.brand-cell strong { color: #334155; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.brand-cell small { color: #7b8ba3; font-size: 10px; line-height: 1.4; overflow-wrap: anywhere; }
.strategy-model-keywords { display: flex; flex-direction: column; gap: 13px; margin: 0; padding: 3px 0; list-style: none; }
.strategy-model-branch { display: grid; grid-template-columns: 7.3rem 1.25rem minmax(0, 1fr); align-items: stretch; min-width: 0; }
.strategy-model-pill { display: inline-flex; min-height: 38px; align-items: center; gap: 6px; max-width: 100%; padding: 7px 8px; border: 1px solid #dbe4ef; border-radius: 8px; background: linear-gradient(180deg, #fff, #f8fafc); color: #334155; font-size: 11px; font-weight: 700; white-space: nowrap; }
.strategy-model-pill span { overflow: hidden; text-overflow: ellipsis; }
.strategy-model-logo { width: 18px; height: 18px; flex: 0 0 auto; object-fit: contain; }
.strategy-branch-line { position: relative; min-height: 38px; }
.strategy-branch-line::before { content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 2px; background: #c9d5e4; transform: translateY(-50%); }
.strategy-model-branch > ul { position: relative; display: flex; flex-direction: column; gap: 7px; margin: 0; padding: 0; list-style: none; }
.strategy-model-branch > ul::before { content: ""; position: absolute; top: 18px; bottom: 18px; left: 0; width: 2px; background: #c9d5e4; }
.strategy-model-branch > ul > li { position: relative; display: flex; min-height: 38px; align-items: center; padding: 8px 10px; border: 1px solid #e4ebf3; border-radius: 8px; background: #f8fafc; color: #334155; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.strategy-model-branch > ul > li::before { content: ""; position: absolute; top: 50%; left: -1px; width: 8px; height: 2px; background: #c9d5e4; transform: translateX(-100%); }
.strategy-model-branch > ul > li:first-child:last-child::before { display: none; }
.strategy-cell-empty { color: #94a3b8; font-size: 11px; }
.row-actions { display: flex; align-items: center; justify-content: center; gap: 7px; }
.row-actions .compact { min-height: 31px; padding: 0 10px; font-size: 11px; }
.brand-strategy-empty { padding: 48px 24px; border: 1px dashed #d9e1ec; border-radius: 8px; color: #6b7a90; background: #f8fafc; text-align: center; font-size: 13px; }
.strategy-modal { position: fixed; z-index: 1000; inset: 0; display: grid; overflow: auto; place-items: center; padding: 24px; }
.strategy-modal-backdrop { position: fixed; inset: 0; background: rgba(15, 35, 55, .42); backdrop-filter: blur(2px); }
.strategy-modal-card { position: relative; width: min(920px, 100%); max-height: min(92vh, 900px); overflow: auto; border: 1px solid #dfe7f1; border-radius: 12px; background: #fff; box-shadow: 0 24px 70px rgba(15, 35, 55, .25); }
.strategy-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 24px 26px 18px; border-bottom: 1px solid #e8eef5; }
.strategy-modal-head h2 { margin: 0; color: #1c2738; font-size: 19px; }
.strategy-modal-head p { margin: 6px 0 0; color: #6b7a90; font-size: 11px; line-height: 1.55; }
.strategy-modal-close { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; padding: 0; border: 0; border-radius: 6px; color: #6b7a90; background: #f3f6fa; font-size: 22px; line-height: 1; }
.strategy-modal-close:hover { color: #fff; background: #0c827d; }
.strategy-modal-body { display: grid; gap: 20px; padding: 23px 26px 26px; }
.strategy-modal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.strategy-modal-grid .full { grid-column: 1 / -1; }
.strategy-modal-section { display: grid; gap: 14px; padding-top: 19px; border-top: 1px solid #e8eef5; }
.strategy-section-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.strategy-section-title h3 { margin: 0; color: #27384d; font-size: 14px; }
.strategy-section-title p { margin: 5px 0 0; color: #7b8ba3; font-size: 11px; line-height: 1.5; }
.strategy-model-hint { color: #0f766e; background: #e8f7f3; border-radius: 999px; padding: 4px 8px; font-size: 10px; white-space: nowrap; }
.strategy-provider-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.strategy-provider-choice { display: flex; min-height: 48px; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid #dfe7f1; border-radius: 7px; background: #fff; color: #334155; cursor: pointer; font-size: 11px; }
.strategy-provider-choice:has(input:checked) { border-color: #9bd5cf; background: #effaf8; }
.strategy-provider-choice input { width: 14px; height: 14px; padding: 0; accent-color: #0c827d; }
.strategy-provider-logo { width: 24px; height: 24px; flex: 0 0 auto; object-fit: contain; }
.strategy-question-field { display: grid; gap: 8px; }
.strategy-monitor-questions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.strategy-monitor-questions label { padding: 12px; border: 1px solid #e4ebf3; border-radius: 8px; background: #fafcfd; }
.strategy-question-model { color: #536178; font-size: 11px; font-weight: 700; }
.strategy-question-model .model-logo-img { width: 23px; height: 23px; }
.strategy-modal-footer { display: flex; justify-content: flex-end; gap: 8px; padding-top: 2px; }
.strategy-form-error { min-height: 17px; margin: 0; color: #c34b55; font-size: 11px; }
@media (max-width: 760px) { .brand-strategy-head { align-items: flex-start; flex-direction: column; }.brand-strategy-actions { width: 100%; justify-content: space-between; }.strategy-modal { padding: 12px; }.strategy-modal-grid, .strategy-monitor-questions { grid-template-columns: 1fr; }.strategy-modal-grid .full { grid-column: auto; }.strategy-provider-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.strategy-modal-body { padding: 18px; }.strategy-modal-head { padding: 19px 18px 15px; } }
@media (max-width: 620px) {
  .provider-choice-grid { grid-template-columns: 1fr; }
  .provider-batch-field .provider-choice-grid { grid-template-columns: 1fr; }
}

/* AI service channel configuration workspace. */
.channel-config-page { display: grid; gap: 18px; min-height: 100%; padding: 8px 4px 30px; color: #1f3045; }
.channel-config-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.channel-kicker { display: block; margin-bottom: 7px; color: #0c8b82; font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.channel-config-head h1 { margin: 0; color: #1d2c42; font-size: 25px; line-height: 1.25; }
.channel-config-head p { max-width: 760px; margin: 8px 0 0; color: #728198; font-size: 12px; line-height: 1.65; }
.channel-head-actions { display: flex; align-items: center; gap: 9px; flex: 0 0 auto; }
.channel-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.channel-kpi-grid article { display: grid; gap: 6px; min-height: 106px; padding: 17px 18px; border: 1px solid #dfe7f1; border-left: 3px solid #0c827d; border-radius: 10px; background: #fff; box-shadow: 0 9px 22px rgba(28, 49, 73, .04); }
.channel-kpi-grid article.is-green { border-left-color: #3d9b70; background: #fbfffd; }
.channel-kpi-grid article.is-blue { border-left-color: #5287c1; background: #fbfdff; }
.channel-kpi-grid article.is-orange { border-left-color: #d7964e; background: #fffdf9; }
.channel-kpi-grid span { color: #7d8ba0; font-size: 11px; }
.channel-kpi-grid strong { color: #25364b; font-size: 27px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.channel-kpi-grid small { color: #9aa7b6; font-size: 10px; }
.channel-config-panel { overflow: hidden; padding: 0; }
.channel-panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding: 20px 22px 16px; border-bottom: 1px solid #e8eef4; }
.channel-panel-head h2 { margin: 0; color: #25364b; font-size: 15px; }
.channel-panel-head p { margin: 5px 0 0; color: #8290a2; font-size: 11px; line-height: 1.5; }
.channel-toolbar { display: flex; align-items: center; gap: 8px; }
.channel-toolbar select { min-height: 34px; border: 1px solid #dbe5ee; border-radius: 7px; padding: 6px 9px; color: #52647a; background: #fff; font-size: 11px; }
.channel-search { display: flex; min-width: 220px; align-items: center; gap: 6px; min-height: 34px; border: 1px solid #dbe5ee; border-radius: 7px; padding: 0 9px; color: #8a98aa; background: #fff; }
.channel-search input { width: 100%; min-height: 30px; border: 0; outline: 0; color: #314258; background: transparent; font-size: 11px; }
.channel-table-wrap { overflow-x: auto; }
.channel-table { width: 100%; min-width: 1040px; border-collapse: collapse; table-layout: fixed; }
.channel-table th, .channel-table td { padding: 14px 15px; border-bottom: 1px solid #edf1f5; text-align: left; vertical-align: middle; }
.channel-table th { color: #718096; background: #f8fafc; font-size: 11px; font-weight: 750; white-space: nowrap; }
.channel-table th:nth-child(1) { width: 23%; }.channel-table th:nth-child(2) { width: 15%; }.channel-table th:nth-child(3) { width: 15%; }.channel-table th:nth-child(4) { width: 23%; }.channel-table th:nth-child(5) { width: 11%; }.channel-table th:nth-child(6) { width: 13%; }
.channel-table tbody tr:hover td { background: #fbfefd; }
.channel-table tbody tr:last-child td { border-bottom: 0; }
.channel-name-cell { display: flex; min-width: 0; align-items: center; gap: 9px; }
.channel-name-cell > div { min-width: 0; }
.channel-name-cell strong, .channel-name-cell small, .channel-table td > strong, .channel-table td > small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.channel-name-cell strong { color: #2a3b50; font-size: 12px; }
.channel-name-cell small, .channel-subtext { margin-top: 5px; color: #8b99aa; font-size: 10px; line-height: 1.35; }
.channel-index { display: grid; width: 25px; height: 25px; flex: 0 0 auto; place-items: center; border-radius: 7px; color: #0c827d; background: #e8f8f5; font-size: 10px; font-weight: 750; }
.channel-logo { width: 25px; height: 25px; flex: 0 0 auto; object-fit: contain; }
.channel-kind-badge { display: inline-flex; align-items: center; border: 1px solid #d8ebe7; border-radius: 999px; padding: 4px 8px; color: #267d76; background: #f1fbf9; font-size: 10px; white-space: nowrap; }
.channel-endpoint { max-width: 250px; overflow: hidden; color: #4d6177; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.channel-row-actions { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.channel-row-actions .compact { min-height: 29px; padding: 0 8px; font-size: 10px; }
.channel-empty { display: grid; gap: 7px; place-items: center; min-height: 190px; padding: 28px; text-align: center; }
.channel-empty strong { color: #34475c; font-size: 14px; }.channel-empty span { color: #8795a6; font-size: 11px; }
.channel-config-notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.channel-config-notes article { display: flex; align-items: flex-start; gap: 10px; min-height: 82px; padding: 14px; border: 1px solid #e1eaf0; border-radius: 9px; background: #f9fcfd; }
.channel-note-icon { display: grid; width: 23px; height: 23px; flex: 0 0 auto; place-items: center; border-radius: 7px; color: #0c827d; background: #e5f7f4; font-size: 10px; font-weight: 800; }
.channel-config-notes strong { color: #3a4e63; font-size: 11px; }.channel-config-notes p { margin: 5px 0 0; color: #7d8d9e; font-size: 10px; line-height: 1.55; }
.channel-modal { position: fixed; z-index: 1100; inset: 0; display: grid; overflow: auto; place-items: center; padding: 22px; }
.channel-modal.hidden { display: none; }
.channel-modal-backdrop { position: fixed; inset: 0; background: rgba(17, 35, 54, .42); backdrop-filter: blur(2px); }
.channel-modal-card { position: relative; width: min(760px, 100%); max-height: min(92vh, 860px); overflow: auto; border: 1px solid #dbe5ee; border-radius: 12px; background: #fff; box-shadow: 0 24px 70px rgba(17, 35, 54, .25); }
.channel-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 22px 24px 16px; border-bottom: 1px solid #e7edf3; }
.channel-modal-head h2 { margin: 0; color: #25364b; font-size: 18px; }.channel-modal-head p { margin: 6px 0 0; color: #7d8c9e; font-size: 11px; line-height: 1.5; }
.channel-modal-close { display: grid; width: 29px; height: 29px; place-items: center; border: 0; border-radius: 6px; color: #738196; background: #f1f5f8; font-size: 21px; line-height: 1; }
.channel-modal-close:hover { color: #fff; background: #0c827d; }
.channel-modal-body { display: grid; gap: 17px; padding: 21px 24px 24px; }
.channel-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.channel-form-grid label { display: grid; gap: 6px; min-width: 0; color: #617289; font-size: 11px; font-weight: 650; }
.channel-form-grid label.full { grid-column: 1 / -1; }.channel-form-grid input, .channel-form-grid select, .channel-form-grid textarea { box-sizing: border-box; width: 100%; border: 1px solid #dbe5ee; border-radius: 7px; padding: 9px 10px; outline: 0; color: #34485f; background: #fff; font: inherit; font-size: 12px; font-weight: 500; }
.channel-form-grid textarea { min-height: 72px; resize: vertical; line-height: 1.55; }.channel-form-grid input:focus, .channel-form-grid select:focus, .channel-form-grid textarea:focus { border-color: #75c6bd; box-shadow: 0 0 0 3px rgba(12, 130, 125, .1); }
.channel-model-field { display: flex; align-items: stretch; gap: 6px; }.channel-model-field input { min-width: 0; flex: 1; }.channel-model-field button { flex: 0 0 auto; }
.channel-worker-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding: 12px; border: 1px solid #deebe9; border-radius: 8px; background: #f5fbfa; }.channel-worker-fields.hidden { display: none; }
.channel-check { display: flex !important; grid-template-columns: none; align-items: center; gap: 8px !important; color: #506479 !important; font-weight: 600 !important; }.channel-check input { width: 15px; height: 15px; accent-color: #0c827d; }
.channel-modal-footer { display: flex; justify-content: flex-end; gap: 8px; padding-top: 2px; }.channel-modal-footer button { min-height: 34px; }
@media (max-width: 900px) { .channel-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.channel-config-notes { grid-template-columns: 1fr; }.channel-panel-head { align-items: flex-start; flex-direction: column; }.channel-toolbar { width: 100%; }.channel-search { flex: 1; } }
@media (max-width: 620px) { .channel-config-head { align-items: flex-start; flex-direction: column; }.channel-head-actions { width: 100%; flex-wrap: wrap; }.channel-head-actions button { flex: 1 1 auto; }.channel-kpi-grid { grid-template-columns: 1fr 1fr; gap: 8px; }.channel-kpi-grid article { min-height: 93px; padding: 13px; }.channel-kpi-grid strong { font-size: 23px; }.channel-toolbar { align-items: stretch; flex-direction: column; }.channel-search { min-width: 0; }.channel-form-grid { grid-template-columns: 1fr; }.channel-form-grid label.full { grid-column: auto; }.channel-worker-fields { grid-template-columns: 1fr; }.channel-modal { padding: 10px; }.channel-modal-head, .channel-modal-body { padding-left: 17px; padding-right: 17px; }.channel-modal-footer { flex-wrap: wrap; }.channel-modal-footer button { flex: 1 1 auto; } }

/* Reference-aligned instant diagnosis dashboard. */
.instant-dashboard-page{display:grid;gap:17px;min-height:100%;padding:8px 4px 28px}.instant-dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.instant-dashboard-header h1{margin:0;color:#1c2738;font-size:24px;line-height:1.25}.instant-dashboard-header>div:first-child>p:last-child{max-width:700px;margin:7px 0 0;color:#6b7a90;font-size:12px;line-height:1.6}.instant-hero-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.8fr);gap:25px;padding:25px;border:1px solid #dfe7f1;border-radius:14px;background:#fff;box-shadow:0 12px 32px rgba(15,55,95,.05)}.instant-hero-card h2{margin:0;color:#23364c;font-size:19px;line-height:1.5}.instant-hero-card h2 em{color:#c24148;font-style:normal}.instant-hero-card p{max-width:620px;margin:12px 0 0;color:#6b7a90;font-size:12px;line-height:1.7}.instant-hero-score{display:grid;gap:7px;align-content:center;padding:16px;border:1px solid #cfe9e4;border-radius:11px;background:#f2fbf9;text-align:center}.instant-hero-score>strong{color:#0f766e;font-size:42px;line-height:1}.instant-hero-score>span{color:#54716e;font-size:10px}.instant-hero-score>div{display:flex;justify-content:space-between;gap:8px;margin-top:6px;padding-top:10px;border-top:1px solid #d9eeea;color:#758a88;font-size:10px}.instant-hero-score .positive{color:#0f766e}.instant-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.instant-kpi-grid article{display:grid;gap:6px;padding:17px;border:1px solid #dfe7f1;border-radius:10px;background:#fff}.instant-kpi-grid span{color:#7b8ba3;font-size:10px}.instant-kpi-grid strong{color:#24324a;font-size:24px;line-height:1.2}.instant-kpi-grid small{color:#8b99aa;font-size:9px}.instant-section,.instant-action-card{padding:19px 21px;border:1px solid #dfe7f1;border-radius:12px;background:#fff}.instant-section>header,.instant-action-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.instant-section h2,.instant-action-card h2{margin:0;color:#24324a;font-size:14px}.instant-section header p,.instant-action-card header p{margin:5px 0 0;color:#7b8ba3;font-size:10px}.instant-legend{display:flex;gap:12px;color:#7b8ba3;font-size:9px}.instant-legend span{display:flex;align-items:center;gap:5px}.instant-legend i{width:8px;height:8px;border-radius:2px;background:#0c827d}.instant-legend .leader-swatch{background:#e88a3d}.instant-model-rows{display:grid;gap:12px}.instant-model-rows>div{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);align-items:center;gap:14px}.instant-model-name{display:flex;align-items:center;gap:7px;color:#3d5267;font-size:10px;font-weight:700}.instant-model-logo{width:22px;height:22px;object-fit:contain}.instant-bar{position:relative;height:22px;overflow:hidden;border-radius:5px;background:#f0f3f6}.instant-bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0c827d,#22a79a)}.instant-bar>b{position:absolute;top:50%;right:8px;color:#44596d;font-size:9px;transform:translateY(-50%)}.instant-action-card>header{align-items:center}.instant-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.instant-action-grid article{display:grid;gap:7px;min-width:0;padding:13px;border-radius:8px;background:#f7fafb}.instant-action-grid span{color:#7b8ba3;font-size:9px}.instant-action-grid strong{color:#334155;font-size:11px}.instant-action-grid strong.warning{color:#b45309}.instant-action-grid p{margin:0;color:#75869a;font-size:9px;line-height:1.5}.instant-empty{display:grid;gap:9px;place-items:center;padding:50px 22px;border:1px dashed #d9e1ec;border-radius:12px;background:#f8fafc;text-align:center}.instant-empty strong{color:#334155;font-size:14px}.instant-empty span{color:#7b8ba3;font-size:11px}@media(max-width:900px){.instant-hero-card{grid-template-columns:1fr}.instant-kpi-grid,.instant-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.instant-dashboard-header{flex-direction:column}.instant-dashboard-header .diagnosis-header-actions{flex-wrap:wrap}.instant-kpi-grid,.instant-action-grid{grid-template-columns:1fr}.instant-model-rows>div{grid-template-columns:1fr;gap:6px}.instant-section>header,.instant-action-card>header{flex-direction:column}}

/* Reference-aligned AI diagnosis form and report queue. */
/* Reference-aligned brand monitoring workspace. */
.brand-monitor-workspace{min-width:0;color:#182133}.brand-monitor-main{min-width:0}.monitor-detail-surface{overflow:hidden;border:1px solid #dbe6ec;border-radius:16px;background:#fff;box-shadow:0 2px 8px rgba(22,34,63,.06)}.monitor-detail-surface.is-onboarding{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.monitor-detail-head{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:24px;align-items:start;padding:22px 24px 18px;border-bottom:1px solid #e5e9f0}.monitor-detail-head-main{min-width:0}.monitor-title-row{display:flex;align-items:flex-end;gap:12px;min-width:0}.monitor-select-shell{position:relative;min-width:0}.monitor-select-trigger{display:inline-flex;align-items:center;gap:8px;max-width:100%;border:0;background:transparent;padding:0;color:#1e2a3e;font-size:24px;font-weight:750}.monitor-select-trigger:disabled{cursor:not-allowed;opacity:.65}.monitor-select-name{overflow:hidden;border-bottom:3px solid #10a397;padding-bottom:2px;text-overflow:ellipsis;white-space:nowrap}.monitor-select-chevron{color:#8492a5;font-size:20px}.monitor-select-menu{position:absolute;z-index:20;top:calc(100% + 10px);left:0;width:min(360px,calc(100vw - 40px));overflow:hidden;border:1px solid #dbe0e9;border-radius:10px;padding:7px;background:#fff;box-shadow:0 14px 30px rgba(27,39,67,.14)}.monitor-select-search{display:flex;align-items:center;gap:7px;margin-bottom:6px;border:1px solid #d8deea;border-radius:7px;padding:0 9px;color:#758297}.monitor-select-search input{min-height:34px;border:0;box-shadow:none;padding:0;font-size:12px}.monitor-select-options{display:grid;gap:2px;max-height:260px;overflow:auto}.monitor-select-options button{display:grid;gap:3px;width:100%;min-height:45px;border:0;border-radius:7px;background:transparent;padding:8px 10px;color:#2d3a4e;text-align:left}.monitor-select-options button:hover,.monitor-select-options button.selected{background:#effaf8;color:#087d76}.monitor-select-options strong{font-size:13px}.monitor-select-options small{color:#8290a2;font-size:11px}.monitor-select-empty{padding:14px;margin:0;color:#8c97aa;font-size:12px;text-align:center}.monitor-scope-pill{display:inline-flex;align-items:center;border-radius:5px;padding:5px 8px;background:#e8f7f4;color:#16867e;font-size:12px}.monitor-detail-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:13px 0 0;color:#79869a;font-size:12px}.monitor-detail-meta i{width:3px;height:3px;border-radius:50%;background:#c5ccd6}.monitor-status-text.is-on{color:#148365}.monitor-status-text.is-off{color:#b26a1e}.monitor-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.monitor-detail-actions .primary-button,.monitor-detail-actions .secondary-button,.monitor-detail-actions .ghost-button,.monitor-detail-actions .danger-button,.monitor-detail-actions .warning-button,.monitor-detail-actions .start-button{min-height:36px;padding:0 11px;font-size:12px}.monitor-detail-actions .warning-button{border:1px solid #f1cfaa;border-radius:6px;background:#fff8ef;color:#a36220}.monitor-detail-actions .start-button{border:1px solid #b9e1d9;border-radius:6px;background:#eefaf7;color:#087d76}.add-link{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:0 5px;color:#087d76;font-size:13px;font-weight:700}.monitor-filter-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;border-bottom:1px solid #e5e9f0;padding:15px 24px;background:#fbfcfe}.monitor-filter-bar label{display:grid;gap:6px;min-width:145px;color:#7b8799;font-size:11px;font-weight:650}.monitor-filter-bar select{min-height:36px;padding:7px 10px;font-size:12px}.monitor-export-button{margin-left:auto;min-height:36px;padding:0 12px;font-size:12px}.monitor-report-content{background:#fff}.monitor-report-context{padding:23px 24px 20px}.monitor-context-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.monitor-report-kicker{display:block;margin-bottom:6px;color:#128e87;font-size:10px;font-weight:800;letter-spacing:1.4px}.monitor-context-head h2{margin:0;color:#1e2a3e;font-size:21px}.monitor-context-head p{margin:7px 0 0;color:#718097;font-size:12px}.monitor-report-model-icons{display:flex;align-items:center;gap:8px}.monitor-report-logo{width:24px;height:24px;object-fit:contain;border:1px solid #edf0f4;border-radius:6px;padding:4px;background:#fff}.monitor-context-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}.monitor-context-kpis article{display:grid;gap:5px;border-left:3px solid #36a79c;border-radius:4px;padding:12px 13px;background:#f4fbfa}.monitor-context-kpis article:nth-child(2){border-color:#6c7ddd;background:#f7f8fe}.monitor-context-kpis article:nth-child(3){border-color:#d56b7a;background:#fff8f8}.monitor-context-kpis article:nth-child(4){border-color:#e19a58;background:#fffaf3}.monitor-context-kpis span{color:#5b687c;font-size:11px}.monitor-context-kpis strong{color:#24344c;font-size:25px;line-height:1}.monitor-context-kpis strong small{font-size:12px}.monitor-context-kpis small{color:#8290a2;font-size:11px}.monitor-report-section,.monitor-fold,.monitor-answer-section{border-top:1px solid #eef0f5;padding:20px 24px}.monitor-report-section-head,.monitor-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.monitor-report-section-head>div{display:flex;align-items:flex-start;gap:10px}.monitor-section-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#e8f7f4;color:#128e87;font-size:14px}.monitor-report-section-head h3,.monitor-card-head h2{margin:0;color:#27354d;font-size:16px}.monitor-report-section-head p,.monitor-card-head p{margin:5px 0 0;color:#77859a;font-size:12px;line-height:1.5}.monitor-coverage-layout{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:center;gap:30px;margin-top:18px}.monitor-donut{display:grid;place-items:center;width:190px;height:190px;margin:auto;border-radius:50%;background:conic-gradient(#10a397 var(--monitor-rate),#e9eef3 0)}.monitor-donut>div{display:grid;place-items:center;width:132px;height:132px;border-radius:50%;background:#fff}.monitor-donut strong{color:#17897f;font-size:32px}.monitor-donut span{color:#8491a2;font-size:11px}.monitor-coverage-legend{display:grid;gap:12px}.monitor-coverage-legend div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;color:#526179;font-size:13px}.monitor-coverage-legend i{width:9px;height:9px;border-radius:50%;background:#10a397}.monitor-coverage-legend i.is-unmentioned{background:#d9e0e8}.monitor-coverage-legend b{color:#27364d}.monitor-coverage-legend p{margin:3px 0 0;color:#8995a7;font-size:11px;line-height:1.55}.monitor-fold{padding-top:17px;padding-bottom:17px}.monitor-fold summary{display:flex;align-items:flex-start;gap:10px;cursor:pointer;list-style:none}.monitor-fold summary::-webkit-details-marker{display:none}.monitor-fold summary>span{color:#94a0b2;font-size:16px}.monitor-fold summary h3{margin:0;color:#27354d;font-size:15px}.monitor-fold summary p{margin:5px 0 0;color:#8793a5;font-size:11px}.monitor-fold-body{margin-top:15px}.monitor-table-scroll{overflow:auto}.monitor-data-table{width:100%;min-width:740px;border-collapse:collapse;font-size:12px}.monitor-data-table th{padding:11px 12px;border-bottom:1px solid #e6ebf1;background:#f8fafc;color:#77869a;font-size:11px;font-weight:700;text-align:left;white-space:nowrap}.monitor-data-table td{padding:13px 12px;border-bottom:1px solid #eef1f5;color:#3c4a60;vertical-align:middle;line-height:1.45}.monitor-data-table tbody tr:hover{background:#f4fbfa}.monitor-model-identity{display:inline-flex;align-items:center;gap:7px;min-width:0}.monitor-model-identity .model-logo-img{width:22px;height:22px;object-fit:contain;border:1px solid #edf0f4;border-radius:5px;padding:3px;background:#fff}.monitor-inline-meter{display:block;width:100px;height:7px;border-radius:10px;background:#edf1f4;overflow:hidden}.monitor-inline-meter i{display:block;height:100%;border-radius:inherit;background:#10a397}.monitor-question-results{display:grid;gap:9px}.monitor-question-result{border:1px solid #e7edf1;border-radius:8px;padding:11px 12px;background:#fff}.monitor-question-result header{display:flex;align-items:center;gap:9px}.monitor-question-result strong{min-width:0;flex:1;overflow:hidden;color:#35445b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.monitor-question-result b{color:#138b82;font-size:13px}.monitor-question-track{height:6px;margin-top:9px;border-radius:8px;background:#edf1f4;overflow:hidden}.monitor-question-track i{display:block;height:100%;border-radius:inherit;background:#54b8ad}.monitor-question-result small{display:block;margin-top:7px;color:#8491a2;font-size:11px}.monitor-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border-top:1px solid #eef0f5;padding:20px 24px}.monitor-support-panel{border:1px solid #e5eaf0;border-radius:9px;padding:15px;background:#fff}.monitor-support-panel header{display:flex;justify-content:space-between;gap:10px}.monitor-support-panel h3{margin:0;color:#27354d;font-size:15px}.monitor-support-panel p{margin:5px 0 0;color:#8491a2;font-size:11px}.monitor-domain-list,.monitor-action-list{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.monitor-domain-list div{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f2f5}.monitor-domain-list span,.monitor-action-list>li>span{color:#a0aaba;font-size:11px}.monitor-domain-list a{overflow:hidden;color:#267c86;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.monitor-domain-list b{color:#394960;font-size:12px}.monitor-action-list li{display:flex;gap:10px;padding:7px 0}.monitor-action-list b,.monitor-action-list small{display:block}.monitor-action-list b{color:#3b4b62;font-size:12px}.monitor-action-list small{margin-top:3px;color:#8b97a7;font-size:11px}.monitor-answer-section{padding-bottom:25px}.monitor-empty-state,.monitor-inline-empty{display:grid;place-items:center;gap:6px;min-height:125px;padding:22px;color:#8b97a7;text-align:center;font-size:12px}.monitor-empty-state strong{color:#3c4a60;font-size:14px}.monitor-empty-state span{line-height:1.5}.monitor-positive{color:#168563}.monitor-negative{color:#b56b70}.monitor-question-cell{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-snippet-cell{max-width:280px;color:#748399!important}.monitor-run-row{cursor:pointer}.monitor-editor-modal{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:24px}.monitor-editor-backdrop{position:absolute;inset:0;background:rgba(15,27,45,.45)}.monitor-editor-card{position:relative;width:min(900px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid #dbe5eb;border-radius:12px;background:#fff;box-shadow:0 24px 70px rgba(21,36,56,.24)}.monitor-editor-head{display:flex;justify-content:space-between;gap:15px;padding:23px 26px 17px;border-bottom:1px solid #e7edf1}.monitor-editor-head h2{margin:0;color:#1c2a40;font-size:20px}.monitor-editor-head p{margin:7px 0 0;color:#758398;font-size:12px}.monitor-modal-close{border:0;background:transparent;color:#8491a2;font-size:24px;line-height:1}.monitor-editor-body{display:grid;gap:18px;padding:22px 26px}.monitor-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.monitor-editor-section{border-top:1px solid #e7edf1;padding-top:18px}.monitor-editor-section header{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:13px}.monitor-editor-section h3{margin:0;color:#27354d;font-size:15px}.monitor-editor-section header p{margin:5px 0 0;color:#8390a3;font-size:11px}.monitor-editor-count{color:#0c8178;font-size:11px}.monitor-editor-providers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.monitor-editor-provider{display:flex;align-items:center;gap:7px;min-height:60px;border:1px solid #e0e8ed;border-radius:8px;padding:8px;cursor:pointer}.monitor-editor-provider.is-selected,.monitor-editor-provider:has(input:checked){border-color:#9bd8ce;background:#f0fbf9}.monitor-editor-provider input{width:14px;min-height:14px;padding:0}.monitor-editor-provider span{min-width:0}.monitor-editor-provider strong,.monitor-editor-provider small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-editor-provider strong{color:#304057;font-size:11px}.monitor-editor-provider small{margin-top:3px;color:#8a96a7;font-size:9px}.monitor-editor-logo{width:25px;height:25px;object-fit:contain;border-radius:6px}.monitor-editor-questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.monitor-editor-questions>label{border:1px solid #e3e9ee;border-radius:8px;padding:11px;background:#fbfcfd}.monitor-editor-questions>label.is-disabled{opacity:.45}.monitor-editor-questions textarea{min-height:83px;margin-top:8px}.monitor-editor-options{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px}.monitor-switch{display:grid;grid-template-columns:20px 1fr;column-gap:9px;align-content:start;border:1px solid #dcebe8;border-radius:8px;padding:13px;background:#f3fbf9}.monitor-switch input{grid-row:1 / 3;width:16px;min-height:16px;padding:0}.monitor-switch span{display:none}.monitor-switch b{color:#2f5260;font-size:12px}.monitor-switch small{grid-column:2;margin-top:6px;color:#8291a0;font-size:11px;line-height:1.5}.monitor-form-error{min-height:18px;margin:0;color:#bf4f59;font-size:12px}.monitor-editor-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.monitor-onboarding{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);min-height:600px;border:1px solid #dbe6ec;border-radius:16px;background:#fff;box-shadow:0 2px 8px rgba(22,34,63,.06);overflow:hidden}.monitor-onboarding-intro,.monitor-onboarding-empty-copy{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(26px,5vw,60px);background:#f0fbf86b}.monitor-onboarding h2{max-width:15ch;margin:0;color:#15263a;font-size:30px;line-height:1.3}.monitor-onboarding-intro>p,.monitor-onboarding-empty-copy>p{max-width:40ch;margin:13px 0 0;color:#63738c;font-size:14px;line-height:1.7}.monitor-onboarding-note{display:grid;gap:5px;margin-top:23px;border:1px solid #dce9e7;border-radius:9px;padding:13px;background:#fff9;color:#63738c;font-size:12px;line-height:1.55}.monitor-onboarding-note strong{color:#087d76}.monitor-onboarding-content{padding:43px clamp(25px,5vw,60px)}.monitor-onboarding-step{display:grid;grid-template-columns:45px minmax(0,1fr);gap:14px}.monitor-onboarding-step>span{display:grid;place-items:center;width:45px;height:45px;border:1px solid #a1dcd3;border-radius:50%;background:#effaf8;color:#087d76;font-size:16px;font-weight:700}.monitor-onboarding-step h3{margin:3px 0 5px;color:#27354d;font-size:15px}.monitor-onboarding-step p{margin:0;color:#718096;font-size:12px;line-height:1.6}.monitor-onboarding-strategy-list{display:grid;gap:9px;margin:19px 0 0 59px;max-height:300px;overflow:auto}.monitor-onboarding-strategy{display:grid;grid-template-columns:34px 1fr 20px;gap:10px;align-items:center;width:100%;min-height:60px;border:1px solid #dfe7eb;border-radius:9px;background:#fff;padding:9px;text-align:left}.monitor-onboarding-strategy:hover,.monitor-onboarding-strategy.selected{border-color:#0ca197;background:#f0fbf8}.monitor-onboarding-strategy-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#eaf5fb;color:#3275a8;font-size:13px;font-weight:750}.monitor-onboarding-strategy-copy{min-width:0}.monitor-onboarding-strategy-copy strong,.monitor-onboarding-strategy-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-onboarding-strategy-copy strong{color:#29384f;font-size:13px}.monitor-onboarding-strategy-copy small{margin-top:4px;color:#7f8c9f;font-size:11px}.monitor-onboarding-strategy-check{display:grid;place-items:center;width:19px;height:19px;border:1px solid #cad5dd;border-radius:50%;color:transparent;font-size:11px}.monitor-onboarding-strategy.selected .monitor-onboarding-strategy-check{border-color:#0ca197;background:#0ca197;color:#fff}.monitor-onboarding-new-strategy{display:inline-flex;align-items:center;gap:5px;margin:5px 0 0 59px;border:0;background:transparent;color:#087d76;font-size:11px;font-weight:700}.monitor-onboarding-actions{display:flex;margin:19px 0 0 59px}.monitor-onboarding-empty{display:grid;grid-template-columns:1fr 1fr;min-height:560px;border:1px solid #dbe6ec;border-radius:16px;background:#fff;overflow:hidden}.monitor-onboarding-empty-copy{background:#f0fbf86b}.monitor-onboarding-empty-copy ul{display:grid;gap:10px;margin:23px 0;padding:0;color:#405069;list-style:none;font-size:12px;font-weight:650}.monitor-onboarding-preview{min-width:0;padding:36px 30px;background:#fbfdff}.monitor-onboarding-preview>section,.monitor-preview-secondary>section{overflow:hidden;border:1px solid #dbe6ec;border-radius:9px;background:#fff}.monitor-onboarding-preview header,.monitor-preview-secondary header{display:flex;justify-content:space-between;gap:10px;padding:14px;border-bottom:1px solid #edf1f4}.monitor-onboarding-preview header strong,.monitor-onboarding-preview header small,.monitor-preview-secondary header strong,.monitor-preview-secondary header small{display:block}.monitor-onboarding-preview header strong,.monitor-preview-secondary header strong{color:#253249;font-size:13px}.monitor-onboarding-preview header small,.monitor-preview-secondary header small{margin-top:4px;color:#7b899b;font-size:10px}.monitor-onboarding-preview header b,.monitor-preview-secondary header b{height:max-content;border-radius:5px;padding:4px 6px;background:#effaf8;color:#087d76;font-size:10px}.monitor-preview-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:13px}.monitor-preview-metrics span{display:grid;gap:6px;border-radius:7px;padding:10px;background:#effaf8;color:#5b7d78;font-size:10px}.monitor-preview-metrics span:last-child{background:#eef6fb;color:#52799b}.monitor-preview-metrics strong{color:#087d76;font-size:21px}.monitor-preview-chart{height:160px;margin:2px 13px 13px}.monitor-preview-chart svg{display:block;width:100%;height:100%}.monitor-preview-grid{fill:none;stroke:#e8eef2;stroke-width:1}.monitor-preview-area{fill:#dff5f0}.monitor-preview-line{fill:none;stroke:#0ca197;stroke-width:3;stroke-linecap:round}.monitor-preview-chart circle{fill:#0ca197;stroke:#fff;stroke-width:2}.monitor-preview-secondary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.monitor-preview-bars,.monitor-preview-questions{display:grid;gap:9px;padding:12px}.monitor-preview-bars span{display:grid;grid-template-columns:30px 1fr 26px;gap:6px;align-items:center;color:#63738c;font-size:10px}.monitor-preview-bars i{overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.monitor-preview-bars em{height:6px;border-radius:5px;background:linear-gradient(90deg,#0ca197,#6da4d0)}.monitor-preview-bars b,.monitor-preview-questions b{color:#087d76;font-size:10px;text-align:right}.monitor-preview-questions span{display:flex;justify-content:space-between;gap:5px;overflow:hidden;color:#53627b;font-size:10px;white-space:nowrap}.monitor-subpage{display:grid;gap:18px}.monitor-subpage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:4px 3px 7px}.monitor-subpage-head h1{margin:0;color:#1a2a40;font-size:27px}.monitor-subpage-head p{max-width:650px;margin:8px 0 0;color:#6f7e92;font-size:13px;line-height:1.6}.monitor-subpage-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.monitor-subpage-actions select{min-height:37px;width:auto}.monitor-count-badge,.monitor-report-period{display:inline-flex;align-items:center;min-height:32px;border-radius:5px;padding:0 9px;background:#effaf8;color:#087d76;font-size:11px}.monitor-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.monitor-kpi-grid .stat-card{min-height:125px}.monitor-subgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.monitor-card{min-width:0;border:1px solid #dbe6ec;border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(39,91,112,.045);padding:20px}.monitor-card-head{margin-bottom:15px}.monitor-card-head h2{font-size:16px}.monitor-card-body{padding-top:3px}.monitor-chart-empty{display:grid;place-items:center;min-height:220px;color:#8794a5;font-size:12px}.monitor-trend-chart{position:relative;min-height:235px}.monitor-trend-chart svg{display:block;width:100%;height:235px}.monitor-chart-grid line{stroke:#e5edf1;stroke-width:1}.monitor-chart-grid text,.monitor-chart-axis{fill:#8a96a7;font-size:10px}.monitor-chart-area{fill:#dff5f0;opacity:.72}.monitor-chart-line{fill:none;stroke:#0ca197;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}.monitor-trend-chart circle{fill:#0ca197;stroke:#fff;stroke-width:2}.monitor-chart-caption{position:absolute;top:3px;right:8px;display:flex;gap:5px;color:#768397;font-size:11px}.monitor-chart-caption b{color:#078178}.monitor-model-bars{display:grid;gap:15px;padding:15px 0 7px}.monitor-model-bars>div{display:grid;grid-template-columns:130px 1fr 44px;align-items:center;gap:10px}.monitor-model-bars>div>span{min-width:0}.monitor-model-bars>div>i{height:8px;border-radius:9px;background:#edf1f4;overflow:hidden}.monitor-model-bars>div>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0ca197,#6da4d0)}.monitor-model-bars>div>strong{color:#11877e;font-size:12px;text-align:right}.monitor-inline-empty{min-height:180px}.monitor-resource-tags{min-height:180px;align-content:flex-start}.monitor-form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.monitor-question-pool{display:grid;gap:2px}.monitor-question-pool button{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;border:0;border-bottom:1px solid #eef1f4;background:#fff;padding:12px 5px;text-align:left}.monitor-question-pool button:hover{background:#f5fbfa}.monitor-question-pool span{color:#a1acba;font-size:11px}.monitor-question-pool strong{color:#3a4b62;font-size:12px;font-weight:600}.monitor-table-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:15px}.monitor-table-toolbar>div:first-child{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.monitor-table-toolbar>div:first-child strong{color:#1a8b82;font-size:22px}.monitor-table-toolbar>div:first-child span{color:#617087;font-size:12px}.monitor-table-toolbar>div:first-child small{width:100%;color:#8a96a7;font-size:11px}.monitor-table-filters{display:flex;gap:8px}.monitor-table-filters label{display:grid;gap:5px;color:#7b8799;font-size:11px}.monitor-table-filters select{min-height:34px;padding:6px 9px;font-size:11px}.monitor-table-guide{display:flex;align-items:flex-start;gap:10px;background:#f4fbfa}.monitor-table-guide .monitor-section-icon{flex:0 0 auto}.monitor-table-guide strong{color:#2f5260;font-size:12px}.monitor-table-guide p{margin:4px 0 0;color:#718797;font-size:11px}.monitor-share-list{display:grid;gap:9px}.monitor-share-row{display:grid;grid-template-columns:32px minmax(180px,1.1fr) minmax(120px,1fr) 54px 86px;align-items:center;gap:12px;border-bottom:1px solid #edf1f4;padding:14px 0}.monitor-share-row:last-child{border-bottom:0}.monitor-share-rank{color:#9eabb9;font-size:12px}.monitor-share-model{min-width:0}.monitor-share-model small,.monitor-share-rate{display:block;margin-top:5px;color:#8b97a7;font-size:10px}.monitor-share-track{height:8px;border-radius:10px;background:#edf1f4;overflow:hidden}.monitor-share-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0ca197,#6da4d0)}.monitor-share-row>strong{color:#087d76;text-align:right}.monitor-citation-list{display:grid}.monitor-citation-list article{display:grid;grid-template-columns:35px 1fr 60px auto;align-items:center;gap:11px;border-bottom:1px solid #edf1f4;padding:14px 0}.monitor-citation-list article:last-child{border-bottom:0}.monitor-citation-rank{color:#a1acba;font-size:12px}.monitor-citation-list article a{display:block;overflow:hidden;color:#177b84;font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.monitor-citation-list article small{display:block;overflow:hidden;margin-top:4px;color:#8794a5;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.monitor-citation-list article>b{display:grid;color:#33435a;font-size:17px;text-align:right}.monitor-citation-list article>b small{margin-top:2px;color:#8c98a8;font-size:10px}.monitor-report-print-note{display:flex;gap:10px;align-items:center;border:1px solid #dcebe8;border-radius:8px;padding:14px 16px;background:#f3fbf9;color:#68808a;font-size:12px}.monitor-report-print-note strong{color:#248378}.model-select-control .model-logo-img{width:20px;height:20px;object-fit:contain}.monitor-editor-modal.hidden{display:none}.monitor-subpage .primary-button,.monitor-subpage .secondary-button,.monitor-subpage .ghost-button{font-size:12px}@media(max-width:1100px){.monitor-detail-head{grid-template-columns:1fr}.monitor-detail-actions{justify-content:flex-start}.monitor-context-kpis,.monitor-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-onboarding,.monitor-onboarding-empty{grid-template-columns:1fr}.monitor-onboarding-preview{border-top:1px solid #e5e9f0}.monitor-coverage-layout{grid-template-columns:210px minmax(0,1fr)}.monitor-editor-providers{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.monitor-filter-bar{align-items:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-filter-bar label{min-width:0}.monitor-export-button{margin-left:0}.monitor-context-kpis,.monitor-kpi-grid,.monitor-subgrid,.monitor-support-grid,.monitor-editor-grid,.monitor-editor-options{grid-template-columns:1fr}.monitor-coverage-layout{grid-template-columns:1fr}.monitor-report-model-icons{display:none}.monitor-detail-head,.monitor-report-context,.monitor-report-section,.monitor-fold,.monitor-answer-section,.monitor-support-grid{padding-left:17px;padding-right:17px}.monitor-editor-modal{padding:10px}.monitor-editor-head,.monitor-editor-body{padding-left:18px;padding-right:18px}.monitor-editor-providers,.monitor-editor-questions{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-subpage-head{flex-direction:column}.monitor-subpage-actions{justify-content:flex-start}.monitor-table-toolbar{align-items:stretch;flex-direction:column}.monitor-table-filters{flex-wrap:wrap}.monitor-share-row{grid-template-columns:28px minmax(0,1fr) 50px}.monitor-share-track{grid-column:2 / -1}.monitor-share-rate{grid-column:2}.monitor-citation-list article{grid-template-columns:28px minmax(0,1fr) 48px}.monitor-citation-list article button{grid-column:2 / -1;justify-self:start}.monitor-form-two{grid-template-columns:1fr}.monitor-onboarding-content,.monitor-onboarding-intro,.monitor-onboarding-empty-copy,.monitor-onboarding-preview{padding:30px 20px}.monitor-onboarding-strategy-list,.monitor-onboarding-new-strategy,.monitor-onboarding-actions{margin-left:0}.monitor-preview-secondary{grid-template-columns:1fr}}@media(max-width:520px){.monitor-filter-bar{grid-template-columns:1fr}.monitor-editor-providers,.monitor-editor-questions{grid-template-columns:1fr}.monitor-title-row{align-items:flex-start;flex-direction:column;gap:9px}.monitor-detail-actions>*{flex:1 1 auto}.monitor-donut{width:165px;height:165px}.monitor-donut>div{width:115px;height:115px}.monitor-subpage-head h1{font-size:24px}}
/* Yuanmenggou open-platform workspace. */
.ym-page{display:grid;gap:17px;min-width:0;padding:5px 3px 30px;color:#1f3045}.ym-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.ym-page-head .subtitle{max-width:760px;margin:7px 0 0;color:#6e7d91;font-size:12px;line-height:1.65}.ym-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ym-connection-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #dbe8ef;border-radius:12px;padding:19px 22px;background:#fff;box-shadow:0 8px 24px rgba(39,91,112,.04)}.ym-connection-banner.is-ready{border-color:#bce4dc;background:linear-gradient(105deg,#f7fcfb,#fff)}.ym-connection-banner.is-pending{border-color:#f0d6b6;background:#fffaf4}.ym-banner-kicker{display:block;margin-bottom:5px;color:#138b82;font-size:10px;font-weight:800;letter-spacing:1.3px}.ym-connection-banner strong{display:block;color:#263a51;font-size:16px}.ym-connection-banner p{max-width:760px;margin:7px 0 0;color:#7a899b;font-size:11px;line-height:1.55}.ym-balance-box{display:grid;min-width:142px;gap:4px;border-left:1px solid #e5edf1;padding-left:20px;text-align:right}.ym-balance-box span{color:#7c8b9d;font-size:10px}.ym-balance-box strong{color:#0b877c;font-size:25px;line-height:1.1}.ym-balance-box small{color:#8e9baa;font-size:10px}.ym-capability-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.ym-capability-card{display:grid;align-content:start;gap:13px;min-width:0;min-height:174px;border:1px solid #e0e8ee;border-radius:10px;background:#fff;padding:16px;text-align:left;box-shadow:0 7px 20px rgba(39,91,112,.035);transition:border-color .15s,transform .15s,box-shadow .15s}.ym-capability-card:hover{border-color:#9fd6cf;box-shadow:0 12px 28px rgba(39,91,112,.08);transform:translateY(-1px)}.ym-capability-card.is-pending{background:#fcfdfe}.ym-capability-index{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:#087d76;background:#e8f7f4;font-size:10px;font-weight:800}.ym-capability-card.is-pending .ym-capability-index{color:#a7682c;background:#fff0df}.ym-capability-copy{display:grid;gap:8px;min-width:0}.ym-capability-copy strong{color:#2e4258;font-size:13px}.ym-capability-copy small{color:#7c8c9f;font-size:10px;line-height:1.6}.ym-capability-state{margin-top:auto;color:#0b847b;font-size:10px;font-weight:700}.ym-capability-card.is-pending .ym-capability-state{color:#aa713a}.ym-accounting-note{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:#f7fbfc}.ym-accounting-note h2{margin:0;color:#31465c;font-size:14px}.ym-accounting-note p{max-width:850px;margin:7px 0 0;color:#718296;font-size:11px;line-height:1.7}.ym-accounting-tags{display:flex;gap:7px;flex-wrap:wrap}.ym-accounting-tags span{display:inline-flex;align-items:center;min-height:26px;border:1px solid #d7ebe8;border-radius:5px;padding:0 8px;color:#267f78;background:#f0faf8;font-size:10px;white-space:nowrap}.ym-two-column{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:16px}.ym-two-column>.panel{min-width:0}.ym-platform-field{margin:0;border:1px solid #e0e9ee;border-radius:8px;padding:13px}.ym-platform-field legend{padding:0 6px;color:#64768a;font-size:11px;font-weight:700}.ym-platform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ym-platform-option{display:flex;align-items:center;gap:7px;min-width:0;border:1px solid #e4ebef;border-radius:7px;padding:8px;cursor:pointer}.ym-platform-option:has(input:checked){border-color:#8ed1c8;background:#f0fbf9}.ym-platform-option input{width:14px;min-height:14px;flex:0 0 auto}.ym-platform-option span{display:grid;gap:2px;min-width:0}.ym-platform-option b,.ym-platform-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ym-platform-option b{color:#34495f;font-size:10px}.ym-platform-option small{color:#8b99aa;font-size:9px}.ym-platform-logo{width:22px;height:22px;flex:0 0 auto;object-fit:contain}.ym-guide-panel{display:grid;align-content:start}.ym-status-guide{display:grid;gap:12px;margin-top:8px}.ym-status-guide>div{display:grid;grid-template-columns:12px 72px 1fr;align-items:center;gap:8px}.ym-status-guide b{color:#3a4c61;font-size:11px}.ym-status-guide small{color:#8997a7;font-size:10px}.ym-guide-dot{width:9px;height:9px;border-radius:50%;background:#9ca9b7}.ym-guide-dot.is-processing{background:#db9b50}.ym-guide-dot.is-indexed{background:#1da18f}.ym-guide-dot.is-not-indexed{background:#8298b0}.ym-guide-dot.is-failed{background:#c8656b}.ym-doc-link{display:inline-flex;align-items:center;margin-top:19px;color:#0b8179;font-size:11px;font-weight:700}.ym-list-panel{min-width:0}.ym-task-table,.ym-order-table{min-width:820px}.ym-task-table td,.ym-order-table td{vertical-align:middle}.ym-cell-subline{display:block;margin-top:5px;color:#8b99aa;font-size:10px;line-height:1.4}.ym-result-link{display:block;margin-top:4px;color:#0b8179;font-size:10px}.ym-order-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.ym-empty-state{display:grid;place-items:center;gap:7px;min-height:170px;padding:30px;text-align:center}.ym-empty-state strong{color:#405269;font-size:13px}.ym-empty-state span{color:#8795a5;font-size:11px}.ym-pro-flow{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:center;gap:8px}.ym-pro-step{display:grid;grid-template-columns:32px 1fr;column-gap:9px;align-items:center;border:1px solid #dfebef;border-radius:9px;padding:12px;background:#fff}.ym-pro-step>b{display:grid;grid-row:1 / 3;place-items:center;width:30px;height:30px;border-radius:8px;color:#0b8179;background:#e8f7f4;font-size:10px}.ym-pro-step strong{color:#35495f;font-size:11px}.ym-pro-step small{margin-top:3px;color:#8594a5;font-size:9px}.ym-pro-flow>span{color:#9aabb8;font-size:16px;text-align:center}.ym-pre-result{display:grid;gap:12px;margin-top:17px;border-top:1px solid #e8eef1;padding-top:16px}.ym-pre-result-head{display:grid;gap:5px}.ym-pre-result-head strong{color:#2f485c;font-size:12px}.ym-pre-result-head span{color:#7b8999;font-size:10px;line-height:1.5}.ym-candidate-grid{display:grid;gap:7px}.ym-candidate-grid article{display:grid;gap:3px;border:1px solid #e0e9ed;border-radius:7px;padding:9px;background:#fbfdfe}.ym-candidate-grid strong{color:#34495f;font-size:11px}.ym-candidate-grid span,.ym-candidate-grid small{color:#8391a2;font-size:10px}.ym-inline-note{margin:0;color:#a36b35;font-size:11px;line-height:1.5}.ym-report-table-wrap{overflow:auto}.ym-report-detail{margin:16px 0 0;border:1px solid #dce8ed;border-radius:8px;background:#f8fbfc}.ym-report-detail header{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid #e5edf0}.ym-report-detail header strong{color:#34495f;font-size:12px}.ym-report-detail pre{max-height:360px;overflow:auto;margin:0;padding:13px;color:#53667c;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}.ym-resource-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ym-resource-toolbar>span{margin-left:auto;color:#8795a5;font-size:11px}.ym-search-field{display:flex;align-items:center;gap:7px;width:min(390px,100%);border:1px solid #dce7ed;border-radius:7px;padding:0 10px;color:#8796a7;background:#fff}.ym-search-field input{min-height:35px;border:0;box-shadow:none;padding:0;font-size:11px}.ym-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ym-resource-card{display:grid;align-content:start;gap:8px;min-width:0;min-height:160px;border:1px solid #e0e8ed;border-radius:9px;background:#fff;padding:13px;text-align:left;box-shadow:0 6px 18px rgba(39,91,112,.035);transition:border-color .15s,background .15s}.ym-resource-card:hover,.ym-resource-card.is-selected{border-color:#8ed1c8;background:#f7fcfb}.ym-resource-card-head{display:flex;align-items:center;justify-content:space-between;gap:7px}.ym-resource-card-head img{width:29px;height:29px;object-fit:contain}.ym-resource-card-head span{margin-left:auto;color:#8796a7;font-size:9px}.ym-resource-card>strong{overflow:hidden;color:#31465c;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ym-resource-card>small{display:-webkit-box;overflow:hidden;color:#8594a5;font-size:10px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.ym-resource-meta{margin-top:auto;color:#0b8279;font-size:10px;font-weight:700}.ym-publish-layout{align-items:start}.ym-resource-detail{display:grid;gap:10px;align-content:start}.ym-resource-detail>img{width:42px;height:42px;object-fit:contain;border:1px solid #e6edf0;border-radius:9px;padding:6px;background:#fff}.ym-resource-detail>strong{color:#31465c;font-size:15px}.ym-resource-detail>span{color:#7d8d9e;font-size:11px;line-height:1.6}.ym-resource-detail>div{display:flex;gap:6px;flex-wrap:wrap}.ym-resource-detail em{border-radius:4px;padding:4px 6px;color:#5f7286;background:#f2f6f8;font-size:10px;font-style:normal}.ym-resource-detail>a{color:#0b8279;font-size:11px;font-weight:700}.ym-order-table-wrap{overflow:auto}
@media(max-width:1120px){.ym-capability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ym-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.ym-page-head,.ym-connection-banner,.ym-accounting-note{align-items:flex-start;flex-direction:column}.ym-head-actions{justify-content:flex-start}.ym-balance-box{width:100%;border-top:1px solid #e5edf1;border-left:0;padding:12px 0 0;text-align:left}.ym-two-column{grid-template-columns:1fr}.ym-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ym-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ym-resource-toolbar>span{margin-left:0}.ym-pro-flow{grid-template-columns:1fr;gap:6px}.ym-pro-flow>span{transform:rotate(90deg)}}
@media(max-width:560px){.ym-capability-grid,.ym-resource-grid{grid-template-columns:1fr}.ym-platform-grid{grid-template-columns:1fr}.ym-page{padding-left:0;padding-right:0}.ym-connection-banner{padding:16px}.ym-resource-toolbar{align-items:stretch;flex-direction:column}.ym-search-field{width:100%}.ym-resource-toolbar .secondary-button{width:100%}.ym-page-head .page-title{font-size:24px}.ym-connection-banner strong{font-size:14px}.ym-pro-step{min-height:58px}}
.ym-third-party-filter{display:grid;gap:8px;margin:12px 0 10px;border:1px solid #c9e0ff;border-radius:14px;padding:16px 20px;background:#fff;box-shadow:0 4px 16px rgba(34,110,196,.06)}
.ym-filter-row{display:flex;align-items:flex-start;gap:12px;min-height:32px}.ym-filter-row>strong{flex:0 0 82px;padding-top:7px;color:#0872e8;font-size:11px;white-space:nowrap}.ym-filter-options{display:flex;flex:1;flex-wrap:wrap;gap:7px;max-height:34px;overflow:hidden}.ym-filter-options.expanded{max-height:none}.ym-filter-pill{min-height:32px;border:1px solid #dce9f8;border-radius:7px;padding:0 14px;color:#4d5d72;background:#f8fbff;font-size:11px;cursor:pointer}.ym-filter-pill:hover,.ym-filter-pill.active{border-color:#1677f3;color:#fff;background:#1677f3}.ym-filter-more{flex:0 0 auto;border:0;padding:7px 2px;color:#1677f3;background:transparent;font-size:10px;cursor:pointer;white-space:nowrap}.ym-media-search-bar{display:flex;align-items:center;gap:10px;margin:0 0 14px;border:1px solid #c9e0ff;border-radius:12px;padding:12px 14px;background:#f5faff}.ym-media-search-bar select,.ym-media-search-bar input{min-height:38px;border:1px solid #d7e2ee;border-radius:6px;background:#fff;color:#4b5d72}.ym-media-search-bar select{width:170px;padding:0 10px}.ym-media-search-bar input{flex:1;padding:0 12px}.ym-media-search-bar .primary-button{min-height:38px;padding:0 22px}.distribution-resource-card[hidden]{display:none !important}
@media(max-width:720px){.ym-filter-row{flex-wrap:wrap}.ym-filter-row>strong{flex-basis:100%}.ym-filter-options{max-height:70px}.ym-media-search-bar{flex-wrap:wrap}.ym-media-search-bar select,.ym-media-search-bar input{width:100%;flex-basis:100%}}
.ym-two-column .ym-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ym-two-column .ym-platform-option b{font-size:11px}
@media(max-width:560px){.ym-two-column .ym-platform-grid{grid-template-columns:1fr}}

/* Integrated provider workspaces stay inside their business modules. */
.ym-integrated-surface{margin-top:4px;border:1px solid #dbe7ec;border-radius:14px;background:#fbfdfd;box-shadow:0 8px 24px rgba(39,91,112,.035)}
.ym-integrated-surface>.ym-page-head{padding:2px 0 0}
.ym-integrated-surface>.ym-page-head .page-title{font-size:22px}
.ym-integrated-surface>.ym-list-panel,.ym-integrated-surface>.ym-pro-history{margin-top:0}
.diagnosis-pro-panel{margin-top:18px}
.integrated-module-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:0 0 12px;border-bottom:1px solid #dbe7ec;padding:0 0 9px}
.integrated-module-tab{min-height:33px;border:1px solid transparent;border-radius:6px;background:transparent;padding:0 12px;color:#6d7d90;font-size:11px;font-weight:650;cursor:pointer}
.integrated-module-tab:hover{border-color:#cbe5e0;color:#0b8179;background:#f2fbf9}
.integrated-module-tab.active{border-color:#9bd8d0;color:#087d76;background:#eaf8f5;box-shadow:inset 0 -2px 0 #0ca197}
.integrated-module-tab span{margin-left:4px;color:#8b9aab;font-size:10px}
.integrated-module-tab.active span{color:#087d76}
.monitoring-module-tabs{margin-bottom:14px}
.distribution-type-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;border-bottom:1px solid #e1eaee;padding:0 0 10px}
.distribution-type-tab{min-height:33px;border:1px solid transparent;border-radius:6px;background:transparent;padding:0 12px;color:#6d7d90;font-size:11px;font-weight:650;cursor:pointer}
.distribution-type-tab:hover{border-color:#cbe5e0;color:#0b8179;background:#f2fbf9}
.distribution-type-tab.active{border-color:#9bd8d0;color:#087d76;background:#eaf8f5;box-shadow:inset 0 -2px 0 #0ca197}
.media-hub .distribution-type-tabs{margin-top:-3px}
@media(max-width:760px){.ym-integrated-surface{padding:0 12px 20px}.ym-integrated-surface>.ym-page-head{padding-top:4px}.distribution-type-tabs,.integrated-module-tabs{overflow:auto;flex-wrap:nowrap}.distribution-type-tab,.integrated-module-tab{flex:0 0 auto}.ym-integrated-surface .ym-two-column{grid-template-columns:1fr}}
/* Reference-aligned website refinements. */
.website-primary-button:disabled { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.website-thumb-nav { height: 22px; padding: 0 8px; }
.website-thumb-nav-links { display: flex; gap: 4px; margin-left: auto; }
.website-thumb-nav-links span { width: 16px; height: 4px; margin-left: 0; border-radius: 2px; }
.website-template-thumb { height: 140px; }
.website-thumb-hero { display: flex; flex-direction: column; gap: 3px; padding: 10px 10px 8px; }
.website-thumb-hero strong { font-size: 12px; line-height: 1.3; }
.website-thumb-blocks { gap: 6px; padding: 4px 8px 8px; }
.website-thumb-blocks i { height: 20px; }
.website-preview-panel { width: 340px; }
.website-preview-panel > header > div { flex-wrap: wrap; }
.website-preview-body { background: var(--preview-bg, #f0f2f5); }
.website-preview-hero { padding-bottom: 20px; }
.website-preview-nav { padding: 8px 14px; }
.website-preview-nav b { font-size: 10px; font-weight: 800; letter-spacing: .5px; }
.website-preview-hero > strong { margin-top: 16px; font-size: 18px; font-weight: 800; }
.website-preview-hero > small { margin-top: 4px; line-height: 1.4; }
.website-preview-body section, .website-preview-body > footer { padding: 12px 14px; }
.website-preview-testimonial { padding: 8px 0; }
.website-preview-testimonial b, .website-preview-testimonial small { display: block; }
.website-preview-testimonial b { color: #374151; font-size: 11px; }
.website-preview-testimonial small { margin-top: 5px; color: #8b97a8; }
.website-preview-empty { display: flex; align-items: center; justify-content: center; min-height: 220px; padding: 30px 20px; color: #9ca3af; font-size: 10px; text-align: center; }
.website-preview-body > footer { background: var(--preview-block, #eef1f5); }
.website-preview-panel .website-preview-body img { max-width: 120px; height: 32px; object-fit: contain; }
@media (max-width: 760px) { .website-preview-panel { width: min(340px, 100vw); } }

/* Utility workspaces added from the reference feature audit. */
.utility-page { display: grid; gap: 18px; min-width: 0; }
.utility-page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 4px 2px 2px; }
.utility-page-head h1 { margin: 6px 0 8px; color: #18283d; font-size: 27px; line-height: 1.25; }
.utility-page-head p { max-width: 760px; margin: 0; color: #708196; font-size: 13px; line-height: 1.7; }
.utility-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.tool-kicker { display: inline-block; color: #0b8a83; font-size: 10px; font-weight: 800; letter-spacing: 1.2px; }
.metric-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.metric-strip article { display: grid; gap: 6px; min-height: 92px; padding: 17px 18px; border: 1px solid #dce8eb; border-radius: 8px; background: #fff; }
.metric-strip span, .metric-strip small { color: #8190a1; font-size: 11px; }
.metric-strip strong { color: #16304a; font-size: 25px; line-height: 1; }
.metric-strip strong small { color: inherit; font-size: 12px; }
/* Fixed pastel accents keep keyword metrics distinct across platform themes. */
.keyword-index-metrics { gap: 14px; }
.keyword-index-metric-indexed { --keyword-metric-bg: #effaf8; --keyword-metric-border: #cfece6; --keyword-metric-accent: #38a999; --keyword-metric-ink: #146f65; }
.keyword-index-metric-hot { --keyword-metric-bg: #fff8ed; --keyword-metric-border: #f3dfbd; --keyword-metric-accent: #e5a04f; --keyword-metric-ink: #9a621c; }
.keyword-index-metric-competition { --keyword-metric-bg: #f2f6ff; --keyword-metric-border: #d8e3fa; --keyword-metric-accent: #7898d4; --keyword-metric-ink: #43659e; }
.keyword-index-metric-source { --keyword-metric-bg: #f8f3ff; --keyword-metric-border: #e7daf7; --keyword-metric-accent: #9a79c5; --keyword-metric-ink: #704e98; }
.keyword-index-metrics .keyword-index-metric { position: relative; min-height: 116px; gap: 7px; padding: 20px 22px; overflow: hidden; border-color: var(--keyword-metric-border); border-radius: 12px; background: var(--keyword-metric-bg); box-shadow: 0 4px 14px rgba(32, 61, 82, .045); }
.keyword-index-metrics .keyword-index-metric::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--keyword-metric-accent); content: ''; }
.keyword-index-metrics .keyword-index-metric > span { color: #405469; font-size: 14px; font-weight: 600; line-height: 1.4; }
.keyword-index-metrics .keyword-index-metric > strong { color: var(--keyword-metric-ink); font-size: 28px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.keyword-index-metrics .keyword-index-metric > small { color: #617184; font-size: 12px; line-height: 1.5; }
.utility-two-column { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); gap: 18px; align-items: start; }
.tool-form-panel, .tool-history-panel, .tool-result-panel, .inclusion-result-panel { min-width: 0; }
.tool-history-list { display: grid; gap: 1px; padding: 0 16px 16px; }
.tool-history-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 11px; width: 100%; padding: 12px 8px; border: 0; border-bottom: 1px solid #e7eef0; background: #fff; color: #324257; text-align: left; }
.tool-history-row:hover, .tool-history-row.active { background: #f0faf8; }
.tool-history-row b, .tool-history-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tool-history-row small { margin-top: 5px; color: #94a0ae; font-size: 10px; }
.tool-history-row > span:last-child { color: #8090a0; font-size: 10px; }
.tool-history-score { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #fff; background: #b7c2cc; font-size: 12px; font-weight: 800; }
.tool-history-score.good { background: #168b76; }.tool-history-score.medium { background: #d18a3d; }.tool-history-score.low { background: #ad5961; }
.tool-result-card { display: grid; gap: 20px; padding: 20px; border: 1px solid #dce8eb; border-radius: 8px; background: #fbfdfd; }
.tool-result-card > header, .tool-result-toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.tool-result-card h3 { margin: 6px 0 4px; color: #1d3045; font-size: 19px; }
.tool-result-card header p { margin: 0; color: #8b98a7; font-size: 11px; }
.quality-score { display: flex; align-items: baseline; gap: 4px; min-width: 78px; color: #607589; }
.quality-score strong { color: #158878; font-size: 34px; line-height: 1; }.quality-score.medium strong { color: #c17b38; }.quality-score.low strong { color: #a74f5a; }.quality-score span { font-size: 11px; }
.quality-dimension-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.quality-dimension-grid article { padding: 12px; border: 1px solid #e2ebed; border-radius: 7px; background: #fff; }
.quality-dimension-grid article > div:first-child { display: flex; justify-content: space-between; gap: 8px; }.quality-dimension-grid b { color: #566b7f; font-size: 11px; }.quality-dimension-grid strong { color: #0d897f; font-size: 15px; }
.quality-dimension-grid p { margin: 8px 0 0; color: #8291a0; font-size: 10px; line-height: 1.55; }.quality-track, .index-cell i { display: block; height: 5px; overflow: hidden; border-radius: 99px; background: #e8f0f1; }.quality-track { margin-top: 10px; }.quality-track i, .index-cell i span { display: block; height: 100%; border-radius: inherit; background: #2aafa0; }
.article-diagnosis-bottom { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 20px; }.article-diagnosis-bottom h4 { margin: 0 0 8px; color: #34485b; font-size: 13px; }.tool-bullet-list { display: grid; gap: 7px; margin: 0; padding-left: 18px; color: #68798b; font-size: 11px; line-height: 1.6; }.diagnosis-stat-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-content: start; }.diagnosis-stat-list span { padding: 10px; border: 1px solid #e1ebed; border-radius: 6px; color: #8593a0; font-size: 10px; }.diagnosis-stat-list b { display: block; margin-bottom: 4px; color: #29445a; font-size: 17px; }
.compact-empty { padding: 32px 20px; }
.toolbar-search { display: flex; align-items: center; gap: 7px; }.toolbar-search input { width: 220px; min-height: 36px; }
.index-cell { display: grid; grid-template-columns: 30px 90px; align-items: center; gap: 8px; }.index-cell b { color: #248a80; }.index-cell i { width: 90px; }
.keyword-index-table td { vertical-align: middle; }.keyword-index-table small { display: block; margin-top: 4px; color: #8c9aaa; }
.keyword-index-page { min-width: 0; }
.keyword-index-page .utility-page-head { gap: 20px; flex-wrap: wrap; }
.keyword-index-page .utility-page-head > div { min-width: 0; }
.keyword-index-page .utility-head-actions { flex-wrap: wrap; gap: 10px; }
.keyword-index-page > .panel { min-width: 0; overflow: hidden; }
.keyword-index-page .panel-heading { align-items: flex-start; flex-wrap: wrap; gap: 18px 24px; padding: 22px 24px; }
.keyword-index-page .panel-heading > div { flex: 1 1 280px; min-width: 0; }
.keyword-index-page .panel-heading h2 { margin: 0; font-size: 18px; line-height: 1.5; }
.keyword-index-page .panel-heading p { margin: 8px 0 0; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.keyword-index-page > .panel > .section-note { margin: 20px 24px 0; padding: 12px 16px; border-radius: 8px; line-height: 1.8; overflow-wrap: anywhere; }
.keyword-index-page .keyword-index-metric > small { overflow-wrap: anywhere; }
.keyword-index-query { display: grid; gap: 24px; padding: 22px 24px 0; }
.keyword-index-query label { display: grid; min-width: 0; gap: 10px; color: var(--text-secondary, #52647b); font-size: 14px; font-weight: 500; line-height: 1.5; }
.keyword-index-query-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 14px; }
.keyword-index-query-main > button { min-height: 44px; padding-inline: 24px; white-space: nowrap; }
.keyword-index-query-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 145px), 1fr)); gap: 20px 16px; }
.keyword-index-query input, .keyword-index-query select { box-sizing: border-box; width: 100%; min-width: 0; height: 44px; padding: 10px 12px; font-size: 14px; line-height: 1.5; border-radius: 8px; }
.keyword-index-page #keyword-index-query-message { margin: 20px 24px 24px; padding: 12px 14px; border: 1px solid var(--border, #e5eaf0); border-radius: 8px; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.keyword-index-page #keyword-index-search { flex: 0 1 320px; min-width: 0; width: 100%; gap: 10px; }
.keyword-index-page #keyword-index-search input { flex: 1; min-width: 0; width: 100%; height: 40px; }
.keyword-index-page #keyword-index-search button { flex-shrink: 0; min-height: 40px; white-space: nowrap; }
.keyword-index-page .empty-state { padding: 36px 24px; line-height: 1.8; }
.keyword-index-page .empty-state > strong { margin-bottom: 10px; }
.keyword-index-page .keyword-index-table { min-width: 1020px; }
.keyword-index-page .keyword-index-table th, .keyword-index-page .keyword-index-table td { padding: 16px 20px; line-height: 1.6; }
.keyword-index-pagination { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding: 18px 24px; border-top: 1px solid var(--border, #e5eaf0); color: var(--text-secondary, #52647b); font-size: 13px; line-height: 1.7; }
.keyword-index-pagination > div { display: flex; gap: 8px; }
@media (max-width: 540px) {
  .keyword-index-page .panel-heading { padding: 20px 18px; }
  .keyword-index-page > .panel > .section-note { margin: 18px 18px 0; }
  .keyword-index-query { padding: 20px 18px 0; gap: 20px; }
  .keyword-index-query-main { grid-template-columns: minmax(0, 1fr); }
  .keyword-index-query-main > button { width: 100%; }
  .keyword-index-query-options { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .keyword-index-page #keyword-index-query-message { margin: 18px; }
  .keyword-index-pagination { padding: 16px 18px; }
}
.tool-result-toolbar > div:first-child { display: flex; align-items: baseline; gap: 10px; }.tool-result-toolbar > div:first-child span { color: #8b98a6; font-size: 11px; }
.title-suggestion-grid { display: grid; gap: 1px; padding: 0 18px 18px; }.title-suggestion-card { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 14px 4px; border-bottom: 1px solid #e5edef; }.title-suggestion-card > span { color: #0a9a8e; font-size: 11px; font-weight: 800; }.title-suggestion-card strong { color: #314459; font-size: 13px; line-height: 1.5; }
.title-generator-page .tool-form-panel .panel-heading { border-bottom: 1px solid var(--line); }
.title-mode-switch { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.title-mode-switch legend { width: 100%; margin-bottom: 7px; color: var(--muted); font-size: 12px; font-weight: 650; }
.title-mode-switch label { position: relative; display: inline-flex; padding: 0; font-size: 13px; cursor: pointer; }
.title-mode-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.title-mode-switch span { min-width: 96px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); background: var(--paper); text-align: center; }
.title-mode-switch input:checked + span { border-color: var(--cyan); color: var(--cyan); background: var(--cyan-soft); font-weight: 700; }
.title-mode-switch input:focus-visible + span { outline: 2px solid var(--cyan); outline-offset: 2px; }
.title-form-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-top: 4px; }
.title-form-foot > span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.title-generator-page #title-style-hint { margin-top: 7px; font-size: 12px; line-height: 1.5; }
.title-no-base { margin: 0 18px 18px; }
.title-suggestion-card > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.gallery-upload-panel, .gallery-list-panel { min-width: 0; }.gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; padding: 0 18px 18px; }.gallery-card { overflow: hidden; border: 1px solid #dce8eb; border-radius: 8px; background: #fff; }.gallery-card-image { display: grid; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; background: #f1f6f7; }.gallery-card-image img { width: 100%; height: 100%; object-fit: cover; }.gallery-card-copy { display: grid; gap: 5px; padding: 11px; }.gallery-card-copy strong { overflow: hidden; color: #33475c; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.gallery-card-copy span, .gallery-card-copy small { overflow: hidden; color: #8492a1; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.gallery-card .action-row { padding: 0 11px 11px; }
.engine-check-group { margin: 0; padding: 12px; border: 1px solid #dce8eb; border-radius: 6px; }.engine-check-group legend { padding: 0 5px; color: #68798b; font-size: 11px; }.engine-check-group > div { display: flex; flex-wrap: wrap; gap: 14px; }.engine-check-group label { display: inline-flex; align-items: center; gap: 6px; color: #55697c; font-size: 11px; }.inclusion-engine-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }.inclusion-engine-card { display: grid; gap: 8px; padding: 14px; border: 1px solid #ecdcc6; border-radius: 7px; background: #fffaf3; }.inclusion-engine-card.is-indexed { border-color: #bde1d9; background: #f2fbf8; }.inclusion-engine-card > div { display: flex; align-items: center; justify-content: space-between; gap: 5px; }.inclusion-engine-card strong { color: #253f54; font-size: 22px; }.inclusion-engine-card small, .inclusion-engine-card > span:last-child { color: #8492a0; font-size: 10px; }.inclusion-engine-card a { color: #168b80; font-size: 10px; }.mini-status { display: inline-block; margin: 2px 4px 2px 0; color: #159181; font-size: 10px; }.mini-status.muted { color: #a2aebb; }.inclusion-detail { margin: 16px; border: 1px solid #dbe7ea; border-radius: 7px; background: #f8fbfb; }.inclusion-detail header { display: flex; justify-content: space-between; align-items: center; }.inclusion-detail pre { max-height: 320px; overflow: auto; margin: 12px 0 0; padding: 12px; color: #526579; background: #fff; font-size: 10px; white-space: pre-wrap; }
.workflow-step-list { display: grid; gap: 1px; padding: 0 16px 16px; }.workflow-step-list button { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 14px 8px; border: 0; border-bottom: 1px solid #e6eef0; background: #fff; text-align: left; }.workflow-step-list button > span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 6px; color: #0a897f; background: #e8f8f4; font-size: 10px; font-weight: 800; }.workflow-step-list b, .workflow-step-list small { display: block; }.workflow-step-list b { color: #2f4357; font-size: 12px; }.workflow-step-list small { margin-top: 4px; color: #8896a4; font-size: 10px; }.workflow-step-list strong { color: #13a092; }
.mini-record-list { display: grid; gap: 1px; padding: 0 16px 16px; }.mini-record-list button, .city-mini-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 10px; align-items: center; width: 100%; padding: 12px 7px; border: 0; border-bottom: 1px solid #e6eef0; background: #fff; text-align: left; }.mini-record-list b, .mini-record-list small { display: block; }.mini-record-list small { margin-top: 4px; color: #8a98a7; font-size: 10px; }.mini-record-status { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; color: #fff; background: #df9b4d; font-size: 10px; font-weight: 800; }.mini-record-status.good { background: #178d7c; }
.account-card-list { display: grid; gap: 1px; padding: 0 16px 16px; }.account-card { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 13px 8px; border-bottom: 1px solid #e5edef; }.account-card-logo { display: grid; width: 40px; height: 40px; place-items: center; overflow: hidden; border-radius: 9px; background: #f0f7f7; }.account-card-logo img { width: 27px; height: 27px; object-fit: contain; }.account-card-main > div { display: flex; align-items: center; gap: 8px; }.account-card-main strong { color: #2e4357; font-size: 12px; }.account-card-main p, .account-card-main small { display: block; margin: 5px 0 0; color: #8190a0; font-size: 10px; }.account-card-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.account-card-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.video-output-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 0 18px 18px; }.video-output-card { overflow: hidden; border: 1px solid #dce8eb; border-radius: 8px; background: #fff; }.video-output-preview { display: grid; aspect-ratio: 16 / 9; place-items: center; overflow: hidden; background: #132533; color: #a9d8d3; font-weight: 800; letter-spacing: 1px; }.video-output-preview video { width: 100%; height: 100%; object-fit: cover; }.video-output-copy { display: grid; gap: 5px; padding: 12px; }.video-output-copy strong { color: #31455a; font-size: 12px; }.video-output-copy span, .video-output-copy small { color: #8492a1; font-size: 10px; }.video-output-card > .action-row { padding: 0 12px 12px; }.video-channel-list { display: grid; gap: 1px; padding: 0 18px 18px; }.video-channel-card { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 13px; align-items: center; padding: 14px 8px; border-bottom: 1px solid #e5edef; }.video-channel-logo { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 9px; background: #f1f7f7; }.video-channel-logo img { width: 30px; height: 30px; object-fit: contain; }.video-channel-card strong, .video-channel-card span, .video-channel-card p { display: block; }.video-channel-card strong { color: #2c4054; font-size: 12px; }.video-channel-card span { margin-top: 4px; color: #168c80; font-size: 10px; }.video-channel-card p { margin: 5px 0 0; color: #8492a0; font-size: 10px; }.video-channel-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }.video-channel-collection { grid-column: 2 / -1; min-width: 0; }.video-channel-collection .input { width: min(260px, 100%); }
.utility-tabs { display: flex; gap: 4px; overflow-x: auto; padding-bottom: 2px; border-bottom: 1px solid #dfe9eb; }.utility-tabs button { flex: 0 0 auto; padding: 10px 14px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #758598; font-size: 12px; font-weight: 700; }.utility-tabs button.active { border-bottom-color: #10a092; color: #0b817a; }.city-site-table td { vertical-align: middle; }.city-site-table td small { display: block; margin-top: 4px; color: #8b98a6; }.city-template-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; padding: 0 18px 18px; }.city-template-card { display: grid; gap: 8px; padding: 16px; border: 1px solid #dce8eb; border-radius: 8px; background: #fff; }.city-template-card.active { border-color: #86d4cc; box-shadow: 0 0 0 2px #e7f8f5; }.city-template-mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 8px; color: #0b8a82; background: #e9f8f5; font-size: 12px; font-weight: 800; }.city-template-card strong { color: #30465a; font-size: 13px; }.city-template-card p { min-height: 34px; margin: 0; color: #8492a0; font-size: 10px; line-height: 1.55; }.city-page-preview { overflow: hidden; margin-top: 16px; border: 1px solid #dbe8ea; border-radius: 8px; background: #f7fbfb; }.city-page-hero { padding: 34px; color: #fff; background: #0f766e; }.city-page-hero span { font-size: 10px; letter-spacing: 1px; opacity: .8; }.city-page-hero h2 { margin: 9px 0 7px; font-size: 25px; }.city-page-hero p { margin: 0; color: rgba(255,255,255,.8); font-size: 12px; }.city-page-sections { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #dbe8ea; }.city-page-sections article { min-height: 130px; padding: 18px; background: #fff; }.city-page-sections h3 { margin: 0 0 7px; color: #31465b; font-size: 13px; }.city-page-sections p { margin: 0; color: #738397; font-size: 11px; line-height: 1.7; }.city-page-preview > .action-row { padding: 15px; }
.rights-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 0 18px 18px; }.rights-grid article { display: grid; gap: 8px; padding: 15px; border: 1px solid #dce8eb; border-radius: 7px; background: #fbfdfd; }.rights-grid b { color: #2e4357; font-size: 13px; }.rights-grid span { min-height: 32px; color: #8190a0; font-size: 10px; line-height: 1.55; }.rights-grid button { justify-self: start; padding: 0; border: 0; background: transparent; color: #0a8d83; font-size: 11px; font-weight: 750; }
 .city-toolbar,.city-sites-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.city-toolbar{padding:0 2px}.city-sites-toolbar{display:grid;gap:12px}.city-sites-toolbar>.action-row{justify-content:flex-start;flex-wrap:wrap}.city-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.city-filter-row input,.city-filter-row select,.city-toolbar input{min-height:36px}.city-filter-row input{min-width:220px}.city-disclosure{overflow:hidden}.city-disclosure summary{display:flex;align-items:center;gap:9px;padding:15px 18px;color:#263b50;font-size:13px;font-weight:750;cursor:pointer;list-style:none}.city-disclosure summary::-webkit-details-marker{display:none}.city-disclosure summary:before{content:'+';display:grid;width:22px;height:22px;place-items:center;border-radius:6px;color:#0b8a82;background:#e8f8f4;font-size:16px}.city-disclosure[open] summary:before{content:'−'}.city-disclosure summary span{color:#8a98a7;font-size:11px;font-weight:500}.city-empty-detail{min-height:285px;display:grid;place-items:center;align-content:center;gap:9px}.city-empty-detail span{max-width:300px;line-height:1.7}.city-empty-detail .primary-button{margin-top:5px}.city-brand-table td:first-child small,.city-site-table td:nth-child(2) small,.city-inquiry-table td:first-child small,.city-inquiry-table td:nth-child(2) small{display:block;margin-top:4px;color:#8a98a7;font-size:10px}.city-error-text{display:block;max-width:150px;margin-top:5px;color:#b36d38;font-size:10px;white-space:normal}.city-metric-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.city-dashboard-columns,.city-brands-columns,.city-sites-columns{align-items:start}.city-template-preview{display:grid;gap:7px;align-content:center;height:104px;padding:13px;border-radius:7px;background:var(--city-template-color,#0f766e)}.city-template-preview span{display:block;width:60%;height:9px;border-radius:3px;background:#ffffffcc}.city-template-preview i{display:block;width:82%;height:5px;border-radius:3px;background:#ffffff66}.city-template-preview b{display:block;width:28%;height:20px;margin-top:9px;border:1px solid #ffffffaa;border-radius:3px}.city-page-editor{display:grid;gap:18px}.city-page-editor-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #e7eef0}.city-page-editor-hero h3{margin:6px 0 0;color:#284258;font-size:17px}.city-page-section-list{display:grid;gap:12px}.city-page-section-list>.panel-heading{padding:0 0 4px}.city-page-section-editor{display:grid;gap:10px;padding:14px;border:1px solid #dce8eb;border-radius:7px;background:#fbfdfd}.city-page-section-editor>div{display:flex;align-items:center;gap:9px}.city-page-section-editor>div>span{display:grid;width:25px;height:25px;place-items:center;border-radius:6px;color:#0b8b82;background:#e8f8f4;font-size:10px;font-weight:800}.city-page-section-editor input{flex:1}.city-page-section-editor textarea{min-height:74px}.city-keyword-expand-form{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;align-items:end;gap:12px;padding:16px 0;border-bottom:1px solid #e7eef0}.city-keyword-result,.city-keyword-saved{margin-top:18px;border:1px solid #dce8eb;border-radius:8px;background:#fbfdfd}.city-keyword-result .panel-heading,.city-keyword-saved .panel-heading{padding:14px 16px}.city-keyword-chip-grid{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 16px}.city-keyword-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #dce6e9;border-radius:6px;color:#71808e;background:#fff;font-size:11px;cursor:pointer}.city-keyword-chip.is-checked{border-color:#9edbd4;color:#177f78;background:#effaf8}.city-keyword-chip input{accent-color:#0b9a8f}.city-keyword-chip em{padding:2px 5px;border-radius:4px;color:#9a7a49;background:#fff6e9;font-size:9px;font-style:normal}.city-inquiry-stats{display:flex;gap:8px;flex-wrap:wrap;color:#8290a0;font-size:11px}.city-inquiry-stats span{padding:5px 8px;border-radius:5px;background:#f1f5f6}.city-inquiry-stats .is-warning{color:#a66a25;background:#fff6e9}.city-inquiry-stats .is-success{color:#187f6d;background:#eaf8f4}.city-inquiry-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1px;background:#dce8eb}.city-inquiry-layout>.table-wrap{min-width:0;background:#fff}.city-inquiry-table tr.is-selected td{background:#effaf8}.table-link{display:block;padding:0;border:0;background:transparent;color:#2e4357;font:inherit;text-align:left;cursor:pointer}.table-link:hover{color:#087f77}.city-inquiry-detail{min-width:0;background:#fbfdfd}.city-inquiry-detail-empty{display:grid;align-content:center;gap:7px;min-height:260px;color:#8b98a7;text-align:center}.city-inquiry-detail-empty strong{color:#34495c;font-size:14px}.city-inquiry-message,.city-followup-list{margin-top:17px}.city-inquiry-message>span,.city-followup-list>span{display:block;margin-bottom:8px;color:#67788a;font-size:11px;font-weight:750}.city-inquiry-message p{margin:0;padding:11px;border:1px solid #e1eaec;border-radius:6px;color:#526579;background:#fff;font-size:12px;line-height:1.7}.city-followup-list{display:grid;gap:8px}.city-followup-list>span{margin-bottom:0}.city-followup-list article{padding:9px;border-left:2px solid #9bd8d0;background:#fff}.city-followup-list article p{margin:0;color:#526579;font-size:11px;line-height:1.6}.city-followup-list article small{display:block;margin-top:5px;color:#99a4ae;font-size:10px}.city-inquiry-detail .compact-form{margin-top:15px}.warning-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid #efcfaa;border-radius:6px;color:#a46727;background:#fff8ef;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.warning-button:hover{background:#fff0dc}.warning-button:disabled,.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.5}.link-button,.table-link{border:0;background:transparent;cursor:pointer}.link-button{color:#09867d;font-size:11px}.link-button:hover{text-decoration:underline}.field-hint{display:block;margin-top:5px;color:#8b99a7;font-size:10px;line-height:1.5}.city-live-mark{white-space:nowrap}
 @media (max-width: 1100px) { .quality-dimension-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.video-output-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.city-template-grid, .rights-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.city-metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.city-inquiry-layout{grid-template-columns:1fr}.city-inquiry-detail{border-top:1px solid #dce8eb} }
@media (max-width: 760px) { .utility-page-head { flex-direction: column; }.utility-head-actions { justify-content: flex-start; }.metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }.utility-two-column { grid-template-columns: 1fr; }.quality-dimension-grid, .inclusion-engine-grid, .gallery-grid, .video-output-grid, .city-template-grid, .rights-grid { grid-template-columns: 1fr 1fr; }.article-diagnosis-bottom { grid-template-columns: 1fr; }.toolbar-search { width: 100%; }.toolbar-search input { flex: 1; width: auto; }.account-card { grid-template-columns: 40px minmax(0, 1fr); }.account-card-actions { grid-column: 2; justify-content: flex-start; }.video-channel-card { grid-template-columns: 42px minmax(0, 1fr); align-items: start; }.video-channel-actions { grid-column: 2; justify-content: flex-start; }.video-channel-collection { grid-column: 2; }.city-page-sections { grid-template-columns: 1fr; }.city-page-hero { padding: 24px; } }
 @media (max-width: 760px) { .city-sites-toolbar>.action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.city-sites-toolbar>.action-row>*{min-width:0}.city-filter-row>*{width:100%;min-width:0}.city-keyword-expand-form{grid-template-columns:1fr}.city-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.city-page-editor-hero{align-items:flex-start;flex-direction:column}.city-brands-columns,.city-sites-columns{grid-template-columns:1fr}.city-toolbar{align-items:stretch;flex-direction:column}.city-toolbar>*{width:100%} }
 @media (max-width: 480px) { .metric-strip, .quality-dimension-grid, .inclusion-engine-grid, .gallery-grid, .video-output-grid, .city-template-grid, .rights-grid { grid-template-columns: 1fr; }.tool-result-card > header, .tool-result-toolbar { flex-direction: column; }.title-suggestion-card { grid-template-columns: 28px minmax(0, 1fr); }.title-suggestion-card > div { grid-column: 2; }.account-card { grid-template-columns: 1fr; }.account-card-actions { grid-column: 1; }.account-card-logo { width: 44px; }.city-metric-strip{grid-template-columns:1fr}.city-sites-toolbar>.action-row{grid-template-columns:1fr}.city-page-section-editor>div{align-items:flex-start;flex-direction:column}.city-page-section-editor input{width:100%} }

/* Batch viral replica workspace. The structure follows the reference desktop and mobile layouts. */
#view-root[data-view="viral-batch"] { max-width: 1380px; }
.viral-batch-page { display: grid; gap: 16px; padding: 4px 2px 34px; color: #1e293b; }
.viral-batch-page-header { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 4px; }
.viral-batch-page-header h1 { margin: 0; color: #1e293b; font-size: 23px; line-height: 1.25; font-weight: 750; }
.viral-batch-page-header span { color: #94a3b8; font-size: 12px; }
.batch-head-actions { display: flex; align-items: center; gap: 10px; }
.batch-cost-badge { display: inline-flex; min-height: 30px; align-items: center; padding: 0 10px; border-radius: 999px; color: #6366f1 !important; background: #eef2ff; font-size: 11px !important; font-weight: 700; }
.viral-batch-page .geo-card { padding: 20px 24px; border: 1px solid rgba(0, 0, 0, .045); border-radius: 12px; background: #fff; box-shadow: 0 1px 3px #0000000a, 0 1px 2px #00000005; }
.viral-batch-page .section-title { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; color: #334155; font-size: 14px; font-weight: 650; }
.batch-section-icon { display: inline-grid; width: 22px; height: 22px; place-items: center; border-radius: 6px; color: #6366f1; background: #eef2ff; font-size: 13px; font-weight: 800; }
.viral-batch-page .section-hint { margin-left: 4px; padding: 2px 8px; border-radius: 10px; color: #94a3b8; background: #f8fafc; font-size: 11px; font-weight: 400; }
.batch-url-input { display: block; width: 100%; min-height: 142px; box-sizing: border-box; resize: vertical; border: 1px solid #dbe3ed; border-radius: 8px; color: #334155; background: #fff; font-size: 13px; line-height: 1.8; }
.batch-url-input:focus { border-color: #818cf8; box-shadow: 0 0 0 3px #6366f11a; outline: 0; }
.input-footer { display: flex; align-items: center; justify-content: space-between; min-height: 28px; margin-top: 7px; }
.url-count { display: flex; align-items: center; gap: 4px; color: #94a3b8; font-size: 12px; }
.url-count strong { color: #6366f1; font-weight: 750; }
.batch-clear-button, .batch-refresh-button { padding: 0; border: 0; color: #6366f1; background: transparent; font-size: 12px; cursor: pointer; }
.batch-clear-button:hover, .batch-refresh-button:hover { color: #4338ca; text-decoration: underline; }
.style-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.style-card { display: flex; min-height: 58px; align-items: center; gap: 10px; padding: 11px 13px; border: 1.5px solid #e2e8f0; border-radius: 10px; cursor: pointer; transition: border-color .2s, background .2s, box-shadow .2s; background: #fff; text-align: left; }
.style-card:hover { border-color: #c7d2fe; background: #eef2ff; }
.style-card.active { border-color: #818cf8; background: #eef2ff; box-shadow: 0 0 0 3px #6366f114; }
.style-icon { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 8px; color: #fff; font-size: 13px; font-weight: 800; }
.style-info { display: grid; min-width: 0; gap: 2px; }
.style-name { overflow: hidden; color: #334155; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.style-desc { overflow: hidden; color: #94a3b8; font-size: 11px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.batch-image-card { padding-bottom: 18px; }
.batch-gallery-control { display: grid; gap: 8px; }
.batch-gallery-control select { min-height: 40px; border-color: #dbe3ed; border-radius: 8px; font-size: 13px; }
.batch-gallery-control span { color: #94a3b8; font-size: 11px; }
.empty-image-hint { display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border-radius: 8px; color: #94a3b8; background: #f8fafc; font-size: 13px; }
.batch-link-button { padding: 0; border: 0; color: #6366f1; background: transparent; font-size: 13px; cursor: pointer; font-weight: 600; }
.batch-link-button:hover { text-decoration: underline; }
.batch-action-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 2px 2px 3px; }
.batch-action-info { display: grid; gap: 4px; color: #94a3b8; font-size: 12px; }
.batch-action-info strong { color: #64748b; font-weight: 500; }
.batch-action-info strong b { color: #f59e0b; font-weight: 750; }
.batch-action-info span { color: #64748b; font-size: 11px; }
.batch-action-info small { color: #94a3b8; font-size: 11px; }
.batch-knowledge-select { display: flex; align-items: center; gap: 8px; color: #64748b; font-size: 11px; }
.batch-knowledge-select select { width: min(260px, 55vw); min-height: 34px; padding: 6px 9px; border-color: #dbe3ed; border-radius: 6px; color: #475569; font-size: 11px; }
.batch-submit-button { min-width: 150px; }
.batch-submit-button:disabled { cursor: not-allowed; opacity: .55; }
.batch-result-card { overflow: hidden; }
.batch-result-card .section-title, .batch-history-card .section-title { margin-bottom: 15px; }
.result-meta { margin-left: auto; color: #6366f1; font-size: 13px; font-weight: 600; }
.batch-progress-wrap { display: flex; align-items: center; gap: 10px; margin: -2px 0 14px; color: #6366f1; font-size: 11px; font-weight: 700; }
.batch-progress-track { height: 6px; flex: 1; overflow: hidden; border-radius: 99px; background: #eef2f7; }
.batch-progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6366f1, #8b5cf6); transition: width .25s ease; }
.batch-table-scroll { overflow-x: auto; }
.batch-table { width: 100%; min-width: 760px; border-collapse: collapse; color: #475569; font-size: 12px; table-layout: fixed; }
.batch-table th { padding: 11px 10px; border-bottom: 1px solid #e7edf3; color: #94a3b8; background: #fbfcfe; font-size: 11px; font-weight: 650; text-align: left; }
.batch-table td { padding: 12px 10px; border-bottom: 1px solid #edf1f5; vertical-align: middle; }
.batch-table tbody tr:hover td, .batch-table tbody tr.is-current td { background: #fafbff; }
.batch-table th:first-child, .batch-table td:first-child { width: 44px; text-align: center; }
.batch-table th:nth-child(2) { width: 28%; }
.batch-table th:nth-child(3) { width: 23%; }
.batch-table th:nth-child(4) { width: 70px; text-align: center; }
.batch-table th:nth-child(5) { width: 80px; text-align: center; }
.batch-table th:nth-child(6) { width: 105px; text-align: center; }
.batch-table td:nth-child(4), .batch-table td:nth-child(5), .batch-table td:nth-child(6) { text-align: center; }
.batch-index-cell { color: #94a3b8; font-variant-numeric: tabular-nums; }
.batch-url-cell, .batch-title-cell { overflow: hidden; max-width: 0; text-overflow: ellipsis; white-space: nowrap; }
.batch-url-cell a { color: #6366f1; text-decoration: none; }
.batch-url-cell a:hover { text-decoration: underline; }
.batch-status { display: inline-flex; align-items: center; gap: 5px; color: #64748b; font-size: 11px; white-space: nowrap; }
.batch-status i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #94a3b8; }
.batch-status.is-done { color: #059669; }.batch-status.is-done i { background: #10b981; }
.batch-status.is-failed { color: #dc2626; }.batch-status.is-failed i { background: #ef4444; }
.batch-status.is-waiting { color: #d97706; }.batch-status.is-waiting i { background: #f59e0b; }
.batch-table-actions { display: flex; align-items: center; justify-content: center; gap: 5px; }
.batch-icon-button { display: inline-grid; width: 28px; height: 28px; place-items: center; padding: 0; border: 0; border-radius: 6px; color: #fff; background: linear-gradient(135deg, #6366f1, #8b5cf6); cursor: pointer; font-size: 14px; }
.batch-icon-button:hover { box-shadow: 0 3px 10px #6366f159; transform: translateY(-1px); }
.batch-text-button { min-height: 28px; padding: 0 7px; border: 0; border-radius: 5px; color: #6366f1; background: transparent; cursor: pointer; font-size: 11px; }
.batch-text-button:hover { background: #eef2ff; }.batch-text-button.is-danger { color: #ef4444; }.batch-text-button.is-danger:hover { background: #fff1f2; }
.batch-error-button { color: #dc2626; font-weight: 650; }.batch-error-button:hover { color: #b91c1c; background: #fff1f2; }
.batch-error-text, .batch-muted-text { color: #94a3b8; font-size: 11px; }
.batch-history-card { min-height: 150px; }
.batch-refresh-button { margin-left: auto; }
.empty-history { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 110px; color: #94a3b8; font-size: 13px; }
.empty-history > span:first-child { color: #cbd5e1; font-size: 20px; }
.batch-pagination { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 15px; color: #94a3b8; font-size: 11px; }
.batch-pagination-controls { display: flex; align-items: center; gap: 6px; }
.batch-pagination-controls > span { padding: 0 4px; white-space: nowrap; }
.batch-pagination-controls select { width: auto; min-height: 27px; padding: 4px 7px; border-color: #e2e8f0; border-radius: 5px; color: #64748b; font-size: 11px; }
.batch-pagination button { min-width: 27px; height: 27px; padding: 0 7px; border: 1px solid #e2e8f0; border-radius: 5px; color: #64748b; background: #fff; cursor: pointer; font-size: 11px; }
.batch-pagination button:hover, .batch-pagination button.active { border-color: #818cf8; color: #fff; background: #6366f1; }
.batch-pagination button:disabled { cursor: default; opacity: .45; }
.batch-error-modal-local { width: min(100%, 620px); }
.batch-error-head-local { align-items: flex-start; }
.batch-error-icon-local { display: grid; width: 40px; height: 40px; flex: 0 0 auto; place-items: center; border-radius: 13px; color: #dc2626; background: #fff1f2; font-size: 20px; font-weight: 800; }
.batch-error-kicker-local { display: block; margin-bottom: 5px; color: #dc2626; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.batch-error-body-local { display: grid; gap: 14px; margin-top: 20px; }
.batch-error-field-local { display: grid; gap: 7px; }
.batch-error-field-local > span { color: #64748b; font-size: 11px; font-weight: 700; }
.batch-error-field-local code, .batch-error-field-local pre { overflow: auto; margin: 0; padding: 11px 12px; border: 1px solid #e5e7eb; border-radius: 8px; color: #475569; background: #f8fafc; font: 12px/1.65 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.batch-error-field-local pre { min-height: 54px; color: #b91c1c; background: #fff7f7; }
.batch-error-footer-local { display: flex; justify-content: flex-end; margin-top: 18px; padding-top: 15px; border-top: 1px solid #edf1f5; }
@media (max-width: 900px) { .style-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .viral-batch-page { gap: 12px; }.viral-batch-page-header { align-items: flex-start; flex-direction: column; gap: 10px; }.batch-head-actions { width: 100%; justify-content: space-between; }.viral-batch-page .geo-card { padding: 17px 16px; }.batch-action-bar { align-items: stretch; flex-direction: column; }.batch-submit-button { width: 100%; }.batch-action-info { order: 2; }.batch-table { min-width: 690px; }.viral-batch-page .section-title { align-items: flex-start; flex-wrap: wrap; }.batch-knowledge-select { align-items: flex-start; flex-direction: column; }.batch-knowledge-select select { width: 100%; }.batch-pagination-controls { flex-wrap: wrap; } }
@media (max-width: 460px) { .style-grid { grid-template-columns: 1fr; }.style-card { min-height: 54px; }.batch-pagination { align-items: flex-start; flex-direction: column; }.viral-batch-page-header h1 { font-size: 21px; } }
.city-brand-advanced-form{margin-top:14px;border-top:1px solid #e2ecee}.city-brand-advanced-form .panel-heading{padding:0 0 4px}.city-faq-editor{margin-top:14px}.city-faq-list{display:grid;gap:10px}.city-faq-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid #dce8eb;border-radius:7px;background:#fbfdfd}.city-faq-row>strong{display:grid;width:25px;height:25px;place-items:center;border-radius:6px;color:#0b8b82;background:#e8f8f4;font-size:10px}.city-faq-row>div{display:grid;gap:8px;min-width:0}.city-faq-row textarea{min-height:58px}.city-brand-advanced-form textarea{min-height:70px}
.city-detail-page{gap:16px}.city-detail-header{align-items:flex-start}.city-detail-header-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.city-detail-header-main>div{min-width:0}.city-detail-header-main h1{margin:3px 0 7px}.city-detail-header-main p{margin:0}.city-detail-tabs{padding-top:2px}.city-detail-overview,.city-detail-site-overview{display:grid;gap:14px}.city-detail-overview-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px;align-items:start}.city-detail-profile-card .panel-heading{align-items:center}.city-detail-brand-mark{display:grid;width:52px;height:52px;place-items:center;border-radius:12px;color:#0b817a;background:#e8f8f4;font-size:17px;font-weight:800}.city-detail-brand-logo{width:52px;height:52px;object-fit:contain;border:1px solid #dce8eb;border-radius:9px;background:#fff}.city-detail-profile-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 18px 18px;color:#83919d;font-size:11px}.city-detail-profile-meta span{padding:10px;border:1px solid #e5edef;border-radius:6px;background:#fbfdfd}.city-detail-profile-meta b{display:block;margin-top:4px;color:#31485b;font-size:12px;font-weight:700;overflow-wrap:anywhere}.city-detail-completeness>.panel-heading>strong{color:#0b8a82;font-size:28px}.city-detail-progress{height:9px;margin:0 18px 13px;border-radius:5px;background:#e8f0f1;overflow:hidden}.city-detail-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0c8e84,#5ac9bd)}.city-detail-completeness-list{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 18px}.city-detail-completeness-item{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:5px;color:#9b7474;background:#fff3f1;font-size:10px}.city-detail-completeness-item b{font-size:12px}.city-detail-completeness-item.is-complete{color:#187e70;background:#eaf8f4}.city-detail-form{gap:14px}.city-detail-form input,.city-detail-form textarea,.city-detail-item-form input,.city-detail-item-form textarea,.city-detail-item-form select,.city-detail-editor-form input,.city-detail-editor-form textarea{width:100%;box-sizing:border-box}.city-detail-collection{overflow:hidden}.city-detail-item-form{display:grid;gap:12px;padding:0 0 16px;border-bottom:1px solid #e6eef0}.city-detail-assets-table td:first-child{min-width:180px}.city-detail-assets-table td small{display:block;margin-top:4px;color:#8a98a7;line-height:1.5}.city-detail-editor-form{display:grid;gap:16px}.city-detail-editor-block{display:grid;gap:12px;padding:16px;border:1px solid #dce8eb;border-radius:8px;background:#fbfdfd}.city-detail-editor-block>.panel-heading{padding:0 0 2px}.city-detail-editor-list,.city-detail-faq-list{display:grid;gap:10px}.city-detail-editor-row{display:grid;gap:9px;padding:13px;border:1px solid #e0eaec;border-radius:7px;background:#fff}.city-detail-editor-row>div{display:flex;align-items:center;gap:9px}.city-detail-editor-row>div>span{display:grid;width:26px;height:26px;place-items:center;border-radius:6px;color:#0b8b82;background:#e8f8f4;font-size:10px;font-weight:800}.city-detail-editor-row>div input{flex:1}.city-detail-editor-row textarea{min-height:82px}.city-detail-faq-row{display:grid;gap:8px;padding:13px;border:1px solid #e0eaec;border-radius:7px;background:#fff}.city-detail-faq-row>div{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#708293;font-size:11px;font-weight:750}.city-detail-faq-row textarea{min-height:64px}.city-detail-score-card{min-width:0}.city-detail-score-card>.panel-heading>strong{color:#0b817a;font-size:31px}.city-detail-score-card>.panel-heading>strong small{color:#98a7b0;font-size:12px;font-weight:500}.city-detail-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 18px 18px}.city-detail-score-grid>div{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:6px;align-items:center;padding:10px;border:1px solid #f0dddd;border-radius:6px;color:#a27676;background:#fff6f5;font-size:11px}.city-detail-score-grid>div.is-done{border-color:#d6eee9;color:#257f74;background:#f0faf8}.city-detail-score-grid b{font-size:13px}.city-detail-score-grid em{font-style:normal;color:#8695a0;font-size:10px}.city-detail-shortcuts{overflow:hidden}.city-detail-shortcut-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#dce8eb}.city-detail-shortcut-grid button{display:grid;gap:6px;min-height:105px;padding:18px;border:0;background:#fff;text-align:left;cursor:pointer}.city-detail-shortcut-grid button:hover{background:#f2faf9}.city-detail-shortcut-grid b{color:#30475b;font-size:13px}.city-detail-shortcut-grid span{color:#8a98a7;font-size:11px;line-height:1.5}.city-detail-aggregate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.city-aggregate-card{display:grid;gap:14px;align-content:start}.city-aggregate-meta{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px}.city-aggregate-meta span{display:grid;gap:3px;padding:9px 10px;border:1px solid #e1eaec;border-radius:6px;color:#8a98a7;font-size:10px}.city-aggregate-meta b{color:#334b5f;font-size:12px}.city-aggregate-card>.primary-button{justify-self:start;margin:0 18px 18px}.city-detail-site-overview>.city-detail-overview-grid>section:first-child{min-width:0}
.city-region-picker{display:flex;align-items:center;gap:8px;margin-top:7px}.city-region-picker select{min-width:240px;flex:1}.city-pages-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:0;background:#dce8eb}.city-pages-summary>div{display:grid;gap:5px;padding:18px;background:#fff}.city-pages-summary span{color:#80909d;font-size:11px}.city-pages-summary strong{color:#263e54;font-size:25px}.city-pages-summary strong small{color:#94a1ac;font-size:12px;font-weight:500}.city-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px}.city-site-tools{display:flex;flex-wrap:wrap;gap:8px;padding:15px 18px;border-top:1px solid #e2ecee}.city-score-panel{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;margin:14px 18px 0;padding:14px;border:1px solid #dce8eb;border-radius:7px;background:#f8fcfc}.city-score-panel>div:first-child{display:grid;gap:5px;align-content:center}.city-score-panel span{color:#7e8d9b;font-size:11px}.city-score-panel strong{color:#087f77;font-size:30px}.city-score-panel strong small{color:#9aa8b2;font-size:12px;font-weight:500}.city-score-checks{display:flex;align-items:center;align-content:center;flex-wrap:wrap;gap:7px}.city-score-checks span{padding:6px 8px;border-radius:5px;color:#9a7070;background:#fff1f0;font-size:10px}.city-score-checks span.is-done{color:#197e70;background:#eaf8f4}.city-page-table td small{display:block;margin-top:4px;color:#8a98a7;font-size:10px}.city-page-detail{margin-top:14px}.city-pages-workspace{display:grid;gap:14px}
@media (max-width: 760px){.city-region-picker{align-items:stretch;flex-direction:column}.city-region-picker select{min-width:0;width:100%}.city-pages-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.city-score-panel{grid-template-columns:1fr}.city-pagination{align-items:flex-start;flex-direction:column}}
@media (max-width: 1100px){.city-detail-overview-grid{grid-template-columns:1fr}.city-detail-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 760px){.city-detail-header-main{flex-direction:column}.city-detail-header-main>.secondary-button{align-self:flex-start}.city-detail-overview-grid,.city-detail-aggregate-grid{grid-template-columns:1fr}.city-detail-profile-meta{grid-template-columns:1fr}.city-detail-score-grid{grid-template-columns:1fr}.city-detail-shortcut-grid{grid-template-columns:1fr 1fr}.city-detail-header .utility-head-actions{width:100%}.city-detail-header .utility-head-actions>*{flex:1;min-width:0}.city-detail-tabs{max-width:100%;overflow-x:auto}.city-detail-assets-table{min-width:680px}}
@media (max-width: 480px){.city-detail-shortcut-grid{grid-template-columns:1fr}.city-detail-profile-meta{padding-left:14px;padding-right:14px}.city-detail-score-grid{padding-left:14px;padding-right:14px}.city-detail-completeness-list{padding-left:14px;padding-right:14px}.city-detail-progress{margin-left:14px;margin-right:14px}}

/* City dashboard uses quiet surfaces so operational differences read at a glance. */
.city-overview{max-width:1480px;margin:0 auto;padding:24px 26px 48px;background:#f7f9fc;color:#26364d}
.city-overview .page-header{margin-bottom:22px}
.city-overview-eyebrow{display:block;margin-bottom:7px;color:#6d83a0;font-size:10px;font-weight:800;letter-spacing:.16em}
.city-overview .page-header h3{font-size:24px;color:#1d2d43;letter-spacing:0}
.city-overview .header-desc{margin-top:7px;color:#7789a0;font-size:12px}
.city-overview-section{margin-top:16px;border:1px solid #e4eaf2;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(31,52,82,.035)}
.city-overview-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid #edf1f6}
.city-overview-section-head h4{margin:0;color:#263a54;font-size:15px;font-weight:750}
.city-overview-section-head p{margin:5px 0 0;color:#8695a9;font-size:11px;line-height:1.55}
.city-overview-total{padding:5px 9px;border-radius:6px;color:#54708d;background:#f0f5fa;font-size:11px;white-space:nowrap}
.city-overview-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;padding:16px 18px 18px}
.city-overview-metric{min-height:132px;padding:15px 15px 13px;border:1px solid var(--city-line,#dce9f1);border-radius:9px;background:var(--city-surface,#f7fbfd)}
.city-overview-metric>div{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--city-label,#557087);font-size:12px;font-weight:650}.city-overview-metric i{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;color:var(--city-accent,#3478a3);background:var(--city-icon,#e4f0f8)}
.city-overview-metric strong{display:block;margin-top:16px;color:var(--city-value,#213a55);font-size:29px;line-height:1}.city-overview-metric small{display:block;margin-top:9px;color:var(--city-note,#8294a8);font-size:11px;line-height:1.5}
.tone-blue{--city-accent:#377eb4;--city-label:#4b6c88;--city-value:#24567c;--city-note:#718ea7;--city-surface:#f1f7fc;--city-line:#d6e6f2;--city-icon:#dfedf7}.tone-green{--city-accent:#318a72;--city-label:#4d786c;--city-value:#236b56;--city-note:#71978b;--city-surface:#f0faf6;--city-line:#d6eee4;--city-icon:#dcf2e9}.tone-amber{--city-accent:#ba7b2d;--city-label:#8c714c;--city-value:#855c20;--city-note:#a28e70;--city-surface:#fff9ef;--city-line:#f2e3c7;--city-icon:#f8ebd1}.tone-rose{--city-accent:#bd6571;--city-label:#8a6970;--city-value:#914650;--city-note:#a68a8e;--city-surface:#fff5f6;--city-line:#f1dbdf;--city-icon:#f8e4e7}.tone-cyan{--city-accent:#328b9f;--city-label:#4e7885;--city-value:#216977;--city-note:#75939b;--city-surface:#eff9fb;--city-line:#d7ebef;--city-icon:#def2f5}.tone-violet{--city-accent:#716ab0;--city-label:#6e6a8a;--city-value:#514b90;--city-note:#8d89a9;--city-surface:#f6f4fc;--city-line:#e4e1f2;--city-icon:#e9e6f8}.tone-neutral{--city-accent:#8291a2;--city-label:#748190;--city-value:#576676;--city-note:#9aa6b3;--city-surface:#f6f8fa;--city-line:#e1e7ec;--city-icon:#e9eef2}
.city-overview-grades{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:17px 18px 19px}.city-overview-grade{min-height:174px;padding:15px;border:1px solid var(--city-line);border-radius:9px;background:var(--city-surface)}.city-overview-grade header{display:flex;align-items:center;gap:9px;color:var(--city-label);font-size:12px}.city-overview-grade header b{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;color:#fff;background:var(--city-accent);font-size:15px}.city-overview-grade>strong{display:block;margin-top:18px;color:var(--city-value);font-size:25px}.city-overview-grade>strong small{margin-left:5px;color:var(--city-note);font-size:11px;font-weight:500}.city-overview-grade p{margin:7px 0 14px;color:var(--city-note);font-size:11px}.city-overview-progress{height:6px;overflow:hidden;border-radius:99px;background:rgba(75,105,130,.12)}.city-overview-progress i{display:block;height:100%;border-radius:inherit;background:var(--city-accent)}.city-overview-grade footer{display:flex;justify-content:space-between;margin-top:9px;color:var(--city-note);font-size:11px}.city-overview-grade footer b{color:var(--city-value)}
.city-overview-brands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:16px 18px 18px}.city-overview-brand{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:14px;border:1px solid #e3eaf1;border-radius:9px;background:#fbfcfe;color:#2d4159;text-align:left}.city-overview-brand:hover{border-color:#b9d6e5;background:#f5fafe}.city-overview-brand>div:first-child{display:grid;gap:4px;min-width:0}.city-overview-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.city-overview-brand>div:first-child span,.city-overview-brand>small{color:#8796a8;font-size:10px}.city-overview-brand>b{color:#347aa0;font-size:20px}.city-overview-brand>b small{font-size:10px}.city-overview-brand .city-overview-progress{grid-column:1 / -1;margin-top:7px}.city-overview-brand>small{grid-column:1 / -1}
.city-overview-alerts{display:grid;gap:8px;padding:15px 18px 18px}.city-overview-alert{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid #dbe8f0;border-radius:7px;color:#5a7287;background:#f5faff;font-size:11px}.city-overview-alert svg{flex:0 0 auto}.city-overview-alert.warning{border-color:#f0e1c5;color:#866e47;background:#fffaf0}.city-overview-alert.danger{border-color:#efd9dd;color:#955965;background:#fff6f7}.city-overview-alert.info{border-color:#d6e7ed;color:#4c7885;background:#f2fafc}.city-overview .dashboard-recent-table{border:0;border-radius:0;box-shadow:none}.city-overview-score{color:#3d769a}.city-overview-score small{margin-left:2px;color:#93a0ad;font-size:10px;font-weight:500}.city-overview-empty{padding:28px 18px;color:#8a99aa;text-align:center;font-size:12px}.city-overview-notice,.membership-expired-note{margin:0 0 15px;padding:12px 14px;border:1px solid #f0dfbf;border-radius:7px;color:#856a3e;background:#fff9ef;font-size:12px}
.membership-overview{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin-bottom:18px}.membership-hero,.membership-summary-card{min-height:142px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.membership-hero{color:#fff;background:linear-gradient(135deg,#116f72,#1b8c86);border-color:#116f72}.membership-kicker{display:block;color:rgba(255,255,255,.68);font-size:10px;font-weight:800;letter-spacing:.12em}.membership-hero>strong{display:block;margin-top:13px;font-size:25px}.membership-hero>p{margin:7px 0 0;color:rgba(255,255,255,.75);font-size:11px}.membership-hero-meta{display:flex;gap:18px;margin-top:20px;color:rgba(255,255,255,.7);font-size:10px}.membership-hero-meta b{margin-left:4px;color:#fff;font-size:15px}.membership-summary-card{display:grid;align-content:center;gap:8px}.membership-summary-card span{color:var(--muted);font-size:11px}.membership-summary-card strong{color:#20354b;font-size:25px}.membership-summary-card small{color:var(--muted-2);font-size:10px}.membership-summary-card.is-next{background:#fff9ef;border-color:#f0dfc7}.membership-summary-card.is-next strong{color:#996927}.membership-table-panel{margin-top:0}.membership-table .selected-row{background:#f0faf8}.membership-current-mark{display:inline-block;margin-left:8px;padding:3px 6px;border-radius:4px;color:#17796d;background:#e0f4ef;font-size:10px;font-weight:600}.membership-expired-note{margin-top:16px}
@media (max-width:1100px){.city-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.city-overview-grades{grid-template-columns:repeat(3,minmax(0,1fr))}.city-overview-brands{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-overview{grid-template-columns:1fr 1fr}.membership-hero{grid-column:1 / -1}}
@media (max-width:700px){.city-overview{padding:16px 14px 38px}.city-overview-metrics,.city-overview-grades,.city-overview-brands{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px}.city-overview-section-head{padding:15px 14px 12px}.city-overview-metric{min-height:122px;padding:13px}.city-overview-metric strong{font-size:24px}.city-overview-grade{padding:12px}.city-overview-brand{padding:12px}.membership-overview{grid-template-columns:1fr}.membership-hero{grid-column:auto}.membership-hero-meta{gap:11px}.membership-table{min-width:620px}}
@media (max-width:430px){.city-overview-metrics,.city-overview-grades,.city-overview-brands{grid-template-columns:1fr}.city-overview-section-head{align-items:flex-start;flex-direction:column;gap:8px}}

/* Multi-city reference workspace: the reference app uses a light, compact admin canvas. */
.city-reference-style,.city-ref-table-page,.city-ref-pages,.city-ref-keywords,.city-ref-inquiries,.city-reference-dashboard{box-sizing:border-box;width:100%;padding:20px;color:#303133;font-family:Inter,"Microsoft YaHei",Arial,sans-serif}
.city-reference-style *, .city-ref-table-page *, .city-ref-pages *, .city-ref-keywords *, .city-ref-inquiries *, .city-reference-dashboard *{box-sizing:border-box}
.city-reference-style .page-header,.city-ref-table-page .page-header,.city-ref-pages .page-header,.city-ref-keywords .page-header,.city-ref-inquiries .page-header,.city-reference-dashboard .page-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px}
.city-reference-style .page-header h3,.city-ref-table-page .page-header h3,.city-ref-pages .page-header h3,.city-ref-keywords .page-header h3,.city-ref-inquiries .page-header h3,.city-reference-dashboard .page-header h3{margin:0 0 4px;color:#303133;font-size:20px;font-weight:600;line-height:1.35}
.city-reference-style .page-header p,.city-ref-table-page .page-header p,.city-ref-pages .page-header p,.city-ref-keywords .page-header p,.city-ref-inquiries .page-header p,.city-reference-dashboard .page-header p{margin:0;color:#888;font-size:14px;line-height:1.55}
.city-reference-style .header-actions,.city-ref-pages .header-actions,.city-ref-keywords .header-actions,.city-ref-inquiries .header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.city-reference-style .ref-inline-select{display:inline-flex;align-items:center;gap:8px;color:#606266;font-size:13px}
.city-reference-style .ref-inline-select select{min-width:200px}
.city-reference-style .section-title{margin:22px 0 12px;padding-left:10px;border-left:3px solid #409eff;color:#303133;font-size:16px;font-weight:600;line-height:1.25}
.city-template-group:first-of-type .section-title{margin-top:0}
.city-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0}
.city-template-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;padding:0;border:2px solid #eee;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.city-template-card:hover{border-color:#409eff;box-shadow:0 4px 16px #409eff2e;transform:translateY(-2px)}
.city-template-card.active{border-color:#409eff;box-shadow:0 0 0 2px #409eff24}
.city-template-preview{height:180px;min-height:180px;padding:0;border-radius:0;background:#f8f9fa;overflow:hidden}
.city-template-info{display:flex;min-height:116px;flex:1;flex-direction:column;padding:12px 16px}
.city-template-info>strong{display:block;margin-bottom:4px;color:#303133;font-size:15px;font-weight:600;line-height:1.35}
.city-template-info>p{min-height:39px;margin:0 0 10px;color:#888;font-size:13px;line-height:1.5}
.city-template-actions{display:flex;gap:8px;margin-top:auto}
.city-template-actions .ref-button{min-width:56px}
.city-template-mini{width:100%;height:100%;min-height:180px;overflow:hidden;background:#fff;color:#334155;font-size:0}
.city-template-mini .mini-nav{display:flex;align-items:center;gap:8px;height:25px;padding:5px 10px;background:var(--template-color)}
.city-template-mini .mini-nav b{color:#fff;font-size:10px;line-height:1}.city-template-mini .mini-nav i{display:block;width:18px;height:3px;border-radius:2px;background:#ffffff99}
.city-template-mini .mini-hero{display:grid;gap:5px;padding:18px 12px;background:linear-gradient(135deg,var(--template-color),color-mix(in srgb,var(--template-color),#fff 25%));text-align:center}
.city-template-mini .mini-hero strong{color:#fff;font-size:11px;font-weight:700;line-height:1.3}.city-template-mini .mini-hero span{display:block;width:55%;height:4px;margin:auto;border-radius:2px;background:#ffffff66}
.city-template-mini .mini-lines{display:grid;gap:4px;padding:10px 12px}.city-template-mini .mini-lines::before,.city-template-mini .mini-lines::after{display:block;height:4px;border-radius:2px;background:#e2e8f0;content:""}.city-template-mini .mini-lines::after{width:72%}
.city-template-mini .mini-cards{display:flex;gap:6px;padding:0 12px 9px}.city-template-mini .mini-cards i{display:block;height:32px;flex:1;border-radius:5px;background:#eef2f7}.city-template-mini .mini-footer{height:14px;margin-top:auto;background:var(--template-color)}
.city-template-mini.hub .mini-cards{background:#fff}.city-template-mini.keyword .mini-hero{padding:12px;background:linear-gradient(135deg,var(--template-color),color-mix(in srgb,var(--template-color),#fff 25%))}
.city-template-mini .mini-qa{margin:0 12px 6px;padding:7px 8px;border:1px solid #fef3c7;border-radius:5px;background:#fffbeb}.city-template-mini .mini-qa b,.city-template-mini .mini-qa small{display:block;color:#92400e;font-size:7px;line-height:1.4}.city-template-mini .mini-qa small{margin-top:3px;color:#78716c}
.city-template-mini .mini-step{display:flex;align-items:center;gap:7px;margin:0 12px 6px}.city-template-mini .mini-step b{display:grid;width:17px;height:17px;place-items:center;border-radius:50%;color:#fff;background:var(--template-color);font-size:8px}.city-template-mini .mini-step span{display:block;width:70%;height:5px;border-radius:2px;background:#e2e8f0}
.city-template-mini .mini-columns{display:flex;align-items:center;gap:6px;padding:12px}.city-template-mini .mini-columns i{display:block;height:45px;flex:1;border:1px solid #ddd6fe;border-radius:5px;background:#f5f3ff}.city-template-mini .mini-columns strong{color:var(--template-color);font-size:9px}
.city-template-mini .mini-stats{display:flex;gap:4px;padding:12px 10px;background:linear-gradient(135deg,var(--template-color),#334155)}.city-template-mini .mini-stats b{display:block;flex:1;color:#fff;font-size:10px;text-align:center}.city-template-mini.dashboard .mini-lines{padding-top:8px}
.city-template-preview-large{display:grid;grid-template-columns:minmax(300px,1fr) 220px;gap:20px;padding:20px 24px 24px}.city-template-preview-large .city-template-mini{min-height:370px;border:1px solid #e5e7eb;border-radius:6px}.template-preview-copy{align-self:center}.template-preview-copy h4{margin:0 0 8px;color:#303133;font-size:16px}.template-preview-copy p{margin:0 0 12px;color:#606266;font-size:13px;line-height:1.7}.template-preview-copy span{color:#a0a4ad;font-size:12px;line-height:1.6}
.city-ref-dashboard .brand-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.city-ref-dashboard .brand-card{display:block;width:100%;padding:20px;border:1px solid #eee;border-radius:8px;background:#fff;color:inherit;text-align:left;cursor:pointer;transition:box-shadow .2s}.city-ref-dashboard .brand-card:hover{box-shadow:0 4px 12px #0000001a}.city-ref-dashboard .brand-name{display:block;margin-bottom:12px;color:#303133;font-size:16px;font-weight:600}.city-ref-dashboard .brand-progress{height:6px;margin-bottom:8px;overflow:hidden;border-radius:3px;background:#f0f2f5}.city-ref-dashboard .brand-progress span{display:block;height:100%;border-radius:inherit;background:#67c23a}.city-ref-dashboard .brand-meta{color:#999;font-size:13px}
.city-reference-dashboard .stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px}.city-reference-dashboard .stat-card{padding:20px;border:1px solid #eee;border-radius:8px;background:#fff;text-align:center}.city-reference-dashboard .stat-num{display:block;color:#333;font-size:28px;font-weight:700}.city-reference-dashboard .stat-label{display:block;margin-top:5px;color:#999;font-size:13px}.city-reference-dashboard .score-grid{display:flex;flex-wrap:wrap;gap:20px}.city-reference-dashboard .score-item{min-width:80px;padding:15px 25px;border:1px solid #eee;border-radius:8px;background:#fff;text-align:center}.city-reference-dashboard .score-grade{display:block;font-size:24px;font-weight:700}.city-reference-dashboard .score-count{display:block;margin-top:5px;font-size:18px;font-weight:600}.city-reference-dashboard .onboard-guide{padding:18px 22px;margin-bottom:20px;border:1px solid #d4e4ff;border-radius:12px;background:linear-gradient(135deg,#f0f5ff,#e8f4fd)}.city-reference-dashboard .onboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.city-reference-dashboard .onboard-title{color:#4066c6;font-size:14px;font-weight:600}.city-reference-dashboard .onboard-dismiss{padding:2px 6px;border:0;border-radius:4px;background:transparent;color:#94a3b8;cursor:pointer;font-size:14px}.city-reference-dashboard .onboard-steps{display:flex;gap:12px}.city-reference-dashboard .onboard-step{display:flex;min-width:0;flex:1;align-items:center;gap:10px;padding:10px 14px;border:1px solid #e8ecf4;border-radius:8px;background:#fff;opacity:.5}.city-reference-dashboard .onboard-step.active{border-color:#409eff;box-shadow:0 2px 8px #409eff26;opacity:1}.city-reference-dashboard .onboard-step.done{border-color:#67c23a;opacity:.7}.city-reference-dashboard .step-dot{display:grid;width:26px;height:26px;flex:0 0 26px;place-items:center;border-radius:50%;background:#e8ecf4;color:#94a3b8;font-size:12px;font-weight:600}.city-reference-dashboard .onboard-step.active .step-dot{background:#409eff;color:#fff}.city-reference-dashboard .onboard-step.done .step-dot{background:#67c23a;color:#fff}.city-reference-dashboard .step-info{display:flex;min-width:0;flex-direction:column;gap:2px}.city-reference-dashboard .step-label{color:#333;font-size:13px;font-weight:600;white-space:nowrap}.city-reference-dashboard .step-desc{overflow:hidden;color:#94a3b8;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.city-ref-table-page .filter-bar,.city-ref-pages .toolbar,.city-ref-keywords .filter-bar,.city-ref-inquiries .filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;margin-bottom:16px;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000f}.city-ref-pages .toolbar{justify-content:space-between}.city-ref-pages .toolbar-left,.city-ref-pages .toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.city-ref-pages .toolbar-right input{width:190px}.city-ref-keywords .filter-bar .ref-filter-label:first-child{margin-left:0}.city-ref-keywords .filter-bar .ref-filter-label input{min-width:160px}
.city-ref-table-page .table-wrap,.city-ref-pages .table-wrap,.city-ref-keywords .table-wrap,.city-ref-inquiries .table-wrap{overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000f}.city-ref-pages .table-wrap{margin-top:0}.city-ref-table-page .table-header-row,.city-ref-pages .table-header-row,.city-ref-keywords .table-header-row,.city-ref-inquiries .table-header-row{min-height:52px}.city-ref-table-page .ref-data-table,.city-ref-pages .ref-data-table,.city-ref-keywords .ref-data-table,.city-ref-inquiries .ref-data-table{min-width:900px}.city-ref-keywords .ref-data-table{min-width:1100px}.city-ref-inquiries .ref-data-table{min-width:1120px}
.city-ref-form .ref-check-field{display:flex;align-items:center;gap:8px;align-self:end;min-height:38px}.city-ref-form .ref-check-field input{width:auto}.city-ref-inquiries .overview-cards{grid-template-columns:repeat(6,minmax(0,1fr))}.city-ref-inquiries .overview-card{min-height:84px}
@media (max-width:1100px){.city-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-template-preview-large{grid-template-columns:1fr}.city-reference-dashboard .onboard-steps{flex-wrap:wrap}.city-reference-dashboard .onboard-step{flex-basis:calc(50% - 6px)}.city-ref-inquiries .overview-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.city-reference-style,.city-ref-table-page,.city-ref-pages,.city-ref-keywords,.city-ref-inquiries,.city-reference-dashboard{padding:14px}.city-reference-style .page-header,.city-ref-table-page .page-header,.city-ref-pages .page-header,.city-ref-keywords .page-header,.city-ref-inquiries .page-header,.city-reference-dashboard .page-header{align-items:flex-start;flex-direction:column}.city-template-grid{grid-template-columns:1fr}.city-template-preview-large{padding:14px}.city-reference-dashboard .onboard-steps{display:grid;grid-template-columns:1fr}.city-reference-dashboard .onboard-step{width:100%}.city-ref-inquiries .overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.city-ref-pages .toolbar,.city-ref-table-page .filter-bar,.city-ref-keywords .filter-bar,.city-ref-inquiries .filter-bar{align-items:stretch;flex-direction:column}.city-ref-pages .toolbar-left,.city-ref-pages .toolbar-right{width:100%;align-items:stretch;flex-direction:column}.city-ref-pages .toolbar-right input,.city-ref-pages .toolbar-right select,.city-ref-pages .toolbar-right .ref-button,.city-ref-table-page .ref-filter-label,.city-ref-table-page .ref-filter-label input,.city-ref-table-page .ref-filter-label select,.city-ref-keywords .ref-filter-label,.city-ref-keywords .ref-filter-label input,.city-ref-keywords .ref-filter-label select,.city-ref-inquiries .ref-filter-label,.city-ref-inquiries .ref-filter-label input,.city-ref-inquiries .ref-filter-label select{width:100%;min-width:0}.city-ref-form-grid{grid-template-columns:1fr}.city-ref-dashboard .page-header .header-actions,.city-ref-pages .header-actions,.city-ref-keywords .header-actions{width:100%}.city-ref-dashboard .page-header .header-actions .ref-button{flex:1}.city-ref-dashboard .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-ref-dashboard .score-grid{gap:8px}.city-ref-dashboard .score-item{min-width:calc(50% - 4px);padding:12px 15px}.city-template-info>p{min-height:0}}
.city-detail-stats-view{display:grid;gap:14px}.city-detail-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.city-detail-stat-status{font-size:14px!important}.city-detail-stat-date{font-size:14px!important;line-height:1.25!important;overflow-wrap:anywhere}.city-detail-stats-links{display:grid;gap:0;padding:0 18px 18px}.city-detail-stats-link{display:flex;align-items:flex-start;gap:16px;padding:10px 0;border-bottom:1px solid #e7eef0;font-size:12px}.city-detail-stats-link:last-child{border-bottom:0}.city-detail-stats-link>span{width:90px;flex:0 0 90px;color:#8a98a7}.city-detail-stats-link>a{min-width:0;flex:1;color:#0b8a83;overflow-wrap:anywhere}.city-detail-stats-link>b{color:#334b5f;font-weight:650}
@media (max-width: 760px){.city-detail-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 480px){.city-detail-stats-grid{grid-template-columns:1fr}}

/* Reference-aligned multi-city workspace */
.city-ref-dashboard,.city-ref-table-page,.city-ref-pages,.city-ref-keywords,.city-ref-inquiries,.city-ref-style{padding:0;color:#1e293b}
.city-ref-dashboard .page-header,.city-ref-table-page .page-header,.city-ref-pages .page-header,.city-ref-keywords .page-header,.city-ref-inquiries .page-header,.city-ref-style .page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.city-ref-header-left{display:flex;align-items:baseline;gap:12px}.city-ref-dashboard h3,.city-ref-table-page h3,.city-ref-pages h3,.city-ref-keywords h3,.city-ref-inquiries h3,.city-ref-style h3{margin:0;color:#1e293b;font-size:20px;font-weight:700}.city-ref-dashboard .header-desc,.city-ref-table-page .page-desc,.city-ref-pages .page-desc,.city-ref-keywords .page-desc,.city-ref-inquiries .page-desc,.city-ref-style .page-desc{margin:5px 0 0;color:#94a3b8;font-size:13px;line-height:1.55}.city-ref-dashboard .header-actions,.city-ref-pages .header-actions,.city-ref-keywords .header-actions,.city-ref-style .header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ref-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 14px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#475569;font:inherit;font-size:13px;cursor:pointer;transition:all .2s}.ref-button:hover{border-color:#6366f1;color:#6366f1}.ref-button:disabled,.ref-button[disabled]{opacity:.45;cursor:not-allowed}.ref-button-primary{border-color:#6366f1;background:#6366f1;color:#fff}.ref-button-primary:hover{border-color:#4f46e5;background:#4f46e5;color:#fff}.ref-button-warning{border-color:#f59e0b;background:#f59e0b;color:#fff}.ref-button-danger{border-color:#ef4444;background:#ef4444;color:#fff}.ref-button-small{min-height:26px;padding:0 8px;font-size:12px}.ref-button-danger:hover{border-color:#dc2626;background:#dc2626;color:#fff}.city-ref-table-page .filter-bar,.city-ref-pages .toolbar,.city-ref-keywords .filter-bar,.city-ref-inquiries .filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;margin-bottom:16px;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000f}.ref-filter-label{display:inline-flex;align-items:center;gap:7px;color:#64748b;font-size:13px}.ref-filter-label input,.ref-filter-label select,.city-ref-pages .toolbar select,.city-ref-pages .toolbar input,.ref-inline-select select{height:34px;min-width:130px;padding:0 10px;border:1px solid #dbe3ec;border-radius:6px;background:#fff;color:#334155;font:inherit;font-size:13px;outline:none}.ref-filter-label input:focus,.ref-filter-label select:focus,.city-ref-pages .toolbar input:focus,.city-ref-pages .toolbar select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11c}.city-ref-pages .toolbar{justify-content:space-between}.city-ref-pages .toolbar-left,.city-ref-pages .toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.city-ref-pages .toolbar-right input{width:190px}.table-wrap,.table-card{overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000f}.table-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #eef2f7}.table-title{color:#334155;font-size:15px;font-weight:600}.table-count{margin-left:7px;color:#94a3b8;font-size:12px;font-style:normal;font-weight:400}.table-hint{color:#94a3b8;font-size:12px}.table-scroll{overflow:auto}.ref-data-table{width:100%;min-width:880px;border-collapse:collapse;font-size:13px}.ref-data-table th{height:44px;padding:0 12px;border-bottom:1px solid #e2e8f0;background:#f8fafc;color:#64748b;text-align:left;font-size:12px;font-weight:500;white-space:nowrap}.ref-data-table td{height:58px;padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.ref-data-table tbody tr:hover,.ref-data-table tbody tr.is-selected{background:#f8fafc}.ref-data-table td strong{display:block;color:#334155;font-weight:600}.ref-data-table td small{display:block;margin-top:4px;color:#94a3b8;font-size:11px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ref-link{padding:0;border:0;background:transparent;color:#6366f1;font:inherit;cursor:pointer}.ref-tag{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:4px;background:#f1f5f9;color:#64748b;font-size:12px;white-space:nowrap}.ref-tag.success{background:#ecfdf5;color:#059669}.ref-tag.info{background:#eff6ff;color:#3b82f6}.ref-tag.warning{background:#fffbeb;color:#d97706}.ref-tag.danger{background:#fef2f2;color:#dc2626}.action-btns{display:flex;align-items:center;justify-content:center;gap:4px}.act-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:#94a3b8;font:inherit;font-size:15px;cursor:pointer;transition:all .2s}.act-btn:hover{color:#fff;transform:translateY(-1px)}.act-btn-edit:hover{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 3px 10px #6366f159}.act-btn-manage:hover{background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 3px 10px #f59e0b59}.act-btn-view:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 3px 10px #3b82f659}.act-btn-publish,.act-btn-reply:hover{color:#10b981}.act-btn-publish:hover,.act-btn-reply:hover{background:linear-gradient(135deg,#10b981,#34d399);box-shadow:0 3px 10px #10b98159}.act-btn-unpublish:hover{background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 3px 10px #f59e0b59}.act-btn-template:hover,.act-btn-retry:hover{background:linear-gradient(135deg,#8b5cf6,#a78bfa);box-shadow:0 3px 10px #8b5cf659}.act-btn-del:hover{background:linear-gradient(135deg,#ef4444,#f87171);box-shadow:0 3px 10px #ef444459}
.empty-state{display:flex;min-height:260px;align-items:center;justify-content:center;flex-direction:column;padding:60px 20px;text-align:center}.empty-state .empty-icon{margin-bottom:14px;color:#cbd5e1;font-size:48px}.empty-state h4{margin:0 0 9px;color:#475569;font-size:17px;font-weight:500}.empty-state p{max-width:360px;margin:0 0 22px;color:#94a3b8;font-size:13px;line-height:1.7}.batch-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;margin-bottom:12px;border-radius:7px;background:#f8fafc}.batch-tip{color:#64748b;font-size:13px}.pagination-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-top:1px solid #eef2f7}.pagination-info{color:#94a3b8;font-size:12px}.pagination-actions{display:flex;gap:8px}
.overview-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.overview-card,.overview-card-brand{min-height:84px;padding:16px;border:1px solid #f1f5f9;border-left:3px solid #6366f1;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000f}.overview-card.success{border-left-color:#10b981}.overview-card.warning{border-left-color:#f59e0b}.overview-card.danger{border-left-color:#ef4444}.overview-card.info{border-left-color:#3b82f6}.overview-card-brand{display:flex;min-width:0;flex-direction:column;justify-content:center;border:0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ov-num{display:block;color:#1e293b;font-size:28px;font-weight:700;line-height:1.15}.overview-card.success .ov-num{color:#059669}.overview-card.warning .ov-num{color:#d97706}.overview-card.danger .ov-num{color:#dc2626}.overview-card.info .ov-num{color:#2563eb}.ov-label{display:block;margin-top:5px;color:#94a3b8;font-size:12px}.overview-card-brand .ov-label{color:#e0e7ff}.ov-brand-name{display:block;overflow:hidden;color:#fff;font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.top-row{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-bottom:16px}.score-card{padding:24px;border-radius:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.score-main{display:flex;align-items:center;gap:24px;margin-bottom:24px}.score-circle{display:flex;width:100px;height:100px;flex:0 0 100px;flex-direction:column;align-items:center;justify-content:center;border:3px solid #ffffff66;border-radius:50%;background:#ffffff33}.score-circle.level-excellent{border-color:#34d399cc;background:#34d39940}.score-circle.level-good{border-color:#60a5facc;background:#60a5fa40}.score-circle.level-fair{border-color:#fbbf24cc;background:#fbbf2440}.score-value{font-size:32px;font-weight:800;line-height:1}.score-label{margin-top:3px;font-size:11px;opacity:.9}.score-meta{min-width:0;flex:1}.score-level{margin-bottom:4px;font-size:18px;font-weight:700}.score-desc{font-size:13px;line-height:1.6;opacity:.85}.score-breakdown{display:flex;flex-direction:column;gap:10px}.breakdown-item{display:flex;align-items:center;gap:10px}.breakdown-label{width:60px;flex:0 0 60px;font-size:12px;opacity:.85}.breakdown-bar{height:6px;flex:1;overflow:hidden;border-radius:3px;background:#ffffff33}.breakdown-fill{display:block;height:100%;border-radius:3px;background:#ffffffe6}.breakdown-value{width:50px;color:#fff;font-size:11px;text-align:right;opacity:.8}.keyword-card,.platform-section,.health-card,.channel-card,.trend-card-full,.progress-section,.action-section{padding:20px;border:1px solid #f1f5f9;border-radius:16px;background:#fff;box-shadow:0 1px 3px #00000005}.card-header,.section-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.card-header h4,.section-header h4{margin:0;color:#1e293b;font-size:15px;font-weight:600}.card-badge{padding:2px 10px;border-radius:10px;background:#ecfdf5;color:#10b981;font-size:12px}.keyword-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.keyword-stat{text-align:center}.keyword-value{font-size:24px;font-weight:700;line-height:1.2}.keyword-label,.section-desc{margin-top:2px;color:#64748b;font-size:12px}.trend-empty{display:flex;height:120px;align-items:center;justify-content:center;border-radius:8px;background:#f8fafc;color:#94a3b8;font-size:13px}.platform-section{margin-bottom:16px}.result-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.result-card{padding:16px 20px;border-radius:12px;background:#f8fafc}.result-card-header{margin-bottom:10px;color:#64748b;font-size:13px;font-weight:600}.result-card-body{display:flex;flex-direction:column;gap:8px}.result-big{display:flex;align-items:baseline;gap:6px}.result-num{font-size:28px;font-weight:800}.result-unit,.result-rate{color:#94a3b8;font-size:13px}.result-bar{height:6px;overflow:hidden;border-radius:3px;background:#e2e8f0}.result-bar-fill{display:block;height:100%;border-radius:3px}.platform-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}.platform-item{display:flex;min-width:0;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:12px;background:#f8fafc}.platform-item.is-covered{background:#ecfdf5}.platform-item.is-indexed{background:#f0fdf4}.platform-icon{display:flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;background:#e2e8f0;color:#64748b;font-size:13px;font-weight:700}.platform-item.is-covered .platform-icon{background:#eef2ff;color:#6366f1}.platform-item.is-indexed .platform-icon{background:#dcfce7;color:#10b981}.platform-info{text-align:center}.platform-name{color:#334155;font-size:12px;font-weight:500}.platform-count{margin-top:2px;color:#6366f1;font-size:11px}.platform-empty{color:#cbd5e1}.content-row-3{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.health-item{text-align:center}.health-value{color:#1e293b;font-size:24px;font-weight:700}.health-label{margin-top:2px;color:#64748b;font-size:12px}.health-sub{margin-top:4px;color:#94a3b8;font-size:11px}.channel-list{display:flex;flex-direction:column;gap:14px}.channel-item{display:flex;align-items:center;gap:12px}.channel-left{display:flex;align-items:center;gap:8px;min-width:64px}.channel-dot{display:block;width:8px;height:8px;flex:0 0 8px;border-radius:50%}.channel-name{color:#334155;font-size:13px;font-weight:500}.channel-bar-wrap{height:8px;flex:1;overflow:hidden;border-radius:4px;background:#f1f5f9}.channel-bar{display:block;height:100%;min-width:4px;border-radius:4px}.channel-right{display:flex;min-width:80px;align-items:center;justify-content:flex-end;gap:8px}.channel-count{color:#334155;font-size:13px}.channel-rate{min-width:36px;color:#94a3b8;font-size:11px;text-align:right}.trend-row{margin-bottom:16px}.keyword-table-wrap{overflow:auto}.keyword-table{width:100%;border-collapse:collapse;font-size:13px}.keyword-table th{padding:10px 8px;border-bottom:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:12px;font-weight:500;text-align:left;white-space:nowrap}.keyword-table td{padding:10px 8px;border-bottom:1px solid #f1f5f9;color:#334155}.td-empty{text-align:center}.progress-section{margin-bottom:16px}.stage-bar{display:flex;align-items:flex-start}.stage-item{display:flex;min-width:0;flex:1;position:relative;flex-direction:column;align-items:center;gap:8px}.stage-dot{z-index:1;display:flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;background:#f1f5f9;color:#94a3b8;font-size:13px;font-weight:600}.stage-item.is-done .stage-dot{background:#ecfdf5;color:#10b981}.stage-item.is-current .stage-dot{background:#6366f1;color:#fff;box-shadow:0 0 0 4px #6366f133}.stage-label{color:#64748b;font-size:12px;text-align:center;white-space:nowrap}.stage-item.is-done .stage-label{color:#10b981;font-weight:500}.stage-item.is-current .stage-label{color:#6366f1;font-weight:600}.stage-line{position:absolute;top:16px;left:calc(50% + 20px);right:calc(-50% + 20px);height:2px;background:#e2e8f0}.stage-item.is-done .stage-line{background:#10b981}.action-section{margin-bottom:16px}.action-list{display:flex;flex-direction:column;gap:12px}.action-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;border-radius:10px;background:#f8fafc;color:#334155;text-align:left;cursor:pointer}.action-item.priority-high{background:#fef2f2}.action-item.priority-medium{background:#fffbeb}.action-item.priority-low{background:#ecfdf5}.action-icon{color:#6366f1}.action-content{flex:1}.action-message{font-size:14px;font-weight:500}
.city-ref-modal-backdrop{position:fixed;z-index:1000;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a66}.city-ref-modal{width:min(760px,100%);max-height:92vh;overflow:auto;border-radius:10px;background:#fff;box-shadow:0 20px 60px #0f172a33}.city-ref-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #eef2f7}.city-ref-modal>header h3{margin:4px 0;color:#1e293b;font-size:18px}.city-ref-modal>header p{margin:0;color:#94a3b8;font-size:13px;line-height:1.55}.city-ref-modal-close{width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:#94a3b8;font-size:22px;line-height:1;cursor:pointer}.city-ref-modal-close:hover{background:#f1f5f9;color:#334155}.city-ref-form{display:grid;gap:16px;padding:22px 24px}.city-ref-form-section{display:grid;gap:12px}.city-ref-form-section h4{margin:0;padding-bottom:8px;border-bottom:1px solid #eef2f7;color:#64748b;font-size:13px;font-weight:600}.city-ref-form label,.city-ref-editor-form label{display:grid;gap:6px;color:#64748b;font-size:13px}.city-ref-form input,.city-ref-form textarea,.city-ref-form select,.city-ref-editor-form input,.city-ref-editor-form textarea,.city-ref-editor-form select{width:100%;padding:9px 11px;border:1px solid #dbe3ec;border-radius:6px;background:#fff;color:#334155;font:inherit;font-size:13px;outline:none}.city-ref-form input:focus,.city-ref-form textarea:focus,.city-ref-form select:focus,.city-ref-editor-form input:focus,.city-ref-editor-form textarea:focus,.city-ref-editor-form select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11c}.city-ref-form textarea,.city-ref-editor-form textarea{resize:vertical;line-height:1.6}.city-ref-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.city-ref-form-grid label:only-child{grid-column:1/-1}.city-ref-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:5px}.city-ref-inline-editor{display:grid;gap:15px;margin-top:16px;padding:0 0 20px;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000f}.city-ref-editor-form{display:grid;gap:15px;padding:0 20px}.city-ref-section-editors{display:grid;gap:10px}.city-ref-section-editors article{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:12px;border-radius:7px;background:#f8fafc}.city-ref-section-editors article>span{display:flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#e0e7ff;color:#6366f1;font-size:12px;font-weight:700}.city-ref-section-editors article>div{display:grid;gap:8px}.city-ref-editor-actions{display:flex;gap:8px;justify-content:flex-end}.city-ref-small-modal{width:min(520px,100%)}.city-ref-page-modal{width:min(680px,100%)}.city-ref-keyword-modal{width:min(700px,100%)}.city-ref-cost-note{padding:10px 12px;border-radius:6px;background:#fffbeb;color:#92400e;font-size:12px}.city-ref-ai-result{min-height:100px;padding:14px;border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc}.result-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:#64748b;font-size:13px}.expand-list{max-height:300px;overflow:auto}.expand-item{display:flex;align-items:center;gap:8px;padding:7px 10px;margin-bottom:4px;border-radius:6px}.expand-item.checked{background:#eff6ff}.expand-word{min-width:0;flex:1;color:#334155;font-size:13px;word-break:break-all}.ct-tag{padding:1px 6px;border-radius:4px;background:#eef2ff;color:#6366f1;font-size:11px;white-space:nowrap}.result-empty{padding:24px 0;color:#94a3b8;font-size:13px;text-align:center}.ref-compact-select{height:28px;padding:0 7px;border:1px solid #dbe3ec;border-radius:5px;background:#fff;color:#475569;font:inherit;font-size:12px}.ref-inquiry-table{min-width:1040px}.inquiry-message-cell{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.city-ref-inquiry-modal{width:min(560px,100%)}.inquiry-detail{display:flex;flex-direction:column;gap:16px;padding:22px 24px}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #eef2f7}.visitor-info{min-width:0;flex:1}.visitor-name{margin-bottom:6px;color:#1e293b;font-size:17px;font-weight:600}.visitor-meta{display:flex;flex-wrap:wrap;gap:14px}.meta-item{color:#64748b;font-size:13px}.detail-section{display:flex;flex-direction:column;gap:7px}.section-label{color:#94a3b8;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.source-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.source-city{color:#334155;font-size:14px;font-weight:500}.source-page{max-width:280px;overflow:hidden;padding:2px 8px;border-radius:4px;background:#f1f5f9;color:#64748b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.source-time{margin-left:auto;color:#94a3b8;font-size:12px}.message-block,.reply-quote{padding:12px 14px;border-left:3px solid #3b82f6;border-radius:8px;background:#f8fafc;color:#334155;font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.followup-timeline{display:flex;flex-direction:column;padding-left:8px}.followup-item{display:flex;position:relative;gap:12px;padding:10px 0}.followup-item:not(:last-child)::before{position:absolute;top:24px;bottom:-2px;left:5px;width:2px;background:#e2e8f0;content:""}.followup-dot{width:12px;height:12px;min-width:12px;margin-top:4px;border-radius:50%;background:#409eff}.followup-body{min-width:0;flex:1}.followup-text{color:#334155;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.followup-time{margin-top:4px;color:#94a3b8;font-size:12px}.empty-followup{padding:12px;border-radius:7px;background:#f8fafc;color:#94a3b8;font-size:13px;text-align:center}.reply-quote{display:grid;gap:6px;border-left-color:#94a3b8}.reply-quote span{color:#64748b;font-size:13px}.city-ref-modal-layer{z-index:1001}
.city-ref-style-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;min-height:600px}.template-sidebar{display:flex;min-width:0;flex-direction:column;padding:16px;border:1px solid #f1f5f9;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000f}.template-sidebar-tip{margin:0 0 12px;color:#94a3b8;font-size:12px;line-height:1.5}.template-sidebar-list{display:flex;flex-direction:column;gap:8px;overflow:auto}.template-list-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:2px solid #e4e7ed;border-radius:8px;background:#fff;text-align:left;cursor:pointer;transition:all .2s}.template-list-item:hover{border-color:#409eff;background:#f8fafc}.template-list-item.active{border-color:#409eff;background:#ecf5ff;box-shadow:0 0 0 2px #409eff33}.template-list-color{width:34px;height:34px;flex:0 0 34px;border-radius:6px}.template-list-info{min-width:0;flex:1}.template-list-name{display:block;overflow:hidden;margin-bottom:3px;color:#334155;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.template-list-desc{display:block;display:-webkit-box;overflow:hidden;color:#94a3b8;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.template-preview-main{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #f1f5f9;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000f}.template-preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #eef2f7;color:#64748b;font-size:12px}.template-preview-iframe{width:100%;min-height:550px;flex:1;border:0;background:#f8fafc}.template-preview-empty{display:flex;min-height:550px;align-items:center;justify-content:center;color:#94a3b8;font-size:14px}.city-ref-preview-frame{min-height:100%;background:#f4f7f8;color:#172337;font-family:Inter,"Microsoft YaHei",Arial,sans-serif}.city-ref-preview-nav{display:flex;align-items:center;justify-content:space-between;padding:15px 5%;border-bottom:1px solid #e6eef0;background:#fff}.city-ref-preview-nav b{color:var(--preview-color);font-size:16px}.city-ref-preview-nav span{color:#70808c;font-size:11px}.city-ref-preview-hero{padding:42px 8%;background:linear-gradient(135deg,var(--preview-color),#0b8f83);color:#fff}.city-ref-preview-hero small{opacity:.78}.city-ref-preview-hero h1{margin:13px 0 8px;font-size:30px;line-height:1.2}.city-ref-preview-hero p{max-width:600px;margin:0;color:#e1fbf6;font-size:13px;line-height:1.75}.city-ref-preview-hero button{margin-top:18px;padding:9px 16px;border:0;border-radius:5px;background:#fff;color:var(--preview-color);font:inherit;font-size:12px;font-weight:700}.city-ref-preview-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dfeaec}.city-ref-preview-sections article{min-height:130px;padding:22px;background:#fff}.city-ref-preview-sections h3{margin:0 0 8px;font-size:15px}.city-ref-preview-sections p{margin:0;color:#71808d;font-size:12px;line-height:1.8}.city-ref-preview-contact{display:flex;align-items:center;gap:12px;padding:24px 8%;background:#f7fbfb}.city-ref-preview-contact b{font-size:16px}.city-ref-preview-contact span{color:#70808c;font-size:12px}
@media (max-width:1200px){.overview-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:1000px){.top-row,.content-row-3{grid-template-columns:1fr}.city-ref-style-workspace{grid-template-columns:190px 1fr}.city-ref-dashboard .page-header,.city-ref-table-page .page-header,.city-ref-pages .page-header,.city-ref-keywords .page-header,.city-ref-inquiries .page-header,.city-ref-style .page-header{align-items:flex-start;flex-direction:column}.city-ref-pages .header-actions,.city-ref-keywords .header-actions{width:100%}}
@media (max-width:700px){.overview-cards,.keyword-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.score-main{gap:14px}.score-circle{width:82px;height:82px;flex-basis:82px}.score-value{font-size:26px}.result-summary{grid-template-columns:1fr}.city-ref-style-workspace{grid-template-columns:1fr}.template-sidebar{min-height:0}.template-sidebar-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.template-preview-iframe{min-height:500px}.city-ref-form-grid{grid-template-columns:1fr}.city-ref-modal-backdrop{align-items:flex-start;padding:10px}.city-ref-modal{max-height:calc(100vh - 20px)}.city-ref-pages .toolbar,.city-ref-table-page .filter-bar,.city-ref-keywords .filter-bar,.city-ref-inquiries .filter-bar{align-items:stretch;flex-direction:column}.city-ref-pages .toolbar-left,.city-ref-pages .toolbar-right{width:100%}.city-ref-pages .toolbar-right input,.city-ref-pages .toolbar-right select,.ref-filter-label,.ref-filter-label input,.ref-filter-label select{width:100%;min-width:0}.city-ref-pages .toolbar-right{align-items:stretch;flex-direction:column}.city-ref-pages .toolbar-right .ref-button{width:100%}.city-ref-dashboard .page-header .header-actions{width:100%}.city-ref-dashboard .page-header .header-actions .ref-button{flex:1}.city-ref-preview-nav span{display:none}.city-ref-preview-sections{grid-template-columns:1fr}.city-ref-preview-hero h1{font-size:24px}.city-ref-preview-contact{align-items:flex-start;flex-direction:column}}
.user-list-panel { margin-top: 18px; }
.user-list-heading { align-items: center; }
.user-create-modal { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: 20px; }
.user-create-modal.hidden { display: none; }
.user-create-backdrop { position: absolute; inset: 0; background: rgba(15, 35, 55, .42); backdrop-filter: blur(2px); }
.user-create-card { position: relative; width: min(520px, 100%); max-height: min(92vh, 760px); overflow: auto; border: 1px solid #dbe5ee; border-radius: 12px; background: #fff; box-shadow: 0 24px 70px rgba(17, 35, 54, .25); }
.user-create-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 22px 24px 16px; border-bottom: 1px solid #e7edf3; }
.user-create-head h2 { margin: 0; color: #25364b; font-size: 18px; }
.user-create-head p { margin: 6px 0 0; color: #7d8c9e; font-size: 11px; line-height: 1.5; }
.user-create-close { display: grid; width: 29px; height: 29px; place-items: center; border: 0; border-radius: 6px; color: #738196; background: #f1f5f8; font-size: 21px; line-height: 1; cursor: pointer; }
.user-create-close:hover { color: #fff; background: #0c827d; }
.user-create-body { display: grid; gap: 14px; padding: 21px 24px 24px; }
.user-create-body label { display: grid; gap: 6px; color: #526179; font-size: 12px; font-weight: 650; }
.user-create-body input, .user-create-body select { min-height: 38px; }
.user-create-body .section-note { margin: 0; }
.user-create-footer { display: flex; justify-content: flex-end; gap: 8px; padding-top: 3px; }
@media (max-width: 620px) { .user-create-modal { padding: 10px; } .user-create-head, .user-create-body { padding-left: 17px; padding-right: 17px; } .user-create-footer { flex-wrap: wrap; } .user-create-footer button { flex: 1 1 auto; } .user-list-heading { align-items: flex-start; flex-direction: column; } }

/* Login model constellation: evenly spaced, upright orbital motion. */
.login-visual .signal-graphic { isolation: isolate; }
.login-visual .model-orbit {
  top: 0; right: auto; bottom: auto; left: 0;
  width: max-content;
  offset-path: ellipse(36% 34% at 50% 50%);
  offset-rotate: 0deg;
  offset-anchor: center;
  animation: login-model-revolution 96s linear infinite;
  animation-delay: var(--orbit-delay);
}
.login-visual .orbit-one { --orbit-delay: 0s; }
.login-visual .orbit-two { --orbit-delay: -12s; }
.login-visual .orbit-three { --orbit-delay: -24s; }
.login-visual .orbit-four { --orbit-delay: -36s; }
.login-visual .orbit-five { --orbit-delay: -48s; }
.login-visual .orbit-six { --orbit-delay: -60s; }
.login-visual .orbit-seven { --orbit-delay: -72s; }
.login-visual .orbit-eight { --orbit-delay: -84s; }
.login-visual .signal-graphic::after {
  content: ""; position: absolute; inset: 16% 14%;
  border: 1px solid rgba(126,226,216,.22); border-radius: 50%;
  box-shadow: 0 0 24px rgba(126,226,216,.06); pointer-events: none;
}
@keyframes login-model-revolution { from { offset-distance: 0%; } to { offset-distance: 100%; } }
@media (prefers-reduced-motion: reduce) {
  .login-visual .model-orbit { animation-duration: 1s; animation-play-state: paused; }
  .login-visual .orbit-two { offset-distance: 12.5%; }
  .login-visual .orbit-three { offset-distance: 25%; }
  .login-visual .orbit-four { offset-distance: 37.5%; }
  .login-visual .orbit-five { offset-distance: 50%; }
  .login-visual .orbit-six { offset-distance: 62.5%; }
  .login-visual .orbit-seven { offset-distance: 75%; }
  .login-visual .orbit-eight { offset-distance: 87.5%; }
}

/* Staggered dual orbits for the login model constellation. */
.login-visual .orbit-one { --orbit-delay: -2s; }
.login-visual .orbit-two { --orbit-delay: -19s; }
.login-visual .orbit-three { --orbit-delay: -41s; }
.login-visual .orbit-five { --orbit-delay: -59s; }
.login-visual .orbit-six { --orbit-delay: -81s; }
.login-visual .orbit-four,
.login-visual .orbit-seven,
.login-visual .orbit-eight {
  offset-path: ellipse(23% 22% at 50% 50%);
  animation-duration: 120s;
  background: rgba(12,42,60,.9);
  border-color: rgba(126,226,216,.26);
}
.login-visual .orbit-four { --orbit-delay: -8s; }
.login-visual .orbit-seven { --orbit-delay: -47s; }
.login-visual .orbit-eight { --orbit-delay: -94s; }
.login-visual .orbit-one img,
.login-visual .orbit-two img,
.login-visual .orbit-three img { width: 36px; height: 36px; }
.login-visual .orbit-four img,
.login-visual .orbit-seven img,
.login-visual .orbit-eight img { width: 28px; height: 28px; }
.login-visual .signal-graphic::before {
  content: ""; position: absolute; inset: 28% 27%;
  border: 1px dashed rgba(126,226,216,.18); border-radius: 50%;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .login-visual .model-orbit { animation: none; }
  .login-visual .orbit-one { offset-distance: 2%; }
  .login-visual .orbit-two { offset-distance: 20%; }
  .login-visual .orbit-three { offset-distance: 43%; }
  .login-visual .orbit-five { offset-distance: 62%; }
  .login-visual .orbit-six { offset-distance: 84%; }
  .login-visual .orbit-four { offset-distance: 7%; }
  .login-visual .orbit-seven { offset-distance: 39%; }
  .login-visual .orbit-eight { offset-distance: 78%; }
}

.balance-strip.wallet-dual-balance { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0; padding: 0; overflow: hidden; }
.wallet-dual-balance .wallet-balance-half { min-width: 0; padding: 28px 30px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; }
.wallet-dual-balance .wallet-official-balance { align-self: stretch; border-left: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.06); }
.wallet-dual-balance small { color: rgba(255,255,255,.8); font-size: 13px; }
.wallet-dual-balance .balance-unit { color: rgba(255,255,255,.78); }
.wallet-dual-balance p { margin: 9px 0 0; color: rgba(255,255,255,.7); font-size: 12px; }
@media (max-width: 760px) {
 .balance-strip.wallet-dual-balance { grid-template-columns: 1fr; }
 .wallet-dual-balance .wallet-official-balance { border-left: 0; border-top: 1px solid rgba(255,255,255,.24); }
 .wallet-dual-balance .wallet-balance-half { padding: 22px; }
}

.package-card .official-custom-amount-field { gap: 9px; margin: 0 0 18px; }
.package-card .official-custom-amount-field input { min-height: 44px; }
.user-balance-cell { white-space: nowrap; }
.user-balance-cell strong { display: block; color: #147f78; font-size: 13px; }
.user-balance-cell small { display: block; margin-top: 2px; color: #8492a4; font-size: 10px; letter-spacing: .04em; }
.user-balance-cell.official strong { color: #a7682c; }

.asset-overview-heading { align-items: flex-end; }
.asset-overview-heading h3 { margin-bottom: 6px; }
.asset-overview-actions { display: flex; gap: 8px; }
.asset-membership-band { display: grid; grid-template-columns: minmax(220px,1.35fr) minmax(160px,.9fr) minmax(190px,1fr) auto; align-items: center; gap: 24px; padding: 22px 26px; border: 1px solid #dce7e7; border-radius: 10px; background: linear-gradient(105deg,#f1f8f7 0%,#f7fafc 58%,#f5f8fb 100%); }
.asset-member-primary strong { display: block; margin-top: 5px; color: #176b67; font-size: 23px; }
.asset-member-primary p { margin: 5px 0 0; color: #667789; font-size: 12px; }
.asset-label,.asset-member-fact > span { color: #788696; font-size: 11px; font-weight: 650; }
.asset-member-fact strong { display: block; margin-top: 6px; color: #29394b; font-size: 15px; }
.asset-member-fact strong small { color: #8491a0; font-size: 12px; font-weight: 500; }
.asset-member-fact > small { display: block; margin-top: 4px; color: #7f8d9b; font-size: 10px; }
.asset-seat-track { height: 5px; margin-top: 9px; overflow: hidden; border-radius: 4px; background: #e2e9ed; }
.asset-seat-track i { display: block; height: 100%; border-radius: inherit; background: #248c83; }
.asset-seat-link { padding: 9px 11px; border: 1px solid #d4e3e2; border-radius: 6px; color: #26736e; background: #fff; cursor: pointer; font-size: 12px; white-space: nowrap; }
.asset-balance-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 18px; }
.asset-balance-card { position: relative; min-height: 190px; padding: 22px 24px; overflow: hidden; border: 1px solid; border-radius: 9px; }
.asset-points-card { border-color: #cbdff2; background: linear-gradient(125deg,#f0f7fd,#f8fbfe 70%); }
.asset-official-card { border-color: #eadcc7; background: linear-gradient(125deg,#fbf6ed,#fdfbf7 70%); }
.asset-card-top { display: flex; align-items: center; gap: 9px; }
.asset-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 7px; color: #276e9f; background: #dcecf8; font-size: 11px; font-weight: 750; }
.asset-official-card .asset-icon { color: #9b672c; background: #f3e7d4; font-size: 17px; }
.asset-balance-value { display: block; margin-top: 13px; color: #23384b; font-size: 30px; line-height: 1.1; }
.asset-balance-value small { margin-left: 7px; color: #788898; font-size: 11px; font-weight: 600; }
.asset-balance-card p { max-width: 560px; margin: 9px 0 13px; color: #68798a; font-size: 11px; line-height: 1.55; }
.asset-recharge-button { padding: 0; border: 0; color: #277a9b; background: transparent; cursor: pointer; font-size: 12px; font-weight: 700; }
.asset-official-card .asset-recharge-button { color: #956424; }
.asset-recharge-section { scroll-margin-top: 90px; margin-top: 26px; }
.asset-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.asset-section-heading h4 { margin: 3px 0; color: #2c3c4d; font-size: 17px; }
.asset-section-heading p { margin: 0; color: #7b8896; font-size: 11px; }
.page-kicker { color: #8794a1; font-size: 9px; font-weight: 750; letter-spacing: .08em; }
.asset-rate-tag { padding: 6px 9px; border: 1px solid #dce5eb; border-radius: 5px; color: #6b7988; background: #fff; font-size: 10px; white-space: nowrap; }
.official-recharge-card { border-top: 2px solid #d4ac75; }
.asset-activity-panel { margin-top: 25px; }
.asset-activity-panel .panel-heading { align-items: center; }
.asset-activity-panel .panel-heading h4 { margin: 3px 0; }
.asset-activity-panel .panel-heading p { margin: 0; }
.asset-ledger-type { display: inline-flex; padding: 4px 7px; border-radius: 4px; font-size: 10px; white-space: nowrap; }
.asset-ledger-type.points { color: #2c6f9b; background: #eaf3fa; }
.asset-ledger-type.official { color: #956424; background: #f7f0e5; }
.asset-positive { color: #26816d; font-weight: 650; }
.asset-negative { color: #445466; font-weight: 650; }
@media (max-width: 900px) { .asset-membership-band { grid-template-columns: repeat(2,minmax(0,1fr)); } .asset-seat-link { justify-self: start; } }
@media (max-width: 620px) { .asset-overview-heading { align-items: flex-start; flex-direction: column; } .asset-overview-actions { width: 100%; } .asset-overview-actions button { flex: 1; } .asset-membership-band { grid-template-columns: 1fr 1fr; gap: 18px 12px; padding: 18px; } .asset-member-primary { grid-column: 1 / -1; } .asset-balance-grid { grid-template-columns: 1fr; gap: 10px; } .asset-balance-card { min-height: 172px; padding: 19px; } .asset-section-heading { align-items: flex-start; flex-direction: column; } .asset-activity-panel .panel-heading { align-items: flex-start; flex-direction: column; } }
/* Brand strategy linkage states */
.strategy-linkage-summary{display:flex;flex-direction:column;gap:4px;margin-top:7px;color:var(--muted,#718096);font-size:11px;line-height:1.35}
.strategy-linkage-summary span{display:inline-flex;gap:3px;align-items:baseline}
.strategy-linkage-summary b{color:var(--ink,#172337);font-size:13px}
.strategy-linkage-summary small{color:var(--muted,#718096);font-size:11px}
.strategy-status-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#fff4e5;color:#a45b00;font-size:10px;font-weight:700}
.strategy-model-pill{flex-wrap:wrap}
.strategy-provider-status{display:block;color:#2f8d76;font-size:10px;font-weight:600;line-height:1.2}
.strategy-provider-status.is-warning{color:#b56b16}
.strategy-provider-choice.is-unconfigured{opacity:.78}
.toast-content { display: grid; gap: 3px; max-width: 100%; }
.toast-hint { display: block; color: rgba(255,255,255,.82); font-size: 13px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.query-result-detail { display: grid; gap: 14px; margin: 16px; border: 1px solid #dbe7ea; border-radius: 8px; background: #f8fbfb; }
.query-result-detail > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 11px; border-bottom: 1px solid #e2ecee; }
.query-result-detail > header > div { display: grid; gap: 4px; min-width: 0; }
.query-result-detail > header strong { color: #2f465a; font-size: 14px; }
.query-result-detail > header small { color: #82919e; font-size: 11px; }
.query-result-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.query-result-summary > div { display: grid; gap: 5px; min-width: 0; padding: 10px 11px; border: 1px solid #e1ebed; border-radius: 6px; background: #fff; }
.query-result-summary span, .query-result-question > span, .query-result-insights > strong, .query-result-engines > strong { color: #82919e; font-size: 10px; }
.query-result-summary b { overflow-wrap: anywhere; color: #344b5f; font-size: 12px; line-height: 1.45; }
.query-result-question, .query-result-insights, .query-result-engines { display: grid; gap: 8px; }
.query-result-question { padding: 11px 12px; border: 1px solid #e1ebed; border-radius: 6px; background: #fff; }
.query-result-question p { margin: 0; color: #475e70; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.query-result-image { display: grid; gap: 7px; margin: 0; padding: 11px; border: 1px solid #e1ebed; border-radius: 6px; background: #fff; }
.query-result-image-trigger { position: relative; display: block; width: 100%; overflow: hidden; border: 0; border-radius: 4px; padding: 0; background: #f5f8f9; cursor: zoom-in; }
.query-result-image-trigger img { display: block; width: 100%; max-height: 560px; object-fit: contain; border-radius: 4px; background: #f5f8f9; transition: opacity .16s ease, transform .16s ease; }
.query-result-image-trigger span { position: absolute; right: 10px; bottom: 10px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; padding: 5px 9px; color: #fff; background: rgba(26,47,61,.72); font-size: 10px; line-height: 1; opacity: 0; transition: opacity .16s ease; }
.query-result-image-trigger:hover img, .query-result-image-trigger:focus-visible img { transform: scale(1.012); opacity: .9; }
.query-result-image-trigger:hover span, .query-result-image-trigger:focus-visible span { opacity: 1; }
.query-result-image figcaption { color: #82919e; font-size: 10px; text-align: center; }
.query-result-image-preview-open { overflow: hidden; }
.query-result-image-preview { position: fixed; z-index: 3000; inset: 0; display: grid; place-items: center; padding: 58px 24px 38px; background: rgba(12, 25, 37, .88); cursor: zoom-out; }
.query-result-image-preview-toolbar { position: absolute; top: 18px; left: 50%; z-index: 1; display: inline-flex; align-items: center; gap: 4px; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.28); border-radius: 7px; padding: 4px; background: rgba(11, 25, 38, .72); box-shadow: 0 8px 24px rgba(0,0,0,.18); cursor: default; }
.query-result-image-preview-toolbar button { display: grid; place-items: center; min-width: 30px; height: 28px; border: 0; border-radius: 4px; color: #fff; background: transparent; font-size: 16px; line-height: 1; cursor: pointer; }
.query-result-image-preview-toolbar button:hover, .query-result-image-preview-toolbar button:focus-visible { background: rgba(255,255,255,.18); }
.query-result-image-preview-toolbar span { min-width: 48px; color: rgba(255,255,255,.85); font-size: 11px; text-align: center; }
.query-result-image-preview-surface { width: min(96vw, 1440px); height: calc(100vh - 96px); overflow: auto; border-radius: 8px; cursor: default; scrollbar-color: rgba(255,255,255,.5) rgba(255,255,255,.12); }
.query-result-image-preview-surface img { display: block; width: min(92vw, 1400px); max-width: none; max-height: none; height: auto; margin: 0 auto; border-radius: 8px; background: #fff; box-shadow: 0 22px 70px rgba(0,0,0,.35); object-fit: contain; image-rendering: auto; }
.query-result-image-preview-close { position: absolute; top: 18px; right: 22px; min-width: 64px; min-height: 34px; border: 1px solid rgba(255,255,255,.35); border-radius: 6px; color: #fff; background: rgba(255,255,255,.12); font-size: 12px; cursor: pointer; }
.query-result-image-preview-close:hover, .query-result-image-preview-close:focus-visible { border-color: rgba(255,255,255,.75); background: rgba(255,255,255,.22); }
.query-result-image-preview-hint { position: absolute; right: 24px; bottom: 15px; left: 24px; margin: 0; color: rgba(255,255,255,.72); font-size: 11px; text-align: center; pointer-events: none; }
.query-result-empty { padding: 18px; border: 1px dashed #d8e5e8; border-radius: 6px; color: #91a0aa; background: #fff; font-size: 11px; text-align: center; }
.query-result-error { padding: 10px 12px; border: 1px solid #efd3d6; border-radius: 6px; color: #a2535d; background: #fff6f7; font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.query-result-insights > article { display: grid; gap: 5px; padding: 10px 12px; border: 1px solid #e1ebed; border-radius: 6px; background: #fff; }
.query-result-insights > article span { color: #82919e; font-size: 10px; }
.query-result-insights > article p { margin: 0; color: #475e70; font-size: 12px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.query-result-engines > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.query-result-engines article { display: grid; gap: 5px; padding: 10px; border: 1px solid #e1ebed; border-radius: 6px; background: #fff; }
.query-result-engines article span { color: #475e70; font-size: 11px; }
.query-result-engines article b { font-size: 11px; }
.query-result-engines article b.is-indexed { color: #168b7e; }
.query-result-engines article b.is-missing { color: #b06b3a; }
.query-result-engines article small { color: #91a0aa; font-size: 10px; }
.report-answer-card { display: grid; gap: 8px; margin-top: 16px; border: 1px solid #e1ebed; border-radius: 6px; padding: 12px; background: #fff; }
.report-answer-card h4 { margin: 0; color: #475e70; font-size: 13px; }
.report-answer-card p { margin: 0; color: #475e70; font-size: 12px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 700px) { .query-result-summary, .query-result-engines > div { grid-template-columns: 1fr; } .query-result-detail { margin: 12px 0; padding: 14px; } .query-result-image-preview { padding: 54px 10px 32px; } .query-result-image-preview-toolbar { top: 12px; } .query-result-image-preview-surface { width: 100vw; max-width: 100vw; height: calc(100vh - 88px); max-height: calc(100vh - 88px); } .query-result-image-preview-close { top: 12px; right: 12px; } .query-result-image-preview-hint { right: 12px; bottom: 10px; left: 12px; } }
