:root{color-scheme:light;--bg:#f5f6f3;--surface:#fff;--text:#1b2a23;--muted:#66756b;--line:#e2e7df;--green:#256647;--light:#edf5e9;--dark:#172f28;--danger:#a83c37;--orange:#8a5a14;--shadow:0 8px 30px #233f2410;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;font-size:14px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #79aa7d;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.2;letter-spacing:-1px;font-weight:650}h2{font-size:17px;letter-spacing:-.3px;font-weight:650}h3{font-size:15px}small,.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:10px;top:-60px;z-index:99;padding:12px;background:white}.skip-link:focus{top:10px}.startup{min-height:100vh;display:grid;place-content:center;text-align:center;gap:15px}.startup .brand-mark{margin:auto}.brand-mark{display:block;flex-shrink:0;width:34px;height:34px;border-radius:11px;overflow:hidden}.brand-mark svg{display:block;width:100%;height:100%}.wordmark{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.6px}.wordmark small{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;font-weight:500}.layout{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--dark);color:#e8f1e9;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 18px}.sidebar .wordmark{padding:0 12px 28px}.sidebar .wordmark small{color:#b3c7b9}.nav-label{font-size:10px;letter-spacing:1.5px;color:#9ab4a6;padding:20px 14px 9px;text-transform:uppercase}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 13px;margin:3px 0;color:#bbcec0;border-radius:7px;font-size:13px;font-weight:500}.nav-link:hover{color:white;background:#ffffff0c;text-decoration:none}.nav-link.active{background:#a9e6b5;color:#172f28}.nav-icon{font-size:17px;line-height:1;width:20px;text-align:center}.sidebar-footer{margin-top:auto;border-top:1px solid #ffffff1c;padding-top:18px}.user-card{display:flex;gap:10px;align-items:center;min-width:0;padding:8px}.user-card strong{display:block;font-size:12px;max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card small{font-size:11px;color:#a9bdaf}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffffff18;color:#d9e9dc;font-weight:600;flex-shrink:0}.logout{width:100%;text-align:left;border:0;background:none;color:#c0cec2;font-size:12px;padding:10px 12px}.page{min-width:0}.topbar{height:70px;background:#ffffffb8;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:15px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb strong{color:var(--text);font-weight:500}.topbar-right{display:flex;align-items:center;gap:16px;font-size:11px;color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#478a50;margin-right:6px}.main{padding:32px 34px;max-width:1720px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.subtitle{color:var(--muted);font-size:12px;margin-top:8px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:7px;padding:9px 14px;background:white;color:var(--text);font-weight:550;font-size:12px;white-space:nowrap;min-height:38px}.btn:hover{background:#f0f3ed;text-decoration:none}.btn.primary{background:var(--dark);border-color:var(--dark);color:white}.btn.primary:hover{background:#264c3c}.btn.danger{border-color:#eed0cb;color:var(--danger)}.btn.small{padding:6px 10px;min-height:32px;font-size:11px}.btn.icon{width:38px;padding:8px}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;padding:16px 0 22px}.filter-field{display:flex;flex-direction:column;gap:5px;min-width:150px}.filter-field label{font-size:10px;letter-spacing:.5px;color:var(--muted)}input,select,textarea{background:white;border:1px solid #d9e0d5;border-radius:6px;padding:9px 11px;min-height:38px;color:var(--text);width:100%}select{padding-right:25px}textarea{resize:vertical;min-height:100px}input::placeholder{color:#91a091}.search{position:relative;flex:1;max-width:300px;min-width:170px}.search input{padding-left:32px}.search:before{content:'⌕';position:absolute;left:12px;top:5px;font-size:20px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:19px 20px;position:relative;overflow:hidden}.stat-label{font-size:11px;color:var(--muted);font-weight:500}.stat-value{font-size:33px;line-height:1.25;font-weight:650;letter-spacing:-1px;margin:12px 0 8px;font-variant-numeric:tabular-nums}.stat-note{font-size:10px;color:var(--muted)}.stat-icon{position:absolute;right:18px;top:17px;border:1px solid var(--line);border-radius:7px;width:29px;height:29px;display:grid;place-items:center;color:var(--green);font-size:15px}.stat.featured{background:var(--light);border-color:#d2e3c9}.stat.featured .stat-icon{border-color:#c6daba}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;margin-bottom:20px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line);gap:15px}.panel-head p{color:var(--muted);font-size:11px;margin-top:5px}.panel-content{padding:22px}.two-col{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:20px}.badge{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;border-radius:5px;padding:3px 7px;background:#edf3ea;color:#35613c;font-size:10px;font-weight:550;line-height:1.5}.badge.tracking-active{background:#e3efdc;color:#2f6a2f;font-weight:600}.badge.tracking-active .st-dot{width:7px;height:7px;border-radius:50%;background:#4a9c4a;display:inline-block;flex-shrink:0}.badge.tracking-paused{background:#fbead1;color:#9a5b13;font-weight:600}.badge.tracking-paused .st-pause{width:7px;height:10px;display:inline-block;flex-shrink:0;background:linear-gradient(to right,currentColor 0 2.5px,transparent 2.5px 4.5px,currentColor 4.5px 7px);border-radius:1px}.badge.neutral{color:#607264;background:#f1f3ef}.badge.warn{background:#fbf1dd;color:var(--orange)}.badge.error{background:#fbe9e7;color:var(--danger)}.notice{padding:12px 15px;border:1px solid #e8d9b4;border-radius:7px;background:#fffaee;color:#80591e;margin-bottom:20px;font-size:12px}.notice.info{background:#edf4ee;border-color:#d7e3d6;color:#415e45}.notice.error{background:#fff1ef;color:#993b32;border-color:#edcdc7}.notice strong{font-weight:600}.chart-wrap{padding:18px 18px 5px}.chart{width:100%;height:auto;max-height:230px;display:block}.chart text{font:10px ui-sans-serif,system-ui;fill:#7e897b}.chart .grid{stroke:#edf0e9;stroke-width:1}.chart .line{fill:none;stroke:#467c45;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart .area{fill:#e8f0e2}.chart circle{fill:#467c45;stroke:white;stroke-width:2}.chart-note{font-size:10px;color:var(--muted);padding:8px 22px 16px}.legend{display:flex;gap:16px;font-size:10px;color:var(--muted);align-items:center}.legend span:before{content:'';display:inline-block;width:7px;height:7px;background:#467c45;border-radius:50%;margin-right:6px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:12px}th{background:#fafbf8;color:#7a8577;font-size:10px;letter-spacing:.4px;text-transform:uppercase;font-weight:500;padding:12px 20px;border-bottom:1px solid var(--line)}td{padding:14px 20px;border-bottom:1px solid #edf0e9}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcf9}.cell-title{font-weight:550;color:var(--text)}.cell-sub{font-size:10px;color:var(--muted);margin-top:3px}.rank{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}.rank.top{color:var(--green)}.movement{font-size:11px;font-weight:600}.movement.up{color:#307043}.movement.down{color:#a3483c}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.empty{text-align:center;padding:44px 24px;color:var(--muted)}.empty-icon{width:42px;height:42px;border:1px solid var(--line);background:#f7f9f4;display:grid;place-items:center;border-radius:10px;margin:0 auto 12px;font-size:20px;color:#789472}.empty strong{display:block;color:#42553f;font-size:13px;font-weight:550;margin-bottom:6px}.empty p{font-size:12px;max-width:410px;margin:auto}.panel-footer{border-top:1px solid var(--line);padding:12px 20px;font-size:10px;color:var(--muted)}.mover{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #edf0e9;gap:12px}.mover:last-child{border-bottom:0}.mover-name{font-size:12px;font-weight:550}.mover small{font-size:10px}.stack{display:flex;flex-direction:column;gap:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:12px;font-weight:550}.form-field small{font-size:11px}.form-field.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.form-error{font-size:12px;color:var(--danger);margin:12px 0}.checks{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:240px;overflow:auto;padding:8px 0}.check{display:flex;gap:8px;align-items:flex-start;font-size:12px}.check input{width:16px;height:16px;min-height:0;margin-top:3px;accent-color:var(--green)}.check label{overflow-wrap:anywhere}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.setting-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.setting-row:last-child{border:0}.setting-row span:first-child{color:var(--muted)}dialog{padding:0;border:1px solid var(--line);border-radius:12px;max-width:580px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 25px 100px #0004;color:var(--text)}dialog::backdrop{background:#10251dc0}dialog .dialog-head{padding:22px 24px 18px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}dialog .dialog-body{padding:22px 24px}dialog .dialog-head p{font-size:12px;color:var(--muted);margin-top:4px}#toast{position:fixed;bottom:22px;right:22px;z-index:10;padding:13px 18px;border-radius:8px;background:var(--dark);color:white;box-shadow:var(--shadow);font-size:12px;max-width:400px}#toast.error{background:#913e36}.login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh}.login-story{background:var(--dark);padding:48px 60px;color:#e4f0e5;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story:after{content:'';position:absolute;border:1px solid #ffffff12;border-radius:50%;width:700px;height:700px;bottom:-420px;right:-270px;pointer-events:none}.login-copy{margin:70px 0}.login-copy .eyebrow{color:#a9c3af}.login-copy h1{font-size:clamp(32px,3.5vw,52px);line-height:1.15;font-weight:500;letter-spacing:-1.8px;max-width:480px}.login-copy h1 em{font-style:normal;color:#a9e6b5}.login-copy p{font-size:14px;color:#b6cab9;max-width:390px;line-height:1.8;margin-top:24px}.mini-bars{display:flex;align-items:end;gap:12px;height:150px;margin:38px 0;max-width:370px}.mini-bars span{flex:1;border-radius:5px 5px 0 0;background:#a9e6b530;height:30%}.mini-bars span:nth-child(2){height:42%}.mini-bars span:nth-child(3){height:36%}.mini-bars span:nth-child(4){height:63%}.mini-bars span:nth-child(5){height:55%}.mini-bars span:nth-child(6){height:79%}.mini-bars span:nth-child(7){height:100%;background:#a9e6b5}.login-bottom{font-size:11px;color:#a6bcae}.login-form-panel{display:grid;place-items:center;padding:50px 24px;background:#f8faf5}.login-form{width:100%;max-width:360px}.login-form h2{font-size:25px;letter-spacing:-.7px;margin-bottom:7px}.login-form>.muted{font-size:13px;margin-bottom:32px}.login-form .form-field{margin-bottom:20px}.login-form .btn{width:100%;margin-top:6px;min-height:43px}.login-foot{font-size:11px;color:var(--muted);margin-top:24px;text-align:center}.skeleton{padding:60px;text-align:center;color:var(--muted);font-size:13px}.detail-meta{display:flex;gap:25px;flex-wrap:wrap;margin:16px 0;font-size:12px}.detail-meta span{color:var(--muted)}.detail-meta strong{display:block;color:var(--text);font-weight:550;margin-top:3px}.section-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:20px}.section-tabs .btn{border:0;border-radius:6px 6px 0 0;background:transparent;color:var(--muted)}.section-tabs .btn.selected{color:var(--green);border-bottom:2px solid var(--green)}.mobile-toggle{display:none}.live-note{display:flex;align-items:center;gap:7px}.live-note .dot{margin:0}.footer-note{font-size:10px;color:#87917f;margin-top:26px;display:flex;justify-content:space-between;gap:15px}.role-permissions{font-family:ui-monospace,monospace;font-size:10px;color:var(--muted);white-space:normal;max-width:480px}.checklist-line{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:12px;border-bottom:1px solid var(--line);font-size:12px}.checklist-line:last-child{border:0}summary{cursor:pointer;color:var(--green);font-size:11px}.link-button{background:none;border:0;padding:0;color:var(--green);font:inherit;text-align:left}.link-button:hover{text-decoration:underline}
@media(min-width:1450px){.main{padding:36px 46px}.topbar{padding:0 46px}.stats{gap:20px}.stat{padding:23px}}
@media(max-width:1100px){.layout{grid-template-columns:198px 1fr}.sidebar{padding:25px 12px}.main{padding:24px}.topbar{padding:0 24px}.two-col,.settings-grid{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:16px}.stat-value{font-size:28px}.stat-icon{display:none}.login-story{padding:40px}}
@media(max-width:760px){.layout{display:block}.sidebar{position:fixed;left:-240px;width:232px;z-index:5;transition:left .18s}.layout.menu-open .sidebar{left:0;box-shadow:10px 0 70px #0004}.topbar{height:58px;padding:0 18px}.topbar-right .date-label{display:none}.mobile-toggle{display:inline-flex}.main{padding:22px 16px}.heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:18px}h1{font-size:25px}.heading .actions{width:100%}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:15px}.stat-note{font-size:9px}.filters{gap:8px}.filter-field{min-width:calc(50% - 8px);flex:1}.search{max-width:100%;min-width:100%}.panel-head{padding:17px}.panel-content{padding:17px}th,td{padding:12px 15px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.domain-performance{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.checks{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr}.login-story{padding:28px;min-height:220px}.login-copy{margin:30px 0 10px}.login-copy h1{font-size:30px;max-width:350px}.login-copy p,.mini-bars,.login-bottom{display:none}.login-form-panel{padding:42px 25px}.footer-note{flex-direction:column;gap:4px}.topbar-right{gap:8px}.settings-grid{gap:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.sidebar{overflow-y:auto;min-height:0}.sidebar-footer{flex-shrink:0}.nav-label{flex-shrink:0}.sidebar nav{flex-shrink:0}.wordmark small{display:block}.sidebar .wordmark{line-height:1.6}body{--muted:#58695d}.footer-note{color:#61705e}th{color:#5f705b}.chart text{fill:#5f705b}.filter-field{min-width:140px;max-width:260px}.filter-field:has(#filter-brand){max-width:320px}.filter-field:has(input[type=date]){min-width:145px;max-width:155px}.sidebar .nav-link{color:#c3d4c7}.sidebar .nav-link.active{color:#172f28}.sidebar-footer{background:var(--dark)}

.serp-result{display:flex;gap:14px;align-items:flex-start;padding:14px 22px;border-bottom:1px solid var(--line)}
.serp-result:last-child{border-bottom:0}
.serp-result.tracked{background:var(--light)}
.serp-rank{display:grid;place-items:center;flex-shrink:0;min-width:30px;height:30px;border-radius:8px;background:var(--dark);color:#fff;font-weight:650;font-size:13px;font-variant-numeric:tabular-nums}
.serp-result.tracked .serp-rank{background:var(--green)}
.serp-result-main{min-width:0}
.serp-result-title{font-size:13px;font-weight:550;overflow-wrap:anywhere}
.serp-result-title a{color:var(--text)}
.serp-result-host{font-size:11px;color:var(--muted);margin-top:2px;display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}
.serp-result-snippet{font-size:12px;color:var(--muted);margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.serp-summary{display:flex;gap:22px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}
.serp-summary strong{display:block;color:var(--text);font-size:12px;margin-top:2px}
.serp-summary .serp-keyword-indicator{flex:0 1 auto;min-width:min(100%,220px);max-width:360px;overflow-wrap:anywhere}
.serp-summary .serp-keyword-indicator strong{overflow-wrap:anywhere}
.keyword-serp-results{scroll-margin-top:16px}
.overview-scope-note{margin:-8px 0 20px;color:var(--muted);font-size:11px}
.overview-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:20px;margin-bottom:20px;align-items:stretch}
.overview-layout>.panel{margin-bottom:0}
.overview-layout .chart text{font-size:13px}
.overview-layout .chart-note{font-size:11px}
.overview-quality-panel{display:flex;flex-direction:column}
.overview-quality-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin:0;padding:18px 20px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.overview-quality-summary dt{font-size:11px;color:var(--muted)}
.overview-quality-summary dd{margin:4px 0 0;font-size:21px;line-height:1.25;font-weight:600}
.overview-quality-results{flex:1;min-height:0;max-height:380px;overflow-y:auto;scrollbar-width:thin}
.overview-quality-results:has(>.empty){display:flex;align-items:center;max-height:none}
.overview-quality-results>.empty{width:100%}
.overview-quality-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:auto;padding:16px 20px;border-top:1px solid var(--line)}
.overview-quality-footer p{flex:1 1 180px;font-size:11px;color:var(--muted)}
.overview-attention-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 20px;border-bottom:1px solid var(--line);font-size:12px}
.overview-attention-item:last-child{border-bottom:0}
.overview-attention-item .cell-title,.overview-attention-item strong{overflow-wrap:anywhere}
.overview-trend-data{border-top:1px solid var(--line);padding:14px 20px}
.overview-trend-data>h3{margin-bottom:12px;font-size:13px}
.overview-trend-data .table-scroll{max-height:280px}
.overview-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:20px 22px}
.overview-health-grid span{display:block;color:var(--muted);font-size:11px}
.overview-health-grid strong{display:block;margin-top:6px;font-size:12px;font-weight:550;overflow-wrap:anywhere}
@media(max-width:1100px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-layout{grid-template-columns:minmax(0,1fr)}.overview-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-quality-results{max-height:none}}
@media(max-width:520px){.overview-health-grid{padding:17px;gap:18px 14px}.overview-attention-item{padding:14px 17px}.overview-filters .filter-field:has(input[type=date]){min-width:calc(50% - 8px);max-width:none}.overview-filters .filter-field{max-width:none}.overview-attention-item .badge{max-width:140px;white-space:normal}.overview-scope-note{margin-top:-6px}}
@media(max-width:520px){.overview-layout .chart text{font-size:22px}}
@media(max-width:360px){.overview-layout .chart text{font-size:26px}}
.serp-tracked{align-self:start}



/* Manual theme tokens: the saved choice is applied on <html> before CSS loads. */
:root {
  color-scheme: light;
  --bg-primary: #f5f6f3;
  --bg-secondary: #edf2eb;
  --surface: #ffffff;
  --surface-raised: #ffffff;
  --text-primary: #1b2a23;
  --text-secondary: #58695d;
  --border-color: #e2e7df;
  --table-header-bg: #f0f3ed;
  --table-row-bg: #ffffff;
  --table-row-hover: #edf5e9;
  --button-primary-bg: #256647;
  --button-primary-hover: #1d533a;
  --button-primary-text: #ffffff;
  --button-secondary-bg: #ffffff;
  --button-secondary-hover: #f0f3ed;
  --input-bg: #ffffff;
  --input-border: #7b8b80;
  --focus-ring: #256647;
  --sidebar-bg: #ffffff;
  --sidebar-text: #1b2a23;
  --sidebar-muted: #58695d;
  --sidebar-nav-text: #263b30;
  --sidebar-nav-hover-bg: #eaf3ec;
  --sidebar-nav-active-bg: #236447;
  --sidebar-nav-active-text: #ffffff;
  --link-color: #256647;
  --badge-success-bg: #edf3ea;
  --badge-success-text: #35613c;
  --badge-neutral-bg: #f1f3ef;
  --badge-neutral-text: #526257;
  --badge-warn-bg: #fbf1dd;
  --badge-warn-text: #80530f;
  --badge-error-bg: #fbe9e7;
  --badge-error-text: #963b35;
  --notice-bg: #fffaee;
  --notice-border: #e8d9b4;
  --notice-text: #80591e;
  --notice-info-bg: #edf4ee;
  --notice-info-border: #d7e3d6;
  --notice-info-text: #415e45;
  --notice-error-bg: #fff1ef;
  --notice-error-border: #edcdc7;
  --notice-error-text: #993b32;
  --placeholder: #58695d;
  --danger: #a83c37;
  --danger-border: #eed0cb;
  --focus: var(--focus-ring);
  --control-bg: var(--input-bg);
  --control-border: var(--input-border);
  --control-hover: var(--button-secondary-hover);
  --table-head-bg: var(--table-header-bg);
  --table-border: var(--border-color);
  --featured-border: #d2e3c9;
  --featured-icon-border: #c6daba;
  --light: var(--bg-secondary);
  --dark: #172f28;
  --bg: var(--bg-primary);
  --text: var(--text-primary);
  --muted: var(--text-secondary);
  --line: var(--border-color);
  --green: var(--link-color);
  --orange: #80530f;
  --shadow: 0 8px 30px #233f2410;
  --login-story-bg: #e8f0e6;
  --login-story-text: #1b2a23;
  --login-story-muted: #58695d;
  --login-eyebrow: #35613c;
  --login-highlight: #256647;
  --login-decoration: #25664720;
  --login-bar: #25664730;
  --login-bar-strong: #256647;
  --toast-bg: #172f28;
  --toast-text: #ffffff;
  --toast-error-bg: #913e36;
  --rank-bg: #edf5e9;
  --rank-text: #256647;
  --empty-icon-bg: #f0f4ed;
  --empty-icon-text: #526b50;
  --chart-label: #66756b;
  --chart-grid: #e4e9e1;
  --chart-line: #467c45;
  --chart-area: #e8f0e2;
  --chart-point: #467c45;
  --chart-point-border: #ffffff;
  --footer-text: #61705e;
  --focus-shadow: 0 0 0 3px #25664730;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg-primary: #111914;
  --bg-secondary: #1e2b22;
  --surface: #19231d;
  --surface-raised: #202c24;
  --text-primary: #e5eee7;
  --text-secondary: #b0c0b4;
  --border-color: #33443a;
  --table-header-bg: #223329;
  --table-row-bg: #19231d;
  --table-row-hover: #26382c;
  --button-primary-bg: #a9e6b5;
  --button-primary-hover: #b9edc3;
  --button-primary-text: #14251a;
  --button-secondary-bg: #202c24;
  --button-secondary-hover: #2b3a30;
  --input-bg: #17221b;
  --input-border: #617969;
  --focus-ring: #a9e6b5;
  --sidebar-bg: #13231a;
  --sidebar-text: #e5eee7;
  --sidebar-muted: #b0c0b4;
  --sidebar-nav-text: #c3d4c7;
  --sidebar-nav-hover-bg: #2b3a30;
  --sidebar-nav-active-bg: #a9e6b5;
  --sidebar-nav-active-text: #172f28;
  --link-color: #a9e6b5;
  --badge-success-bg: #293b30;
  --badge-success-text: #c1e3c8;
  --badge-neutral-bg: #27322b;
  --badge-neutral-text: #bdc9bf;
  --badge-warn-bg: #3b321f;
  --badge-warn-text: #f0cb85;
  --badge-error-bg: #402522;
  --badge-error-text: #ffaaa1;
  --notice-bg: #342c1d;
  --notice-border: #584a2c;
  --notice-text: #f0d49a;
  --notice-info-bg: #203328;
  --notice-info-border: #365642;
  --notice-info-text: #bce0c3;
  --notice-error-bg: #402522;
  --notice-error-border: #683e38;
  --notice-error-text: #ffaaa1;
  --placeholder: #b0c0b4;
  --danger: #ffaaa1;
  --danger-border: #683e38;
  --focus: var(--focus-ring);
  --control-bg: var(--input-bg);
  --control-border: var(--input-border);
  --control-hover: var(--button-secondary-hover);
  --table-head-bg: var(--table-header-bg);
  --table-border: var(--border-color);
  --featured-border: var(--border-color);
  --featured-icon-border: #53685a;
  --light: var(--bg-secondary);
  --dark: #13231a;
  --bg: var(--bg-primary);
  --text: var(--text-primary);
  --muted: var(--text-secondary);
  --line: var(--border-color);
  --green: var(--link-color);
  --orange: #f0cb85;
  --shadow: 0 8px 30px #0006;
  --login-story-bg: #13231a;
  --login-story-text: #e4f0e5;
  --login-story-muted: #b6cab9;
  --login-eyebrow: #a9c3af;
  --login-highlight: #a9e6b5;
  --login-decoration: #ffffff12;
  --login-bar: #a9e6b530;
  --login-bar-strong: #a9e6b5;
  --toast-bg: #13231a;
  --toast-text: #ffffff;
  --toast-error-bg: #913e36;
  --rank-bg: #26382c;
  --rank-text: #a9e6b5;
  --empty-icon-bg: #26342a;
  --empty-icon-text: #b8d6bc;
  --chart-label: #b0c0b4;
  --chart-grid: #304137;
  --chart-line: #a1ddb0;
  --chart-area: #26382c;
  --chart-point: #a1ddb0;
  --chart-point-border: #19231d;
  --footer-text: #b0c0b4;
  --focus-shadow: 0 0 0 3px #a9e6b530;
}

html { color-scheme: light; background: var(--bg-primary); }
html[data-theme="dark"] { color-scheme: dark; }
html:not([data-theme]) body { visibility: hidden; }
body { background: var(--bg-primary); color: var(--text-primary); --muted: var(--text-secondary); }
a, summary, .link-button { color: var(--link-color); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 3px;
  box-shadow: var(--focus-shadow);
}
.skip-link { background: var(--surface); color: var(--text-primary); }
.sidebar { background: var(--sidebar-bg); color: var(--sidebar-text); }
.sidebar .wordmark small, .user-card small, .nav-label { color: var(--sidebar-muted); }
.sidebar .nav-link { color: var(--sidebar-nav-text); opacity: 1; }
.sidebar .nav-link .nav-icon { color: currentColor; opacity: 1; }
.sidebar .nav-link:hover { color: var(--sidebar-nav-text); background: var(--sidebar-nav-hover-bg); text-decoration: none; }
.sidebar .nav-link.active,
.sidebar .nav-link.active:hover { background: var(--sidebar-nav-active-bg); color: var(--sidebar-nav-active-text); }
.sidebar .nav-link:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.sidebar-footer { border-top-color: var(--border-color); background: var(--sidebar-bg); }
.avatar { background: var(--button-secondary-hover); color: var(--sidebar-text); }
.logout { color: var(--sidebar-muted); }
.logout:hover { background: var(--button-secondary-hover); color: var(--sidebar-text); }
.topbar { background: var(--surface); border-bottom-color: var(--border-color); }
.topbar-right { color: var(--text-secondary); }
.btn:not(.primary) { background: var(--button-secondary-bg); border-color: var(--input-border); color: var(--text-primary); }
.btn:not(.primary):hover { background: var(--button-secondary-hover); }
.btn.primary { background: var(--button-primary-bg); border-color: var(--button-primary-bg); color: var(--button-primary-text); }
.btn.primary:hover { background: var(--button-primary-hover); border-color: var(--button-primary-hover); }
.btn.danger { color: var(--danger); border-color: var(--danger-border); }
.btn.icon { min-width: 38px; }
.theme-toggle { color: var(--text-primary); }
.theme-icon { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
input, select, textarea { background: var(--input-bg); border-color: var(--input-border); color: var(--text-primary); }
input::placeholder, textarea::placeholder { color: var(--placeholder); opacity: 1; }
option { background: var(--input-bg); color: var(--text-primary); }
.stat, .panel { background: var(--surface); border-color: var(--border-color); }
.stat.featured { background: var(--bg-secondary); border-color: var(--featured-border); }
.stat-icon { border-color: var(--featured-icon-border); color: var(--link-color); }
.stat.featured .stat-icon { border-color: var(--featured-icon-border); }
.panel-head, .setting-row, .section-tabs, .table-footer { border-color: var(--border-color); }
.badge { background: var(--badge-success-bg); color: var(--badge-success-text); }
.badge.neutral { background: var(--badge-neutral-bg); color: var(--badge-neutral-text); }
.badge.warn { background: var(--badge-warn-bg); color: var(--badge-warn-text); }
.badge.error { background: var(--badge-error-bg); color: var(--badge-error-text); }
.notice { background: var(--notice-bg); border-color: var(--notice-border); color: var(--notice-text); }
.notice.info { background: var(--notice-info-bg); border-color: var(--notice-info-border); color: var(--notice-info-text); }
.notice.error { background: var(--notice-error-bg); border-color: var(--notice-error-border); color: var(--notice-error-text); }
.chart text { fill: var(--chart-label); }
.chart .grid { stroke: var(--chart-grid); }
.chart .line { stroke: var(--chart-line); }
.chart .area { fill: var(--chart-area); }
.chart circle { fill: var(--chart-point); stroke: var(--chart-point-border); }
th { background: var(--table-header-bg); color: var(--text-secondary); border-bottom-color: var(--border-color); }
tbody tr { background: var(--table-row-bg); }
td, .mover { border-bottom-color: var(--border-color); }
tbody tr:hover { background: var(--table-row-hover); }
.empty { color: var(--text-secondary); }
.empty-icon { background: var(--empty-icon-bg); border-color: var(--border-color); color: var(--empty-icon-text); }
.empty strong { color: var(--text-primary); }
.mover { border-bottom-color: var(--border-color); }
.setting-row { border-bottom-color: var(--border-color); }
dialog { background: var(--surface-raised); border-color: var(--border-color); color: var(--text-primary); }
dialog .dialog-head { border-bottom-color: var(--border-color); }
#toast { background: var(--toast-bg); color: var(--toast-text); }
#toast.error { background: var(--toast-error-bg); color: #ffffff; }
.login-form-panel { position: relative; background: var(--bg-primary); }
.login-story { background: var(--login-story-bg); color: var(--login-story-text); }
.login-story:after { border-color: var(--login-decoration); }
.login-copy .eyebrow { color: var(--login-eyebrow); }
.login-copy h1 em { color: var(--login-highlight); }
.login-copy p { color: var(--login-story-muted); }
.login-bottom { color: var(--login-story-muted); }
.mini-bars span { background: var(--login-bar); }
.mini-bars span:nth-child(7) { background: var(--login-bar-strong); }
.login-theme-toggle { position: absolute; top: 24px; right: 24px; z-index: 1; }
.footer-note { color: var(--footer-text); }
.serp-result { background: var(--surface); border-color: var(--border-color); }
.section-tabs .btn:not(.primary) { background: transparent; color: var(--text-secondary); }
.section-tabs .btn:not(.primary):hover { background: var(--button-secondary-hover); }
.section-tabs .btn:not(.primary).selected { color: var(--link-color); }
.rank.top, .movement.up { color: var(--link-color); }
.movement.down { color: var(--danger); }
.form-error { color: var(--danger); }
.dot { background: var(--link-color); }

@media(max-width:760px) {
  .login-theme-toggle { top: 14px; right: 14px; }
  .topbar-right { gap: 7px; }
}

.multi-select { width: 100%; min-width: 0; anchor-scope: --multi-select-anchor; }
.multi-select-control { anchor-name: --multi-select-anchor; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; min-height: 44px; max-height: 116px; overflow: auto; overscroll-behavior: contain; padding: 6px 8px; border: 1px solid var(--input-border); border-radius: 6px; background: var(--input-bg); }
.multi-select-control:focus-within { border-color: var(--focus-ring); box-shadow: var(--focus-shadow); }
.multi-select.is-disabled .multi-select-control { background: var(--bg-secondary); cursor: not-allowed; }
.multi-select-chips { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; min-width: 0; max-width: 100%; }
.multi-select-chip { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; padding: 3px 5px 3px 9px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-secondary); color: var(--text-primary); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.multi-select-chip-remove { display: inline-grid; place-items: center; flex: 0 0 24px; width: 24px; min-height: 24px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--text-secondary); font-size: 17px; line-height: 1; }
.multi-select-chip-remove:hover { background: var(--button-secondary-hover); color: var(--text-primary); }
.multi-select-search { flex: 1 1 120px; width: auto; min-width: 90px; min-height: 32px; padding: 5px 6px; border: 0; border-radius: 0; outline: 0; background: transparent; color: var(--text-primary); box-shadow: none; }
.multi-select-search:focus, .multi-select-search:focus-visible { border: 0; outline: 0; background: transparent; box-shadow: none; }
.multi-select-dropdown-toggle { display: inline-grid; place-items: center; flex: 0 0 30px; width: 30px; min-height: 30px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--text-secondary); font-size: 16px; }
.multi-select-dropdown-toggle:hover { background: var(--button-secondary-hover); color: var(--text-primary); }
.multi-select-option-list { position: fixed; inset: auto; position-anchor: --multi-select-anchor; position-area: block-end; justify-self: anchor-center; align-self: start; margin-block-start: 4px; width: anchor-size(width); z-index: 1000; display: grid; gap: 3px; max-width: calc(100vw - 16px); max-height: min(220px, calc(100dvh - 16px)); overflow: auto; overscroll-behavior: contain; margin-inline: 0; margin-block-end: 0; padding: 6px; border: 1px solid var(--border-color); border-radius: 6px; background: var(--surface-raised); color: var(--text-primary); box-shadow: var(--shadow); }
.multi-select-option-list[data-placement="above"] { position-area: block-start; align-self: end; margin-block-start: 0; margin-block-end: 4px; }
.multi-select-option-list[data-max-height="180"] { max-height: 180px; }
.multi-select-option-list[data-max-height="140"] { max-height: 140px; }
.multi-select-option-list[data-max-height="100"] { max-height: 100px; }
.multi-select-option-list[data-max-height="64"] { max-height: 64px; }
.multi-select-option-list[data-max-height="40"] { max-height: 40px; }
.multi-select-option-list[data-max-height="24"] { max-height: 24px; }
.multi-select-option-list[data-max-height="16"] { max-height: 16px; }
.multi-select-option-list[data-max-height="8"] { max-height: 8px; padding-block: 0; border-block-width: 0; }
.multi-select-option-list[data-max-height="0"] { max-height: 0; padding-block: 0; border-block-width: 0; }
.multi-select-option-list[hidden] { display: none; }
.multi-select.is-open .multi-select-control { position: relative; z-index: 1; }
.multi-select-option { width: 100%; min-height: 36px; padding: 8px 10px; border: 0; border-radius: 4px; background: transparent; color: var(--text-primary); text-align: left; font-size: 12px; }
.multi-select-option:hover, .multi-select-option:focus-visible { background: var(--button-secondary-hover); color: var(--text-primary); }
.multi-select-option-empty { padding: 8px 10px; color: var(--text-secondary); font-size: 12px; }
.serp-date-box{display:flex;align-items:center;gap:8px;flex-shrink:0}
.serp-picker-group{display:flex;align-items:center;gap:10px;flex-shrink:0;flex-wrap:wrap}
.serp-date-label{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
select.serp-date{width:auto;max-width:170px;min-height:34px;padding:7px 28px 7px 11px;font-size:12px;background-image:none}
@media(max-width:760px){.serp-date-box{width:100%;justify-content:flex-end}}
.panel-head:has(.serp-date-box){flex-wrap:wrap}

.cell-actions{display:flex;gap:4px}

/* Domain Detail filters and chart use existing surfaces and theme variables. */
.domain-picker-group{display:flex;align-items:end;gap:10px;flex-wrap:wrap;min-width:0}
.domain-select-box{display:flex;flex-direction:column;gap:4px;min-width:0}
.domain-select-box label{font-size:10px;color:var(--muted)}
select.domain-select{width:auto;max-width:170px}
.panel-head:has(.domain-select-box){flex-wrap:wrap}
.domain-chart-legend{display:flex;flex-wrap:wrap;gap:8px 18px;padding:8px 22px;color:var(--text);font-size:11px}
.domain-chart-legend span{display:flex;align-items:center;gap:6px;overflow-wrap:anywhere;min-width:0}
.domain-chart-legend i{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.domain-stats .stat:last-child .stat-value{font-size:18px;letter-spacing:0;overflow-wrap:anywhere}

/* Keyword filters follow existing responsive surfaces and theme tokens. */
select.keyword-select{width:auto;max-width:170px}
.keyword-filters{flex-wrap:wrap}
@media(max-width:760px){.keyword-filters select.keyword-select{max-width:100%;width:100%}}
.domain-performance{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:20px;padding:20px}
.domain-performance-chart{min-width:0}.domain-performance-chart .chart-wrap{padding:0}.domain-performance-chart .chart{max-height:280px}.domain-performance-chart .empty{padding:28px 16px}.domain-performance .chart-note{padding:10px 0}
.domain-insights{min-width:0;border-left:1px solid var(--line);padding-left:20px}.domain-insights dl{margin:0}.domain-insights dl>div{padding:10px 0;border-bottom:1px solid var(--line)}.domain-insights dt{color:var(--muted);font-size:12px}.domain-insights dd{margin:4px 0 0;font-weight:600;overflow-wrap:anywhere}
.domain-series-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:6px 9px}.domain-series-toggle i{width:9px;height:9px;border-radius:50%}.domain-series-toggle[aria-pressed=false]{text-decoration:line-through;opacity:.6}
.domain-timeline-rows{max-height:420px;overflow:auto}.domain-timeline-row{padding:12px 0;border-bottom:1px solid var(--line)}.domain-timeline-row strong{overflow-wrap:anywhere}.domain-timeline-row small{font-weight:400}.domain-performance-chart .domain-timeline{width:100%;height:auto;min-width:360px;max-height:none}.domain-timeline-row{overflow-x:auto}.domain-timeline-legend{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:12px}.domain-timeline-legend span{display:inline-flex;align-items:center;gap:6px}.domain-timeline-legend i{display:inline-block;width:10px;height:10px;border-radius:50%}.timeline-marker{stroke:var(--surface);stroke-width:2;fill:var(--green);background:var(--green)}.timeline-marker.not_found{fill:var(--surface);stroke:var(--muted);background:var(--surface);border:2px solid var(--muted)}.timeline-marker.failed{fill:var(--danger);background:var(--danger)}.timeline-marker.suspect_empty{fill:var(--orange);background:var(--orange)}.timeline-marker:focus{outline:2px solid var(--text);outline-offset:3px}
.domain-picker-group{flex-wrap:wrap}.domain-picker-group .domain-select-box{min-width:0;max-width:100%}.domain-picker-group select{max-width:100%}.domain-stats .stat-value{overflow-wrap:anywhere}
.domain-history-panel .panel-head{align-items:flex-start}
.domain-history-filters{display:grid;grid-template-columns:minmax(210px,1fr) 120px;gap:10px;align-items:end;min-width:0}
.domain-history-filters .domain-select-box{min-width:0}
.domain-history-filters select.domain-select{width:100%;max-width:none}
@media(max-width:900px){.domain-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-performance{grid-template-columns:minmax(0,1fr)}.domain-insights{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.domain-insights dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}}
@media(max-width:520px){.domain-performance{padding:14px}.domain-insights dl{grid-template-columns:minmax(0,1fr)}.domain-picker-group{width:100%}.domain-picker-group .domain-select-box{width:100%}}
@media(max-width:760px){.domain-history-filters{width:100%;grid-template-columns:minmax(0,1fr) 104px;gap:8px}.domain-history-filters .domain-select-box{width:100%}}
.domain-facets{display:flex;flex-direction:column;gap:22px}
.domain-facet-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;margin-bottom:4px}
.domain-facet-title i{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.domain-facet-title small{color:var(--muted,#6b7280);font-weight:400}
.domain-ranking-performance{padding:22px}
.ranking-guide{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;margin-bottom:20px}
.ranking-guide .ranking-help{margin:0;max-width:640px}
.ranking-axis-hint{font-size:11px;white-space:nowrap;color:var(--muted)}
.ranking-help{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 18px}
.ranking-keywords{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:20px}
.ranking-keyword{min-width:0;border:1px solid var(--line);border-radius:12px;padding:20px 14px 6px;background:var(--surface)}
.ranking-keyword-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;padding:0 10px 18px}
.ranking-keyword-heading>div{min-width:0;flex:1}
.ranking-keyword-heading h3{font-size:14px;font-weight:600;overflow-wrap:anywhere;min-width:0}
.ranking-keyword-heading p{font-size:11px;color:var(--muted);margin-top:5px;font-variant-numeric:tabular-nums}
.ranking-keyword-heading span{font-size:10px;letter-spacing:.15px;color:var(--muted);background:var(--bg-secondary);border:1px solid var(--line);border-radius:5px;padding:3px 7px}
.ranking-plot{position:relative}
.ranking-chart.chart{max-height:none;width:100%;overflow:visible}
.ranking-chart text{font-size:16px;fill:var(--chart-label)}
.ranking-chart .grid{stroke:var(--chart-grid);opacity:.5}
.ranking-chart .ranking-grid-major{opacity:.9}
.ranking-chart .line{stroke:var(--chart-line);stroke-width:2.5;vector-effect:non-scaling-stroke}
.ranking-chart .ranking-dot.found{fill:var(--chart-point);stroke:var(--chart-point-border);stroke-width:1.5}
.ranking-chart .ranking-dot.not_found{fill:var(--muted);stroke:none;opacity:.4}
.ranking-chart .ranking-dot.unknown{fill:var(--surface);stroke:var(--orange);stroke-width:2}
.ranking-chart .ranking-dot.failed,.ranking-chart .ranking-dot.suspect_empty{fill:var(--orange);stroke:none;opacity:.7}
.ranking-chart .ranking-dot:focus{outline:2px solid var(--focus-ring);outline-offset:3px}
.ranking-chart .ranking-value{fill:var(--text);font-weight:600;font-size:17px;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}
.ranking-status-line{stroke:var(--line);stroke-width:1}
.ranking-chart .ranking-status-label{font-size:14px;fill:var(--muted)}
.ranking-cursor{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 4;opacity:.6;pointer-events:none}
.ranking-chart .ranking-active-point{fill:var(--surface);stroke:var(--chart-line);stroke-width:2.5;pointer-events:none}
.ranking-chart .ranking-active-point.unavailable{stroke:var(--muted)}
.ranking-tooltip{position:absolute;left:0;top:0;z-index:5;max-width:calc(100% - 16px);width:max-content;pointer-events:none;background:var(--surface-raised);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px 14px;box-shadow:0 5px 18px #00000016;font-size:12px;line-height:1.5;overflow-wrap:anywhere;transition:transform 100ms ease-out}
.ranking-tooltip:not([hidden]){display:flex;flex-direction:column;gap:3px}
.ranking-tooltip span{color:var(--muted);font-size:11px}
.ranking-tooltip b{font-weight:600}
.ranking-tooltip .ranking-tooltip-rank{font-size:20px;color:var(--green);letter-spacing:-.5px;padding:3px 0;font-variant-numeric:tabular-nums}
.ranking-tooltip .ranking-tooltip-quality{padding-top:7px;margin-top:4px;border-top:1px solid var(--line);font-size:10px}
.ranking-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:20px 0 0;color:var(--muted);font-size:11px}
.ranking-legend span{display:inline-flex;gap:7px;align-items:center}
.ranking-legend i{height:7px;width:7px;border-radius:50%;background:var(--chart-line)}
.ranking-legend .not-found{background:var(--muted);opacity:.55}
.ranking-legend .unknown{background:var(--surface);border:2px solid var(--orange)}
.ranking-legend .unavailable{background:var(--orange)}
.timeline-marker.unknown{fill:var(--surface);stroke:var(--orange);background:var(--surface);border:2px solid var(--orange)}
.ranking-footnote{margin:8px 0 0;font-size:11px}
.domain-ranking-performance .domain-insights{border-left:0;padding-left:0;margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.domain-ranking-performance .domain-insights>h3{margin:0 0 8px;font-size:13px;letter-spacing:.02em}
.domain-ranking-performance .domain-insights dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 24px}
.ranking-no-runs{padding:30px 8px;color:var(--muted);font-size:12px}
@media(prefers-reduced-motion:reduce){.ranking-tooltip{transition:none}}
@media(max-width:760px){.ranking-guide{flex-direction:column;gap:6px}.ranking-keywords{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.domain-ranking-performance{padding:16px 12px}.ranking-keywords{gap:14px}.ranking-keyword{padding:16px 4px 4px}.ranking-keyword-heading{padding:0 8px 14px}.ranking-chart text{font-size:23px}.ranking-chart .ranking-value{font-size:23px}.ranking-chart .ranking-status-label{font-size:20px}.ranking-tooltip .ranking-tooltip-rank{font-size:18px}}
.table-footer{gap:12px;flex-wrap:wrap}.table-footer .actions{flex-shrink:0}.table-footer>span{font-variant-numeric:tabular-nums}
.activity-target-items{max-width:260px;margin-top:5px;white-space:normal}.activity-target-items summary{font-size:10px}.activity-target-items ul{margin:6px 0 0;padding-left:18px;color:var(--text-secondary);font-size:11px}.activity-target-items li{margin:3px 0;overflow-wrap:anywhere}.activity-target-items .muted{font-size:10px}
.provider-settings-body{display:grid;gap:18px}.provider-active-control{display:flex;align-items:end;gap:14px;flex-wrap:wrap;max-width:680px}.provider-active-control .form-field{flex:1;min-width:260px}.provider-active-control small{color:var(--muted);font-size:11px}.provider-active-control .form-error{flex-basis:100%;margin:0}.provider-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.provider-setting-card{min-width:0;border:1px solid var(--line);border-radius:9px;padding:17px;background:var(--surface)}.provider-setting-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.provider-setting-head h3{font-size:14px}.provider-setting-head p{font-size:10px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.provider-state-badges{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.provider-state-badges .badge{font-size:9px}.provider-health{display:grid;gap:5px;padding:10px 0;margin:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}.provider-health .error-text{color:var(--danger);overflow-wrap:anywhere}.provider-credential-actions{display:grid;gap:12px}.provider-credential-actions>[data-action="edit-provider-credentials"]{justify-self:start}.provider-credential-form{display:grid;gap:9px}.provider-credential-form[hidden]{display:none}.provider-credential-form>small{font-size:10px}.provider-credential-fields{display:grid;grid-template-columns:1fr;gap:10px}.provider-credential-fields .form-field{min-width:0}.provider-credential-form input{font-size:12px}.provider-credential-form .form-error{margin:0}.provider-notes{display:grid;gap:8px}.provider-notes .notice{margin:0}.provider-history{border-top:1px solid var(--line);padding-top:12px}.provider-history ul{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:11px}.provider-history li{margin:5px 0}
.integration-subnav{display:flex;gap:4px;overflow-x:auto;margin:-7px 0 22px;border-bottom:1px solid var(--line);scrollbar-width:thin}.integration-subnav a{display:inline-flex;align-items:center;flex:0 0 auto;padding:11px 14px;border-bottom:2px solid transparent;color:var(--muted);font-size:12px;font-weight:550;white-space:nowrap}.integration-subnav a:hover{background:var(--surface);color:var(--text);text-decoration:none}.integration-subnav a[aria-current="page"]{border-color:var(--green);color:var(--green);font-weight:650}
@media(max-width:520px){.integration-subnav{gap:0;margin:-8px -2px 18px}.integration-subnav a{padding:10px 12px;font-size:11px}}
.provider-active-settings{display:grid;gap:14px}.provider-current-summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.provider-current-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--surface-raised);color:var(--green);font-size:16px;font-weight:700}.provider-current-copy{display:grid;gap:2px}.provider-current-copy small{font-size:10px;color:var(--muted)}.provider-current-copy strong{font-size:17px;letter-spacing:-.2px}.provider-current-copy p{font-size:11px;color:var(--muted)}.provider-current-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.provider-current-summary .badge{white-space:nowrap}.provider-active-control{padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised)}
@media(max-width:520px){.provider-current-summary{grid-template-columns:auto 1fr;gap:10px;padding:13px}.provider-current-actions{grid-column:2;justify-content:flex-start}.provider-current-copy strong{font-size:15px}}
.job-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
.job-detail-error p{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;margin-top:8px}
@media(max-width:980px){.job-stats{grid-template-columns:repeat(6,minmax(150px,1fr));overflow-x:auto;scrollbar-width:thin}.job-stats .stat{padding:15px}}
.keyword-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
.keyword-detail-stats .stat:last-child .stat-value{font-size:18px;letter-spacing:0;overflow-wrap:anywhere}
#main tr.keyword-scrape-row-selected>td{background:var(--table-row-hover)}
#main tr.keyword-scrape-row-selected>td:first-child{box-shadow:inset 3px 0 var(--link-color)}
@media(max-width:1100px){.keyword-stats{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.keyword-stats .stat{min-width:0;padding:15px}}
@media(max-width:900px){.keyword-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){#toast{left:16px;right:16px;max-width:none}}
