.content.revenue-content {
  max-width: none;
  margin: 0;
  padding: clamp(12px, 2vw, 25px);
  background: #edf2f8;
}
.revenue-page {
  --rv-ink: #1e293b;
  --rv-muted: #8a96a8;
  --rv-line: #edf0f4;
  --rv-blue: #7898d2;
  display: grid;
  grid-template-columns: 184px minmax(0, 1fr);
  min-height: calc(100vh - 126px);
  overflow: hidden;
  border: 1px solid rgba(218, 226, 237, .9);
  border-radius: 27px;
  background: #fbfcfe;
  color: var(--rv-ink);
  box-shadow: 0 17px 45px rgba(38, 60, 88, .08);
}
.rv-fin-nav {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  padding: 22px 12px 17px;
  color: #f3f5f8;
  background: #292c31;
}
.rv-brand { display: flex; align-items: center; gap: 10px; padding: 3px 7px 24px; }
.rv-brand-mark {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 11px;
  color: #f5f7fa;
  background: #3a3e45;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .03em;
}
.rv-brand strong,.rv-brand small { display: block; }
.rv-brand strong { color: #f2f4f7; font-size: 9px; letter-spacing: .1em; }
.rv-brand small { margin-top: 4px; color: #a5abb4; font-size: 8px; letter-spacing: .16em; }
.rv-fin-nav-label { margin: 2px 8px 8px; color: #878d97; font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.rv-fin-nav-item {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 40px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #b4bac4;
  background: transparent;
  text-align: left;
  font-size: 10px;
  font-weight: 650;
  transition: .18s ease;
}
.rv-fin-nav-item>span { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 7px; color: #b8c0cc; background: rgba(255,255,255,.07); font-size: 13px; }
.rv-fin-nav-item:hover { color: #fff; background: rgba(255,255,255,.07); }
.rv-fin-nav-item.active { color: #fff; border-color: rgba(255,255,255,.08); background: #3a3f46; box-shadow: inset 2px 0 #9bb5df; }
.rv-fin-nav-item.active>span { color: #eff4fc; background: rgba(143,171,216,.19); }
.rv-fin-nav-item:disabled { opacity: .45; cursor: default; }
.rv-fin-nav-foot { display: flex; align-items: center; gap: 8px; margin: auto 8px 4px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.09); color: #a5abb4; font-size: 8px; }
.rv-live-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #75c6a7; box-shadow: 0 0 0 3px rgba(117,198,167,.13); }
.rv-app-main { min-width: 0; padding: 20px clamp(17px, 2vw, 30px) 28px; background: #fbfcfe; }
.rv-app-header { display: grid; grid-template-columns: minmax(150px, auto) minmax(170px, 1fr) auto; align-items: center; gap: 16px; min-height: 57px; margin: 0 0 24px; }
.rv-greeting>span { display: block; color: #263044; font-size: 13px; font-weight: 750; letter-spacing: -.02em; }
.rv-greeting>small { display: block; margin-top: 4px; color: #929dad; font-size: 9px; }
.rv-search { display: flex; align-items: center; gap: 9px; height: 36px; min-width: 0; padding: 0 12px; border: 1px solid #eceff3; border-radius: 999px; background: #f3f5f8; color: #98a2b2; }
.rv-search>span { font-size: 17px; }
.rv-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: #344055; background: transparent; font-size: 9px; }
.rv-search input::placeholder { color: #a0a9b7; }
.rv-header-actions { display: flex; align-items: center; gap: 8px; }
.rv-notice { width: 34px; height: 34px; border: 1px solid #e9edf2; border-radius: 50%; color: #6f7c91; background: #fff; font-size: 15px; }
.rv-location-select { max-width: 170px; min-width: 136px; height: 34px; padding: 0 25px 0 10px; border: 1px solid #e7ebf1; border-radius: 999px; outline: none; color: #364155; background: #fff; font-size: 9px; }
.rv-profile { display: flex; align-items: center; gap: 7px; border: 0; color: #334055; background: transparent; text-align: left; }
.rv-profile-dot { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #e7ebf0; border-radius: 50%; color: #65748d; background: #f0f3f7; font-size: 10px; font-weight: 800; }
.rv-profile strong,.rv-profile small { display: block; white-space: nowrap; }
.rv-profile strong { font-size: 9px; }
.rv-profile small { margin-top: 3px; color: #9aa4b2; font-size: 8px; }
.rv-profile>span:last-child { color: #8b96a7; font-size: 12px; }
.rv-fin-menu-toggle { display: none; }
.rv-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(245px, 285px); align-items: start; gap: 18px; }
.rv-main-column,.rv-right-column { display: grid; align-content: start; gap: 14px; min-width: 0; }
.rv-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 1px; }
.rv-kicker { display: inline-block; color: #93a0b3; font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.rv-page-heading h1,.rv-kassel-layout h1 { margin: 5px 0 0; color: #202a3d; font-size: clamp(19px, 2vw, 25px); letter-spacing: -.045em; }
.rv-periods { display: flex; gap: 2px; max-width: 100%; padding: 3px; overflow-x: auto; border: 1px solid #edf0f4; border-radius: 999px; background: #f6f7f9; }
.rv-periods button { flex: 0 0 auto; padding: 6px 8px; border: 0; border-radius: 999px; color: #8b96a7; background: transparent; font-size: 8px; white-space: nowrap; }
.rv-periods button.selected { color: #364965; background: #fff; box-shadow: 0 1px 4px rgba(32,48,71,.1); }
.rv-top-cards { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.rv-revenue-card,.rv-payout-card { position: relative; min-width: 0; min-height: 158px; padding: 17px 18px 14px; overflow: hidden; border: 1px solid #e8ebef; border-radius: 17px; background: #fff; box-shadow: 0 7px 18px rgba(45,61,84,.045); }
.rv-revenue-card { color: #f5f6f8; border-color: #3a3d42; background: linear-gradient(140deg, #34373c 0%, #292c31 100%); }
.rv-card-label { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #d4d8df; font-size: 9px; font-weight: 650; }
.rv-card-live { display: inline-flex; align-items: center; gap: 5px; color: #b7d9ca; font-size: 8px; }
.rv-card-live i,.rv-payout-status i { width: 6px; height: 6px; border-radius: 50%; background: #83c2a3; }
.rv-big-total { position: relative; z-index: 1; display: block; margin: 18px 0 10px; color: #fff; font-size: clamp(24px, 2.5vw, 33px); font-weight: 750; letter-spacing: -.055em; }
.rv-revenue-foot { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #aeb5c0; font-size: 8px; }
.rv-revenue-card .rv-trend.positive { color: #9ed8b7; }
.rv-revenue-card .rv-trend.negative { color: #e5a3a5; }
.rv-card-bottom { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 18px; padding-top: 9px; border-top: 1px solid rgba(255,255,255,.12); color: #939ba8; font-size: 8px; }
.rv-card-orbit { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; color: #d6dbe2; font-size: 7px; font-weight: 800; }
.rv-payout-card { display: flex; flex-direction: column; }
.rv-payout-card .rv-card-label { color: #626e80; }
.rv-payout-icon { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 8px; color: #6f879f; background: #f0f3f7; font-size: 13px; }
.rv-payout-total { display: block; margin: 18px 0 5px; color: #253046; font-size: clamp(20px, 2vw, 27px); letter-spacing: -.045em; }
.rv-payout-card>p { min-height: 24px; margin: 0; color: #98a2b1; font-size: 8px; line-height: 1.45; }
.rv-payout-meta { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: auto; padding-top: 10px; border-top: 1px solid #f0f2f5; color: #9ba5b3; font-size: 7px; }
.rv-payout-status { display: inline-flex; align-items: center; gap: 5px; color: #748474; }
.rv-payout-status i { background: #75c6a7; }
.rv-categories { display: flex; align-items: center; gap: 8px; overflow-x: auto; padding: 1px 0 2px; scrollbar-width: none; }
.rv-categories::-webkit-scrollbar { display: none; }
.rv-category { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; min-height: 34px; padding: 4px 10px 4px 5px; border: 1px solid #ebeff3; border-radius: 999px; color: #747f91; background: #fff; font-size: 8px; font-weight: 650; transition: .15s ease; }
.rv-category>span { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; color: #68768d; background: #f1f3f6; font-size: 12px; }
.rv-category:hover,.rv-category.selected { color: #3d587a; border-color: #dce5f1; background: #f5f8fc; }
.rv-category.selected>span { color: #526d97; background: #e7eef8; }
.rv-category-detail { display: flex; align-items: center; gap: 12px; min-height: 53px; padding: 9px 13px; border: 1px solid #ebeff3; border-radius: 13px; background: #fff; }
.rv-category-detail>div { display: grid; gap: 3px; min-width: 120px; }
.rv-category-detail small { color: #a0a9b6; font-size: 7px; font-weight: 800; letter-spacing: .12em; }
.rv-category-detail>div strong { color: #556175; font-size: 9px; }
.rv-category-detail>strong { margin-left: auto; color: #26334a; font-size: 14px; }
.rv-category-detail>span { color: #9ba5b2; font-size: 8px; }
.rv-panel { min-width: 0; border: 1px solid #eaedf1; border-radius: 16px; background: #fff; box-shadow: 0 6px 17px rgba(45,61,84,.04); }
.rv-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rv-panel-head h2,.rv-setting-panel h2 { margin: 0; color: #263147; font-size: 12px; letter-spacing: -.02em; }
.rv-panel-head p,.rv-setting-panel>p { margin: 4px 0 0; color: #9ba5b3; font-size: 8px; }
.rv-text-button { padding: 5px 0; border: 0; color: #6d83a5; background: transparent; font-size: 8px; font-weight: 700; white-space: nowrap; }
.rv-bookings-panel,.rv-payment-history { padding: 15px 14px 12px; }
.rv-booking-list,.rv-payment-list { display: grid; gap: 7px; margin-top: 12px; }
.rv-booking-row { display: grid; grid-template-columns: 27px minmax(0,1fr) auto auto; align-items: center; gap: 8px; min-width: 0; min-height: 48px; padding: 7px 9px; border: 1px solid #f0f2f5; border-radius: 12px; background: #fff; }
.rv-booking-row:hover,.rv-payment-row:hover { background: #f9fafc; }
.rv-booking-mark,.rv-payment-icon { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: #7183a0; background: #eef2f7; font-size: 12px; }
.rv-booking-main,.rv-payment-copy { min-width: 0; }
.rv-booking-main strong,.rv-payment-copy strong { display: block; overflow: hidden; color: #3f4b5e; font-size: 8px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.rv-booking-main small,.rv-payment-copy small { display: block; margin-top: 4px; overflow: hidden; color: #a0a9b6; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.rv-status { display: inline-flex; align-items: center; padding: 4px 7px; border: 0; border-radius: 999px; color: #848d9b; background: #f0f2f5; font-size: 7px; white-space: nowrap; }
.rv-status.success { color: #4c886d; background: #e8f4ed; }
.rv-status.pending { color: #7e8794; background: #eff1f4; }
.rv-status.cancelled { color: #bd6b6d; background: #fae9e9; }
.rv-booking-amount,.rv-payment-amount { color: #465268; font-size: 8px; white-space: nowrap; }
.rv-payment-row { display: grid; grid-template-columns: 27px minmax(0,1fr) auto auto; align-items: center; gap: 8px; min-width: 0; min-height: 43px; padding: 6px 7px; border: 1px solid #f0f2f5; border-radius: 12px; }
.rv-payment-icon { color: #647792; background: #eef2f7; font-weight: 800; }
.rv-payment-icon.refund,.rv-payment-amount.refund { color: #bb7778; }
.rv-empty-inline,.rv-ring-empty { display: grid; place-items: center; min-height: 80px; color: #9aa4b2; font-size: 9px; text-align: center; }
.rv-right-column { gap: 13px; }
.rv-statistics { padding: 16px 15px 13px; }
.rv-period-chip { padding: 5px 8px; border-radius: 999px; color: #8792a2; background: #f4f6f8; font-size: 7px; white-space: nowrap; }
.rv-ring-wrap { position: relative; display: grid; place-items: center; width: 150px; height: 150px; margin: 10px auto 6px; }
.rv-ring { width: 150px; height: 150px; transform: rotate(-90deg); }
.rv-ring circle { fill: none; stroke-width: 10; }
.rv-ring-track { stroke: #f0f2f5; }
.rv-ring-paid { stroke: #8ea7d1; stroke-linecap: round; }
.rv-ring-refund { stroke: #42464d; stroke-linecap: round; }
.rv-ring-center { position: absolute; display: grid; gap: 3px; place-items: center; }
.rv-ring-center strong { color: #303a4c; font-size: 20px; letter-spacing: -.04em; }
.rv-ring-center span { color: #9ba5b2; font-size: 8px; }
.rv-ring-legend { display: grid; gap: 7px; padding: 0 7px 12px; border-bottom: 1px solid #eff1f4; }
.rv-ring-legend>div { display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 7px; color: #909baa; font-size: 8px; }
.rv-ring-legend i { width: 7px; height: 7px; border-radius: 3px; background: #8ea7d1; }
.rv-ring-legend i.refunded { background: #42464d; }
.rv-ring-legend strong { color: #5a6578; font-size: 8px; }
.rv-stat-small { display: flex; justify-content: space-between; gap: 8px; padding: 10px 1px 0; color: #959eac; font-size: 8px; }
.rv-stat-small strong { color: #465268; font-size: 9px; }
.rv-latest-panel { padding: 14px 13px 12px; }
.rv-latest-panel .rv-panel-head { margin-bottom: 8px; }
.rv-latest-panel .rv-payment-list { gap: 5px; margin-top: 0; }
.rv-latest-panel .rv-payment-row { border-color: transparent; background: #fbfcfd; }
.rv-update-note { display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; padding: 11px 13px; border: 1px solid #e9edf2; border-radius: 13px; background: #f7f9fb; }
.rv-update-note>span { color: #9ba5b3; font-size: 7px; }
.rv-update-note>strong { color: #69768a; font-size: 7px; text-align: right; }
.rv-update-note .rv-secondary { grid-column: 1/-1; justify-self: start; margin-top: 4px; }
.rv-error { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 12px; border: 1px solid #f0dddd; border-radius: 12px; color: #8f5b5b; background: #fff8f7; font-size: 9px; }
.rv-error span { flex: 1; color: #a27c7c; }
.rv-primary,.rv-secondary { padding: 8px 11px; border: 1px solid #e2e7ee; border-radius: 9px; color: #59667b; background: #fff; font-size: 8px; font-weight: 700; }
.rv-primary { border-color: #7898d2; color: #fff; background: #7898d2; }
.rv-primary:hover { background: #6d8abd; }
.rv-secondary:hover { background: #f4f6f8; }
.rv-primary:disabled,.rv-secondary:disabled { opacity: .5; }
.rv-loading { display: grid; place-items: center; min-height: 180px; border: 1px dashed #e2e7ed; border-radius: 15px; color: #929dad; background: #fff; font-size: 10px; }
.rv-main-column>.rv-loading { min-height: 42px; border-style: solid; border-color: #edf0f4; border-radius: 11px; background: #fff; }
.rv-trend { display: inline-block; font-size: 8px; font-weight: 700; }
.rv-trend.positive { color: #5b9b79; }
.rv-trend.negative { color: #c77a7c; }
.rv-trend.unavailable { color: #8f98a6; }
.rv-trend-panel,.rv-analysis-grid .rv-panel { padding: 15px; }
.rv-trend-panel .rv-panel-head { margin-bottom: 13px; }
.rv-chart-head h2,.rv-table-heading h2 { color: #263147; }
.rv-chart-head p,.rv-table-heading p { color: #9ba5b3; }
.rv-chart-ranges { display: flex; gap: 2px; padding: 3px; border: 1px solid #eceff3; border-radius: 999px; background: #f7f8fa; }
.rv-chart-ranges button { padding: 5px 7px; border: 0; border-radius: 999px; color: #929cab; background: transparent; font-size: 7px; }
.rv-chart-ranges button.selected { color: #475e82; background: #fff; box-shadow: 0 1px 4px #26364b17; }
.rv-chart-svg { width: 100%; min-height: 120px; height: auto; }
.rv-grid-line { stroke: #eef1f4; stroke-dasharray: 3 6; }
.rv-chart-line { fill: none; stroke: #819cc9; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.rv-chart-point { fill: #fff; stroke: #819cc9; stroke-width: 2; }
.rv-chart-axis { color: #99a3b0; font-size: 7px; }
.rv-analysis-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 10px 0; }
.rv-analysis-grid h3 { margin: 0 0 7px; color: #424e62; font-size: 9px; }
.rv-stat-row { display: flex; justify-content: space-between; gap: 8px; padding: 7px 0; border-top: 1px solid #f0f2f5; color: #8c97a6; font-size: 8px; }
.rv-stat-row strong { color: #48546a; font-size: 8px; }
.rv-stat-row small { color: #a2aab5; font-size: 7px; }
.rv-dependent { color: #9ba5b3; font-size: 8px; line-height: 1.5; }
.rv-table-panel { padding: 14px 0 0; overflow: hidden; }
.rv-table-heading { padding: 0 14px 10px; }
.rv-table-heading h2 { margin: 0 0 3px; font-size: 12px; }
.rv-table-tools { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; padding: 9px 14px; border-top: 1px solid #f0f2f5; border-bottom: 1px solid #f0f2f5; }
.rv-table-tools input { flex: 1; min-width: 115px; padding: 7px 9px; border: 1px solid #eaedf2; border-radius: 8px; outline: none; color: #465268; background: #f8f9fb; font-size: 8px; }
.rv-table-tools>span { color: #98a2b0; font-size: 7px; }
.rv-segment { display: flex; gap: 2px; padding: 2px; border: 1px solid #edf0f3; border-radius: 999px; background: #f7f8fa; }
.rv-segment button { padding: 5px 8px; border: 0; border-radius: 999px; color: #929cab; background: transparent; font-size: 7px; }
.rv-segment button.selected { color: #455b7b; background: #fff; box-shadow: 0 1px 4px #26364b12; }
.rv-table-wrap { max-width: 100%; overflow: auto; }
.rv-table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.rv-table th,.rv-table td { padding: 9px 8px; border-bottom: 1px solid #f0f2f5; text-align: left; font-size: 7px; }
.rv-table th { color: #929cab; font-weight: 650; }
.rv-table th button { padding: 0; border: 0; color: inherit; background: transparent; font-size: inherit; }
.rv-table td { color: #687487; }
.rv-table tbody tr { cursor: pointer; }
.rv-table tbody tr:hover { background: #fafbfd; }
.rv-table td .rv-status { padding: 3px 6px; background: #f0f2f5; }
.rv-table-empty { padding: 24px; color: #97a1ae; text-align: center; font-size: 9px; }
.rv-table-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 14px; color: #9aa4b2; font-size: 7px; }
.rv-table-foot>div { display: flex; gap: 5px; }
.rv-detail-modal { color: #273247; border-color: #e9edf2; background: #fff; }
.rv-detail-modal .modal-head { border-color: #edf0f4; }
.rv-detail-modal .modal-head h2 { color: #273247; }
.rv-detail-modal .modal-head p,.rv-detail-list dt { color: #929cab; }
.rv-detail-list>div { border-color: #edf0f4; }
.rv-detail-list dd { color: #49566b; }
.rv-setup-grid { display: none; }
.rv-kassel-layout { min-height: 580px; padding: 15px 0; }
.rv-kassel-empty { display: grid; justify-items: center; max-width: 660px; margin: 60px auto; padding: clamp(24px,5vw,52px); border: 1px solid #e9edf2; border-radius: 20px; background: #fff; box-shadow: 0 12px 30px rgba(45,61,84,.05); text-align: center; }
.rv-kassel-mark { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 17px; border-radius: 15px; color: #7183a0; background: #f0f3f7; font-size: 21px; }
.rv-kassel-empty h2 { margin: 20px 0 7px; color: #2c374b; font-size: 17px; }
.rv-kassel-empty p { max-width: 430px; margin: 0 0 19px; color: #929cab; font-size: 10px; line-height: 1.6; }
.rv-kassel-empty>div:last-child { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.rv-connection { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid #e8edf2; border-radius: 999px; color: #798596; background: #f8f9fb; font-size: 8px; }
.rv-connection i { width: 6px; height: 6px; border-radius: 50%; background: #8dbfa6; }
.rv-connection.offline { color: #a87676; border-color: #f0e1e1; background: #fff8f7; }
.rv-connection.offline i { background: #cc8888; }
.rv-setting-panel { padding: 18px; }
.rv-setting-panel .rv-secondary { margin-top: 12px; }

/* Göttingen overview: calm macOS surfaces with a clearer, more useful color hierarchy. */
@media (min-width: 641px) {
  .revenue-page {
    --rv-ink: #17243a;
    --rv-muted: #77869d;
    --rv-line: #e8edf5;
    --rv-blue: #527be8;
    border-color: #e4eaf3;
    background: #f8faff;
    box-shadow: 0 24px 70px rgba(47, 69, 111, .10);
  }
  .rv-app-main { background: linear-gradient(135deg, #fbfcff 0%, #f7f9fd 100%); }
  .rv-greeting>span { color: #17243a; font-size: 14px; }
  .rv-page-heading h1 { color: #182943; }
  .rv-kicker { color: #7488ad; }
  .rv-workspace { grid-template-columns: minmax(0, 1fr) minmax(250px, 290px); gap: 20px; }
  .rv-main-column,.rv-right-column { gap: 16px; }
  .rv-revenue-card {
    min-height: 176px;
    padding: 20px 22px 16px;
    border-color: #5379d6;
    border-radius: 21px;
    background: linear-gradient(118deg, #3859bc 0%, #5279df 54%, #698de9 100%);
    box-shadow: 0 13px 27px rgba(69, 104, 201, .22);
  }
  .rv-revenue-card::after {
    position: absolute;
    right: -34px;
    top: -72px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    box-shadow: 0 0 0 22px rgba(255,255,255,.045), 0 0 0 46px rgba(255,255,255,.035);
    content: "";
    pointer-events: none;
  }
  .rv-card-label { color: rgba(255,255,255,.84); }
  .rv-card-live { color: #e4fff1; }
  .rv-card-live i { background: #a4f0c8; box-shadow: 0 0 0 3px rgba(164,240,200,.16); }
  .rv-big-total { font-size: clamp(30px, 3vw, 42px); }
  .rv-revenue-foot { color: rgba(255,255,255,.75); }
  .rv-card-bottom { border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.72); }
  .rv-card-orbit { border-color: rgba(255,255,255,.35); color: #fff; background: rgba(255,255,255,.1); }
  .rv-categories { gap: 9px; }
  .rv-category { min-height: 39px; border-color: #e8edf5; border-radius: 14px; color: #53637c; background: #fff; box-shadow: 0 2px 5px rgba(41,60,93,.025); }
  .rv-category>span { width: 27px; height: 27px; color: #4f78df; background: #eaf0ff; }
  .rv-category:nth-child(2)>span { color: #159e91; background: #e3f7f3; }
  .rv-category:nth-child(3)>span { color: #cb8c30; background: #fff3df; }
  .rv-category:nth-child(4)>span { color: #8e70cf; background: #f0eaff; }
  .rv-category:nth-child(5)>span { color: #d16e79; background: #fff0f1; }
  .rv-category:nth-child(6)>span { color: #d1844a; background: #fff1e5; }
  .rv-category:hover,.rv-category.selected { border-color: #cfdbfa; color: #3859ae; background: #f3f6ff; }
  .rv-category-detail { min-height: 60px; border-color: #e7edf6; border-radius: 16px; background: linear-gradient(105deg,#fff 0%,#f5f8ff 100%); }
  .rv-category-detail>strong { color: #4268cf; }
  .rv-panel { border-color: #e7edf5; border-radius: 19px; box-shadow: 0 7px 22px rgba(40,61,101,.045); }
  .rv-trend-panel { padding: 19px 19px 15px; }
  .rv-trend-panel .rv-panel-head { margin-bottom: 17px; }
  .rv-panel-head h2,.rv-setting-panel h2 { color: #172943; font-size: 14px; }
  .rv-panel-head p { color: #8b98ad; }
  .rv-chart-svg { min-height: 205px; }
  .rv-grid-line { stroke: #e8edf5; stroke-dasharray: 2 6; }
  .rv-chart-line { stroke: #4f7be8; stroke-width: 3; filter: drop-shadow(0 3px 4px rgba(79,123,232,.18)); }
  .rv-chart-point { stroke: #4f7be8; stroke-width: 2.5; cursor: crosshair; }
  .rv-chart-point:focus { outline: none; r: 7px; }
  .rv-chart-ranges { border-color: #e8edf5; background: #f3f6fb; }
  .rv-chart-ranges button.selected { color: #4267c6; background: #fff; box-shadow: 0 2px 7px rgba(43,67,117,.10); }
  .rv-booking-row { min-height: 54px; border-color: #edf1f7; border-radius: 14px; background: #fbfcff; }
  .rv-booking-mark { color: #4f78df; background: #eaf0ff; }
  .rv-status.success { color: #28806b; background: #e4f7ef; }
  .rv-status.cancelled { color: #b75c66; background: #fff0f1; }
  .rv-statistics { padding: 18px 17px 15px; background: linear-gradient(160deg,#fff 0%,#f8faff 100%); }
  .rv-ring-wrap { width: 166px; height: 166px; margin: 16px auto 10px; }
  .rv-ring { width: 166px; height: 166px; }
  .rv-ring circle { stroke-width: 11; }
  .rv-ring-track { stroke: #edf1f7; }
  .rv-ring-paid { stroke: #5b83e7; }
  .rv-ring-refund { stroke: #ffb46b; }
  .rv-ring-center strong { color: #223451; font-size: 23px; }
  .rv-ring-legend i { border-radius: 50%; background: #5b83e7; }
  .rv-ring-legend i.refunded { background: #ffb46b; }
  .rv-stat-small strong { color: #2e4f9c; }
  .rv-payment-row { min-height: 48px; border-color: #edf1f7; border-radius: 13px; background: #fbfcff; }
  .rv-payment-icon { color: #4f78df; background: #eaf0ff; }
  .rv-payment-icon.refund,.rv-payment-amount.refund { color: #c47844; }
  .rv-update-note { border-color: #e5edf8; border-radius: 15px; background: #f2f6ff; }
  .rv-primary { border-color: #5078df; background: #5078df; box-shadow: 0 5px 12px rgba(80,120,223,.18); }
}

.rv-chart-frame { position: relative; min-width: 0; }
.rv-chart-tooltip { position: absolute; z-index: 3; display: none; max-width: calc(100% - 20px); padding: 8px 11px; transform: translate(-50%, -100%); border: 1px solid rgba(255,255,255,.16); border-radius: 11px; color: #fff; background: rgba(28,43,71,.94); box-shadow: 0 8px 20px rgba(26,44,78,.2); font-size: 10px; font-weight: 650; white-space: nowrap; pointer-events: none; backdrop-filter: blur(10px); }
.rv-chart-tooltip.visible { display: block; }

.rv-fullscreen-backdrop { position: fixed; z-index: 5000; inset: 0; display: grid; place-items: center; padding: 12px; background: rgba(23,31,43,.52); backdrop-filter: blur(7px); }
.rv-fullscreen-dialog { display: grid; grid-template-rows: 42px minmax(0,1fr); width: min(1900px,calc(100vw - 24px)); height: min(1060px,calc(100dvh - 24px)); overflow: hidden; border: 1px solid rgba(255,255,255,.72); border-radius: 25px; background: #edf2f8; box-shadow: 0 28px 90px rgba(13,23,39,.3); }
.rv-fullscreen-bar { display: flex; align-items: center; justify-content: space-between; padding: 0 17px; border-bottom: 1px solid #e5eaf1; color: #68758a; background: #fbfcfe; font-size: 9px; font-weight: 800; letter-spacing: .11em; }
.rv-fullscreen-bar i { color: #96a2b3; font-style: normal; }
.rv-fullscreen-bar button { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid #e5e9ef; border-radius: 50%; color: #778295; background: #fff; font-size: 19px; line-height: 1; }
.rv-fullscreen-dialog>.revenue-content { height: 100%; min-height: 0; padding: 0; overflow: auto; background: #edf2f8; }
.rv-fullscreen-dialog .revenue-page { display: block; min-height: 100%; overflow: visible; border: 0; border-radius: 0; box-shadow: none; }
.rv-fullscreen-dialog .rv-app-main { min-height: 100%; padding: clamp(18px,2.3vw,36px) clamp(20px,3.2vw,52px) 36px; }
.rv-fullscreen-dialog .rv-app-header { grid-template-columns: minmax(150px,auto) minmax(220px,1fr) auto; gap: clamp(12px,1.5vw,24px); margin-bottom: clamp(20px,2.5vw,38px); }
.rv-fullscreen-dialog .rv-greeting>span { font-size: 15px; }
.rv-fullscreen-dialog .rv-greeting>small { font-size: 10px; }
.rv-fullscreen-dialog .rv-search input,.rv-fullscreen-dialog .rv-location-select,.rv-fullscreen-dialog .rv-profile strong { font-size: 10px; }
.rv-fullscreen-dialog .rv-workspace { grid-template-columns: minmax(0,1fr) minmax(280px,340px); gap: clamp(18px,2vw,30px); }
.rv-fullscreen-dialog .rv-page-heading h1 { font-size: clamp(25px,2.3vw,36px); }
.rv-fullscreen-dialog .rv-kicker { font-size: 9px; }
.rv-fullscreen-dialog .rv-periods button { padding: 8px 12px; font-size: 10px; }
.rv-fullscreen-dialog .rv-top-cards { gap: 16px; }
.rv-fullscreen-dialog .rv-revenue-card,.rv-fullscreen-dialog .rv-payout-card { min-height: 205px; padding: 23px 24px 19px; border-radius: 20px; }
.rv-fullscreen-dialog .rv-card-label,.rv-fullscreen-dialog .rv-payout-card>p { font-size: 11px; }
.rv-fullscreen-dialog .rv-big-total { font-size: clamp(34px,3vw,48px); }
.rv-fullscreen-dialog .rv-payout-total { font-size: clamp(28px,2.5vw,38px); }
.rv-fullscreen-dialog .rv-revenue-foot,.rv-fullscreen-dialog .rv-card-bottom,.rv-fullscreen-dialog .rv-payout-meta { font-size: 9px; }
.rv-fullscreen-dialog .rv-category { min-width: 114px; min-height: 61px; font-size: 10px; }
.rv-fullscreen-dialog .rv-category>span { width: 33px; height: 33px; font-size: 14px; }
.rv-fullscreen-dialog .rv-category-detail { min-height: 63px; padding: 13px 17px; }
.rv-fullscreen-dialog .rv-panel { padding: 17px; border-radius: 18px; }
.rv-fullscreen-dialog .rv-panel h2 { font-size: 15px; }
.rv-fullscreen-dialog .rv-booking-row,.rv-fullscreen-dialog .rv-payment-row { min-height: 57px; }
.rv-fullscreen-dialog .rv-booking-main strong,.rv-fullscreen-dialog .rv-payment-copy strong { font-size: 10px; }
.rv-fullscreen-dialog .rv-booking-main small,.rv-fullscreen-dialog .rv-payment-copy small { font-size: 9px; }
.rv-fullscreen-dialog .rv-update-note { font-size: 9px; }
body:has(.rv-fullscreen-backdrop) { overflow: hidden; }

/* Give each financial metric equal room and a purpose drawn icon. */
.rv-categories { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; overflow: visible; }
.rv-category { display: flex; width: 100%; min-width: 0; min-height: 56px; flex: initial; padding: 8px 12px; border-radius: 15px; gap: 10px; font-size: clamp(9px, .8vw, 12px); white-space: nowrap; }
.rv-category > span { flex: 0 0 auto; width: 32px; height: 32px; }
.rv-category > span svg { display: block; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rv-fullscreen-dialog .rv-category { min-width: 0; width: 100%; }
.rv-card-bottom { justify-content: flex-start; }

@media (max-width: 1180px) {
  .rv-categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .rv-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Make the chart time-range control easy to read and tap. */
.rv-chart-ranges { display: grid; grid-template-columns: repeat(6, minmax(38px, 1fr)); gap: 3px; padding: 4px; border: 1px solid #dce5f2; border-radius: 12px; background: #f1f5fb; }
.rv-chart-ranges button { min-width: 38px; min-height: 31px; padding: 5px 8px; border: 1px solid transparent; border-radius: 8px; color: #52627b; background: transparent; font-size: 10px; font-weight: 700; line-height: 1; }
.rv-chart-ranges button:hover { color: #2859be; background: #e5edfc; }
.rv-chart-ranges button.selected { color: #fff; border-color: #3d73e8; background: #3d73e8; box-shadow: 0 2px 6px rgba(49, 98, 203, .25); }
.rv-chart-ranges button:focus-visible { outline: 2px solid #2f6fe8; outline-offset: 2px; }
@media (max-width: 640px) {
  .rv-chart-ranges button { min-height: 35px; font-size: 11px; }
}

.rv-category-detail { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 78px; padding: 13px 18px; border-color: #e2e9f4; border-radius: 16px; background: linear-gradient(105deg, #fff 0%, #f5f8ff 100%); box-shadow: 0 4px 14px rgba(45, 66, 103, .045); }
.rv-category-detail-main { display: flex; align-items: center; gap: 13px; min-width: 0; }
.rv-category-detail-icon { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 13px; color: #3d73e8; background: #eaf1ff; }
.rv-category-detail-icon svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rv-category-detail-copy { display: grid; gap: 3px; min-width: 0; }
.rv-category-detail-copy small { color: #8795aa; font-size: 8px; font-weight: 750; letter-spacing: .08em; }
.rv-category-detail-copy strong { color: #233550; font-size: 13px; font-weight: 700; }
.rv-category-detail-copy span { overflow: hidden; color: #7e8ca2; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.rv-category-detail-value { display: grid; flex: 0 0 auto; gap: 2px; justify-items: end; }
.rv-category-detail-value strong { color: #315fca; font-size: 23px; font-weight: 750; letter-spacing: -.04em; line-height: 1.1; }
.rv-category-detail-value span { color: #8b98ad; font-size: 9px; }
.rv-category-detail[data-category="bookings"] .rv-category-detail-icon { color: #159e91; background: #e3f7f3; }
.rv-category-detail[data-category="hours"] .rv-category-detail-icon { color: #c28728; background: #fff3df; }
.rv-category-detail[data-category="players"] .rv-category-detail-icon { color: #8e70cf; background: #f0eaff; }
.rv-category-detail[data-category="cancellations"] .rv-category-detail-icon { color: #cf5964; background: #fff0f1; }
.rv-category-detail[data-category="refunds"] .rv-category-detail-icon { color: #d1844a; background: #fff1e5; }
@media (max-width: 640px) {
  .rv-category-detail { min-height: 72px; padding: 11px 12px; }
  .rv-category-detail-main { gap: 9px; }
  .rv-category-detail-icon { width: 36px; height: 36px; border-radius: 11px; }
  .rv-category-detail-copy span { max-width: 48vw; font-size: 8px; }
  .rv-category-detail-value strong { font-size: 20px; }
}
.rv-category-detail > .rv-category-detail-main { display: flex; align-items: center; gap: 13px; min-width: 0; }
.rv-category-detail > .rv-category-detail-main > .rv-category-detail-copy { display: grid; gap: 3px; min-width: 0; }
.rv-category-detail > .rv-category-detail-main > .rv-category-detail-copy > strong { color: #233550; font-size: 13px; font-weight: 700; }
.rv-category-detail > .rv-category-detail-value { display: grid; gap: 2px; justify-items: end; flex: 0 0 auto; }
.rv-category-detail > .rv-category-detail-value > strong { color: #315fca; font-size: 23px; font-weight: 750; letter-spacing: -.04em; line-height: 1.1; }
@media (max-width: 640px) {
  .rv-category-detail > .rv-category-detail-main { gap: 9px; }
  .rv-category-detail > .rv-category-detail-value > strong { font-size: 20px; }
}

@media (max-width: 1180px) {
  .revenue-page { grid-template-columns: 166px minmax(0,1fr); }
  .rv-workspace { grid-template-columns: minmax(0,1fr) 240px; gap: 12px; }
  .rv-app-header { grid-template-columns: minmax(120px,auto) minmax(130px,1fr) auto; gap: 9px; }
  .rv-profile>span:nth-child(2) { display: none; }
  .rv-profile { gap: 3px; }
  .rv-booking-row { grid-template-columns: 25px minmax(0,1fr) auto; }
  .rv-booking-amount { grid-column: 2/3; grid-row: 2; }
}
@media (max-width: 920px) {
  .revenue-page { grid-template-columns: 150px minmax(0,1fr); }
  .rv-workspace { grid-template-columns: minmax(0,1fr); }
  .rv-right-column { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
  .rv-update-note { grid-column: 1/-1; }
  .rv-app-header { grid-template-columns: minmax(125px,auto) minmax(150px,1fr); }
  .rv-header-actions { grid-column: 1/-1; justify-content: flex-end; }
}
@media (max-width: 640px) {
  .content.revenue-content { padding: 9px; }
  .revenue-page { position: relative; display: block; min-height: calc(100vh - 84px); border-radius: 19px; }
  .rv-fin-nav { display: none; padding: 15px 12px; border-radius: 18px 18px 0 0; }
  .revenue-page.nav-open .rv-fin-nav { display: flex; }
  .rv-fin-nav .rv-brand { padding-bottom: 10px; }
  .rv-fin-nav-label,.rv-fin-nav-foot { display: none; }
  .rv-fin-nav-item { min-height: 35px; }
  .rv-app-main { padding: 13px 12px 20px; }
  .rv-app-header { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-bottom: 18px; }
  .rv-fin-menu-toggle { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border: 1px solid #e8edf2; border-radius: 9px; color: #5e6d83; background: #fff; font-size: 8px; }
  .rv-greeting { flex: 1; min-width: 150px; }
  .rv-greeting>span { font-size: 11px; }
  .rv-greeting>small { font-size: 7px; }
  .rv-search { order: 3; flex: 1 0 100%; height: 34px; }
  .rv-header-actions { order: 2; margin-left: auto; gap: 5px; }
  .rv-notice { width: 29px; height: 29px; }
  .rv-location-select { min-width: 112px; max-width: 132px; height: 29px; font-size: 7px; }
  .rv-profile { display: none; }
  .rv-page-heading { align-items: flex-start; flex-direction: column; }
  .rv-periods { width: 100%; }
  .rv-periods button { flex: 1 0 auto; }
  .rv-top-cards { grid-template-columns: 1fr; }
  .rv-revenue-card,.rv-payout-card { min-height: 145px; }
  .rv-category-detail { display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; }
  .rv-category-detail>div { min-width: 0; }
  .rv-category-detail>strong { grid-column: 2; grid-row: 1/3; }
  .rv-category-detail>span { font-size: 7px; }
  .rv-booking-row { grid-template-columns: 25px minmax(0,1fr) auto; gap: 7px; }
  .rv-booking-row .rv-status { grid-column: 2; justify-self: start; }
  .rv-booking-amount { grid-column: 3; grid-row: 2; }
  .rv-right-column { grid-template-columns: 1fr; }
  .rv-update-note { grid-column: auto; }
  .rv-analysis-grid { grid-template-columns: 1fr; }
  .rv-trend-panel .rv-panel-head { align-items: flex-start; flex-direction: column; }
  .rv-chart-ranges { width: 100%; justify-content: space-between; }
  .rv-chart-ranges button { flex: 1; }
  .rv-table-heading { align-items: flex-start; }
  .rv-table-tools { align-items: stretch; }
  .rv-table-wrap { overflow: visible; }
  .rv-table,.rv-table tbody { display: block; width: 100%; }
  .rv-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .rv-table tbody { display: grid; gap: 7px; padding: 7px; }
  .rv-table tbody tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 8px; padding: 7px 9px; border: 1px solid #edf0f3; border-radius: 10px; white-space: normal; }
  .rv-table td { min-width: 0; padding: 6px 0; overflow-wrap: anywhere; font-size: 7px; }
  .rv-table td:before { display: block; margin-bottom: 2px; color: #9aa4b2; font-size: 6px; text-transform: uppercase; }
  .rv-table td:nth-child(3),.rv-table td:nth-child(9) { grid-column: 1/-1; }
}
.rv-header-actions { justify-content:flex-end; }
.rv-location-control { display:flex; align-items:center; gap:10px; min-width:228px; min-height:48px; padding:7px 12px; border:1px solid #dce5f1; border-radius:15px; background:#fff; box-shadow:0 3px 10px rgba(43,64,98,.06); cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease; }
.rv-location-control:hover { border-color:#c4d4ef; box-shadow:0 5px 14px rgba(43,64,98,.1); }
.rv-location-pin { display:grid; place-items:center; flex:none; width:34px; height:34px; border-radius:11px; color:#3d73e8; background:#eaf1ff; }
.rv-location-pin svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.rv-location-info { display:grid; gap:3px; min-width:0; flex:1; }
.rv-location-info small { color:#8795aa; font-size:8px; font-weight:750; letter-spacing:.08em; }
.rv-location-select { appearance:none; width:100%; min-width:0; max-width:none; height:auto; padding:0; border:0; border-radius:0; outline:0; color:#243550; background:transparent; font-size:11px; font-weight:700; cursor:pointer; }
.rv-location-chevron { flex:none; color:#65758d; font-size:16px; }
.rv-location-control:focus-within { outline:2px solid rgba(61,115,232,.25); outline-offset:2px; }
@media (max-width:640px) {
  .rv-location-control { min-width:0; width:min(100%,260px); min-height:44px; }
  .rv-location-select { font-size:10px; }
}

/* Refined period selector and location dropdown affordance. */
.rv-periods { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; gap:4px; min-width:min(100%,320px); padding:5px; overflow:visible; border:1px solid #d9e3f1; border-radius:14px; background:#eef3fb; box-shadow:inset 0 1px 2px rgba(38,58,91,.04); }
.rv-periods button { display:flex; align-items:center; justify-content:center; min-width:0; min-height:36px; padding:7px 10px; border:1px solid transparent; border-radius:10px; color:#64738b; background:transparent; font-size:10px; font-weight:650; white-space:nowrap; transition:color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease; }
.rv-periods button:hover { color:#315fca; background:#e4ecfb; }
.rv-periods button.selected { color:#2459c2; border-color:#d8e4fa; background:#fff; box-shadow:0 2px 6px rgba(37,67,119,.11); font-weight:750; }
.rv-periods button:focus-visible { outline:2px solid rgba(61,115,232,.35); outline-offset:1px; }
.rv-location-chevron { display:grid; place-items:center; width:24px; height:24px; border:1px solid #e2e9f2; border-radius:8px; color:#536784; background:#f7f9fc; transition:transform .18s ease,background .18s ease; }
.rv-location-chevron svg { display:block; width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.rv-location-control:hover .rv-location-chevron { color:#315fca; background:#edf3ff; }
.rv-location-control:focus-within .rv-location-chevron { transform:rotate(180deg); }
@media (max-width:640px) {
  .rv-periods { min-width:0; width:100%; gap:2px; padding:4px; border-radius:12px; }
  .rv-periods button { min-height:34px; padding:6px 4px; border-radius:8px; font-size:9px; }
}

/* Click-anywhere location chooser with a compact native-looking popover. */
.rv-location-wrap { position:relative; min-width:228px; }
.rv-location-control { width:100%; text-align:left; font-family:inherit; }
.rv-location-info strong { overflow:hidden; color:#243550; font-size:11px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.rv-location-menu { position:absolute; z-index:40; top:calc(100% + 8px); right:0; display:grid; width:min(290px,calc(100vw - 32px)); gap:4px; padding:6px; border:1px solid #dce5f1; border-radius:15px; background:rgba(255,255,255,.98); box-shadow:0 14px 36px rgba(31,48,77,.16); backdrop-filter:blur(14px); animation:rv-location-menu-in .14s ease-out; }
.rv-location-menu[hidden] { display:none; }
.rv-location-menu button { display:flex; align-items:center; gap:10px; width:100%; min-width:0; padding:10px; border:1px solid transparent; border-radius:10px; color:#243550; background:transparent; text-align:left; cursor:pointer; }
.rv-location-menu button:hover,.rv-location-menu button:focus-visible,.rv-location-menu button.selected { border-color:#dfe9fa; background:#f2f6fd; outline:none; }
.rv-location-menu button>span:nth-child(2) { display:grid; gap:3px; min-width:0; flex:1; }
.rv-location-menu button strong { overflow:hidden; font-size:11px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.rv-location-menu button small { color:#8492a8; font-size:9px; }
.rv-location-menu-pin { display:grid; place-items:center; width:32px; height:32px; flex:none; border-radius:10px; color:#3d73e8; background:#eaf1ff; }
.rv-location-menu-pin svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.rv-location-check { display:grid; place-items:center; width:20px; height:20px; flex:none; border-radius:50%; color:#fff; background:#3d73e8; font-size:12px; font-weight:800; }
.rv-location-wrap.open .rv-location-chevron { transform:rotate(180deg); }
@keyframes rv-location-menu-in { from { opacity:0; transform:translateY(-4px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@media (max-width:640px) { .rv-location-wrap { width:min(100%,260px); min-width:0; } }
