html { min-height: 100%; background: #f5f3ef; color-scheme: light; }
.rh-app { margin: 0; }
.rh-app .container { width: min(1280px, calc(100% - 64px)); max-width: 1280px; padding: 0; }
.rh-app .container-fluid { width: 100%; }
.rh-app :is(.rh-glass,.form-box,.form-wrapper) { background: var(--rh-surface); box-shadow: none; }
.rh-app :is(.text-stroke,.text-stroke-2) { -webkit-text-stroke: 0; color: var(--rh-ink); }
.rh-app .rh-brand { display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 0; }
.rh-app .rh-brand-name { display: none; }
.rh-app .rh-brand-mark { display: flex; width: 180px; height: 44px; background: transparent; padding: 0; }
.rh-app .rh-brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.rh-site > .navbar { padding: 18px 0; background: var(--rh-surface); border: 0; border-bottom: 1px solid var(--rh-line); min-height: 81px; }
.rh-site > .navbar .container { display: flex; gap: 24px; align-items: center; }
.rh-site > .navbar .navbar-collapse { justify-content: center; }
.rh-site > .navbar .navbar-nav { gap: 22px; align-items: center; }
.rh-site > .navbar .nav-link { color: var(--rh-ink); font-size: .875rem; font-weight: 600; padding: 9px 0; }
.rh-site > .navbar .nav-link:hover { color: var(--rh-accent); }
.rh-site .rh-header-actions { display: flex; align-items: center; gap: 18px; }
.rh-site .rh-header-actions .header-cta { background: var(--rh-accent); color: #fff; padding: 10px 18px; border-radius: 6px; }
.rh-site .navbar-toggler { color: var(--rh-ink); border: 0; font-size: 20px; width: 32px; min-height: 42px; }
.rh-site .banner-section { padding: 128px 0 36px; background: var(--rh-surface-alt) !important; min-height: 0; }
.rh-site .banner-section::before, .rh-site .banner-section::after { display: none; }
.rh-site .rh-banner-inner { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.rh-site .rh-banner-title { font-size: 36px; margin: 0; }
.rh-site .rh-breadcrumb { background: transparent; padding: 0; }
.rh-site .breadcrumb { font-size: .8125rem; margin: 0; }
.rh-site .breadcrumb-item.active { color: var(--rh-muted); }
.rh-app .public-section { padding: 72px 0; }
.rh-app .public-hero { padding: 152px 0 68px; border-bottom: 1px solid var(--rh-line); }
.rh-app .public-hero h1 { font-size: clamp(2.5rem, 5vw, 4rem); letter-spacing: -.04em; max-width: 720px; margin: 0 0 24px; }
.rh-app .public-hero p { font-size: 1.125rem; max-width: 58ch; line-height: 1.7; }
.rh-app .public-hero > .container > .btn-custom { margin: 10px 0 24px; }
.rh-app .public-hero .rh-panel { margin: 36px 0 0; }
.rh-app .public-section h2 { font-size: clamp(1.625rem, 3vw, 2.25rem); margin-bottom: 20px; }
.rh-app .public-section .rh-panel h2 { font-size: 1.75rem; }
.rh-app .public-section p { max-width: 65ch; }
.rh-app details { border-bottom: 1px solid var(--rh-line); padding: 20px 0; }
.rh-app summary { font-size: 1.0625rem; font-weight: 600; cursor: pointer; color: var(--rh-ink); }
.rh-app details[open] summary { color: var(--rh-accent); margin-bottom: 14px; }
.rh-app .property-card { display: flex; flex-direction: column; overflow: hidden; padding: 0; height: 100%; }
.rh-app .property-cover { width: 100%; height: 230px; object-fit: cover; }
.rh-app .property-no-image { display: grid; place-items: center; width: 100%; height: 210px; background: var(--rh-surface-alt); color: var(--rh-muted); font-size: .8125rem; }
.rh-app .property-card > .p-3 { padding: 24px !important; }
.rh-app .property-card h3 { font-size: 1.0625rem; }
.rh-app .property-card p { font-size: .8125rem; }
.rh-app .property-card strong { font-size: 1.375rem; margin-top: 10px; }
.rh-app .property-card .badge { position: relative; }
.rh-app .property-gallery-image { max-width: 100%; width: 100%; max-height: 440px; object-fit: cover; border-radius: 6px; }
.rh-app .property-description { white-space: pre-line; }
.rh-app .property-guest { padding-top: 115px; }
.rh-app .property-catalog { color: var(--rh-ink); }
.rh-app .property-catalog > a { font-size: .875rem; }
.rh-app .property-catalog aside > .rh-panel { position: sticky; top: 104px; }
.rh-app .footer-section { background: #242923; color: #f1f2ec; margin-top: 24px; }
.rh-app .footer-section > .overlay { background: transparent; padding: 64px 0 24px; }
.rh-app .footer-layout { display: grid; grid-template-columns: 1.3fr .7fr 1fr; gap: 72px; }
.rh-app .footer-section :is(h2,h3,h4,h5,a) { color: #f1f2ec; }
.rh-app .footer-section :is(p,li) { color: #bcc3b8; }
.rh-app .footer-section .rh-brand { margin-bottom: 20px; }
.rh-app .footer-section .footer-links { display: grid; gap: 10px; padding: 0; }
.rh-app .footer-section .footer-box { width: auto; margin: 0; }
.rh-app .footer-section .social-links { display: flex; gap: 12px; margin-top: 24px; }
.rh-app .footer-section .social-links a { display: grid; place-items: center; background: #333b32; border: 0; border-radius: 5px; width: 32px; height: 32px; }
.rh-app .footer-section .copyright { border-top: 1px solid #4a5347; margin-top: 40px; padding-top: 24px; font-size: .75rem; }
.rh-app .contact-section { background: var(--rh-page); padding: 64px 0; }
.rh-app .contact-section .contact-area { background: transparent; }
.rh-app .contact-section :is(.contact-form,.form-box) { background: var(--rh-surface); border-radius: 12px; padding: 32px; }
.rh-app .contact-section .social-links { display: flex; gap: 16px; }
.rh-app .rh-auth-screen { padding: 64px 0 80px; }
.rh-app .rh-auth-container { max-width: 1000px; }
.rh-app .rh-auth-stack { max-width: 500px; margin: 0 auto; }
.rh-app .rh-auth-card { border: 1px solid var(--rh-line); border-radius: 12px; padding: 36px; background: var(--rh-surface); }
.rh-app .rh-auth-card :is(.form-wrapper,.form-box) { padding: 0; width: 100%; margin: 0; background: transparent; border: 0; }
.rh-app .rh-auth-heading h4 { font-size: 1.75rem; margin: 0 0 12px; }
.rh-app .rh-auth-heading p { font-size: .875rem; margin: 0; }
.rh-app .rh-auth-card .links { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; font-size: .8125rem; }
.rh-app .rh-auth-links { text-align: center; margin: 24px 0 0; font-size: .875rem; }
.rh-app .rh-auth-links a { margin-inline-start: 8px; }
.rh-app .rh-password-field { position: relative; }
.rh-app .rh-password-field input { padding-inline-end: 50px; }
.rh-app .rh-password-toggle { position: absolute; inset-inline-end: 4px; top: 3px; width: 40px; height: 38px; background: transparent; border: 0; color: var(--rh-muted); }
.rh-app .rh-auth-logo { display: block; margin-bottom: 24px; width: 168px; }
.rh-app.dashboard-shell #sidebar { position: fixed; inset-block: 0; inset-inline-start: 0; width: 248px; height: 100dvh; background: #242923; border: 0; color: #eff2ea; overflow-y: auto; z-index: 1050; padding-bottom: 24px; transition: transform .18s var(--rh-ease); }
.rh-app.dashboard-shell #sidebar .sidebar-top { display: flex; align-items: center; justify-content: space-between; min-height: 88px; padding: 18px 22px; border-bottom: 1px solid #41483d; }
.rh-app.dashboard-shell #sidebar .rh-brand-mark { width: 174px; height: 42px; }
.rh-app.dashboard-shell #sidebar .rh-brand-name { display: none; }
.rh-app.dashboard-shell #sidebar .main { display: grid; gap: 3px; padding: 0 12px; margin: 12px 0 0; list-style: none; }
.rh-app.dashboard-shell #sidebar .sidebar-link { display: flex; align-items: center; gap: 12px; min-height: 42px; padding: 10px 13px; border-radius: 5px; color: #c5cbbb; font-size: .8125rem; font-weight: 400; background: transparent; }
.rh-app.dashboard-shell #sidebar .sidebar-link i { width: 20px; text-align: center; font-size: 16px; }
.rh-app.dashboard-shell #sidebar .sidebar-link:hover { color: #fff; background: #333b30; }
.rh-app.dashboard-shell #sidebar .sidebar-link.active { background: #f5f3ef; color: #242923; font-weight: 600; }
.rh-app.dashboard-shell #sidebar .rh-wallet-card { margin: 20px 22px !important; padding: 0 0 18px; background: transparent; border: 0; border-bottom: 1px solid #41483d; border-radius: 0; }
.rh-app.dashboard-shell #sidebar .rh-wallet-card h4 { color: #aeb8a5; font-size: .6875rem; font-weight: 400; margin: 0 0 12px !important; }
.rh-app.dashboard-shell #sidebar .wallet-balance-item { display: grid; gap: 5px; font-size: .6875rem; color: #aeb8a5; margin-bottom: 12px; font-weight: 400; }
.rh-app.dashboard-shell #sidebar .wallet-value { color: #fff; font-size: 1.0625rem; font-weight: 600; overflow-wrap: anywhere; }
.rh-app.dashboard-shell #sidebar .rh-level-card { margin: 16px 22px; padding: 0; background: none; display: flex; justify-content: space-between; }
.rh-app.dashboard-shell #sidebar .rh-level-card :is(h4,p) { color: #d3d9cc; font-size: .75rem; }
.rh-app .level-badge { width: 32px; height: 32px; object-fit: contain; }
.rh-app.dashboard-shell #content { margin-inline-start: 248px; padding: 0; width: calc(100% - 248px); min-height: 100dvh; background: var(--rh-page); }
.rh-app.dashboard-shell #content > .overlay { background: transparent; padding: 0; min-height: 100dvh; }
.rh-app .dashboard-topbar { position: sticky; top: 0; padding: 0; min-height: 88px; width: 100%; border: 0; border-bottom: 1px solid var(--rh-line); background: var(--rh-surface); z-index: 1030; }
.rh-app .dashboard-topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 32px; }
.rh-app .dashboard-topbar-leading { display: flex; align-items: center; gap: 12px; }
.rh-app .dashboard-page-heading { margin-inline-end: auto; }
.rh-app .dashboard-page-heading > span { color: var(--rh-muted); font-size: .75rem; margin: 0 0 3px; }
.rh-app .dashboard-page-heading h1 { font-size: 1.25rem; margin: 0; }
.rh-app .sidebar-toggler { display: grid; place-items: center; width: 36px; height: 38px; border: 0; background: transparent; color: var(--rh-muted); font-size: 18px; }
.rh-app.dashboard-shell #sidebar .sidebar-toggler { color: #fff; }
.rh-app .dashboard-topbar-actions { display: flex; align-items: center; gap: 20px; margin: 0; padding: 0; }
.rh-app .rh-user-panel .profile { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.rh-app .rh-user-name { font-size: .8125rem; color: var(--rh-ink); }
.rh-app .notification-panel { background: transparent; color: var(--rh-muted); }
.rh-app .notification-panel .profile img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.rh-app :is(.user-dropdown,.notification-dropdown) { background: var(--rh-surface); border: 1px solid var(--rh-line); border-radius: 8px; box-shadow: var(--rh-shadow); color: var(--rh-ink); z-index: 1055; max-width: calc(100vw - 32px); }
.rh-app .user-dropdown li a { color: var(--rh-ink); font-size: .875rem; }
.rh-app .dashboard-content { padding: 32px; }
.rh-app .dashboard-content > .container-fluid { padding: 0 !important; }
.rh-app .dashboard-content > .container-fluid > h2:first-child { margin: 0 0 10px; }
.rh-app .dashboard-content > .container-fluid > p { margin-bottom: 28px; }
.rh-app .dashboard-content .rh-dashboard-stack { padding: 0; }
.rh-app .rh-dashboard-home section > h2 { font-size: 1.25rem; margin: 32px 0 18px; }
.rh-app .rh-dashboard-home .card h3 { font-size: .8125rem; font-weight: 400; color: var(--rh-muted); letter-spacing: 0; margin: 0 0 16px; }
.rh-app .rh-dashboard-home .card strong, .rh-app .rh-wallet-overview strong { display: block; font-size: clamp(1.375rem, 2.5vw, 2rem); line-height: 1.2; color: var(--rh-ink); margin-bottom: 16px; }
.rh-app .rh-dashboard-home .card > a { margin-top: 12px; font-size: .8125rem; }
.rh-app .rh-page-intro { display: flex; justify-content: space-between; align-items: start; gap: 24px; padding: 4px 0 24px; border-bottom: 1px solid var(--rh-line); }
.rh-app .rh-page-intro h2 { margin: 0 0 8px; font-size: 2rem; }
.rh-app .rh-page-intro p { margin: 0; max-width: 52ch; }
.rh-app .rh-page-intro .btn { white-space: nowrap; }
.rh-app .rh-dashboard-home .rh-quick-actions { padding: 18px 0; margin: 0 0 12px; }
.rh-app .rh-upload-field { position: relative; padding: 18px; border: 1px dashed var(--rh-muted); border-radius: 8px; }
.rh-app .rh-upload-field input { max-width: 100%; }
.rh-app :is(.profile-setting,.upload-img,.form-box,.ticket-box) { max-width: 100%; }
.rh-app .select2-container { max-width: 100%; }
.rh-app .select2-container--default .select2-selection--single { background: var(--rh-surface); border-color: var(--rh-line); height: 44px; color: var(--rh-ink); }
.rh-app .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--rh-ink); line-height: 42px; }
.rh-app .select2-dropdown { background: var(--rh-surface); color: var(--rh-ink); border-color: var(--rh-line); }
.rh-app .select2-results__option--highlighted { background: var(--rh-accent) !important; }
.rh-app .rh-error-screen { min-height: 100dvh; display: grid; place-items: center; }
.rh-app .rh-error-panel { max-width: 600px; padding: 40px; margin: auto; }
.rh-app .rh-error-illustration { width: 64px; margin-bottom: 24px; }
.rh-app :is(.blog-section,.blog-details-section,.about-section) { background: transparent; padding: 64px 0; }
.rh-app :is(.blog-box,.blog-card,.blog-sidebar,.sidebar-box) { background: var(--rh-surface); border: 1px solid var(--rh-line); border-radius: 12px; overflow: hidden; }
.rh-app .blog-box .text-box { padding: 24px; }
.rh-app .blog-box :is(h3,h4) { font-size: 1.25rem; }
.rh-app .blog-box a { color: var(--rh-ink); }
.rh-app .blog-box img { width: 100%; object-fit: cover; }
.rh-app .cookies-alert { background: var(--rh-surface); color: var(--rh-ink); border: 1px solid var(--rh-line); box-shadow: var(--rh-shadow); border-radius: 12px; }
@media (min-width: 992px) {
  .rh-app #sidebar.active { transform: translateX(-100%); }
  .rh-app[dir='rtl'] #sidebar.active { transform: translateX(100%); }
  .rh-app.dashboard-shell #content.active { width: 100%; margin-inline-start: 0; }
}
@media (max-width: 991px) {
  .rh-site > .navbar .container { flex-wrap: wrap; gap: 12px; }
  .rh-site > .navbar .navbar-collapse { order: 3; width: 100%; background: var(--rh-surface); }
  .rh-site > .navbar .navbar-nav { align-items: stretch; padding: 16px 0; gap: 3px; }
  .rh-site .rh-header-actions { margin-inline-start: auto; gap: 14px; }
  .rh-site .rh-header-actions > .nav-link:not(.header-cta) { display: none; }
  .rh-app.dashboard-shell #sidebar { transform: translateX(-100%); width: min(280px, 86vw); box-shadow: var(--rh-shadow); }
  .rh-app #sidebar.active { transform: translateX(0); }
  .rh-app.dashboard-shell #content, .rh-app.dashboard-shell #content.active { width: 100%; margin: 0; }
  .rh-app .dashboard-content { padding: 24px 24px 100px; }
  .rh-app .dashboard-topbar { min-height: 76px; }
  .rh-app .dashboard-topbar-inner { padding: 14px 24px; }
  .rh-app .dashboard-mobile-brand img { width: 32px; height: 32px; object-fit: contain; }
  .rh-app .bottom-nav { display: flex; justify-content: space-around; background: var(--rh-surface); border-top: 1px solid var(--rh-line); padding: 10px 8px calc(10px + env(safe-area-inset-bottom)); z-index: 1040; }
  .rh-app .bottom-nav .link-item { display: flex; align-items: center; padding: 0; background: transparent; }
  .rh-app .bottom-nav :is(a,button) { display: grid; gap: 3px; justify-items: center; background: transparent; border: 0; color: var(--rh-muted); font-size: .6875rem; min-width: 50px; min-height: 40px; }
  .rh-app .bottom-nav .icon { font-size: 18px; }
  .rh-app .bottom-nav .active a { color: var(--rh-accent); }
  .rh-app .footer-layout { grid-template-columns: 1fr 1fr; gap: 40px; }
  .rh-app .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 575px) {
  .rh-app .container { width: calc(100% - 36px); }
  .rh-site > .navbar { padding: 13px 0; min-height: 72px; }
  .rh-app .rh-brand-mark { width: 146px; height: 38px; }
  .rh-site .rh-header-actions .header-cta { padding: 8px 12px; }
  .rh-site .rh-banner-inner { display: block; }
  .rh-site .banner-section { padding: 108px 0 24px; }
  .rh-site .rh-banner-title { font-size: 28px; }
  .rh-site .rh-breadcrumb { margin-top: 12px; }
  .rh-app .public-hero { padding: 116px 0 40px; }
  .rh-app .public-hero h1 { font-size: 38px; }
  .rh-app .public-hero p { font-size: 1rem; }
  .rh-app .public-section { padding: 40px 0; }
  .rh-app .rh-auth-screen { padding: 32px 0 48px; }
  .rh-app .rh-auth-card { padding: 24px; }
  .rh-app .rh-auth-card .row { --bs-gutter-y: 1.25rem; }
  .rh-app .rh-auth-heading h4 { font-size: 1.5rem; }
  .rh-app .dashboard-content { padding: 22px 18px 100px; }
  .rh-app .dashboard-topbar-inner { padding: 12px 18px; gap: 12px; }
  .rh-app .dashboard-topbar-actions { gap: 8px; }
  .rh-app .dashboard-page-heading h1 { font-size: 1.0625rem; }
  .rh-app .rh-page-intro { display: block; }
  .rh-app .rh-page-intro h2 { font-size: 1.625rem; }
  .rh-app .rh-page-intro .btn { margin-top: 18px; }
  .rh-app .footer-layout { grid-template-columns: 1fr; gap: 32px; }
  .rh-app .footer-section > .overlay { padding: 40px 0 24px; }
  .rh-app .contact-section :is(.contact-form,.form-box) { padding: 20px; }
  .rh-app .notification-dropdown { position: fixed; top: 78px; inset-inline: 18px; width: auto; }
  .rh-app .property-catalog { padding-top: 24px !important; }
}

.rh-app.dashboard-shell #sidebar { left: 0; }
.rh-app.dashboard-shell #sidebar ul.main { height: auto; overflow: visible; }
.rh-app.dashboard-shell #sidebar ul li a::before, .rh-app.dashboard-shell #sidebar .wallet-box::before { display: none; }
.rh-app.dashboard-shell #sidebar ul li a i { color: inherit; }
.rh-app.dashboard-shell #sidebar .wallet-box { padding: 0; }
.rh-app.dashboard-shell #sidebar .wallet-box h5 span { float: none; }
.rh-app.dashboard-shell .dashboard-wrapper { overflow: visible; }
.rh-app.dashboard-shell #sidebar .sidebar-top .navbar-brand img { max-width: 100%; height: 42px; }
.rh-app.dashboard-shell #sidebar .rh-sidebar-brand { padding: 0; }
.rh-app .btn-outline-primary, .rh-app .btn-outline-secondary { border: 1px solid var(--rh-line) !important; }
.rh-app .bottom-nav .text { display: block; opacity: 1; visibility: visible; }
.rh-app .bottom-nav .link-item .icon { margin: 0; }
.rh-app .rh-entry-form { max-width: 1040px; }
.rh-app .rh-form-section { margin-top: 28px; padding-bottom: 6px; border-bottom: 1px solid var(--rh-line); }
.rh-app .rh-form-section:first-child { margin-top: 0; }
.rh-app .rh-form-section h3 { margin: 0 0 8px; }
.rh-app .rh-form-section p { font-size: .8125rem; margin: 0 0 12px; }
.rh-app .rh-property-title { font-size: var(--rh-title); }
.rh-app .rh-property-aside > section { position: sticky; top: 108px; }
.rh-app .rh-property-aside > section h3 { font-size: 1.75rem; margin-bottom: 28px; }
.rh-app .rh-property-aside dl { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; }
.rh-app .rh-property-aside dd { text-align: end; margin-bottom: 12px; }
.rh-app .rh-profile-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 24px; }
.rh-app .rh-profile-rail, .rh-app .rh-profile-content { padding: 24px; }
.rh-app .rh-profile-avatar img { width: 96px; height: 96px; object-fit: cover; border-radius: 50%; margin-bottom: 18px; }
.rh-app .rh-profile-identity { font-size: .875rem; }
.rh-app .rh-section-heading { margin-bottom: 24px; }
.rh-app :is(.rh-section-kicker,.rh-panel-kicker) { display: none; }
.rh-app :is(.rh-panel-head,.rh-panel-footer) { display: flex; justify-content: space-between; gap: 20px; align-items: start; padding: 24px; border-bottom: 1px solid var(--rh-line); }
.rh-app .rh-panel-body { padding: 24px; }
.rh-app .rh-twofa-grid { display: grid; grid-template-columns: 240px 1fr; gap: 24px; }
.rh-app .rh-twofa-qr { padding: 24px; background: #fff; border-radius: 12px; }
.rh-app .rh-twofa-qr img { max-width: 180px; }
.rh-app .rh-twofa-details { min-width: 0; }
.rh-app .rh-payment-choice-grid { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 12px; }
.rh-app .rh-checkout-primary { padding: 0; overflow: hidden; }
.rh-app .rh-checkout-primary .payment-box { padding: 24px; }
.rh-app .rh-checkout-summary { padding: 24px; }
.rh-app .rh-payment-choice-grid .payment-option { border: 1px solid var(--rh-line); background: var(--rh-surface); border-radius: 8px; }
.rh-app .rh-payment-choice-grid img { max-width: 96px; height: 50px; object-fit: contain; }
.rh-app .rh-wallet-overview .card { gap: 16px; }
.rh-app .rh-wallet-overview span { font-size: .8125rem; color: var(--rh-muted); }
.rh-app progress { accent-color: var(--rh-accent); height: 12px; }
.rh-app .property-compare-table { min-width: 680px; }
.rh-app .property-compare-table th:first-child { position: sticky; inset-inline-start: 0; background: var(--rh-surface-alt); z-index: 1; }
.rh-app .property-compare-table td { min-width: 230px; }
.rh-app .rh-dashboard-home .rh-dashboard-intro { margin-bottom: 24px; }
.rh-app .rh-dashboard-home .rh-dashboard-intro .rh-page-intro h2 { margin: 0 0 10px; }
@media (max-width: 767px) {
  .rh-app .rh-profile-layout, .rh-app .rh-twofa-grid { grid-template-columns: 1fr; }
  .rh-app .rh-profile-rail { display: block; }
  .rh-app .rh-profile-avatar img { width: 72px; height: 72px; }
  .rh-app .rh-profile-rail, .rh-app .rh-profile-content, .rh-app .rh-panel-body { padding: 18px; }
  .rh-app .rh-property-aside > section { position: static; }
}

.rh-app.dashboard-shell #content nav.dashboard-topbar { margin: 0; border-radius: 0; }
.rh-app .rh-profile-content { padding: 0; }
.rh-app .rh-profile-panel-stack { display: grid; gap: 24px; }
.rh-app .rh-profile-panel-stack > .rh-panel:first-child { padding: 24px; }
.rh-app .rh-form-grid { margin: 0; padding: 8px 12px 24px; }
.rh-app .rh-profile-meta { padding: 18px 0; font-size: .8125rem; color: var(--rh-muted); }
.rh-app .rh-profile-chip-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.rh-app .rh-profile-nav { display: grid; gap: 8px; }
.rh-app .rh-profile-nav .tab { padding: 12px; border-radius: 6px; border: 0; background: transparent; color: var(--rh-muted); text-align: start; font-size: .8125rem; }
.rh-app .rh-profile-nav .tab.active { background: var(--rh-accent-soft); color: var(--rh-accent); }
.rh-app .rh-profile-nav .tab i { margin-inline-end: 6px; }
.rh-app .rh-upload-field input[type=file] { font-size: .75rem; }
.rh-app .rh-upload-field .rh-upload-copy { display: block; margin-top: 8px; }
.rh-app .input-group > .form-control { width: 1%; min-width: 0; }
.rh-app .form-switch .form-check-input { width: 2em; height: 1.15em; border-radius: 2em; background-color: var(--rh-muted); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Ccircle cx='2' cy='2' r='1.5' fill='white'/%3E%3C/svg%3E"); background-position: left center; background-size: contain; background-repeat: no-repeat; border: 0; }
.rh-app .form-switch .form-check-input:checked { background-color: var(--rh-accent); background-position: right center; }
.rh-app .rh-dashboard-notice { background: var(--rh-warning-soft); color: var(--rh-warning); gap: 20px; }
.rh-app .rh-dashboard-notice h5 { color: inherit; font-size: .875rem; line-height: 1.6; }
.rh-app .rh-dashboard-notice .close-btn { flex: 0 0 36px; padding: 6px; background: transparent; border: 0; }
.rh-app .rh-dashboard-notice .close-btn i { color: var(--rh-warning) !important; }
.rh-app form > .rh-checkout-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,1fr); gap: 24px; align-items: start; }
.rh-app .rh-checkout-primary .payment-box { min-height: 0; height: auto; }
.rh-app .rh-checkout-summary { padding: 0; }
.rh-app .rh-checkout-summary .side-bar { padding: 24px; }
.rh-app .rh-data-row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--rh-line); font-size: .875rem; }
.rh-app .rh-data-value { font-weight: 600; text-align: end; }
.rh-app .rh-table-scroll { max-width: 100%; overflow-x: auto; }
.rh-app .rh-filter-bar { padding: 24px; }
.rh-app .rh-filter-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 16px; align-items: end; }
.rh-app .rh-chip { display: inline-flex; padding: 5px 9px; border-radius: 4px; background: var(--rh-surface-alt); color: var(--rh-muted); font-size: .75rem; font-weight: 600; }
.rh-app .rh-chip--warn { background: var(--rh-warning-soft); color: var(--rh-warning); }
.rh-app .rh-chip--accent { background: var(--rh-success-soft); color: var(--rh-success); }
@media(max-width: 991px) { .rh-app form > .rh-checkout-grid { grid-template-columns: 1fr; } }
@media(max-width: 575px) { .rh-app .rh-profile-panel-stack > .rh-panel:first-child { padding: 18px; } .rh-app .rh-filter-bar { padding: 18px; } }

.rh-app .checkout-section .side-bar .side-box { margin: 0 !important; padding: 0; border: 0; box-shadow: none; }
.rh-app .rh-property-aside > section h3 { font-size: 1.125rem; }
.rh-app .rh-property-aside p > strong { display: inline-block; font-size: clamp(1.75rem,2.5vw,2.25rem); line-height: 1.25; margin: 8px 0 16px; }
@media(max-width:991px) {
.rh-app .bottom-nav { bottom: 0; inset-inline: 0; width: 100%; margin: 0; border-radius: 0; min-height: 64px; padding: 8px 12px max(8px,env(safe-area-inset-bottom)); }
.rh-app .bottom-nav .link-item, .rh-app .bottom-nav .link-item.active, .rh-app .bottom-nav .link-item:hover { margin: 0; width: 64px; height: auto; }
.rh-app .bottom-nav .link-item .icon { background: transparent; height: 22px; top: 0; width: auto; border-radius: 0; }
.rh-app .bottom-nav .link-item :is(i,.text) { color: var(--rh-muted); margin-top: 0; width: auto; }
.rh-app .bottom-nav .link-item.active :is(i,.text) { color: var(--rh-accent); }
}

.rh-app .rh-error-code { font-size: 4rem; line-height: 1; color: var(--rh-accent); margin-bottom: 24px; }
.rh-app .rh-error-panel .error-info { color: var(--rh-ink); font-size: 1.5rem; }

.rh-app .rh-purchase-flow { max-width: 1240px; }
.rh-app .rh-payment-callout { padding: 20px; border: 1px solid var(--rh-line); border-inline-start: 4px solid var(--rh-accent); border-radius: var(--rh-control-radius); background: var(--rh-surface-alt); }
.rh-app .rh-payment-amount { display: block; font-size: clamp(1.375rem, 2.3vw, 2rem); line-height: 1.3; margin-bottom: 12px; }
.rh-app .rh-payment-facts { display: grid; gap: 10px; }
.rh-app .rh-payment-facts > div { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; column-gap: 16px; }
.rh-app .rh-payment-facts dt { font-weight: 400; color: var(--rh-muted); }
.rh-app .rh-payment-facts dd { margin: 0; }
.rh-app .rh-purchase-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.rh-app .rh-purchase-totals dt { font-size: .8125rem; color: var(--rh-muted); font-weight: 400; }
.rh-app .rh-purchase-totals dd { font-size: clamp(1rem, 1.6vw, 1.5rem); margin: 6px 0 0; }
.rh-app .rh-purchase-flow progress { height: 10px; accent-color: var(--rh-success); }
.rh-app .rh-purchase-flow details summary { cursor: pointer; font-weight: 600; padding: 8px 0; }
.rh-app .rh-purchase-flow :is(.table-responsive, .card) { min-width: 0; }
.rh-app .rh-purchase-flow [hidden] { display: none !important; }
.rh-app .rh-gateway-wrap { max-width: 900px; margin: 24px auto; min-width: 0; }
.rh-app .rh-gateway-panel { padding: 24px; }
.rh-app .rh-gateway-head { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.rh-app .rh-gateway-head-copy { min-width: 0; flex: 1; }
.rh-app .rh-gateway-logo img { width: 64px; height: 64px; object-fit: contain; }
.rh-app .rh-gateway-kicker { display: block; color: var(--rh-muted); font-size: .8125rem; margin-bottom: 6px; }
.rh-app .rh-gateway-amount { margin: 20px 0; padding: 20px; border-block: 1px solid var(--rh-line); background: var(--rh-surface-alt); }
.rh-app .rh-gateway-amount > :is(span,strong,em) { display: block; }
.rh-app .rh-gateway-amount strong { font-size: clamp(1.375rem,2.3vw,2rem); margin: 8px 0; }
.rh-app .rh-gateway-amount em { font-size: .875rem; font-style: normal; color: var(--rh-muted); margin-bottom: 12px; }
.rh-app .rh-gateway-amount p:last-child { margin-bottom: 0; }
.rh-app .rh-gateway-actions { margin-top: 24px; }
.rh-app .rh-gateway-form .preview-image { max-width: 240px; height: auto; margin-top: 12px; }
@media(max-width:575px) {
  .rh-app .rh-purchase-totals { grid-template-columns: 1fr; gap: 12px; }
  .rh-app .rh-purchase-totals > div { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; }
  .rh-app .rh-purchase-totals dd { margin: 0; font-size: 1.125rem; }
  .rh-app .rh-payment-callout { padding: 16px; }
  .rh-app .rh-purchase-flow .btn-custom { white-space: normal; text-align: center; }
  .rh-app .rh-gateway-panel, .rh-app .rh-gateway-amount { padding: 16px; }
}

@media(max-width:575px) {
  .rh-app .rh-dashboard-home .rh-page-intro { padding-bottom: 14px; }
  .rh-app .rh-dashboard-home .rh-page-intro p { font-size: .875rem; }
  .rh-app .rh-dashboard-home .rh-page-intro .btn { margin-top: 12px; padding: 8px 12px; min-height: 36px; }
  .rh-app .rh-dashboard-home .rh-quick-actions { flex-wrap: nowrap !important; overflow-x: auto; padding: 12px 0; margin: 0; }
  .rh-app .rh-dashboard-home .rh-quick-actions .btn { flex: 0 0 auto; white-space: nowrap; }
  .rh-app .rh-dashboard-home .rh-dashboard-intro { margin-bottom: 0; }
  .rh-app .rh-dashboard-home section > h2 { margin: 20px 0 12px; font-size: 1.125rem; }
  .rh-app .rh-dashboard-home section > .row.g-3 { --bs-gutter-y: 10px; }
  .rh-app .rh-dashboard-home section > .row.g-3 .card { display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: 12px; padding: 14px !important; align-items: start; }
  .rh-app .rh-dashboard-home section > .row.g-3 .card h3 { margin: 0; font-size: .8125rem; line-height: 1.45; }
  .rh-app .rh-dashboard-home section > .row.g-3 .card strong { font-size: 1.375rem; margin: 0; text-align: end; }
  .rh-app .rh-dashboard-home section > .row.g-3 .card > :is(a,span) { grid-column: 1 / -1; margin: 6px 0 0; font-size: .8125rem; }
}
