/* Position: approved light workspace theme. Production data and interaction hooks stay unchanged. */
:root {
  --canvas:#f6f7f5; --surface:#fff; --ink:#293126; --muted:#77816e;
  --line:#e5e8e2; --nav:#293126; --nav-muted:#909b83; --accent:#c9f36a;
  --green:#638846; --green-soft:#eaf3df; --red:#ad766b; --red-soft:#faf0ec;
  --blue:#638a95; --radius:10px; --shadow:0 8px 30px #2b391f0b;
  --control-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-family:var(--control-font); color-scheme:light;
}
body { font-family:var(--control-font); font-size:13px; letter-spacing:-.015em; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline-color:#87a958; }
input:focus,select:focus,textarea:focus { outline-color:#87a958; }
input[type=checkbox] { accent-color:#769a35; }
.app-shell { grid-template-columns:232px minmax(0,1fr); }
.sidebar { background:#fff; width:232px; padding:24px 14px 16px; border-right:1px solid var(--line); color:var(--ink); }
.brand { padding:0 10px; margin-bottom:24px; }
.brand-symbol { width:33px; height:33px; border-radius:10px; color:#344726; }
.brand-name { color:#293126; font-size:24px; font-weight:750; }
.brand-dot { color:#8cae43; }
.workspace-label,.nav-label { font-size:9px; letter-spacing:1.3px; color:#949d89; padding:0 11px; margin-bottom:8px; }
.workspace-label span { background:#8eab61; }
.nav-item { padding:8px 11px; gap:10px; min-height:34px; font-size:12px; line-height:18px; margin:2px 0; color:#737d69; border-radius:8px; }
.nav-item .icon { width:17px; height:17px; color:#8b9383; }
.nav-item:hover { background:#f5f7f2; color:#3f5031; }
.nav-item.active { background:#ebf3dc; color:#40592d; font-weight:600; }
.nav-item.active .icon { color:#6b8848; }
.nav-item.active:before { content:none; }
.nav-item .soon { background:#f0f3e9; color:#89967b; }
.nav-divider { margin:16px 10px; background:#edf0e8; }
.project-context { display:flex; align-items:center; gap:9px; min-height:50px; margin:0 0 13px; padding:9px 11px; border:1px solid #e4e8dc; border-radius:10px; background:linear-gradient(135deg,#fafcf6,#f4f7ef); color:#46563b; overflow:visible; }
.project-context-symbol { display:grid; place-items:center; width:30px; height:30px; flex:none; border-radius:7px; background:#e7e0d4; color:#7c715b; font:600 18px Georgia,serif; }
.project-context select { flex:1; width:0; min-width:0; min-height:30px; max-width:100%; padding:0; background:transparent; border:0; color:#46563b; font-size:12px; font-weight:600; cursor:pointer; }
.sidebar-bottom { padding:18px 10px 0; }
.storage-status { font-size:10px; color:#7b886e; }
.storage-status span { background:#86a45c; }
.topbar { height:66px; padding:0 28px; background:#fff; }
.breadcrumb { gap:10px; font-size:11px; }
.breadcrumb strong { color:#4d5a40; font-weight:550; }
.topbar-right { gap:12px; }
.avatar { background:#e9eddf; color:#697b4d; font-size:11px; }
.pilot-badge { border-color:var(--line); color:#88967b; font-size:9px; }
.content { padding:28px; }
.page-heading { align-items:center; gap:14px; margin-bottom:18px; }
.page-heading>div { min-width:0; }
h1 { color:var(--ink); font-size:25px; letter-spacing:-.8px; font-weight:650; line-height:1.3; margin-bottom:0; }
h2 { font-size:15px; font-weight:600; }
h3 { font-size:13px; font-weight:600; }
.eyebrow { color:#8b977c; font-size:10px; letter-spacing:1px; margin-bottom:5px; }
.subtitle { margin-top:6px; font-size:12px; color:var(--muted); }
.heading-actions,.actions { gap:8px; }
.button,.button.small,.frequency-page .button,.integration-project .button,.positions-page .heading-actions .button { min-height:36px; padding:0 12px; border:1px solid var(--line); border-radius:7px; background:#fff; color:#657653; font-size:12px; font-weight:500; line-height:18px; }
.button:hover,.button.small:hover { background:#f7f9f3; border-color:#d2dcc4; color:#4b6135; }
.button.primary,.button.accent { background:var(--accent); border-color:var(--accent); color:#344726; font-weight:600; }
.button.primary:hover,.button.accent:hover { background:#bde46f; border-color:#bde46f; color:#344726; }
.button.ghost { background:transparent; border-color:var(--line); color:#71805f; }
.button.ghost:hover { background:#f3f6ed; color:#50683a; }
.button.danger:not(:disabled),#app td .button.danger:not(:disabled),dialog td .button.danger:not(:disabled) { background:var(--red-soft); border-color:#ecd4ca; color:#a2655a; }
.button.danger:hover:not(:disabled),#app td .button.danger:hover:not(:disabled),dialog td .button.danger:hover:not(:disabled) { background:#f5e4dc; border-color:#ddbcad; color:#985447; }
.tv-steps .active,.tv-steps span.active,.vtw-steps [aria-current=step],.vtw-steps .button[aria-current=step] { background:#eaf1de; border-color:#d7e5c0; color:#627a40; }
.button:disabled,.button.primary:disabled,.button.accent:disabled,.button.ghost:disabled { background:#f1f3ec; border-color:#e2e7d9; color:#9aa58d; }
.icon-button { color:#7c896f; border-radius:7px; }
.icon-button:hover { background:#f0f4e8; color:#536d3c; }
.text-link { color:#68824a; font-size:12px; font-weight:500; }
.text-link:hover,.text-link:focus-visible { color:#506d35; }
.panel { margin-bottom:14px; border-radius:10px; box-shadow:0 2px 4px #273b1b02; }
.panel-header,.integration-project .panel-header { padding:12px; gap:8px; flex-wrap:wrap; }
.panel-header h2,.integration-project .panel-header h2 { font-size:13px; }
.panel-header p { font-size:12px; }
.panel-body,.integration-project .panel-body,.frequency-page .wf-collector>.panel-body { padding:12px; }
.stats { gap:12px; margin-bottom:14px; }
.stat { padding:14px 16px; border-radius:10px; }
.stat-label { font-size:11px; margin-bottom:7px; color:#7c886e; }
.stat-value { color:#3f5031; font-size:24px; font-weight:600; letter-spacing:-.6px; }
.stat-value.stat-green { color:var(--green); }
.stat-value.stat-red { color:var(--red); }
.stat-value small { font-size:11px; }
.stat-foot { color:#8a967c; font-size:11px; }
.notice,.demo-banner { margin-bottom:14px; border-radius:7px; font-size:12px; line-height:1.6; }
.notice { background:#f3f6ee; border-color:#e3e9d9; color:#748267; }
.notice.warning { background:#faf4e6; border-color:#eee2c8; color:#9b8350; }
.notice.error,.notice.service-error { background:var(--red-soft); color:#a2655a; border-color:#eed9d0; }
.project-grid,.integration-grid,.two-columns { gap:14px; }
.project-card,.integration-card { padding:16px; border-radius:10px; }
.project-card:hover { border-color:#d3ddc7; }
.project-card-head { margin-bottom:14px; }
.domain-icon,.profile-symbol,.integration-logo { background:#edf1e5; color:#7d8b65; }
.project-card h2 { font-size:17px; }
.project-card-counts { margin:16px 0; gap:22px; }
.project-card-footer { padding-top:12px; }
.domain-text { color:#839076; }
.tag { border-radius:4px; background:#eff2e9; color:#879474; }
.tag.green { background:var(--green-soft); color:var(--green); }
.integration-card h2 { margin-top:15px; }
.integration-card p { margin-bottom:12px; line-height:1.6; }
.integration-card footer { padding-top:12px; }
.profile-card { padding:12px; gap:12px; flex-wrap:wrap; }
.profile-card .actions { max-width:100%; }
.profile-description,.help-text { font-size:12px; line-height:1.6; }
.project-tabs { gap:24px; margin:0 0 14px; border-bottom-color:var(--line); }
.project-tabs a { font-size:12px; padding:8px 0 12px; }
.project-tabs a.active { color:#53693b; font-weight:600; }
.project-tabs a.active:after { background:#8bb94a; }
/* Shared toolbars. Fields and page actions are 36px; table row actions are 32px. */
.toolbar,.query-redesign .qt-topbar,.query-redesign .qt-source-strip,.query-redesign .qt-extra-filters,.query-redesign .qt-search-toolbar,.integration-project .toolbar { padding:12px; gap:8px; background:#fff; border-color:var(--line); align-items:center; }
.toolbar input,.toolbar select,.profile-strip select,.position-profile .profile-strip select,.query-redesign .qt-extra-filters .field input,.query-redesign .qt-extra-filters .field select,.query-redesign .qt-popover-content .field input,.query-redesign .qt-popover-content .field select,.query-redesign .qt-footer select { min-height:36px; height:36px; padding:0 10px; border:1px solid var(--line); border-radius:7px; background:#fff; color:#71805f; font-size:12px; line-height:18px; }
.toolbar select { max-width:100%; }
.toolbar-label,.date-pair span { font-size:12px; color:#7b886e; }
.profile-strip { margin-bottom:12px; color:#7b886e; font-size:12px; }
.position-profile .profile-strip { gap:8px; }
.query-redesign .qt-button,.query-redesign .qt-popover>summary { min-height:36px; padding:0 10px; border-radius:7px; font-size:12px; line-height:18px; }
.query-redesign .qt-tabs,.query-redesign .qt-top-actions,.query-redesign .qt-footer-actions { gap:8px; }
.query-redesign .qt-tab { min-height:36px; padding:6px 9px; color:#81916f; }
.query-redesign .qt-current { background:#ebf3dc; color:#53693b; }
.query-redesign .qt-count { background:#eef3e5; color:#7e9165; border-color:#e0e8d3; }
.query-redesign .qt-popover>summary { background:#fff; border-color:var(--line); }
.query-redesign .qt-popover>summary:hover,.query-redesign .qt-popover[open]>summary { border-color:#d2dcc4; background:#f7f9f3; }
.query-redesign .qt-chip-value { max-width:none; }
.query-redesign .qt-stale { background:#faf2de; color:#9b7e45; }
.query-redesign .qt-search { min-height:36px; height:36px; border-color:var(--line); border-radius:7px; padding:0 10px; gap:8px; }
.query-redesign .qt-search input { min-height:0; height:32px; border:0; padding:0; font-size:12px; }
.query-redesign .qt-search:focus-within { outline-color:#87a958; }
.query-redesign .qt-group { min-height:36px; height:36px; max-width:100%; border-color:var(--line); border-radius:7px; padding:0 10px; gap:8px; }
.query-redesign .qt-group select { min-height:0; height:32px; border:0; padding:0; max-width:100%; background:#fff; color:#71805f; font-size:12px; }
.query-redesign .qt-segments { min-height:36px; padding:2px; gap:1px; border-radius:7px; background:#fafbf8; border-color:var(--line); }
.query-redesign .qt-segments .qt-button { min-height:30px; padding:0 9px; border-radius:4px; font-size:12px; }
.query-redesign .qt-segments .qt-button[aria-pressed=true] { background:#eaf1de; color:#627a40; box-shadow:none; }
.query-redesign .qt-sort { color:#7c886e; font-size:11px; font-weight:500; }
.query-redesign .qt-popover-content { border-color:var(--line); box-shadow:var(--shadow); }
.query-redesign .qt-footer { padding:12px; gap:8px; font-size:11px; }
.query-redesign .qt-footer .qt-button { min-height:36px; font-size:12px; }
.query-redesign .query-selected-actions { left:calc(232px + (100vw - 232px)/2); width:min(1050px,calc(100vw - 280px)); background:#fff; border-color:#d8e3c9; box-shadow:0 8px 30px #2b391f20; }
/* One table surface across modules and dialogs; semantic status classes retain their colors. */
:where(.app-shell,dialog) table { width:100%; border-collapse:collapse; text-align:left; color:#647257; line-height:18px; }
thead { color:#7c886e; }
th { color:#7c886e; }
td { color:#647257; }
#app th,dialog th,#app .query-redesign th,#app .frequency-page [data-sem-frequency-table] th { height:42px; padding:11px 12px; border-bottom:1px solid var(--line); background:#fbfcf9; font-size:11px; font-weight:500; line-height:18px; letter-spacing:0; text-transform:none; vertical-align:middle; }
#app tbody tr,dialog tbody tr { height:48px; }
#app td,dialog td,#app .query-redesign td,#app .frequency-page [data-sem-frequency-table] td { padding:7px 12px; border-bottom:1px solid #f0f3eb; font-size:12px; line-height:18px; vertical-align:middle; }
#app tbody tr:last-child td,dialog tbody tr:last-child td { border-bottom:0; }
#app tbody tr:hover,dialog tbody tr:hover { background:#fafcf6; }
.table-wrap,.mt-landings-wrap { min-width:0; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
#app td .button,#app td .button.small,#app td .qt-button,dialog td .button { min-height:32px; padding:0 10px; border-radius:7px; font-size:12px; line-height:18px; }
#app td .button:not(:disabled),dialog td .button:not(:disabled) { background:#fff; color:#71805f; border-color:var(--line); }
#app td .button:hover:not(:disabled),dialog td .button:hover:not(:disabled) { background:#f7f9f3; border-color:#d2dcc4; }
#app td .text-link,#app td .query-button,dialog td .text-link,dialog td .query-button { min-height:0; padding:0; color:#536b3f; font-size:12px; line-height:18px; font-weight:500; }
#app .query-redesign th:first-child,#app .query-redesign td:first-child { width:34px; min-width:34px; padding-left:12px; padding-right:4px; }
#app .query-redesign th:nth-child(2),#app .query-redesign td:nth-child(2) { left:34px; }
.query-unified th:first-child,.query-unified th:nth-child(2) { background:#fbfcf9; }
.query-unified tr:hover td:first-child,.query-unified tr:hover td:nth-child(2) { background:#fafcf6; }
.query-redesign tbody tr:has(input[data-sem-field=tableRow]:checked) td { background:#f1f7e7; }
.query-redesign .query-sub { font-size:11px; line-height:16px; margin-top:3px; color:#89967b; }
#app .query-redesign td .query-button { min-height:0; }
.rank { background:#f0f3e9; color:#7b8969; }
.rank.top3,.rank.top10 { background:#e9f2de; color:#6b8b48; }
.rank.error { background:#faf0e7; color:#a17c50; }
.group-label { background:#f0f3e9; color:#7c8c68; }
.segment { background:#f6f8ef; border-color:#e2e8d5; color:#829169; }
.table-footer { padding:12px; gap:8px; font-size:11px; color:#89967b; flex-wrap:wrap; }
.field { color:#5f7050; font-size:12px; }
.field input,.field select,.field textarea { border-color:var(--line); border-radius:7px; color:#4f6440; }
.form-grid,.semantic-form-grid { gap:12px; }
.code { background:#f3f5ef; color:#657853; }
.modal-head,.modal-body { padding:20px; }
.modal-head { border-color:var(--line); }
.modal-head h2 { font-size:20px; }
dialog { border-color:var(--line); box-shadow:0 20px 90px #29322230; }
dialog::backdrop { background:#29322240; }
.drawer .modal-head,.drawer .modal-body { padding:22px; }
#toast { background:#35442a; color:#fff; }
/* The authenticated entry point shares the palette, with generous form targets. */
.auth-page { background:var(--canvas); }
.auth-brand { color:var(--ink); }
.auth-brand span { color:#8cae43; }
.auth-card { border-color:var(--line); border-radius:14px; box-shadow:0 16px 60px #2932220b; }
.auth-card input,.auth-card .button { min-height:44px; }
.auth-card .auth-submit { min-height:44px; font-size:13px; }
@media(min-width:1600px) {
  .content { padding:34px 40px; }
  .topbar { padding:0 40px; }
  #app td,dialog td,#app .query-redesign td,#app .frequency-page [data-sem-frequency-table] td,#app td .query-button,#app td .text-link { font-size:13px; }
}
@media(max-width:1150px) { .content { padding:24px; } .topbar { padding:0 24px; } }
@media(max-width:800px) {
  .app-shell { display:block; }
  .main-shell { grid-column:auto; }
  .main-shell>.topbar { display:none; }
  .content { padding:20px 16px 30px; }
  .mobile-header { background:#fff; color:#47593a; border-bottom-color:var(--line); }
  .mobile-header-context a { color:#89967b; }
  .mobile-header>.icon-button:hover { background:#f0f4e8; color:#536d3c; }
  .mobile-navigation-heading>.icon-button { color:#7c896f; }
  .mobile-navigation-heading>.icon-button:hover { background:#f0f4e8; color:#536d3c; }
  .app-shell>.sidebar .project-context { display:flex; }
  .app-shell>.sidebar .nav-item.active:before { display:none; }
  .app-shell>.sidebar .nav-item { color:#737d69; }
  .app-shell>.sidebar .nav-item.active { color:#40592d; background:#ebf3dc; }
  .app-shell>.sidebar .nav-item .label { font-size:13px; }
  .query-redesign .query-selected-actions { left:50%; width:calc(100vw - 24px); }
  .query-redesign .qt-chip-value { max-width:none; white-space:normal; overflow-wrap:anywhere; }
  #app .query-redesign th:nth-child(2),#app .query-redesign td:nth-child(2) { left:auto; }
  .page-heading { align-items:flex-start; flex-wrap:wrap; gap:12px; }
  .heading-actions { max-width:100%; }
  .toolbar { gap:8px; }
  .toolbar select { max-width:100%; }
  .position-profile .profile-strip { grid-template-columns:1fr; }
  .integration-grid,.two-columns { gap:12px; }
}
@media(max-width:480px) {
  .heading-actions .button { white-space:normal; }
  .toolbar input[type=search] { width:100%; flex-basis:100%; }
  .query-redesign .qt-search-toolbar { gap:8px; }
  .query-redesign .qt-top-actions .qt-button { min-height:36px; padding:0 10px; font-size:12px; }
}
@media(pointer:coarse) {
  .button,.button.small,.frequency-page .button,.integration-project .button,.positions-page .heading-actions .button,.query-redesign .qt-button,.query-redesign .qt-top-actions .qt-button,.query-redesign .qt-footer .qt-button,.query-redesign .qt-tab,.query-redesign .qt-popover>summary,.query-redesign .qt-segments .qt-button,#app td .button,#app td .button.small,#app td .qt-button,dialog td .button { min-height:44px; }
  .toolbar input,.toolbar select,.profile-strip select,.position-profile .profile-strip select,.query-redesign .qt-extra-filters .field input,.query-redesign .qt-extra-filters .field select,.query-redesign .qt-popover-content .field input,.query-redesign .qt-popover-content .field select,.query-redesign .qt-footer select { min-height:44px; height:auto; font-size:16px; }
  .query-redesign .qt-search,.query-redesign .qt-group { min-height:44px; height:auto; }
  .query-redesign .qt-search input,.query-redesign .qt-group select { min-height:38px; height:auto; font-size:16px; }
  .project-context select { min-height:44px; font-size:16px; }
  #app .query-redesign td .query-button,#app td .query-button,#app td .text-link,dialog td .query-button,dialog td .text-link { min-height:44px; }
}

/* Compact provenance stays available without repeating prose in every cell. */
.data-missing { color:#98a38b; }
.data-notes { margin:10px 0; font-size:12px; color:var(--muted); }
.data-notes>summary { cursor:pointer; width:fit-content; min-height:36px; padding:8px 0; color:#6f835b; }
.data-notes>p { margin:8px 0; line-height:1.6; }
@media(pointer:coarse) { .data-notes>summary { min-height:44px; padding-top:12px; padding-bottom:12px; } }

/* Native, keyboard-accessible provenance without extra labels in ordinary numeric cells. */
.cell-details>summary { cursor:pointer; list-style:none; width:fit-content; min-width:32px; min-height:32px; padding:7px 0; line-height:18px; text-decoration:underline dotted #b5c3a4; text-underline-offset:3px; }
.cell-details>summary::-webkit-details-marker { display:none; }
.numeric .cell-details>summary,.num .cell-details>summary { margin-left:auto; }
.cell-details-body { text-align:left; max-width:360px; min-width:180px; padding:10px; margin:4px 0; border:1px solid var(--line); border-radius:7px; background:#f8faf4; font-size:12px; line-height:1.6; white-space:normal; overflow-wrap:anywhere; }
.cell-details-body p { margin:6px 0 0; }
@media(pointer:coarse) { .cell-details>summary { min-width:44px; min-height:44px; padding:13px 0; } }

/* SEO work reports share the compact table and action controls above. */
.seo-results-chart { display:block; width:100%; height:auto; min-height:180px; max-height:320px; }
.results-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; }
.results-metrics .stat-card { min-width:0; padding:14px 16px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.results-metrics .stat-card strong { display:block; margin-top:8px; font-size:26px; line-height:1.15; color:var(--ink); }
.seo-results-page .panel>p,.seo-results-page .panel>.data-notes,.seo-results-page .panel>.notice,.seo-results-page .panel>.results-metrics { margin:12px 16px; }
.seo-results-page .panel>.seo-results-chart { width:calc(100% - 32px); margin:12px 16px; }
.page-audit-page .detail-kv dd,.seo-results-page .detail-kv dd { overflow-wrap:anywhere; min-width:0; }
@media(max-width:600px) { .results-metrics { grid-template-columns:1fr; } .seo-results-chart { min-height:130px; } }
