@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(assets/fonts/inter-latin.woff2)}@font-face{font-family:Fraunces;font-display:swap;src:url(assets/fonts/fraunces-latin.woff2)}
:root{--blue:#00aeef;--ink:#121212;--paper:#f9f8f6;--muted:#737570;--line:#e6e4e0;--green:#168165;--purple:#9384cb}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.6 Inter,system-ui,sans-serif}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #0084b8;outline-offset:4px}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;padding:31px 21px;background:var(--ink);color:#a7a7a7;display:flex;flex-direction:column;overflow-y:auto}.brand{text-decoration:none;display:block;padding:7px 6px}.brand img{width:190px;height:auto;display:block}.brand>span{display:block;font-size:9px;letter-spacing:3px;margin-top:19px;color:#8f9295}.workspace-box{margin:32px 0 25px;padding:19px 0;border-block:1px solid #333}.workspace-box label{display:block;font-size:9px;letter-spacing:1.7px;color:#929292}.workspace-box select{width:100%;background:#1e1e1e;color:#f9f8f6;border:1px solid #3b3b3b;border-radius:8px;margin:12px 0 7px;padding:10px 8px}.workspace-box small{font-size:10px;color:#9d9d9d}nav{display:grid;gap:6px}nav button{display:flex;gap:12px;padding:12px 13px;border:0;text-align:left;border-radius:8px;background:none;color:#b6b6b6;font-size:12px}nav button span{width:18px;font-size:17px;line-height:1.2}nav button[aria-current]{background:#182e36;color:#54caff}nav button:hover{background:#252525}.nav-divider{height:1px;background:#303030;margin:13px 0}.aside-bottom{margin-top:auto;padding-top:45px;font-size:10px;line-height:1.8}.signal{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);margin-right:5px}.aside-bottom a{display:block;margin-top:12px;font-size:11px;color:#d5d5d5;text-decoration:none}.aside-bottom a span{color:var(--blue);margin-left:6px}main{margin-left:246px;padding:0 42px;max-width:1800px}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:10px;letter-spacing:1.6px;color:#777}.topbar b{font-weight:500;color:#222}.top-actions{display:flex;gap:18px;align-items:center}.badge{color:#007fae;background:#e5f4fa;border:1px solid #ceeaf6;padding:5px 9px;border-radius:5px;font-size:8px;letter-spacing:1px}.account-button{border:0;background:none;border-left:1px solid var(--line);padding-left:18px;font-size:11px;color:#333;letter-spacing:0}section{padding:32px 0}.eyebrow{color:#0088bd;font-size:9px;letter-spacing:2px;font-weight:500;margin:0 0 13px}h1,h2,h3,p{margin-top:0}h1{font:400 38px/1.1 Fraunces,serif;letter-spacing:-1px;margin:0 0 13px}h2{font-size:14px;font-weight:600;line-height:1.4;margin-bottom:5px}h3{font-size:14px}p{color:var(--muted)}#welcome{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;min-height:calc(100vh - 140px);padding:75px 0}.welcome-copy h1{font-size:65px;line-height:1.03;letter-spacing:-2px}.welcome-copy h1 em{color:var(--blue);font-weight:400}.welcome-copy>p:not(.eyebrow):not(.fine){font-size:15px;line-height:1.9;max-width:470px}.intro-actions{display:flex;gap:10px;margin:28px 0 17px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:999px;padding:11px 18px;border:1px solid transparent;text-decoration:none;font-size:11px}.pill-blue{background:var(--blue);color:#fff}.pill-outline{background:transparent;border-color:#ccc;color:#333}.fine{font-size:10px;line-height:1.7}.welcome-panel{background:#151515;border:1px solid #343434;border-radius:20px;padding:32px;color:white;min-height:390px;box-shadow:0 25px 50px #00000012}.panel-label{font-size:9px;letter-spacing:2px;color:#aaa}.welcome-stat{margin:32px 0}.welcome-stat>span{font-size:11px;color:#aaa;display:block}.welcome-stat strong{font:400 32px Fraunces,serif;display:block;margin-top:10px}.welcome-stat em{color:#58cefa}.mini-bars{height:95px;display:flex;align-items:end;gap:9px}.mini-bars i{flex:1;height:30%;border-radius:4px 4px 0 0;background:linear-gradient(#00aeef,#163a47)}.mini-bars i:nth-child(2n){height:45%}.mini-bars i:nth-child(3n){height:60%}.mini-bars i:nth-child(4n){height:76%}.mini-bars i:last-child{height:95%}.welcome-channels{display:flex;gap:6px;flex-wrap:wrap;margin:24px 0 16px}.welcome-channels span{padding:4px 8px;border:1px solid #404040;border-radius:99px;font-size:9px;color:#bbb}.welcome-panel>small{font-size:9px;color:#888}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 23px}.heading p:last-child{font-size:11px;max-width:580px;margin-bottom:0}.report-actions{display:flex;align-items:end;gap:10px;flex-shrink:0}.report-actions label{font-size:9px;color:#777}select,input{padding:9px 11px;border:1px solid #d9d8d5;border-radius:7px;background:#fff;color:#222}select{display:block;margin-top:6px;max-width:100%}.export-button{background:#fff;border-color:#dad9d5;font-size:10px;min-height:37px}.notice{padding:11px 14px;background:#edf4f6;border:1px solid #dce8ed;color:#58717d;border-radius:7px;margin-bottom:22px;font-size:10px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;min-width:0}.metric-label{display:flex;justify-content:space-between;gap:8px;color:#70736e;font-size:10px}.metric-icon{color:#00a0dc}.value{font-size:30px;letter-spacing:-1px;font-weight:500;line-height:1.2;margin:14px 0 10px}.metric-change{font-size:9px;color:#737570}.metric-change b{color:var(--green);font-weight:500}.metric-change b.down{color:#a55a3b}.mini-spark{width:100%;height:28px;margin-top:15px}.chart-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;margin-top:16px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.card-head p,.card>p{font-size:10px;margin:3px 0 0}.source-tag{font-size:8px;color:#738691;background:#f1f6f8;padding:3px 6px;border-radius:4px;white-space:nowrap}.chart{display:block;width:100%;height:210px;margin-top:17px;overflow:visible}.chart text{font-family:Inter,system-ui;font-size:9px;fill:#8b8c89}.chart-grid{stroke:#eeedeb;stroke-dasharray:3 4}.chart-line{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linejoin:round}.chart-area{fill:#00aeef0e}.donut-wrap{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:24px}.donut{width:146px;height:146px;flex-shrink:0}.donut text{fill:#222;text-anchor:middle;font-family:Inter;font-size:17px;font-weight:500}.donut text.sub{font-size:7px;fill:#888;font-weight:400}.legend{display:grid;gap:12px;font-size:9px;flex:1;min-width:125px}.legend-row{display:flex;justify-content:space-between;gap:10px}.legend-name{display:flex;align-items:center;gap:6px}.legend-dot{width:6px;height:6px;border-radius:2px;flex-shrink:0}.legend-row strong{font-weight:500}.table-wrap{overflow:auto;margin-top:18px}table{border-collapse:collapse;width:100%;text-align:left;font-size:10px}th{font-size:8px;letter-spacing:.7px;color:#888;font-weight:500;text-transform:uppercase;border-bottom:1px solid var(--line);padding:10px 7px;white-space:nowrap}td{padding:12px 7px;border-bottom:1px solid #f0efed}td.number,th.number{text-align:right}td strong{font-weight:500}tbody tr:last-child td{border-bottom:0}.bar-track{display:block;height:4px;background:#eef5f8;border-radius:9px;width:100%;margin-top:5px}.bar-track i{display:block;height:100%;background:var(--blue);border-radius:9px}.heatmap{display:grid;grid-template-columns:28px repeat(24,minmax(4px,1fr));gap:3px;margin-top:24px;align-items:center}.heat-cell{aspect-ratio:1;min-height:7px;border-radius:2px;background:#e9f5fa}.heat-hour,.heat-day{font-size:7px;color:#8b8c89}.heat-key{display:flex;gap:4px;align-items:center;justify-content:end;margin-top:16px;font-size:8px;color:#888}.heat-key i{width:10px;height:10px;border-radius:2px}.report-footnote{margin:15px 0 0;font-size:9px;color:#92938e}.connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.connection-icon{display:flex;align-items:center;justify-content:center;width:35px;height:35px;background:#e8f7fc;border-radius:9px;color:#0094cb;margin-bottom:18px;font-size:18px}.status{display:inline-block;font-size:8px;padding:4px 7px;background:#f3f2ee;border-radius:5px;color:#8d8272}.status.connected{background:#e9f6ee;color:#24825b}.connection-grid h2{font:400 24px Fraunces,serif;margin:12px 0}.connection-grid p{font-size:11px;min-height:35px}.connection-grid details{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;font-size:10px}.connection-grid summary{cursor:pointer;color:#008abd}.connection-grid .pill{margin:8px 6px 0 0}.empty-state{padding:58px 25px;text-align:center}.empty-state h2{font:400 32px Fraunces,serif}.empty-state p{max-width:430px;margin:10px auto 20px;font-size:12px}.empty-icon{font-size:30px;color:var(--blue);margin-bottom:20px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portal-form{display:grid;gap:12px;margin-top:20px}.portal-form label{display:grid;gap:5px;color:#666;font-size:10px}.portal-form input{width:100%;min-width:0}.portal-form .pill{justify-self:start}.action-small{padding:5px 10px;border:1px solid #ddd;background:white;border-radius:99px;font-size:9px}.message{font-size:11px;margin-top:16px;color:#158261}.error-text{color:#a34b37}.loading{padding:65px;text-align:center;color:#777}.loading:before{content:'';display:block;margin:0 auto 20px;width:22px;height:22px;border:2px solid #ddd;border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{max-width:470px;width:calc(100% - 36px);border:1px solid #ddd;border-radius:19px;padding:42px;background:var(--paper);box-shadow:0 24px 100px #0003}dialog::backdrop{background:#12121290;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:15px;top:11px;border:0;background:none;font-size:25px;color:#777}.dialog-logo{width:170px;max-height:55px;object-fit:contain;object-position:left;margin-bottom:30px}dialog h2{font:400 35px/1.1 Fraunces,serif;letter-spacing:-.6px}dialog>p{font-size:12px}dialog .pill{margin:12px 0;width:100%}.login-state{font-size:10px;color:#8e7145;background:#fff3da;padding:10px;border-radius:6px}.pill[aria-disabled=true]{opacity:.5;cursor:not-allowed}footer{padding:22px 0;border-top:1px solid var(--line);color:#989994;font-size:9px;display:flex;justify-content:space-between;gap:16px}footer b{font-weight:500;color:#666}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:270px;background:white;padding:10px;z-index:10}@media(min-width:1500px){main{padding-inline:60px}.chart{height:240px}}@media(max-width:1150px){.sidebar{width:216px;padding:25px 16px}.brand img{width:175px}main{margin-left:216px;padding:0 25px}.heading{align-items:start}.report-actions{flex-direction:column;align-items:stretch}.chart-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.donut-wrap{gap:15px}.donut{width:125px;height:125px}.metrics .card{padding:17px}.value{font-size:27px}#welcome{gap:25px}.welcome-copy h1{font-size:53px}.welcome-panel{padding:25px}}@media(max-width:900px){.metrics{grid-template-columns:1fr 1fr}.chart-row{grid-template-columns:1fr}.chart{height:225px}.donut-wrap{justify-content:start;padding:5px 15px}.donut{width:145px;height:145px}.legend{max-width:400px}#welcome{grid-template-columns:1fr;padding:50px 0}.welcome-panel{min-height:340px}.welcome-copy h1{font-size:57px}.admin-grid{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{position:static;width:auto;padding:20px}.brand img{width:165px}.brand>span{font-size:8px;margin-top:10px}.workspace-box{margin:20px 0 12px;padding:14px 0}.workspace-box small{display:none}.workspace-box select{margin-bottom:0}nav{display:flex;overflow-x:auto;gap:7px;padding:3px 0 8px}nav button{white-space:nowrap;flex-shrink:0;padding:10px;font-size:10px}nav button span{font-size:14px}.nav-divider,.aside-bottom{display:none}main{margin:0;padding:0 18px}.topbar{height:auto;min-height:65px;flex-wrap:wrap;padding:15px 0;gap:12px;font-size:8px}.top-actions{gap:10px}.account-button{font-size:10px;padding-left:10px}.badge{font-size:7px}.heading{display:block}.heading h1{font-size:33px}.report-actions{flex-direction:row;align-items:end;margin-top:20px;justify-content:space-between;gap:6px}.report-actions select{font-size:10px}.export-button{font-size:9px;padding:8px 12px}.connection-grid{grid-template-columns:1fr}.card{padding:18px}.value{font-size:28px}.metric-label{font-size:9px}.metric-change{font-size:8px}.mini-spark{height:20px}.metrics{gap:10px}.chart{height:190px}.heatmap{gap:2px;grid-template-columns:20px repeat(24,minmax(3px,1fr))}.heat-day{font-size:6px}.heat-hour{font-size:6px}.notice{font-size:9px}.welcome-copy h1{font-size:49px}#welcome{min-height:0;padding:42px 0}.welcome-copy>p:not(.eyebrow):not(.fine){font-size:13px}.welcome-panel{border-radius:14px}footer{display:block;font-size:8px}footer>span{display:block;margin-bottom:5px}.skip:focus{left:15px}dialog{padding:30px}.card-head h2{font-size:13px}.source-tag{font-size:7px}}@media print{.sidebar,.topbar,.report-actions,dialog,.intro-actions{display:none}main{margin:0;padding:0}.card{break-inside:avoid}.chart-row{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(4,1fr)}body{background:white}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

.connection-grid .social-meta-card {
  padding: 18px;
}

.social-meta-card section {
  margin-top: 24px;
  padding: 0;
}

.social-meta-card section h3 {
  margin: 0 0 6px;
}

.connection-grid .social-meta-card h2 {
  margin: 2px 0 5px;
}

.connection-grid .social-meta-card p {
  min-height: 0;
  margin: 4px 0 0;
}

.social-meta-card .chart {
  height: auto;
  max-height: 200px;
  margin-top: 8px;
}

.social-meta-card .donut-wrap {
  justify-content: start;
  gap: 14px;
  margin-top: 10px;
  padding: 0;
}

.social-meta-card .donut {
  width: 124px;
  height: 124px;
}

.social-meta-card .legend {
  max-width: 225px;
}

.connection-grid .social-meta-card details {
  margin-top: 10px;
  padding-top: 8px;
}

.connection-grid .tiktok-report-card {
  grid-column: 1 / -1;
}

.tiktok-totals {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0 0;
}

.tiktok-totals div {
  background: #f1f6f8;
  border-radius: 8px;
  padding: 8px 12px;
}

.tiktok-totals dt {
  color: #536b79;
  font-size: 11px;
}

.tiktok-totals dd {
  margin: 0;
  font-size: clamp(16px, 2vw, 23px);
  font-weight: 600;
  overflow-wrap: anywhere;
}

.tiktok-charts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 12px;
  margin: 14px 0;
}

