/* Lubrand visual theme for Google Reviews portal */

body .lgr-portal{
  max-width:1280px;
  margin:0 auto;
  color:#111827;
}

/* Header */
body .lgr-portal .lgr-portal-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  margin-bottom:30px;
}

body .lgr-portal .lgr-portal-title{
  font-size:52px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-0.04em !important;
  margin:0 0 10px !important;
  color:#111827 !important;
}

body .lgr-portal .lgr-portal-subtitle{
  font-size:17px !important;
  color:#667085 !important;
  margin:0 !important;
}

/* Brand selector */
body .lgr-portal .lgr-brand-select{
  background:#fff !important;
  border:1px solid #dfe5ef !important;
  border-radius:18px !important;
  padding:14px 16px !important;
  box-shadow:none !important;
}

body .lgr-portal .lgr-brand-select select{
  min-width:180px !important;
  height:46px !important;
  border-radius:12px !important;
  border:1px solid #cfd7e6 !important;
  padding:0 14px !important;
  background:#fff !important;
}

/* Navigation like Lubrand */
body .lgr-portal .lgr-tabs{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  margin:0 0 28px !important;
  border:0 !important;
}

body .lgr-portal .lgr-tab{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:52px !important;
  padding:0 24px !important;
  border-radius:999px !important;
  border:1px solid #d7dfeb !important;
  background:#fff !important;
  color:#0f172a !important;
  font-size:15px !important;
  font-weight:800 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

body .lgr-portal .lgr-tab:hover{
  border-color:#b8c4d8 !important;
  transform:translateY(-1px);
}

body .lgr-portal .lgr-tab.is-active{
  background:#0b63ce !important;
  border-color:#0b63ce !important;
  color:#fff !important;
}

/* Cards */
body .lgr-portal .lgr-card,
body .lgr-portal .lgr-panel{
  background:#fff !important;
  border:1px solid #dfe5ef !important;
  border-radius:24px !important;
  padding:26px !important;
  margin-bottom:28px !important;
  box-shadow:none !important;
}

body .lgr-portal .lgr-card h2,
body .lgr-portal .lgr-card h3,
body .lgr-portal .lgr-section-header h2{
  font-size:36px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-0.04em !important;
  margin:0 0 12px !important;
  color:#111827 !important;
}

body .lgr-portal .lgr-section-header p,
body .lgr-portal .lgr-card p{
  color:#667085 !important;
}

/* Filters */
body .lgr-portal .lgr-filters{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:18px !important;
  align-items:end !important;
  background:#fff !important;
  border:1px solid #dfe5ef !important;
  border-radius:24px !important;
  padding:26px !important;
  margin:0 0 28px !important;
  box-shadow:none !important;
}

body .lgr-portal .lgr-filters label{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  font-size:13px !important;
  font-weight:800 !important;
  color:#475467 !important;
}

body .lgr-portal input[type="date"],
body .lgr-portal input[type="text"],
body .lgr-portal input[type="search"],
body .lgr-portal select,
body .lgr-portal textarea{
  height:48px !important;
  border:1px solid #d2dae7 !important;
  border-radius:14px !important;
  padding:0 14px !important;
  background:#fff !important;
  color:#111827 !important;
}

/* Buttons */
body .lgr-portal .lgr-btn,
body .lgr-portal button,
body .lgr-portal .button{
  min-height:48px !important;
  border-radius:14px !important;
  padding:0 22px !important;
  font-weight:800 !important;
  border:0 !important;
  background:#0b63ce !important;
  color:#fff !important;
  box-shadow:none !important;
}

body .lgr-portal .button-primary,
body .lgr-portal .lgr-btn-danger{
  background:#ef233c !important;
}

/* KPI cards — keep TripAdvisor style */
body .lgr-portal .lgr-kpi-grid,
body .lgr-portal .lgr-stats,
body .lgr-portal .lgr-summary{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(220px,1fr)) !important;
  gap:18px !important;
  margin-bottom:28px !important;
}

body .lgr-portal .lgr-ta-kpi-grid{
  grid-template-columns:repeat(5,minmax(180px,1fr)) !important;
}

body .lgr-portal .lgr-kpi-card,
body .lgr-portal .lgr-stat-card,
body .lgr-portal .lgr-summary-card{
  background:#fff !important;
  border:1px solid #dfe5ef !important;
  border-radius:22px !important;
  padding:24px !important;
  min-height:130px !important;
  box-shadow:none !important;
}

