:root {
  --ink:#20322f; --muted:#637570; --line:#dfe7e3; --bg:#f3f6f4;
  --teal:#087f70; --teal-dark:#066357; --teal-soft:#edf7f2;
  --side:#fbfcfb; --danger:#a54136; --amber:#966518;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--ink); font-size:14px; line-height:1.6; font-synthesis:none;
}
* {box-sizing:border-box}
[hidden] {display:none!important}
body {margin:0; background:var(--bg)}
a {color:var(--teal); text-decoration:none}
a:hover {text-decoration:underline}
button,input,select,textarea {font:inherit}
button {cursor:pointer; border:1px solid #d7e1db; background:#fff; border-radius:8px; padding:9px 15px; color:var(--ink); font-size:13px; font-weight:550; line-height:1.5; transition:background .15s,border-color .15s,box-shadow .15s}
button:hover {border-color:#8db8a7; background:#f4f9f6}
button:disabled {cursor:not-allowed; opacity:.5}
button:focus-visible,a:focus-visible,summary:focus-visible {outline:3px solid #9fd4ba; outline-offset:3px}
.primary {background:var(--teal); color:#fff; border-color:var(--teal); box-shadow:0 2px 3px #087f7012}
.primary:hover {background:var(--teal-dark); border-color:var(--teal-dark); color:#fff}
.secondary {background:var(--teal-soft); color:var(--teal-dark); border-color:#cfe4d9}
.small {font-size:12px; padding:6px 11px}
.icon-button {width:35px; height:35px; display:grid; place-items:center; padding:7px}
svg {width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}
input,select,textarea {border:1px solid #cedbd2; border-radius:8px; padding:10px 12px; background:#fff; color:var(--ink); font-size:13px; min-width:0; line-height:1.5}
input::placeholder,textarea::placeholder {color:#8a9990}
input:focus,select:focus,textarea:focus {outline:3px solid #d5ecdf; border-color:#77b897; outline-offset:1px}
input[readonly] {background:#f3f6f4; color:#52685d}
textarea {width:100%; min-height:130px; resize:vertical}
label {color:#43594f}
.sidebar {width:236px; position:fixed; inset:0 auto 0 0; background:var(--side); border-right:1px solid var(--line); display:flex; flex-direction:column; padding:25px 16px 18px; z-index:5; overflow-y:auto}
.brand {display:flex; gap:10px; align-items:center; color:#1d3b30; font-size:20px; font-weight:700; padding:0 8px 21px; letter-spacing:.2px}
.brand:hover {text-decoration:none}
.brand-symbol {background:var(--teal); border-radius:10px; color:#fff; width:38px; height:38px; display:grid; place-items:center; flex-shrink:0}
.brand-symbol svg {width:31px; height:31px; stroke:none}
.brand small {display:block; font-size:8px; font-weight:600; letter-spacing:1.1px; color:#789085; margin-top:2px}
.side-label,.nav-group-label {color:#819389; font-size:10px; font-weight:600; letter-spacing:1px; padding:17px 12px 8px}
.sidebar nav {display:grid; gap:3px}
.sidebar nav a {color:#50665b; padding:9px 11px; display:flex; align-items:center; gap:11px; border:1px solid transparent; border-radius:8px; font-size:13px; white-space:nowrap}
.sidebar nav a .nav-icon {display:grid; place-items:center; width:20px; color:#81988b}
.sidebar nav a:hover {background:#f0f5f1; text-decoration:none}
.sidebar nav a.active {background:#e8f4ed; border-color:#d7e9dd; color:var(--teal-dark); font-weight:650}
.sidebar nav a.active .nav-icon {color:var(--teal)}
.nav-group-label {padding-top:14px}
.industry-menu {display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:4px 12px 17px}
.industry-menu a {font-size:11px; color:#6d8578; padding:2px 0}
.industry-menu a::before {content:""; display:inline-block; width:4px; height:4px; background:#9bb9a7; border-radius:50%; margin-right:6px; vertical-align:middle}
.side-footer {margin-top:auto; padding:15px 10px 0; border-top:1px solid var(--line)}
.side-footer a {color:#50665b; font-size:12px; display:flex; gap:10px; align-items:center}
.settings-icon {display:grid; place-items:center}
.settings-icon svg {width:18px; height:18px}
#side-status {display:block; font-size:10px; color:#819389; margin-top:11px; line-height:1.7}
.workspace {margin-left:236px}
.topbar {min-height:68px; display:flex; align-items:center; justify-content:space-between; background:#fffffff2; border-bottom:1px solid var(--line); padding:12px 36px; gap:14px}
.breadcrumb {display:flex; align-items:center; gap:12px; color:#536a5e; font-size:12px; white-space:nowrap}
.breadcrumb-root {color:#8b9b91}
.breadcrumb-divider {color:#c0cdc4}
#crumb {font-weight:600}
.top-controls {display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.local-tag {font-size:10px; color:#6c8174; padding:3px 0}
.role-label {font-size:11px; color:var(--muted); display:flex; align-items:center; gap:8px; padding-left:12px; border-left:1px solid var(--line)}
.role-label select {padding:6px 9px; font-size:12px; background:#fcfdfc}
#access-identity {font-size:10px; background:#fff; border-color:#e6ece8}
#logout {background:transparent; border-color:transparent; color:#6b8073; padding:6px}
main {padding:30px 36px 35px; max-width:1560px; margin:auto; min-height:calc(100vh - 112px)}
h1 {font-size:29px; font-weight:650; letter-spacing:-.7px; line-height:1.3; margin:0 0 9px}
h2 {font-size:16px; line-height:1.4; margin:0; font-weight:650; letter-spacing:-.15px}
h3 {font-size:15px; margin:0 0 9px; font-weight:650; line-height:1.55}
p {margin:8px 0}
.muted {color:var(--muted); font-size:11px}
.eyebrow {font-size:9px; letter-spacing:1.7px; color:#6c9180; font-weight:650; margin-bottom:9px}
.intro {display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px}
.intro>div:first-child {max-width:800px}
.intro p {color:var(--muted); font-size:13px; line-height:1.7; margin:0}
.intro .buttons {flex-shrink:0}
.buttons {display:flex; align-items:center; gap:9px; flex-wrap:wrap}
.notice {display:flex; gap:12px; align-items:flex-start; border:1px solid #e8dcc1; border-radius:10px; background:#fffaf0; padding:14px 17px; margin-bottom:21px}
.notice .grow,.grow {flex:1; min-width:0}
.notice strong {font-size:12px; color:#715a2f}
.notice p {font-size:12px; color:#796a4c; margin:4px 0 0; overflow-wrap:anywhere}
.notice.success {border-color:#d7e6dc; background:#f8fcf9}
.notice.success strong {color:#466c58}
.notice.success p {color:#607a69}
.runtime-notice {align-items:center; padding:11px 15px; margin-bottom:19px; box-shadow:none}
.runtime-provider {font-size:11px; color:#738779; margin-left:13px}
.status-dot {display:inline-block; width:7px; height:7px; flex-shrink:0; border-radius:50%; background:#31a77a; box-shadow:0 0 0 4px #31a77a12}
.status-dot.off {background:#9cae9f; box-shadow:none}
.status-dot.warn,.notice:not(.success)>.status-dot {background:#c69a47; box-shadow:0 0 0 4px #c69a4712}
.provider-details {display:inline; margin-left:12px; font-size:10px; color:#7b9282}
.provider-details summary {display:inline; cursor:pointer; text-decoration:underline; text-underline-offset:3px; list-style:none}
.provider-details[open] {display:block; margin-left:0; margin-top:5px}
.provider-details p {font-size:11px}
.dashboard-intro .eyebrow {display:none}
.dashboard-intro .intro {margin-bottom:18px}
.dashboard-intro h1 {font-size:31px; letter-spacing:-1px}
.dashboard-intro .intro p {font-size:12px}
.dashboard-scope {display:flex; align-items:center; gap:16px; margin:0 0 18px; min-width:0}
.dashboard-scope>span {font-size:11px; color:#7c9182; flex-shrink:0}
.scope-tabs {display:flex; gap:7px; flex-wrap:wrap; margin:0 0 22px}
.scope-tabs button {font-size:12px; padding:7px 12px; color:#637a6b; background:#fff}
.scope-tabs button.active {color:var(--teal-dark); background:#eaf5ee; border-color:#a9d1b9; box-shadow:inset 0 0 0 1px #b5d9c2}
.dashboard-scope .scope-tabs {margin:0; gap:6px}
.dashboard-scope .scope-tabs button {padding:6px 10px; font-size:11px}
.panel {border:1px solid var(--line); border-radius:12px; background:#fff; margin-bottom:20px; overflow:hidden; box-shadow:0 2px 3px #264b3510}
.panel-head {display:flex; align-items:center; justify-content:space-between; padding:19px 21px; border-bottom:1px solid #edf1ee; gap:12px}
.panel-head a {font-size:11px; white-space:nowrap; font-weight:550}
.panel-body {padding:21px}
.section-kicker {display:block; font-size:9px; font-weight:600; letter-spacing:1.5px; color:#92a99a; margin-bottom:4px}
.priority-grid {display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:20px; align-items:stretch}
.priority-grid>.panel {margin-bottom:18px}
.daily-brief {background:linear-gradient(120deg,#f3f9f4 0%,#fcfdfc 76%); border-color:#d1e3d7; display:flex; flex-direction:column}
.daily-brief .panel-body {padding:24px 25px; flex:1}
.brief-kicker {display:flex; align-items:center; gap:9px; font-size:11px; color:#5d8069; margin-bottom:16px}
.brief-kicker>span:last-child:not(.status-dot) {margin-left:auto; font-size:10px; color:#8aa28f}
.daily-brief h2 {font-size:23px; letter-spacing:-.7px; line-height:1.5; max-width:560px; margin-bottom:9px}
.daily-brief p {font-size:12px; color:#6b8472; margin:0 0 23px}
.daily-brief button {font-size:12px}
.brief-bottom {display:flex; justify-content:space-between; gap:10px; padding:10px 25px; border-top:1px solid #e1ebe3; font-size:10px; color:#89a18d}
.today-focus .panel-head {padding:19px 21px 14px; border:0}
.today-focus h2 {font-size:14px}
.work-list {padding:0 9px 9px}
.work-entry {display:flex; align-items:center; gap:12px; width:100%; padding:13px 12px; border:none; border-radius:7px; text-align:left; background:transparent; font-weight:400}
.work-entry+.work-entry {border-top:1px solid #edf2ee; border-radius:0}
.work-entry:hover {background:#f5f9f6}
.work-number {color:#9db3a5; font-size:11px; font-variant-numeric:tabular-nums; width:21px}
.work-entry strong {display:block; font-size:13px; font-weight:600; margin-bottom:3px}
.work-entry small {display:block; font-size:11px; color:#7c9282; line-height:1.5}
.work-badge {color:#6f8d78; font-size:10px; white-space:nowrap; padding:3px 6px; border-radius:4px; background:#eff5f0}
.work-arrow {color:#91ac9a; font-size:18px}
.stats {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-bottom:22px}
.stat {background:#fff; border:1px solid var(--line); border-radius:10px; padding:17px 19px}
.stat-label {font-size:11px; color:#7b9080}
.stat-value {font-size:28px; font-weight:600; line-height:1.3; margin:9px 0 5px; letter-spacing:-.8px; font-variant-numeric:tabular-nums}
.stat-value span {font-size:11px; color:#8da190; font-weight:400; margin-left:5px; letter-spacing:0}
.stat-meta {font-size:10px; color:#819887}
.stats-compact {gap:0; border:1px solid var(--line); border-radius:10px; background:#ffffffa6; margin-bottom:23px}
.stats-compact .stat {border:none; border-radius:0; background:transparent; padding:12px 20px; display:grid; grid-template-columns:1fr auto; gap:2px 7px; align-items:center}
.stats-compact .stat+.stat {border-left:1px solid #e4ebe6}
.stats-compact .stat-value {grid-column:2; grid-row:1/3; font-size:22px; margin:0; color:#466650}
.stats-compact .stat-meta {grid-column:1}
.dot {display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--teal); margin-right:6px}
.dashboard-grid {display:grid; grid-template-columns:minmax(0,1.55fr) minmax(305px,1fr); gap:20px; align-items:start}
.dashboard-main,.dashboard-rail {min-width:0}
.focus-action {padding:20px 21px; border-bottom:1px solid #edf1ee}
.focus-action:last-child {border-bottom:0}
.focus-action h3 {margin:10px 0 7px; font-size:15px}
.focus-action>p {font-size:12px; color:#647d6c; line-height:1.8; margin-bottom:13px}
.guard-inline {background:#fff8eb; border:1px solid #ecdcb9; border-radius:6px; color:#8b6221!important; padding:9px 11px; font-size:11px!important; overflow-wrap:anywhere}
.home-events .event-item p {display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.starter-card {padding:26px 21px; background:radial-gradient(ellipse at 90% 0,#f0f7f1 0,transparent 65%)}
.starter-icon {display:grid; place-items:center; width:35px; height:35px; color:#639573; background:#eff6ef; border:1px solid #e2eee3; border-radius:9px; margin-bottom:14px; font-size:19px}
.starter-card h3 {font-size:15px}
.starter-card p {font-size:12px; color:#758d7b; margin-bottom:16px; max-width:320px}
.starter-card .help {font-size:10px; margin:13px 0 0}
.trial-preview {padding:17px 21px; border-bottom:1px solid #edf1ee}
.trial-preview .event-title {font-size:14px; margin:10px 0 12px}
.trial-money {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:10px}
.trial-money span {display:block; font-size:10px; color:#8ba190; margin-bottom:3px}
.trial-money strong {font-size:15px; font-weight:600; color:#52745d; overflow-wrap:anywhere}
.trial-reason {font-size:11px; color:#718976; line-height:1.7}
.panel-note {font-size:10px; color:#879d8c; margin:0; padding:12px 21px; background:#fafcfb}
.coverage-grid {display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; padding:20px 10px}
.coverage-tile {border:none; border-right:1px solid #e7eee9; border-radius:0; text-align:left; padding:4px 14px; background:transparent; font-weight:400; min-width:0}
.coverage-tile:last-child {border-right:0}
.coverage-tile>span:first-child {font-size:12px; color:#617f6b}
.coverage-tile strong {display:block; margin:7px 0 12px; font-size:21px; color:#497258; line-height:1.2; font-weight:600}
.coverage-tile small {font-size:9px; color:#90a894; font-weight:400; margin-left:3px}
.coverage-tile.selected>span:first-child {font-weight:650; color:var(--teal)}
.scope-bar {display:block; height:4px; background:#eef3ef; border-radius:4px; overflow:hidden}
.scope-bar i {display:block; background:#7db68e; height:100%; min-width:0}
.coverage-footer {display:flex; align-items:center; justify-content:space-between; gap:13px; padding:12px 21px; border-top:1px solid #edf1ee; font-size:10px; color:#8aa18e; flex-wrap:wrap}
.columns {display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr); gap:21px; align-items:start}
.empty {padding:40px 24px; text-align:center; color:#859b8b}
.empty-symbol {display:grid; place-items:center; width:41px; height:41px; font-size:25px; color:#91b09b; background:#f2f7f3; border:1px solid #e4eee6; border-radius:12px; margin:0 auto 16px; line-height:1}
.empty strong {display:block; color:#556f5d; font-weight:600; margin-bottom:7px; font-size:14px}
.empty p {font-size:12px; max-width:390px; margin:0 auto 19px; line-height:1.8}
.empty .buttons {justify-content:center}
.empty.compact {padding:28px 22px}
.scope-list {display:grid; gap:15px}
.scope-row {display:flex; align-items:center; gap:13px; font-size:12px}
.scope-row span:first-child {width:72px}
.scope-row .scope-bar {flex:1}
.scope-row .count {color:#8b9d90; width:23px; text-align:right}
.chip {display:inline-flex; align-items:center; border:1px solid #e1e9e3; background:#f7faf8; color:#617f6b; font-size:10px; line-height:1.6; border-radius:5px; padding:2px 7px; white-space:nowrap; font-weight:500}
.chip.teal {color:#26714c; background:#edf7ee; border-color:#d6ead8}
.chip.amber {color:#92651d; background:#fff8e9; border-color:#efdfba}
.chip.red {color:#a1463b; background:#fff3ef; border-color:#efd6ce}
.chip.gray {color:#7b8e80; background:#f4f7f5; border-color:#e3e9e5}
.meta {display:flex; gap:7px; align-items:center; flex-wrap:wrap; color:#8a9e8f; font-size:11px; line-height:1.6}
.event-item {padding:19px 21px; border-bottom:1px solid #edf1ee}
.event-item:last-child {border-bottom:0}
.event-title {font-size:15px; color:#2e4738; display:block; margin:8px 0; background:none; border:0; padding:0; text-align:left; font-weight:600; line-height:1.6; overflow-wrap:anywhere}
.event-title:hover {background:none; color:var(--teal); border:0}
.event-item p {font-size:12px; color:#728c7a; line-height:1.85; margin:0 0 11px}
.filters {display:flex; gap:10px; flex-wrap:wrap; margin-bottom:18px; padding:13px; background:#ffffff9c; border:1px solid var(--line); border-radius:10px}
.filters input {min-width:220px; flex:1}
.filters select {min-width:130px}
.grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px}
.competitor-card {border:1px solid var(--line); border-radius:12px; background:#fff; padding:21px; display:flex; flex-direction:column; box-shadow:0 2px 3px #264b350a}
.competitor-top {display:flex; justify-content:space-between; align-items:start; gap:10px}
.avatar {width:35px; height:35px; border-radius:9px; background:#f0f6f2; color:#669375; display:grid; place-items:center; font-weight:600; margin-bottom:15px; font-size:14px; border:1px solid #e0ebe3}
.competitor-card h3 {margin-bottom:4px; font-size:16px}
.competitor-card p {font-size:12px; color:#738b7a; margin:6px 0; overflow-wrap:anywhere}
.competitor-foot {display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:auto; padding-top:18px; font-size:11px; color:#819987}
.report-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px}
.report-card {background:#fff; border:1px solid var(--line); border-radius:12px; padding:22px}
.report-card h3 {margin:13px 0 9px; font-size:16px}
.report-card p {font-size:12px; color:var(--muted)}
.report-card .buttons {margin-top:19px}
.section-heading {display:flex; justify-content:space-between; align-items:center; margin:28px 0 16px}
.job {padding:16px 21px; border-bottom:1px solid #e8eee9}
.job-top {display:flex; justify-content:space-between; gap:15px; align-items:start}
.job-name {font-size:13px; font-weight:600; margin:0; flex:1}
.job p {font-size:12px; color:var(--muted); margin:7px 0}
.error,.job .error {color:var(--danger); overflow-wrap:anywhere}
.presets {display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0 0; padding-top:18px; border-top:1px solid var(--line)}
.preset {text-align:left; font-size:11px; padding:12px 14px; background:#f8faf8; border-color:#e4ede6; line-height:1.8; color:#67806f; font-weight:400}
.research-form {display:grid; gap:15px}
.research-form>label {font-size:12px; font-weight:600}
.form-options {border:1px solid #e2ebe4; border-radius:8px; background:#fbfdfb}
.form-options>summary {cursor:pointer; padding:12px 14px; font-size:12px; color:#6e8a75}
.form-options-body {padding:0 14px 14px}
.report-create>summary {cursor:pointer; list-style:none; background:#fcfefc}
.help {font-size:12px; color:var(--muted); line-height:1.85; overflow-wrap:anywhere}
.form-grid {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px}
.form-field {display:grid; gap:7px; align-content:start; min-width:0}
.form-field label {font-size:12px; font-weight:550}
.form-field input,.form-field select {width:100%}
.form-field .help {font-size:11px; margin:0}
.wide {grid-column:1/-1}
.checkbox-row {display:flex; align-items:center; gap:9px; font-size:12px; cursor:pointer; line-height:1.5}
.checkbox-row input {width:16px; height:16px; flex-shrink:0; accent-color:var(--teal); padding:0}
.connection-status {margin:19px 0 0; font-size:12px; line-height:1.8; padding:17px; background:#f5f8f5; border:1px solid #e4ece5; border-radius:8px; overflow-wrap:anywhere}
.connection-status p {margin:5px 0}
.callout {background:#f0f6f1; border:1px solid #dfebe1; border-left:3px solid #9dc5a7; padding:15px 17px; border-radius:5px; font-size:12px; color:#627e6b; margin:16px 0}
.guard-warning {border-color:#eddcb7; border-left-color:#c59a4b; background:#fff9ed; color:#866322}
.action-card {background:#fff; border:1px solid var(--line); border-radius:12px; padding:22px; margin-bottom:17px; box-shadow:0 2px 3px #264b350a}
.action-card h3 {margin:12px 0 9px; font-size:17px}
.action-card p {font-size:12px; line-height:1.85; overflow-wrap:anywhere}
.action-detail {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 17px; margin:18px 0}
.action-detail>div {background:#f7faf7; border:1px solid #eaf0eb; padding:12px 14px; border-radius:7px; font-size:12px; overflow-wrap:anywhere; line-height:1.8}
.action-detail b {display:block; font-size:10px; color:#88a08d; margin-bottom:5px; font-weight:550}
.action-status {display:flex; gap:10px; align-items:center; border-top:1px solid var(--line); padding-top:16px; flex-wrap:wrap}
.action-status input {flex:1; font-size:12px; min-width:180px}
.action-status select {max-width:100%}
.page-footer {border-top:1px solid var(--line); font-size:10px; color:#8ba08f; padding:15px 36px; display:flex; justify-content:space-between; gap:15px}
dialog {width:min(940px,calc(100vw - 40px)); max-height:85vh; border:1px solid #d2e1d6; border-radius:15px; padding:32px; box-shadow:0 25px 100px #12332440; color:var(--ink); background:#fff}
dialog::backdrop {background:#1a35276b; backdrop-filter:blur(3px)}
.close-dialog {position:sticky; float:right; top:0; font-size:22px; line-height:24px; padding:3px 10px; z-index:1; background:#ffffffef}
dialog h2 {margin:10px 40px 17px 0; font-size:22px; line-height:1.55}
dialog h3 {margin-top:25px}
dialog p {font-size:13px; line-height:1.9; overflow-wrap:anywhere}
.source {border:1px solid var(--line); border-radius:8px; padding:16px; margin:12px 0; font-size:12px; background:#fbfdfb}
.source a {overflow-wrap:anywhere}
.source blockquote {margin:13px 0; color:#758e7d; border-left:2px solid #c9dfce; padding-left:12px}
.markdown {white-space:pre-wrap; overflow-wrap:anywhere; background:#f7faf7; border:1px solid #e1ebe3; border-radius:8px; padding:21px; font-family:inherit; font-size:13px; line-height:1.95; max-height:60vh; overflow:auto}
.timeline {border-left:1px solid #d2e3d6; margin:20px 0 0 8px}
.timeline-item {padding:0 0 18px 20px; position:relative; font-size:12px}
.timeline-item:before {content:""; position:absolute; left:-4px; top:7px; width:7px; height:7px; border-radius:50%; background:var(--teal)}
.timeline-item small {color:var(--muted); display:block}
.toast {position:fixed; bottom:28px; left:calc(50% + 118px); transform:translateX(-50%); max-width:75vw; padding:13px 22px; background:#214b35; color:#fff; border:1px solid #39624a; border-radius:9px; box-shadow:0 8px 30px #16372425; font-size:13px; z-index:20}
.loading {padding:100px 20px; text-align:center; color:var(--muted)}
.login-panel {max-width:440px; margin:65px auto; box-shadow:0 12px 40px #34593c12}
.login-panel .panel-body {padding:30px}
.login-panel h2 {font-size:22px; margin-bottom:13px}
.login-panel input {width:100%; margin:8px 0 18px}
.login-panel form>label {font-size:12px; font-weight:550}
.login-panel form>.primary {width:100%; margin-top:4px}
.login-tabs {margin:20px 0 14px}
.login-tabs button {flex:1}
.list-footer {display:flex; justify-content:space-between; align-items:center; gap:12px; padding:15px 21px; border-top:1px solid var(--line); color:#809787; font-size:11px; background:#fcfdfc}
.research-summary {white-space:pre-wrap}
.result-links {display:flex; gap:8px; flex-wrap:wrap; margin:12px 0 18px}
.result-links button {text-align:left; max-width:100%; overflow-wrap:anywhere}
.followup {border-top:1px solid var(--line); margin-top:24px; padding-top:8px}
.followup textarea {min-height:100px}
.followup button {justify-self:start}
.budget-fields,.product-tags {border:1px solid #dfe9e1; border-radius:8px; padding:16px; margin:0; min-width:0; background:#fbfdfb}
.budget-fields legend,.product-tags legend {padding:0 7px; font-size:11px; color:#6c8b75; font-weight:550}
.budget-fields .form-grid {gap:12px}
.budget-fields .help {margin-bottom:0; font-size:11px}
.budget-plan {border:1px solid #d9e9dd; background:#f5faf6; border-radius:8px; padding:17px; margin:17px 0}
.budget-plan h3 {margin-top:0; font-size:14px}
.budget-plan .action-detail {margin:12px 0}
.budget-plan .action-detail>div {background:#ffffffb3}
.draft-actions {margin:15px 0}
.workflow-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px}
.workflow-grid>.action-card {margin-bottom:0}
.workflow-form {display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:14px 0}
.workflow-form label {font-size:12px}
.workflow-form input {flex:1; min-width:160px}
.workflow-form select {min-width:150px}
.product-tags {display:flex; flex-wrap:wrap; gap:10px 18px}
.product-tags .checkbox-row {font-size:12px}
.sample-entry,.version-entry,.workflow-section {border-top:1px solid var(--line); padding:16px 0; margin-top:15px}
.sample-entry>summary,.version-entry>summary,.workflow-section>summary {cursor:pointer; font-weight:550; font-size:13px; color:#466d53}
.sample-meta {display:flex; flex-wrap:wrap; gap:8px 18px; color:var(--muted); font-size:12px; margin:14px 0; overflow-wrap:anywhere}
.draft-editor {margin-top:18px}
.draft-editor textarea {min-height:340px; line-height:1.85}
.content-library {margin-top:22px}
.source-health>summary {padding:18px 21px; cursor:pointer; font-weight:550; font-size:13px; color:#456d51}
.source-health[open]>summary {border-bottom:1px solid var(--line)}
.source-health .workflow-form {margin-top:0}
.source-health .help {color:#607768}
.form-field input[type=date],.form-field input[type=datetime-local] {max-width:100%}
.range-fields {gap:12px}
.workflow-section .research-form {margin-top:18px}
fieldset:disabled button {cursor:default}
.keyword-card>summary {cursor:pointer; font-weight:600; overflow-wrap:anywhere; font-size:14px; color:#496b53}
.keyword-card .form-grid {margin:20px 0 16px}
.keyword-card textarea {width:100%; min-height:85px}
.keyword-card .keyword-aliases {min-height:110px}
.keyword-card .keyword-tags+.keyword-tags {margin-top:12px}
#keyword-list {margin-top:20px}
.continuous-cadence {display:flex; align-items:center; gap:10px; font-size:12px; color:#587360; margin:0 0 18px}
.continuous-facts {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 17px; margin:0 0 17px}
.continuous-facts dt {font-size:10px; color:#8aa08f; margin-bottom:4px}
.continuous-facts dd {font-size:12px; margin:0; color:#52735d; overflow-wrap:anywhere}
.continuous-pause {color:#91661e}
.continuous-panel .panel-body>button {margin-top:15px}
.inline-help {font-size:11px; color:#809888; border-top:1px solid #e9efe9; padding-top:12px}
.inline-help summary {cursor:pointer; color:#799583}
.inline-help .help {font-size:11px}
.recovery-alert {background:#fff9ec; border:1px solid #edddb9; color:#8c6727; border-radius:7px; padding:12px; margin:13px 0; font-size:11px}
.recovery-alert p {margin:4px 0 8px}
.recovery-alert details {margin:9px 0}
.recovery-alert summary {cursor:pointer}
.recovery-alert li {margin:5px 0; overflow-wrap:anywhere}
.experiment-create textarea {min-height:90px; width:100%}
.experiment-create>summary {cursor:pointer; list-style:none; background:#fcfefc}
.experiment-create>summary h2:after {content:" ＋"; font-size:15px; color:var(--teal)}
.experiment-create[open]>summary h2:after {content:" −"}
.experiment-list {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px}
.experiment-list .action-card {margin:0; background:#fcfefc}
.experiment-metrics {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0}
.experiment-metrics>div {background:#f8fbf8; border:1px solid #e4ede5; padding:16px; border-radius:8px}
.experiment-metrics span {display:block; font-size:11px; color:#809b88; margin-bottom:9px}
.experiment-metrics strong {font-size:23px; color:#52735d; font-weight:600; letter-spacing:-.5px; font-variant-numeric:tabular-nums}
.table-scroll {overflow:auto}
.experiment-table {width:100%; min-width:700px; border-collapse:collapse; font-size:12px}
.experiment-table th,.experiment-table td {padding:15px 17px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top}
.experiment-table th {color:#6e8c78; font-weight:550; font-size:11px; background:#f5f9f5}
.experiment-table td {color:#577460}
.experiment-table tr:hover td {background:#fafcf9}
.experiment-table td p {max-width:260px; overflow-wrap:anywhere}
#experiment-result-form textarea {width:100%; min-height:90px}
@media(min-width:1550px) {.grid {grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1250px) {
  .sidebar {width:210px; padding-left:12px; padding-right:12px}
  .workspace {margin-left:210px}
  .brand {font-size:18px; padding-left:6px}
  .brand small {font-size:7px}
  .topbar {padding:12px 25px}
  .top-controls {gap:8px}
  .local-tag {display:none}
  main {padding:25px}
  .intro {gap:15px}
  .intro .buttons {flex-shrink:1}
  .dashboard-scope {align-items:flex-start; gap:10px}
  .dashboard-scope>span {padding-top:8px}
  .dashboard-grid {grid-template-columns:minmax(0,1.35fr) minmax(290px,1fr)}
  .priority-grid {gap:17px}
  .stats-compact .stat {padding:12px 14px; grid-template-columns:1fr}
  .stats-compact .stat-value {grid-column:1; grid-row:2; margin:2px 0}
  .stats-compact .stat-meta {grid-row:3}
  .coverage-grid {grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 0}
  .coverage-tile:nth-child(3) {border-right:0}
  .coverage-tile small {font-size:10px}
  .toast {left:calc(50% + 105px)}
}
@media(max-width:1040px) {
  .topbar {flex-wrap:wrap}
  .breadcrumb {font-size:11px}
  .top-controls {gap:7px; margin-left:auto}
  .role-label {font-size:10px; padding-left:7px; gap:6px}
  .dashboard-grid,.columns {grid-template-columns:1fr}
  .dashboard-rail {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start}
  .grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .priority-grid {grid-template-columns:1fr}
  .today-focus {order:-1}
  .today-focus .panel-head {padding:16px 21px 10px}
  .work-list {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 9px 9px}
  .work-entry+.work-entry {border:0; border-left:1px solid #edf2ee}
  .work-entry:nth-child(3) {grid-column:1/-1; border-left:0; border-top:1px solid #edf2ee}
  .work-number,.work-badge {display:none}
  .daily-brief .panel-body {padding:22px}
  .daily-brief h2 {font-size:23px}
  .workflow-grid {grid-template-columns:1fr}
}
@media(max-width:820px) {
  .sidebar {position:static; width:100%; padding:16px 20px 0; overflow:visible; border-right:0; border-bottom:1px solid var(--line)}
  .brand {padding:0 0 15px; font-size:18px; gap:9px; width:max-content}
  .brand-symbol {width:32px; height:32px; border-radius:8px}
  .brand-symbol svg {width:27px; height:27px}
  .brand small {font-size:7px; letter-spacing:1px}
  .side-label,.industry-menu,.nav-group-label,#side-status {display:none}
  .sidebar nav {display:flex; gap:6px; overflow-x:auto; scrollbar-width:thin; padding:0 0 10px; margin:0 -4px; scroll-padding:10px; align-items:center}
  .sidebar nav a {padding:8px 10px; font-size:12px; gap:7px; flex-shrink:0}
  .sidebar nav a .nav-icon,.sidebar nav a svg {width:16px; height:16px}
  .side-footer {position:absolute; right:20px; top:22px; padding:0; margin:0; border:0}
  .side-footer a {font-size:11px; gap:6px}
  .side-footer .settings-label {display:inline}
  .settings-icon svg {width:16px; height:16px}
  .workspace {margin-left:0}
  .topbar {min-height:52px; padding:9px 20px; flex-wrap:nowrap}
  .breadcrumb {font-size:10px; gap:8px}
  .top-controls {gap:8px}
  .role-label {border:0; padding:0}
  #access-identity {display:none}
  .role-label select {font-size:11px; padding:5px 7px}
  .icon-button {height:30px; width:30px; padding:6px}
  .icon-button svg {width:17px; height:17px}
  #logout {font-size:10px; padding:4px 0}
  main {padding:22px 20px; min-height:calc(100vh - 202px)}
  .intro {align-items:flex-start; margin-bottom:21px}
  h1 {font-size:26px}
  .intro p {font-size:12px}
  .intro .buttons {justify-content:flex-end}
  .intro .buttons button {font-size:11px; padding:7px 11px}
  .dashboard-intro h1 {font-size:28px}
  .dashboard-intro .intro {align-items:center}
  .dashboard-intro .intro p {font-size:11px}
  .runtime-notice {margin-bottom:15px; padding:10px 12px; gap:10px}
  .runtime-provider {display:block; margin:2px 0 0; font-size:10px}
  .provider-details {margin:0; font-size:10px}
  .runtime-notice button {font-size:10px; white-space:nowrap; padding:5px 9px}
  .dashboard-scope {margin-bottom:15px; gap:9px; align-items:center}
  .dashboard-scope>span {padding:0; font-size:10px}
  .dashboard-scope .scope-tabs {flex-wrap:nowrap; overflow-x:auto; padding:2px 0 6px; scrollbar-width:thin}
  .dashboard-scope .scope-tabs button {flex-shrink:0; font-size:10px; padding:6px 9px}
  .priority-grid {gap:0}
  .priority-grid>.panel {margin-bottom:15px}
  .today-focus .panel-head {padding:15px 17px 9px}
  .work-list {padding:0 7px 8px}
  .work-entry {padding:10px; gap:6px}
  .work-entry strong {font-size:12px}
  .work-entry small {font-size:10px}
  .work-arrow {font-size:16px}
  .daily-brief .panel-body {padding:21px}
  .daily-brief h2 {font-size:22px}
  .daily-brief p {margin-bottom:19px}
  .brief-bottom {padding:9px 21px; font-size:9px}
  .stats-compact {margin-bottom:20px}
  .stats-compact .stat {padding:10px 13px}
  .stat-label {font-size:10px}
  .stats-compact .stat-value {font-size:22px}
  .stat-meta {font-size:9px}
  .dashboard-rail {gap:16px}
  .panel-head,.panel-body,.event-item {padding:18px}
  .panel-head {gap:8px}
  .panel-head h2 {font-size:15px}
  .panel-head a {font-size:10px}
  .focus-action,.trial-preview {padding:17px 18px}
  .starter-card {padding:23px 18px}
  .panel-note {padding:11px 18px}
  .continuous-facts {gap:13px 11px}
  .continuous-facts dd {font-size:11px}
  .coverage-grid {padding:18px 5px}
  .coverage-tile {padding:3px 12px}
  .coverage-footer {padding:12px 18px}
  .page-footer {padding:13px 20px; font-size:9px}
  .page-footer span {display:none}
  .toast {left:50%; max-width:90vw}
  .source-health>summary {padding:17px 18px}
  .login-panel {margin:30px auto}
}
@media(max-width:620px) {
  .sidebar {padding:13px 15px 0}
  .brand {font-size:17px; padding-bottom:13px}
  .side-footer {right:15px; top:20px}
  .side-footer a {font-size:10px; gap:5px}
  .side-footer .settings-label {max-width:95px}
  .topbar {padding:8px 15px; gap:8px}
  .breadcrumb-root,.breadcrumb-divider {display:none}
  .breadcrumb {font-size:10px}
  .role-label {font-size:0; gap:0}
  .top-controls {gap:8px}
  main {padding:20px 15px}
  .intro {flex-direction:column; gap:14px}
  .intro .buttons {justify-content:flex-start}
  .dashboard-intro .intro {flex-direction:row; gap:10px; align-items:center; margin-bottom:16px}
  .dashboard-intro h1 {font-size:25px; margin-bottom:7px}
  .dashboard-intro .intro .buttons {flex-wrap:wrap; max-width:135px; justify-content:flex-end; gap:6px}
  .dashboard-intro .intro .buttons button {font-size:10px; padding:6px 9px}
  .runtime-notice .status-dot {width:6px; height:6px; margin-top:3px}
  .runtime-notice {align-items:flex-start}
  .runtime-notice strong {font-size:11px}
  .runtime-notice button {margin-top:4px}
  .work-list {grid-template-columns:1fr}
  .work-entry {padding:10px 11px}
  .work-entry+.work-entry {border-left:0; border-top:1px solid #edf2ee}
  .work-entry:nth-child(3) {grid-column:auto}
  .work-number {display:block; width:19px; font-size:10px}
  .work-entry small {font-size:10px}
  .stats-compact {grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-compact .stat {grid-template-columns:1fr auto; padding:12px 14px; gap:1px 7px}
  .stats-compact .stat:nth-child(3) {border-left:0}
  .stats-compact .stat:nth-child(n+3) {border-top:1px solid #e4ebe6}
  .stats-compact .stat-value {grid-row:1/3; grid-column:2; font-size:21px; margin:0}
  .stats-compact .stat-meta {grid-row:2; grid-column:1}
  .dashboard-rail,.grid,.report-grid,.form-grid,.presets,.experiment-list {grid-template-columns:1fr}
  .dashboard-rail {gap:0}
  .wide {grid-column:1/-1}
  .action-detail {grid-template-columns:1fr}
  .action-card {padding:19px}
  .action-card h3 {font-size:16px}
  .action-status input {min-width:0; width:100%}
  .filters input {min-width:150px}
  .filters select {flex:1}
  .coverage-grid {grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 0}
  .coverage-tile:nth-child(3) {border-right:1px solid #e7eee9}
  .coverage-tile:nth-child(2n) {border-right:0}
  .coverage-tile strong {font-size:20px}
  .coverage-footer {font-size:9px}
  .continuous-facts {grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow-form input,.workflow-form select {width:100%; min-width:0}
  .workflow-form button {max-width:100%}
  .draft-editor textarea {min-height:260px}
  .budget-fields,.product-tags {padding:13px}
  .budget-fields .form-grid {grid-template-columns:1fr}
  .experiment-metrics {grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
  .experiment-metrics>div {padding:13px}
  .experiment-metrics strong {font-size:19px}
  .keyword-card .form-grid {gap:15px}
  dialog {width:calc(100vw - 20px); padding:22px 18px; border-radius:12px}
  dialog h2 {font-size:20px}
  .list-footer {padding:14px 18px}
  .loading {padding:65px 12px}
}
@media(prefers-reduced-motion:reduce) {button {transition:none}}