.tiktok-charts section {
  min-width: 0;
  margin: 0;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 9px;
}

.tiktok-charts .donut {
  width: 100px;
  height: 100px;
}

.tiktok-charts .bar-track {
  height: 7px;
}

@media (max-width: 420px) {
  .tiktok-totals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.report-actions:has(> #social-report-actions:not([hidden])) {
  flex-shrink: 1;
  min-width: 0;
  max-width: 100%;
}

#meta-date-range {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: end;
  gap: 8px;
}

#meta-date-range label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
}

#meta-date-help {
  margin: 6px 0 0;
  color: var(--muted);
}

@media (max-width: 700px) {
  #meta-date-range {
    justify-content: start;
  }
}

#meta-date-range .pill {
  flex: 0 0 auto;
  width: 8em;
  height: var(--report-field-height);
  /* The shared submit-button styles otherwise enforce a taller control. */
  min-height: var(--report-field-height) !important;
  padding: 0 12px !important;
  font-size: var(--report-field-font-size) !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

#meta-date-message:empty {
  display: none;
}

.tiktok-compact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) minmax(0, 1fr);
  gap: 12px;
  margin: 14px 0;
}

.social-meta-card .tiktok-compact-layout > .tiktok-compact-panel {
  min-width: 0;
  margin: 0;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 9px;
}