body .lgr-portal .lgr-ta-kpi{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
}

body .lgr-portal .lgr-ta-icon{
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:24px !important;
  font-weight:900 !important;
}

body .lgr-portal .lgr-ta-icon-yellow{background:#fff5d7 !important;color:#f59e0b !important;}
body .lgr-portal .lgr-ta-icon-blue{background:#dbeafe !important;color:#2563eb !important;}
body .lgr-portal .lgr-ta-icon-purple{background:#ede9fe !important;color:#7c3aed !important;}
body .lgr-portal .lgr-ta-icon-green{background:#dcfce7 !important;color:#16a34a !important;}
body .lgr-portal .lgr-ta-icon-red{background:#fee2e2 !important;color:#ef4444 !important;}

body .lgr-portal .lgr-kpi-label{
  font-size:13px !important;
  color:#667085 !important;
  margin-bottom:10px !important;
}

body .lgr-portal .lgr-kpi-value{
  font-size:42px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-0.03em !important;
  color:#111827 !important;
}

body .lgr-portal .lgr-ta-trend{
  display:inline-flex !important;
  margin-top:10px !important;
  padding:4px 10px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:800 !important;
}

body .lgr-portal .lgr-ta-trend.is-good{background:#dcfce7 !important;color:#15803d !important;}
body .lgr-portal .lgr-ta-trend.is-bad{background:#fee2e2 !important;color:#dc2626 !important;}

/* Tables */
body .lgr-portal .lgr-table-wrap{
  overflow-x:auto !important;
}

body .lgr-portal table,
body .lgr-portal .lgr-table{
  width:100% !important;
  border-collapse:collapse !important;
  border:0 !important;
}

body .lgr-portal table th,
body .lgr-portal .lgr-table th{
  padding:16px !important;
  font-size:11px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  color:#667085 !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5e7eb !important;
  text-align:left !important;
}

body .lgr-portal table td,
body .lgr-portal .lgr-table td{
  padding:18px 16px !important;
  border-bottom:1px solid #eef2f7 !important;
  vertical-align:top !important;
  font-size:14px !important;
  line-height:1.7 !important;
}

body .lgr-portal table tr:last-child td,
body .lgr-portal .lgr-table tr:last-child td{
  border-bottom:0 !important;
}

/* Pagination */
body .lgr-portal .lgr-pagination{
  display:flex !important;
  justify-content:flex-end !important;
  gap:8px !important;
  margin-top:24px !important;
}

body .lgr-portal .lgr-pagination a{
  min-width:38px !important;
  height:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  border:1px solid #d7dfeb !important;
  background:#fff !important;
  color:#111827 !important;
  text-decoration:none !important;
  font-weight:800 !important;
}

body .lgr-portal .lgr-pagination a.is-active{
  background:#0b63ce !important;
  border-color:#0b63ce !important;
  color:#fff !important;
}

@media (max-width:1100px){
  body .lgr-portal .lgr-kpi-grid,
  body .lgr-portal .lgr-stats,
  body .lgr-portal .lgr-summary,
  body .lgr-portal .lgr-ta-kpi-grid{
    grid-template-columns:repeat(2,minmax(180px,1fr)) !important;
  }
}

@media (max-width:720px){
  body .lgr-portal .lgr-portal-header{
    flex-direction:column !important;
  }

  body .lgr-portal .lgr-kpi-grid,
  body .lgr-portal .lgr-stats,
  body .lgr-portal .lgr-summary,
  body .lgr-portal .lgr-ta-kpi-grid{
    grid-template-columns:1fr !important;
  }

  body .lgr-portal .lgr-filters{
    flex-direction:column !important;
  }

  body .lgr-portal .lgr-filters label{
    width:100% !important;
  }

  body .lgr-portal .lgr-filters input,
  body .lgr-portal .lgr-filters select{
    width:100% !important;
  }
}

/* =========================================================
   NAV OVERRIDE — Lubrand dark navigation bar
   ========================================================= */

body .lgr-portal .lgr-tabs{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:18px !important;

  background:#07101f !important;
  border-radius:0 !important;
  border:0 !important;

  padding:16px 22px !important;
  margin:0 0 34px !important;

  min-height:68px !important;
}

body .lgr-portal .lgr-tabs::before{
  content:"● LUBRAND";
  margin-right:auto !important;
  color:#ffffff !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  font-size:16px !important;
}

body .lgr-portal .lgr-tabs::before{
  color:#ffffff !important;
}

body .lgr-portal .lgr-tabs .lgr-tab{
  min-height:44px !important;
  padding:0 18px !important;

  background:transparent !important;
  border:0 !important;
  border-radius:12px !important;

  color:#d7deea !important;

  font-size:14px !important;
  font-weight:800 !important;

  box-shadow:none !important;
  transform:none !important;
}

body .lgr-portal .lgr-tabs .lgr-tab::before{
  content:none !important;
}

body .lgr-portal .lgr-tabs .lgr-tab:hover{
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
}

body .lgr-portal .lgr-tabs .lgr-tab.is-active{
  background:#2b3444 !important;
  color:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Make the portal header less dominant now that nav is dark */
body .lgr-portal .lgr-portal-header{
  margin-bottom:18px !important;
}


/* Google Reviews KPI grid */
body .lgr-portal .lgr-google-kpi-grid{
  grid-template-columns:repeat(4,minmax(220px,1fr)) !important;
  gap:18px !important;
  margin-bottom:28px !important;
}

body .lgr-portal .lgr-google-kpi-grid .lgr-kpi-card{
  min-height:142px !important;
}

body .lgr-portal .lgr-google-kpi-grid .lgr-kpi-value{
  font-size:34px !important;
}



/* =========================================================
   METRICS PAGE — LUBRAND MODERN DASHBOARD
   ========================================================= */

body .lgr-portal .lgr-metrics-hero-card{
  padding:30px !important;
  border-radius:24px !important;
  border:1px solid #dfe5ef !important;
  background:#fff !important;
  box-shadow:none !important;
}

body .lgr-portal .lgr-metrics-main-heading{
  margin-bottom:22px !important;
}

body .lgr-portal .lgr-metrics-main-heading h2{
  font-size:34px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-0.035em !important;
  margin:0 0 10px !important;
  color:#111827 !important;
}

body .lgr-portal .lgr-metrics-main-heading p{
  font-size:15px !important;
  line-height:1.6 !important;
  margin:0 !important;
  color:#667085 !important;
}

body .lgr-portal .lgr-modern-filters{
  display:grid !important;
  grid-template-columns:1.2fr 1fr 1fr 1fr auto !important;
  gap:18px !important;
  align-items:end !important;
  padding:22px !important;
  margin-bottom:20px !important;
  border-radius:20px !important;
  border:1px solid #dfe5ef !important;
  background:#fff !important;
}

body .lgr-portal .lgr-modern-filters .lgr-field{
  width:100% !important;
}

body .lgr-portal .lgr-modern-filters .lgr-label{
  display:block !important;
  margin-bottom:8px !important;
  font-size:12px !important;
  font-weight:900 !important;
  color:#475467 !important;
}

body .lgr-portal .lgr-modern-filters input,
body .lgr-portal .lgr-modern-filters select{
  width:100% !important;
  height:48px !important;
  border-radius:14px !important;
  border:1px solid #d2dae7 !important;
  background:#fff !important;
  padding:0 14px !important;
  font-weight:700 !important;
}

body .lgr-portal .lgr-modern-filters .lgr-btn{
  height:48px !important;
  min-width:130px !important;
  border-radius:14px !important;
  background:#ef233c !important;
  color:#fff !important;
  border:0 !important;
  font-weight:900 !important;
}

body .lgr-portal .lgr-filter-note{
  font-size:14px !important;
  line-height:1.7 !important;
  color:#475569 !important;
  margin:0 !important;
}

body .lgr-portal .lgr-metrics-section{
  margin-top:26px !important;
}

body .lgr-portal .lgr-section-heading{
  margin:0 0 20px !important;
}

body .lgr-portal .lgr-section-heading h2{
  font-size:30px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:-0.035em !important;
  margin:0 0 8px !important;
  color:#111827 !important;
}

body .lgr-portal .lgr-section-heading p{
  font-size:15px !important;
  line-height:1.65 !important;
  color:#667085 !important;
  margin:0 !important;
}

body .lgr-portal .lgr-google-kpi-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(190px,1fr)) !important;
  gap:18px !important;
  margin:20px 0 30px !important;
}

body .lgr-portal .lgr-google-kpi-grid .lgr-kpi-card{
  background:#fff !important;
  border:1px solid #dfe5ef !important;
  border-radius:20px !important;
  padding:24px !important;
  min-height:150px !important;
  box-shadow:none !important;
}

body .lgr-portal .lgr-google-kpi-grid .lgr-kpi-card strong{
  display:block !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-0.03em !important;
  color:#111827 !important;
  margin-bottom:8px !important;
}

body .lgr-portal .lgr-google-kpi-grid .lgr-kpi-card span{
  display:block !important;
  font-size:14px !important;
  color:#667085 !important;
  margin-bottom:10px !important;
}

body .lgr-portal .lgr-kpi-sub{
  margin-top:12px !important;
}

body .lgr-portal .lgr-kpi-sub-stack{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}

body .lgr-portal .lgr-kpi-sub-row{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:8px !important;
}

body .lgr-portal .lgr-kpi-sub-row em,
body .lgr-portal .lgr-loyalty-kpi em,
body .lgr-portal .lgr-loyalty-kpi small{
  font-style:normal !important;
  font-size:12px !important;
  line-height:1.45 !important;
  color:#667085 !important;
}

body .lgr-portal .lgr-delta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:28px !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:900 !important;
}

body .lgr-portal .lgr-delta-up{
  background:#dcfce7 !important;
  color:#15803d !important;
}

body .lgr-portal .lgr-delta-down{
  background:#fee2e2 !important;
  color:#dc2626 !important;
}

body .lgr-portal .lgr-delta-neutral{
  background:#eef2ff !important;
  color:#475569 !important;
}

body .lgr-portal .lgr-loyalty-attribution-card{
  border-radius:24px !important;
  border:1px solid #dfe5ef !important;
  background:#fff !important;
  padding:28px !important;
  margin-bottom:28px !important;
  box-shadow:none !important;
}

body .lgr-portal .lgr-loyalty-attribution-card h3,
body .lgr-portal .lgr-card h3{
  font-size:26px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:-0.03em !important;
  margin:0 0 10px !important;
  color:#111827 !important;
}

body .lgr-portal .lgr-loyalty-grid .lgr-kpi-card{
  min-height:145px !important;
}

body .lgr-portal .lgr-table-wrap{
  overflow-x:auto !important;
  border:1px solid #dfe5ef !important;
  border-radius:18px !important;
}

body .lgr-portal .lgr-table,
body .lgr-portal table{
  border:0 !important;
  border-collapse:collapse !important;
  width:100% !important;
}

body .lgr-portal .lgr-table th{
  background:#f8fafc !important;
  color:#475467 !important;
  font-size:11px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
  padding:16px !important;
  border-bottom:1px solid #e5e7eb !important;
}

body .lgr-portal .lgr-table td{
  padding:16px !important;
  border-bottom:1px solid #eef2f7 !important;
  font-size:14px !important;
  line-height:1.6 !important;
}

body .lgr-portal .lgr-bar-row{
  display:grid !important;
  grid-template-columns:120px 1fr 60px !important;
  gap:12px !important;
  align-items:center !important;
  margin:10px 0 !important;
}

body .lgr-portal .lgr-bar-track{
  height:12px !important;
  border-radius:999px !important;
  background:#edf2f7 !important;
  overflow:hidden !important;
}

body .lgr-portal .lgr-bar-fill{
  height:100% !important;
  border-radius:999px !important;
  background:#0b63ce !important;
}

@media (max-width:1100px){
  body .lgr-portal .lgr-modern-filters{
    grid-template-columns:repeat(2,minmax(180px,1fr)) !important;
  }

  body .lgr-portal .lgr-google-kpi-grid{
    grid-template-columns:repeat(2,minmax(180px,1fr)) !important;
  }
}

@media (max-width:720px){
  body .lgr-portal .lgr-modern-filters,
  body .lgr-portal .lgr-google-kpi-grid{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   METRICS FULL REPORT — polished long-form dashboard
   Keeps all sections visible.
   ========================================================= */

/* Never hide metrics sections */
body .lgr-portal .lgr-loyalty-attribution-card,
body .lgr-portal .lgr-compact-table,
body .lgr-portal .lgr-location-ranking,
body .lgr-portal .lgr-google-business-metrics,
body .lgr-portal .lgr-visibility-actions,
body .lgr-portal .lgr-card {
  display: block !important;
}

/* Metrics page typography */
body .lgr-portal .lgr-metrics-section {
  margin-top: 32px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-section-heading h2,
body .lgr-portal .lgr-card h3 {
  font-size: 30px !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  color: #0f172a !important;
}

body .lgr-portal .lgr-metrics-section .lgr-section-heading p,
body .lgr-portal .lgr-muted,
body .lgr-portal .lgr-filter-note {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #667085 !important;
}

/* Full metrics KPI cards */
body .lgr-portal .lgr-metrics-section .lgr-google-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(190px, 1fr)) !important;
  gap: 18px !important;
  margin: 22px 0 32px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card {
  position: relative !important;
  min-height: 178px !important;
  padding: 24px !important;
  border-radius: 22px !important;
  border: 1px solid #dfe5ef !important;
  background: #fff !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .035) !important;
}

/* Icon bubbles for every KPI card */
body .lgr-portal .lgr-metrics-section .lgr-kpi-card::before {
  content: "●";
  width: 52px !important;
  height: 52px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 14px !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  background: #dbeafe !important;
  color: #0b63ce !important;
}

/* Nice icon rotation by position */
body .lgr-portal .lgr-metrics-section .lgr-kpi-card:nth-child(8n+1)::before {
  content: "💬";
  background: #dbeafe !important;
  color: #0b63ce !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card:nth-child(8n+2)::before {
  content: "⭐";
  background: #fff5d7 !important;
  color: #f59e0b !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card:nth-child(8n+3)::before {
  content: "👍";
  background: #dcfce7 !important;
  color: #16a34a !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card:nth-child(8n+4)::before {
  content: "👎";
  background: #fee2e2 !important;
  color: #ef4444 !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card:nth-child(8n+5)::before {
  content: "✦";
  background: #ede9fe !important;
  color: #7c3aed !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card:nth-child(8n+6)::before {
  content: "⏳";
  background: #ffedd5 !important;
  color: #f97316 !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card:nth-child(8n+7)::before {
  content: "📈";
  background: #e0f2fe !important;
  color: #0284c7 !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card:nth-child(8n+8)::before {
  content: "⏱";
  background: #ede9fe !important;
  color: #7c3aed !important;
}

/* KPI number and text */
body .lgr-portal .lgr-metrics-section .lgr-kpi-card strong {
  display: block !important;
  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  color: #0f172a !important;
  margin-bottom: 8px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card > span {
  display: block !important;
  font-size: 14px !important;
  color: #667085 !important;
  margin-bottom: 12px !important;
}

/* Delta badges */
body .lgr-portal .lgr-delta {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 5px 11px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body .lgr-portal .lgr-delta-up {
  background: #dcfce7 !important;
  color: #15803d !important;
}

body .lgr-portal .lgr-delta-down {
  background: #fee2e2 !important;
  color: #dc2626 !important;
}

body .lgr-portal .lgr-delta-neutral {
  background: #eef2ff !important;
  color: #475569 !important;
}

body .lgr-portal .lgr-kpi-sub-row em,
body .lgr-portal .lgr-loyalty-kpi em,
body .lgr-portal .lgr-loyalty-kpi small {
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: #667085 !important;
  font-style: normal !important;
}

/* Section cards */
body .lgr-portal .lgr-card,
body .lgr-portal .lgr-loyalty-attribution-card {
  border-radius: 24px !important;
  border: 1px solid #dfe5ef !important;
  background: #fff !important;
  padding: 30px !important;
  margin-bottom: 30px !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .025) !important;
}

/* Tables prettier */
body .lgr-portal .lgr-table-wrap {
  border: 1px solid #dfe5ef !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

body .lgr-portal .lgr-table th {
  background: #f8fafc !important;
  color: #475467 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
  padding: 16px !important;
}

body .lgr-portal .lgr-table td {
  padding: 16px !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* Horizontal bar charts */
body .lgr-portal .lgr-bar-row {
  display: grid !important;
  grid-template-columns: 120px 1fr 70px !important;
  gap: 14px !important;
  align-items: center !important;
  margin: 11px 0 !important;
}

body .lgr-portal .lgr-bar-track {
  height: 13px !important;
  border-radius: 999px !important;
  background: #eef2f7 !important;
  overflow: hidden !important;
}

body .lgr-portal .lgr-bar-fill {
  height: 100% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #0b63ce, #16a34a) !important;
}

/* Mobile */
@media (max-width: 1100px) {
  body .lgr-portal .lgr-metrics-section .lgr-google-kpi-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body .lgr-portal .lgr-metrics-section .lgr-google-kpi-grid {
    grid-template-columns: 1fr !important;
  }
}


/* KPI icons left layout */
body .lgr-portal .lgr-metrics-section .lgr-kpi-card{
  display:grid !important;
  grid-template-columns:64px 1fr !important;
  column-gap:18px !important;
  align-items:start !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card::before{
  grid-column:1 !important;
  grid-row:1 / span 4 !important;
  margin:0 !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card strong,
body .lgr-portal .lgr-metrics-section .lgr-kpi-card > span,
body .lgr-portal .lgr-metrics-section .lgr-kpi-card .lgr-kpi-sub{
  grid-column:2 !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card strong{
  margin-top:0 !important;
}

/* Google Reviews top KPI icons left too */
body .lgr-portal .lgr-google-kpi-grid .lgr-ta-kpi{
  display:grid !important;
  grid-template-columns:64px 1fr !important;
  column-gap:18px !important;
  align-items:center !important;
}

body .lgr-portal .lgr-google-kpi-grid .lgr-ta-icon{
  grid-column:1 !important;
  grid-row:1 / span 3 !important;
}


/* =========================================================
   KPI COMPACT ELEGANT CARDS — fix long/tall metric cards
   ========================================================= */

body .lgr-portal .lgr-metrics-section .lgr-google-kpi-grid{
  grid-template-columns:repeat(4,minmax(220px,1fr)) !important;
  gap:18px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card{
  display:grid !important;
  grid-template-columns:52px 1fr !important;
  grid-template-rows:auto auto auto !important;
  column-gap:16px !important;
  row-gap:4px !important;
  align-items:start !important;

  min-height:132px !important;
  padding:22px !important;
  border-radius:18px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card::before{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  font-size:18px !important;

  grid-column:1 !important;
  grid-row:1 / span 3 !important;

  margin:0 !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card strong{
  grid-column:2 !important;
  grid-row:1 !important;

  font-size:28px !important;
  line-height:1 !important;
  margin:0 0 4px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card > span{
  grid-column:2 !important;
  grid-row:2 !important;

  font-size:13px !important;
  line-height:1.3 !important;
  margin:0 !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card .lgr-kpi-sub{
  grid-column:2 !important;
  grid-row:3 !important;

  margin-top:10px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-sub-stack{
  gap:6px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-sub-row{
  display:block !important;
  margin:0 !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-sub-row em{
  display:block !important;
  margin-top:6px !important;
  font-size:11px !important;
  line-height:1.35 !important;
  color:#667085 !important;
}

/* Hide overly long repeated date text inside KPI cards on metrics page */
body .lgr-portal .lgr-metrics-section .lgr-kpi-sub-row em{
  max-height:16px !important;
  overflow:hidden !important;
}

/* Badges smaller and cleaner */
body .lgr-portal .lgr-metrics-section .lgr-delta{
  min-height:24px !important;
  padding:4px 9px !important;
  font-size:11px !important;
}

/* Loyalty KPI cards should also stay compact */
body .lgr-portal .lgr-loyalty-grid .lgr-kpi-card{
  min-height:142px !important;
}


/* KPI delta pill fixed width */
body .lgr-portal .lgr-metrics-section .lgr-kpi-card .lgr-delta{
  width:76px !important;
  min-width:76px !important;
  max-width:76px !important;
  height:28px !important;
  padding:0 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:999px !important;

  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

/* Prevent delta parent from stretching */
body .lgr-portal .lgr-metrics-section .lgr-kpi-sub-row{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
}

/* Give text below the badge enough room but not too much */
body .lgr-portal .lgr-metrics-section .lgr-kpi-sub-row em{
  width:100% !important;
  max-height:18px !important;
  overflow:hidden !important;
}


/* =========================================================
   KPI READABILITY FIX — bigger text, tighter spacing
   ========================================================= */

body .lgr-portal .lgr-metrics-section .lgr-kpi-card{
  min-height:150px !important;
  padding:22px 24px !important;
  grid-template-columns:54px 1fr !important;
  column-gap:18px !important;
  row-gap:0 !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card::before{
  width:46px !important;
  height:46px !important;
  font-size:19px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card strong{
  font-size:31px !important;
  line-height:1 !important;
  margin:0 0 6px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card > span{
  font-size:15px !important;
  line-height:1.25 !important;
  margin:0 0 12px !important;
  color:#475569 !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card .lgr-kpi-sub{
  margin-top:8px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-sub-stack{
  gap:10px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-sub-row{
  gap:6px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-card .lgr-delta{
  width:auto !important;
  min-width:74px !important;
  max-width:none !important;
  height:30px !important;
  padding:0 13px !important;
  font-size:13px !important;
}

body .lgr-portal .lgr-metrics-section .lgr-kpi-sub-row em,
body .lgr-portal .lgr-loyalty-kpi em,
body .lgr-portal .lgr-loyalty-kpi small{
  font-size:13px !important;
  line-height:1.45 !important;
  color:#475569 !important;
  max-height:none !important;
  overflow:visible !important;
}

/* For long repeated benchmark lines: keep readable but compact */
body .lgr-portal .lgr-metrics-section .lgr-kpi-sub-row em{
  max-width:220px !important;
}

/* Remove excessive vertical air in loyalty cards */
body .lgr-portal .lgr-loyalty-grid .lgr-kpi-card{
  min-height:165px !important;
}


/* Fix full-width comparison tables */
body .lgr-portal .lgr-card .lgr-table-wrap{
  width:100% !important;
  max-width:100% !important;
  display:block !important;
}

body .lgr-portal .lgr-card .lgr-table-wrap table,
body .lgr-portal .lgr-card table.lgr-table{
  width:100% !important;
  min-width:100% !important;
  table-layout:auto !important;
}

body .lgr-portal .lgr-card .lgr-compact-table{
  width:100% !important;
  min-width:100% !important;
}


/* Metrics ranking/comparison tables: balanced columns */
body .lgr-portal .lgr-metrics-section .lgr-card .lgr-table{
  table-layout: fixed !important;
  width: 100% !important;
}

body .lgr-portal .lgr-metrics-section .lgr-card .lgr-table th,
body .lgr-portal .lgr-metrics-section .lgr-card .lgr-table td{
  text-align: left !important;
  vertical-align: middle !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

body .lgr-portal .lgr-metrics-section .lgr-card .lgr-table th:first-child,
body .lgr-portal .lgr-metrics-section .lgr-card .lgr-table td:first-child{
  width: 22% !important;
}

body .lgr-portal .lgr-metrics-section .lgr-card .lgr-table th:not(:first-child),
body .lgr-portal .lgr-metrics-section .lgr-card .lgr-table td:not(:first-child){
  width: auto !important;
}



/* =========================================================
   REVIEW EVOLUTION SVG CHART
   ========================================================= */

body .lgr-portal .lgr-evolution-chart-card{
  margin-top:22px !important;
  border:1px solid #dfe5ef !important;
  border-radius:22px !important;
  background:#fff !important;
  padding:24px !important;
}

body .lgr-portal .lgr-evolution-chart-header{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:24px !important;
  margin-bottom:18px !important;
}

body .lgr-portal .lgr-evolution-chart-header h4{
  font-size:32px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-0.035em !important;
  color:#0f172a !important;
  margin:0 0 8px !important;
}

body .lgr-portal .lgr-evolution-chart-header p{
  margin:0 !important;
  color:#64748b !important;
  font-size:15px !important;
  line-height:1.6 !important;
}

body .lgr-portal .lgr-evolution-chart-summary{
  min-width:150px !important;
  text-align:right !important;
}

body .lgr-portal .lgr-evolution-chart-summary span{
  display:block !important;
  font-size:12px !important;
  color:#64748b !important;
  font-weight:800 !important;
  margin-bottom:6px !important;
}

body .lgr-portal .lgr-evolution-chart-summary strong{
  display:block !important;
  font-size:30px !important;
  line-height:1 !important;
  color:#0f172a !important;
  font-weight:900 !important;
}

body .lgr-portal .lgr-evolution-svg-wrap{
  width:100% !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
  border:1px solid #eef2f7 !important;
}

body .lgr-portal .lgr-evolution-svg{
  width:100% !important;
  height:320px !important;
  display:block !important;
}

body .lgr-portal .lgr-evolution-grid-line{
  stroke:#e7edf6 !important;
  stroke-width:1 !important;
}

body .lgr-portal .lgr-evolution-area{
  fill:url(#lgrAreaGradientReviews) !important;
}

body .lgr-portal .lgr-evolution-line{
  fill:none !important;
  stroke:#2563eb !important;
  stroke-width:4 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

body .lgr-portal .lgr-evolution-dot{
  fill:#2563eb !important;
  stroke:#ffffff !important;
  stroke-width:3 !important;
}

body .lgr-portal .lgr-evolution-label{
  fill:#64748b !important;
  font-size:12px !important;
  font-weight:700 !important;
}

body .lgr-portal .lgr-evolution-chart-footer{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:16px !important;
  margin-top:14px !important;
  color:#64748b !important;
  font-size:13px !important;
  font-weight:700 !important;
}

body .lgr-portal .lgr-evolution-chart-footer b{
  width:10px !important;
  height:10px !important;
  display:inline-block !important;
  border-radius:999px !important;
  background:#2563eb !important;
  margin-right:8px !important;
}

@media (max-width:720px){
  body .lgr-portal .lgr-evolution-chart-header,
  body .lgr-portal .lgr-evolution-chart-footer{
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  body .lgr-portal .lgr-evolution-chart-summary{
    text-align:left !important;
  }
}

/* Always-visible comparison table: full width and balanced columns */
body .lgr-portal .lgr-compact-table{
  width:100% !important;
  min-width:100% !important;
  table-layout:fixed !important;
}

body .lgr-portal .lgr-compact-table th,
body .lgr-portal .lgr-compact-table td{
  width:auto !important;
  text-align:left !important;
  vertical-align:middle !important;
  padding:18px 20px !important;
  white-space:normal !important;
}

body .lgr-portal .lgr-compact-table th:first-child,
body .lgr-portal .lgr-compact-table td:first-child{
  width:24% !important;
}

body .lgr-portal .lgr-compact-table th:not(:first-child),
body .lgr-portal .lgr-compact-table td:not(:first-child){
  width:15.2% !important;
}

body .lgr-portal .lgr-card:has(.lgr-compact-table) .lgr-table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  border-radius:18px !important;
}


/* Always-visible comparison table: full width and balanced columns */
body .lgr-portal .lgr-compact-table{
  width:100% !important;
  min-width:100% !important;
  table-layout:fixed !important;
}

body .lgr-portal .lgr-compact-table th,
body .lgr-portal .lgr-compact-table td{
  width:auto !important;
  text-align:left !important;
  vertical-align:middle !important;
  padding:18px 20px !important;
  white-space:normal !important;
}

body .lgr-portal .lgr-compact-table th:first-child,
body .lgr-portal .lgr-compact-table td:first-child{
  width:24% !important;
}

body .lgr-portal .lgr-compact-table th:not(:first-child),
body .lgr-portal .lgr-compact-table td:not(:first-child){
  width:15.2% !important;
}

body .lgr-portal .lgr-card:has(.lgr-compact-table) .lgr-table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  border-radius:18px !important;
}


/* Force always-visible comparison table to occupy full card */
body .lgr-portal table.lgr-comparison-table{
  width:100% !important;
  min-width:100% !important;
  table-layout:fixed !important;
}

body .lgr-portal table.lgr-comparison-table th,
body .lgr-portal table.lgr-comparison-table td{
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

body .lgr-portal table.lgr-comparison-table th:first-child,
body .lgr-portal table.lgr-comparison-table td:first-child{
  font-weight:800 !important;
}


/* FINAL FIX — comparison table full width */
body .lgr-portal .lgr-card .lgr-table-wrap{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
}

body .lgr-portal table.lgr-comparison-table{
  display:table !important;
  width:100% !important;
  min-width:100% !important;
  table-layout:fixed !important;
}

body .lgr-portal table.lgr-comparison-table tbody tr{
  width:100% !important;
}