.social-meta-card .tiktok-compact-panel > section {
  margin-top: 0;
}

.tiktok-compact-panel:has(> section .report-trend),
.tiktok-compact-panel > section:has(> .report-trend) {
  display: flex;
  flex-direction: column;
}

.tiktok-compact-panel > section:has(> .report-trend),
.tiktok-compact-panel .report-trend {
  flex: 1;
}

.tiktok-compact-panel .report-trend {
  grid-template-rows: minmax(135px, 1fr) auto;
}

.social-meta-card .tiktok-compact-panel .report-trend svg {
  height: 100%;
}

.social-meta-card .tiktok-compact-panel > .tiktok-compact-engagement {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.tiktok-compact-engagement header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 4px 10px;
}

.tiktok-compact-engagement header span,
.tiktok-compact-ranking time,
.tiktok-rank-number {
  color: var(--muted);
  font-size: 11px;
}

.tiktok-engagement-bar {
  display: flex;
  overflow: hidden;
  height: 7px;
  margin-top: 7px;
  border-radius: 8px;
}

.tiktok-engagement-legend,
.tiktok-compact-ranking {
  margin: 7px 0 0;
  padding: 0;
  list-style: none;
}

.tiktok-engagement-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}

.tiktok-engagement-legend li {
  display: flex;
  align-items: center;
  gap: 5px;
}

.tiktok-compact-ranking li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  align-items: start;
  gap: 7px;
  padding: 7px 0;
}

.tiktok-compact-ranking li + li {
  border-top: 1px solid var(--line);
}

.tiktok-compact-ranking li:last-child {
  padding-bottom: 0;
}

.tiktok-rank-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.tiktok-compact-ranking strong {
  font-variant-numeric: tabular-nums;
}

@media (max-width: 980px) {
  .tiktok-compact-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

#report .tiktok-report-card .table-wrap .tiktok-videos-table tbody td {
  vertical-align: top;
}

@media (min-width: 701px) {
  .tiktok-report-card .table-wrap:has(> .tiktok-videos-table) {
    container-type: inline-size;
  }

  #report .tiktok-report-card .table-wrap .tiktok-videos-table thead th[scope="col"]:first-child:not(.number) {
    width: var(--tiktok-caption-width, 35%);
  }

  /* Reserve roughly 72px per date or metric column before widening captions. */
  @container (min-width: 600px) {
    .tiktok-videos-table { --tiktok-caption-width: 40%; }
  }

  @container (min-width: 720px) {
    .tiktok-videos-table { --tiktok-caption-width: 50%; }
  }

  @container (min-width: 900px) {
    .tiktok-videos-table { --tiktok-caption-width: 60%; }
  }
}

.overview-layout {
  display: grid;
  gap: 18px;
}

.overview-brief {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  padding: 22px 24px;
  border: 1px solid #294552;
  border-radius: 14px;
  background: linear-gradient(110deg, #141a20, #123746);
  color: #fff;
}

.overview-kicker {
  color: #86d9f7;
  font-size: 10px;
  letter-spacing: .14em;
}

.overview-brief h2 {
  margin: 3px 0;
  font: 400 clamp(23px, 3vw, 34px)/1.2 Fraunces, serif;
}

.overview-brief p {
  margin: 0;
  color: #c7dce4;
  font-size: 12px;
}

.overview-coverage {
  display: grid;
  min-width: 140px;
  padding: 9px 13px;
  border: 1px solid #ffffff40;
  border-radius: 9px;
  background: #ffffff0c;
}

.overview-coverage strong {
  font-size: 22px;
  line-height: 1.25;
}

.overview-coverage span,
.overview-coverage small {
  color: #c7dce4;
}

.overview-traffic {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 14px;
}

.overview-traffic-empty {
  grid-column: 1 / -1;
}

.overview-traffic h2,
.overview-section-title h2 {
  margin: 0;
  font: 400 21px/1.25 Fraunces, serif;
}

.overview-traffic-value {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: 10px;
}

.overview-traffic-value > strong {
  font-size: 27px;
  line-height: 1.2;
}

.overview-traffic-value .metric-change {
  margin-left: 4px;
  font-size: 11px;
}

.overview-trend .chart {
  width: 100%;
  height: auto;
  margin-top: 6px;
}

.overview-trend summary {
  color: #00698c;
  cursor: pointer;
  font-size: 11px;
}

.overview-acquisition ul {
  display: grid;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 14px 0 16px;
}

.overview-acquisition li > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 11px;
}

.overview-acquisition li small {
  color: var(--muted);
}

.overview-acquisition .bar-track {
  height: 5px;
}

.overview-section-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin-bottom: -9px;
}

.overview-section-title p {
  margin: 0;
  font-size: 11px;
}

.overview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, max(260px, (100% - 28px) / 3)), 1fr));
  gap: 14px;
}

.overview-card {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 12px;
}

.overview-card-heading,
.overview-card-body {
  width: 100%;
}

.overview-card-heading {
  container-type: inline-size;
}

.overview-card-top {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 7px;
}

.overview-card-top .connection-icon {
  margin: 0;
  flex: none;
}

.overview-card-top .status {
  margin-inline-start: auto;
  white-space: nowrap;
  flex: none;
}

.overview-card h2 {
  margin: 0;
  font: 400 21px/1.2 Fraunces, serif;
  white-space: nowrap;
}

.overview-card-heading p,
.overview-card-body > p {
  margin: 0;
  font-size: 11px;
  line-height: 1.4;
}

.overview-card-body > p {
  min-block-size: 2.8em;
}

.overview-card-body dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 9px 0 0;
}

.overview-card-body dl > div {
  padding: 7px 9px;
  background: #f3f7f9;
  border-radius: 7px;
}

.overview-card-body dt {
  font-size: 10px;
  color: #536b79;
  line-height: 1.3;
  min-block-size: 2.6em;
}

.overview-card-body dd {
  margin: 2px 0 0;
  font-size: clamp(15px, 1.6vw, 21px);
  line-height: 1.2;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.overview-card .pill {
  width: 100%;
  margin-top: auto;
}

@media (max-width: 950px) {
  .overview-traffic {
    grid-template-columns: 1fr;
  }
}

@container (max-width: 295px) {
  .overview-card-top {
    gap: 6px;
  }

  .overview-card-top .connection-icon {
    width: 26px;
    height: 26px;
    font-size: 15px;
  }

  .overview-card-top h2 {
    font-size: clamp(11px, calc(9cqi - 5px), 21px);
  }

  .overview-card-top .status {
    padding-inline: 5px;
  }
}

.overview-card-visual {
  display: grid;
  grid-template-rows: auto 32px auto;
  align-content: center;
  gap: 4px;
  min-height: 92px;
  margin-bottom: 9px;
  padding: 8px 9px;
  border: 1px solid #e5edf1;
  border-radius: 8px;
  background: #f7fafb;
  color: #536b79;
  font-size: 10px;
  line-height: 1.25;
}

.overview-card-visual > strong {
  color: #263f4d;
  font-size: 11px;
}

.overview-card-visual.is-empty {
  grid-template-rows: auto auto;
  border-style: dashed;
  background: transparent;
}

.overview-mini-trend {
  display: block;
  width: 100%;
  height: 32px;
}

.overview-mini-trend line {
  stroke: #c7d7df;
  vector-effect: non-scaling-stroke;
}

.overview-mini-trend path {
  fill: none;
  stroke: #007ea8;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.overview-mini-trend circle {
  fill: #007ea8;
}

.overview-mini-bars {
  display: grid;
  align-content: center;
  gap: 3px;
}

.overview-mini-bars > div {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) minmax(3ch, max-content);
  align-items: center;
  gap: 5px;
}

.overview-mini-bars .bar-track {
  height: 5px;
  margin: 0;
}

.overview-mini-bars > div:first-child i {
  background: #687b8a;
}

.overview-mini-bars strong {
  text-align: right;
}

.overview-change {
  font-weight: 600;
}

.overview-change.up {
  color: #08704e;
}

.overview-change.down {
  color: #9e3838;
}

.ads-report {
  display: grid;
  gap: 16px;
}

.ads-brief {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px 24px;
  padding: 20px 24px;
  border: 1px solid #294552;
  border-radius: 14px;
  background: linear-gradient(110deg, #141a20, #123746);
  color: #fff;
}

.ads-brief h2 {
  margin: 3px 0 5px;
  font: 400 clamp(22px, 3vw, 33px)/1.2 Fraunces, serif;
}

.ads-brief p,
.ads-brief label {
  margin: 0;
  color: #c7dce4;
  font-size: 11px;
}

.ads-brief select {
  margin-top: 4px;
}

.ads-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.ads-call-summary dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.ads-kpis .card {
  padding: 14px 16px;
  border-top: 2px solid #b9dce9;
}

.ads-kpis h2,
.ads-call-summary dt {
  margin: 0 0 4px;
  color: #536b79;
  font-size: 11px;
}

.ads-kpis strong,
.ads-call-summary dd {
  display: block;
  margin: 0;
  font-size: clamp(17px, 2vw, 26px);
  font-weight: 600;
  line-height: 1.2;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}

.ads-kpis p,
.ads-report .card-head p,
.ads-card-heading p,
.ads-report .ads-call-note {
  margin: 4px 0 0;
  font-size: 11px;
  line-height: 1.45;
}

.ads-chart-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 16px;
}

.ads-card-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 9px 16px;
}

.ads-card-heading h2,
.ads-report .card-head h2 {
  margin: 0;
  font: 400 21px/1.2 Fraunces, serif;
}

.ads-metric-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.ads-metric-controls button {
  padding: 4px 8px;
  border: 1px solid #dbe5e9;
  border-radius: 5px;
  background: #fff;
  color: #425e6c;
  font-size: 10px;
  white-space: nowrap;
}

.ads-metric-controls button[aria-pressed="true"] {
  border-color: #a4d6e7;
  background: #e6f5fa;
  color: #005874;
  font-weight: 600;
}

.ads-report summary {
  color: #00698c;
  cursor: pointer;
  font-size: 11px;
}

.ads-bars {
  display: grid;
  gap: 11px;
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
}

.ads-bars li > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 5px 10px;
  flex-wrap: wrap;
  font-size: 11px;
}

.ads-bars strong {
  overflow-wrap: anywhere;
}

.ads-bars small {
  color: var(--muted);
  font-size: inherit;
}

.ads-bars .bar-track {
  height: 7px;
  background: #edf3f6;
}

.ads-bars .bar-track i {
  background: #007ea8;
}

.ads-table .status {
  white-space: nowrap;
}

.ads-table .ads-status-limited {
  background: #fff1d6;
  color: #694507;
}

.ads-status-reasons {
  min-width: 9em;
  margin-top: 5px;
  color: var(--muted);
  line-height: 1.4;
}

.ads-call-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 14px 20px;
  margin: 14px 0;
}

.ads-call-summary dl,
.ads-call-summary h3 {
  margin: 0;
}

.ads-call-summary dl > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px;
  border-radius: 7px;
  background: #f3f7f9;
}

.ads-call-summary dd {
  font-size: clamp(18px, 1.8vw, 24px);
}

.ads-report .ads-empty {
  margin: 12px 0;
}

.ads-report .report-footnote {
  margin: 0;
}

@media (max-width: 1050px) {
  .ads-chart-grid,
  .ads-call-summary {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 750px) {
  .ads-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .ads-call-summary dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

#report .card-head h2 {
  margin: 0;
  font: 400 21px/1.2 Fraunces, serif;
}

#report .card-head p {
  margin: 4px 0 0;
  font-size: 11px;
  line-height: 1.45;
}

#report > :is(.card, .metrics) + :is(.card, .metrics) {
  margin-top: 16px;
}

#report .metrics .card {
  padding: 14px 16px;
  border-top: 2px solid #b9dce9;
}

#report .metrics .metric-label {
  color: #536b79;
  font-size: 11px;
  font-weight: 600;
}

#report .metrics .value {
  margin: 5px 0 3px;
  font-size: clamp(17px, 2vw, 26px);
  font-weight: 600;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

#report .mini-spark polyline {
  vector-effect: non-scaling-stroke;
}

#report .table-wrap {
  margin-top: 12px;
}

#report .table-wrap table {
  font-size: 11px;
  line-height: 1.45;
}

#report .table-wrap :is(th, td) {
  padding: 9px 8px;
  vertical-align: middle;
}

#report .table-wrap thead th {
  color: #647582;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .06em;
  border-bottom-color: #dfe7eb;
}

#report .table-wrap :is(td, th[scope="row"]) {
  border-bottom-color: #eef1f2;
}

#report .table-wrap tbody th[scope="row"] {
  color: var(--ink);
  font-size: inherit;
  font-weight: 500;
  letter-spacing: normal;
  text-transform: none;
  white-space: normal;
  overflow-wrap: anywhere;
}

#report .table-wrap tbody tr:last-child th[scope="row"] {
  border-bottom: 0;
}

/* Keep long labels inside their column so metrics retain their share of the table. */
#report .table-wrap table:not(.seo-history-table) {
  table-layout: fixed;
  min-width: var(--table-min-width, 0);
}

#report .table-wrap table:not(.seo-history-table) :is(th, td) {
  white-space: normal;
  overflow-wrap: anywhere;
}

#report .table-wrap table:has(> thead > tr > :nth-child(4)) {
  --table-min-width: 22rem;
}

#report .table-wrap table:has(> thead > tr > :nth-child(6)) {
  --table-min-width: 34rem;
}

#report .table-wrap table:has(> thead > tr > :nth-child(8)) {
  --table-min-width: 43rem;
}

#report .table-wrap table:has(> thead > tr > :nth-child(10)) {
  --table-min-width: 54rem;
}

#report .table-wrap table:not(.seo-history-table) thead tr:has(> :nth-child(2):last-child) > :first-child:not(.number) {
  width: 70%;
}

#report .table-wrap table:not(.seo-history-table) thead tr:has(> :nth-child(4)) > :first-child:not(.number) {
  width: 20%;
}

#report .table-wrap .seo-history-table {
  min-width: 1250px;
}

#report .table-wrap .seo-history-table tbody :is(th, td) {
  vertical-align: top;
}

#report .table-wrap .seo-history-table tr > :first-child:not([colspan]) {
  width: 20%;
  min-width: 16rem;
  max-width: 19rem;
  white-space: normal;
  overflow-wrap: anywhere;
}

#report .table-wrap .seo-history-table tbody td {
  white-space: nowrap;
}

#report .table-wrap .number {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

#report .table-wrap caption {
  color: #536b79;
  font-weight: 600;
}

#report .card details > summary {
  color: #00698c;
  cursor: pointer;
}

.report-trend {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 9px;
  width: 100%;
  margin: 15px 0 10px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.report-trend-axis {
  position: relative;
  display: grid;
  text-align: right;
}

.report-trend-axis span {
  position: relative;
  grid-area: 1 / 1;
  align-self: start;
  transform: translateY(-50%);
}

.report-trend svg {
  display: block;
  width: 100%;
  height: clamp(130px, 15vw, 210px);
  overflow: visible;
}

.report-trend svg :is(line, polyline, path) {
  vector-effect: non-scaling-stroke;
}

.report-trend svg line {
  stroke: #dce7ed;
  stroke-dasharray: 4 4;
}

.report-trend svg polyline {
  fill: none;
  stroke: #007ea8;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.report-trend svg polygon {
  fill: #eaf6fa;
}

.report-trend-marker {
  stroke: #007ea8;
  stroke-width: 4;
  stroke-linecap: round;
}

.report-trend-dates {
  position: relative;
  grid-column: 2;
  display: flex;
  justify-content: space-between;
  white-space: nowrap;
}

.report-trend-midpoint {
  position: absolute;
  transform: translateX(-50%);
}

.social-meta-card .report-trend svg {
  height: 135px;
}

.seo-visibility-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.seo-visibility-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 6px 13px;
  border: 1px solid #dce5eb;
  background: #f3f7f9;
  color: #385363;
  font-weight: 600;
}

.seo-visibility-tabs button:hover {
  border-color: #75b3c8;
}

.seo-visibility-tabs button[aria-pressed="true"] {
  border-color: #006482;
  background: #006482;
  color: white;
}

.seo-visibility-tabs button[aria-pressed="true"]::before {
  content: '';
  width: 5px;
  height: 9px;
  margin-inline-end: 2px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: translateY(-1px) rotate(45deg);
}

.seo-view-help {
  flex: 0 0 100%;
  font-size: 11px;
}

.seo-view-help dl {
  display: grid;
  grid-template-columns: minmax(0, max-content) 1fr;
  gap: 5px 12px;
  margin: 8px 0 0;
}

.seo-view-help dt {
  font-weight: 600;
}

.seo-view-help dd {
  margin: 0;
  color: var(--muted);
}

.seo-landing-link {
  color: #00698c;
  text-decoration: underline;
  text-underline-offset: .16em;
}

.seo-visibility-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 8px 12px;
  margin-top: 14px;
}

.seo-visibility-toolbar label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: #536b79;
  font-size: 11px;
}

.seo-visibility-search {
  flex: 1 1 165px;
  max-width: 265px;
}

.seo-visibility-search span {
  position: relative;
}

.seo-visibility-search svg {
  position: absolute;
  inset-inline-start: 9px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

:root {
  --report-field-height: 38px;
  --report-field-font-size: 12px;
  --report-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23536b79' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/svg%3E");
}

:is(#workspace, #dashboard select, #dashboard input:where([type="search"], [type="date"])) {
  appearance: none;
  display: block;
  box-sizing: border-box;
  height: var(--report-field-height);
  min-height: var(--report-field-height);
  min-width: 0;
  max-width: 100%;
  padding: 0 11px;
  padding-inline-start: var(--report-field-start, 11px);
  border: 1px solid #d9d8d5;
  border-radius: 7px;
  background: #fff;
  color: #222;
  font: inherit;
  font-size: var(--report-field-font-size);
  line-height: normal;
}

#dashboard input[type="date"] {
  line-height: calc(var(--report-field-height) - 2px);
}

#dashboard input[type="date"]::-webkit-date-and-time-value {
  min-height: 0;
  margin: 0;
  text-align: start;
}

#dashboard input[type="date"]::-webkit-datetime-edit {
  display: inline-flex;
  align-items: center;
  height: calc(var(--report-field-height) - 2px);
  padding: 0;
}

:is(#workspace, #dashboard select) {
  padding-inline-end: 30px;
  background-image: var(--report-select-chevron);
  background-position: right 9px center;
  background-repeat: no-repeat;
  background-size: 14px 14px;
}

select#workspace {
  --report-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23dce5eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/svg%3E");
  border-color: #454545;
  background-color: #1e1e1e;
  color: #f9f8f6;
}

.seo-visibility-toolbar :is(input, select),
#meta-month {
  margin: 0;
}

.seo-visibility-toolbar .seo-average-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: var(--report-field-height);
  font-size: var(--report-field-font-size);
  font-weight: 600;
}

.seo-average-toggle input {
  width: 16px;
  height: 16px;
  accent-color: #006987;
}

#report .table-wrap .seo-comparison-table .seo-comparison-group {
  background: #edf6fa;
  color: #006987;
  text-align: left;
}

#report .table-wrap .seo-comparison-table thead th.number {
  white-space: nowrap;
}

#meta-month {
  width: 9rem;
}

.seo-visibility-search input {
  --report-field-start: 31px;
  width: 100%;
}

.seo-visibility > .seo-visibility-note {
  margin-top: 11px;
  font-size: 11px;
}

.seo-visibility-note:empty {
  display: none;
}

.seo-visibility > details,
.seo-rank-export {
  margin-top: 15px;
}

.seo-rank-up {
  color: #14633c;
}

.seo-rank-down {
  color: #ab2e35;
}

.seo-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

@media (pointer: coarse) {
  :root {
    --report-field-height: 44px;
    --report-field-font-size: 16px;
  }

  .seo-visibility-tabs button {
    min-height: 44px;
  }
}

@media (max-width: 520px) {
  .seo-view-help dl {
    display: block;
  }

  .seo-view-help dd + dt {
    margin-top: 6px;
  }

  .seo-visibility-search {
    flex-basis: 100%;
    max-width: none;
  }

}

#report .analytics-audience-row {
  grid-template-columns: minmax(0, 1fr);
  margin-block: 16px 0;
}

.device-charts {
  margin: 14px 0 18px;
}

.device-charts figcaption {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 11px;
}

.device-chart-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 185px), 1fr));
  gap: 12px;
}

.device-chart-panel {
  padding: 12px;
  border: 1px solid #dfe7eb;
  border-radius: 10px;
}

.device-chart-panel h3,
.device-chart-panel p {
  margin: 0;
  font-size: 12px;
}

.device-chart-panel ul {
  display: grid;
  gap: 12px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.device-chart-label {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.device-chart-track {
  display: block;
  height: 7px;
  margin-top: 4px;
  border-radius: 99px;
  background: #edf3f6;
}

.device-chart-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #007ea8;
}

.device-chart-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.device-chart-value {
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.device-chart-value strong {
  display: block;
  color: var(--ink);
}

.device-chart-previous i {
  background: #778a9c;
}

.analytics-insights-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 470px), 1fr));
  gap: 16px;
  margin-top: 16px;
}

.analytics-insights-grid > .card {
  min-width: 0;
}

.analytics-device-card {
  grid-column: 1 / -1;
}

#report .analytics-insights-grid .table-wrap {
  overflow-x: auto;
}

#report .analytics-insights-grid .table-wrap table:has(> thead > tr > :nth-child(6)) {
  --table-min-width: 27rem;
}

.card:has(> .portal-card-footer:not([hidden])) {
  display: flex;
  flex-direction: column;
}

.portal-card-footer {
  margin-top: auto;
  padding-top: 9px;
}

.business-report .portal-card-footer > .action-small {
  margin-top: 0;
}

#report .analytics-insights-grid .table-wrap .analytics-landing-table thead th[scope="col"]:first-child:not(.number) {
  width: 52%;
}

.analytics-landing-table th[scope="row"] a,
.analytics-page-movers a {
  color: #00698a;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.analytics-page-movers {
  display: grid;
  gap: 5px;
  margin: 8px 0 0;
  font-size: 11px;
}

.analytics-page-movers > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0 8px;
}

.analytics-page-movers dt {
  color: var(--muted);
}

.analytics-page-movers dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.portal-menu-toggle {
  display: none;
}

@media (max-width: 700px) {
  .topbar {
    position: sticky;
    top: 0;
    z-index: 2;
    flex-wrap: nowrap;
    min-height: 60px;
    padding-block: 8px;
    background: var(--paper);
  }

  .topbar > span {
    display: none;
  }

  .portal-menu-toggle,
  .portal-menu-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    border-radius: 8px;
  }

  .portal-menu-toggle {
    gap: 8px;
    padding: 0 11px;
    border: 1px solid var(--line);
    background: white;
    color: var(--ink);
    font-size: 13px;
    letter-spacing: 0;
  }

  .portal-menu-drawer {
    inset: 0 auto 0 0;
    width: min(320px, calc(100% - 44px));
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: var(--ink);
    color: white;
  }

  .portal-menu-drawer[open] {
    animation: portal-menu-enter 220ms ease-out;
  }

  .portal-menu-drawer::backdrop {
    background: rgb(0 0 0 / 52%);
    backdrop-filter: none;
  }

  body:has(.portal-menu-drawer[open]) {
    overflow: hidden;
  }

  .portal-menu-drawer .sidebar {
    position: relative;
    width: 100%;
    height: 100%;
    padding: max(21px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));
    overscroll-behavior: contain;
  }

  .portal-menu-drawer .brand {
    align-self: flex-start;
    max-width: calc(100% - 52px);
  }

  .portal-menu-drawer .brand img {
    max-width: 100%;
  }

  .portal-menu-close {
    position: absolute;
    top: max(12px, env(safe-area-inset-top));
    right: 12px;
    z-index: 1;
    border: 1px solid #444;
    background: #222;
    color: white;
    font-size: 24px;
    line-height: 1;
  }

  .portal-menu-drawer .workspace-box {
    margin: 16px 0 10px;
  }

  .portal-menu-drawer .workspace-box select {
    min-height: 44px;
    font-size: 16px;
  }

  .portal-menu-drawer nav {
    display: grid;
    flex: none;
    gap: 3px;
    overflow: visible;
  }

  .portal-menu-drawer nav button {
    align-items: center;
    min-height: 44px;
    font-size: 13px;
  }

  .portal-menu-drawer .nav-divider {
    display: block;
    margin-block: 7px;
  }

  .portal-menu-drawer .aside-bottom {
    display: block;
    padding-top: 18px;
  }

  @keyframes portal-menu-enter {
    from { transform: translateX(-100%); }
    to { transform: translateX(0); }
  }
}

@media (max-width: 700px) {
  #main {
    min-width: 0;
    padding-inline: clamp(12px, 4vw, 18px);
  }

  #dashboard,
  #report,
  #report > *,
  #report .card,
  #report details {
    min-width: 0;
  }

  #report {
    overflow-wrap: anywhere;
  }

  #report .card {
    padding: clamp(12px, 4vw, 18px);
  }

  #report .overview-brief,
  #report .ads-brief {
    padding: 16px;
  }

  .metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .connection-grid,
  .admin-grid,
  .chart-row,
  .overview-layout,
  .overview-traffic,
  .ads-report {
    grid-template-columns: minmax(0, 1fr);
  }

  .overview-card-top h2 {
    white-space: normal;
  }

  .report-actions {
    flex-wrap: wrap;
  }

  #report input,
  #report select,
  .report-actions select {
    min-width: 0;
    max-width: 100%;
  }

  #report .chart {
    display: block;
    max-width: 100%;
    height: auto;
  }

  #report .chart text {
    font-size: 14px;
  }

  .donut-wrap {
    padding-inline: 0;
  }

  .donut-wrap .legend {
    min-width: min(100%, 125px);
  }

  .heatmap {
    grid-template-columns: 20px repeat(24, minmax(0, 1fr));
  }

  .heat-cell {
    min-height: 5px;
  }

  #report .table-wrap {
    isolation: isolate;
    min-width: 0;
    max-width: 100%;
    max-height: min(65vh, 32rem);
    max-height: min(65svh, 32rem);
    overflow: auto;
    overscroll-behavior-inline: contain;
  }

  #report .table-wrap thead {
    position: sticky;
    inset-block-start: 0;
    z-index: 2;
    background: white;
    box-shadow: inset 0 -1px var(--line);
  }

  #report .table-wrap thead th {
    white-space: nowrap;
    overflow-wrap: normal;
  }

  #report .table-wrap table:has(> thead > tr:first-child > :nth-child(4)) tr > :first-child:not([colspan]) {
    position: sticky;
    inset-inline-start: 0;
    z-index: 1;
    min-width: clamp(105px, 28vw, 145px);
    max-width: min(38vw, 10rem);
    background: white;
    box-shadow: inset -1px 0 var(--line);
    white-space: normal;
    overflow-wrap: anywhere;
  }

  #report .table-wrap table:not(.seo-history-table) thead tr:has(> :nth-child(4)) > :first-child:not(.number) {
    width: max(105px, 20%);
  }

  #report .table-wrap .seo-history-table tr > :first-child:not([colspan]) {
    width: auto;
    min-width: clamp(105px, 34vw, 165px);
    max-width: min(40vw, 180px);
    overflow-wrap: break-word;
  }

  .report-trend-midpoint {
    display: none;
  }

  #report .table-wrap .number {
    white-space: nowrap;
  }

  #report .ads-table th[scope="row"] {
    min-width: 105px;
  }

  #meta-date-range > label {
    flex: 1 1 125px;
    min-width: 0;
  }

}

@media (max-width: 480px) {
  .overview-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #report .value {
    font-size: clamp(19px, 6vw, 26px);
  }
}

/* These tables grow with the page when their rows are expanded. */
#report .analytics-insights-grid > .card:not(.analytics-device-card) .table-wrap {
  max-height: none;
}

.business-report,.business-grid{display:grid;gap:14px;min-width:0}
.business-report .metrics>.card{display:flex;flex-wrap:wrap;align-items:baseline;align-content:center;gap:4px 9px}
.business-report .metrics>.card>small{flex-basis:100%}
.business-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.business-even,.business-chart-periods{grid-template-columns:repeat(2,minmax(0,1fr))}
.business-review-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start}
.business-review-grid:has(.portal-card-footer:not([hidden])){align-items:stretch}
.business-report :is(h3,h4){margin:12px 0 4px}
.business-report label{display:grid;gap:4px;font-size:12px}
.business-report label:has(input){margin-top:10px}
.business-report input{width:min(100%,240px)}
.business-highlights{padding-inline-start:20px;margin:8px 0 0}
.business-highlights li+li{margin-top:5px}
.business-change{display:inline-block;padding:1px 5px;border-radius:4px;font-size:.95em;font-weight:700;white-space:nowrap}
.business-change.up{background:#e4f4eb;color:#146247}
.business-change.down{background:#fbeceb;color:#9a352e}
.business-mix-bar,.business-star-track{display:flex;height:8px;border-radius:8px;background:#e8eff1;overflow:hidden;margin:10px 0}
.business-mix-bar span,.business-star-track i{display:block;height:100%}
.business-mix-line{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid var(--line)}
.business-mix-line i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-inline-end:6px}
.business-action-total,.business-rating-notes span{padding:7px 10px;border-radius:7px;background:#eaf3f6}
.business-action-total{margin-top:8px}
.business-action-total>strong{font-size:20px}
.business-report .action-small{margin-top:9px}
.business-reputation>.business-grid,.business-reputation>.metrics{margin-top:14px}
.business-review-trends{margin-top:14px}
.business-star{display:grid;grid-template-columns:5em minmax(0,1fr) 3em;gap:8px;align-items:center}
.business-star-track i{background:#00799d}
.business-star strong{text-align:right}
.business-rating-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;font-size:11px}
.business-filters{display:flex;flex-wrap:wrap;gap:6px}
.business-filters button[aria-pressed=true]{background:#006987;border-color:#006987;color:white}
.business-review-list{list-style:none;margin:8px 0 0;padding:0}
.business-review-list li{border-bottom:1px solid var(--line);padding:7px 9px}
.business-review-list li>div{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}
.business-review-list li p{margin:4px 0;overflow-wrap:anywhere}
.business-review-list li small{margin-inline-start:auto}
.business-review-pending{border-inline-start:3px solid #bc882d;background:#fff7e6}
.business-report .table-wrap{margin-top:8px}
@media(max-width:1000px){.business-grid{grid-template-columns:minmax(0,1fr)}}

.business-locations{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.business-location{border:1px solid #d3e1e7;border-radius:999px;padding:8px 16px;background:#f0f6f8;color:#304e5d;font:inherit;font-weight:600;cursor:pointer}
.business-location[aria-pressed="true"]{background:#00647e;border-color:#00647e;color:#fff}
.business-location:focus-visible{outline:2px solid #0084a8;outline-offset:2px}

.business-content{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;min-width:0}
.business-content>.fine{grid-column:1/-1}
@media(max-width:950px){.business-content{grid-template-columns:minmax(0,1fr)}}
.business-content-extra{margin-top:12px}
.business-content-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;margin-bottom:10px}
.business-content-head>.fine{margin:0}
.business-post-feed{list-style:none;padding:0;margin:0}
.business-post-feed li{display:grid;gap:12px;align-items:start;border-top:1px solid var(--line);padding:10px 0}
.business-post-feed li:last-child{padding-bottom:0}
.business-post-feed .business-post-with-image{grid-template-columns:clamp(72px,21%,142px) minmax(0,1fr)}
.business-post-feed li img,.business-photo-gallery img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px}
.business-report .business-post-feed h3{margin:2px 0 4px}
.business-post-copy{margin:4px 0;overflow-wrap:anywhere;white-space:pre-line}
.business-post-link{display:block;width:fit-content;margin-top:3px;color:#00647e;text-underline-offset:2px}
.business-photo-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.business-photo-gallery figure{margin:0;min-width:0}
.business-photo-gallery figure a{display:block;border-radius:6px}
.business-photo-gallery img{aspect-ratio:2.4;max-height:145px}
.business-photo-gallery figcaption{padding:8px 10px;background:#f0f6f8;border-radius:0 0 6px 6px;overflow-wrap:anywhere}
.business-photo-gallery figcaption span{display:block}
.business-report .business-optional-action{background:#eaf3f6}
