.pg-public-mobile-menu,
.pg-public-mobile-account,
.pg-public-mobile-register,
.pg-public-mobile-drawer,
.pg-public-mobile-backdrop,
.pg-mobile-workflow-tabs,
.pg-selected-payment-occupant,
.pg-payment-profile-dialog,
.pg-rooms-mobile-tabs { display: none; }

.pg-public-property-map { display: grid; grid-column: 1 / -1; gap: 8px; border-top: 1px solid #dce6e8; padding-top: 14px; }
.pg-public-property-map iframe { width: 100%; height: 260px; border: 1px solid #c8d7da; border-radius: 6px; background: #edf3f3; }
.pg-public-property-map a { justify-self: start; color: #0765c5; font-weight: 800; }
[id] { scroll-margin-top: 78px; }
.pg-finance-panel-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 7px; }
.pg-finance-panel-tools input { min-height: 34px; width: min(160px, 100%); border: 1px solid #c8d5dd; border-radius: 5px; padding: 4px 7px; color: #17384d; }
.pg-finance-panel-tools a { color: #0966a3; font-size: .76rem; font-weight: 800; }

@media (max-width: 760px) {
  .pg-public-body { --pg-public-nav-height: 106px; }
  .pg-public-body .pg-public-nav { grid-template-columns: 42px minmax(0, 1fr) auto; grid-template-rows: 58px 48px; height: var(--pg-public-nav-height); gap: 0 9px; padding: 0 12px; background: var(--pg-header-color, #043b32); }
  .pg-public-nav > nav, .pg-public-desktop-account { display: none !important; }
  .pg-public-mobile-menu { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 5px; background: transparent; color: #fff; font-size: 1.45rem; }
  .pg-public-nav .pg-kakarlas-brand { min-width: 0; color: #fff; }
  .pg-public-nav .pg-kakarlas-brand img { width: 34px; height: 34px; flex: 0 0 34px; filter: saturate(1.35) contrast(1.08) drop-shadow(0 2px 3px rgba(0,0,0,.2)); }
  .pg-public-nav .pg-kakarlas-brand b { display: block; overflow: hidden; color: #fff; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
  .pg-public-mobile-account { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.55); border-radius: 5px; background: transparent; padding: 7px 10px; color: #fff !important; font-size: .78rem; font-weight: 850; text-decoration: none; }
  .pg-public-mobile-register { display: inline-flex; grid-column: 1 / 3; min-height: 38px; align-items: center; justify-content: center; border-radius: 5px; background: #efbd3f; color: #17352e !important; font-size: .82rem; font-weight: 900; text-decoration: none; }
  .pg-public-language-host { top: 64px; right: 12px; }
  .pg-public-language-host .pg-language-selector summary { min-width: 86px; min-height: 38px; border-color: rgba(255,255,255,.55); background: #07584b; }
  .pg-public-mobile-drawer { position: fixed; z-index: 1230; top: 0; bottom: 0; left: 0; display: grid; width: min(82vw, 320px); align-content: start; gap: 3px; padding: 82px 15px 24px; background: #043b32; box-shadow: 16px 0 36px rgba(0,0,0,.28); transform: translateX(-105%); transition: transform .24s ease; }
  .pg-public-mobile-drawer a { min-height: 46px; border-bottom: 1px solid rgba(255,255,255,.14); padding: 12px 10px; color: #fff !important; font-size: .95rem; font-weight: 750; text-decoration: none; }
  .pg-public-mobile-drawer .is-register { margin-top: 10px; border: 0; border-radius: 5px; background: #efbd3f; color: #17352e !important; text-align: center; }
  .pg-public-mobile-backdrop { position: fixed; z-index: 1220; inset: 0; display: block; visibility: hidden; border: 0; background: rgba(5,18,17,.54); opacity: 0; transition: opacity .2s ease, visibility .2s ease; }
  .pg-public-menu-open { overflow: hidden; }
  .pg-public-menu-open .pg-public-mobile-drawer { transform: translateX(0); }
  .pg-public-menu-open .pg-public-mobile-backdrop { visibility: visible; opacity: 1; }
  .pg-public-property-dialog > article { max-height: calc(100dvh - 20px); }
  .pg-public-property-map iframe { height: 220px; }

  .pg-mobile-workflow-tabs, .pg-rooms-mobile-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin: 0 0 12px; }
  .pg-mobile-workflow-tabs a, .pg-rooms-mobile-tabs a, .pg-rooms-mobile-tabs button { display: grid; min-width: 0; min-height: 70px; place-items: center; align-content: center; gap: 4px; border: 1px solid #bad1df; border-radius: 6px; background: #edf6fb; padding: 7px 4px; color: #123f63; font-size: .66rem; font-weight: 850; line-height: 1.15; text-align: center; text-decoration: none; }
  .pg-mobile-workflow-tabs a:nth-child(1), .pg-rooms-mobile-tabs > :nth-child(1) { border-color: #58a785; background: #e6f6ed; color: #075f42; }
  .pg-mobile-workflow-tabs a:nth-child(3), .pg-rooms-mobile-tabs > :nth-child(3) { border-color: #dfae63; background: #fff2df; color: #865007; }
  .pg-mobile-workflow-tabs a:nth-child(4), .pg-rooms-mobile-tabs > :nth-child(4) { border-color: #b99bdf; background: #f4ecff; color: #6630a6; }
  .pg-mobile-workflow-tabs a b, .pg-rooms-mobile-tabs b { font-size: 1.15rem; }
  .pg-rent-payment-entry .pg-panel-title { align-items: center; }
  .pg-rent-payment-entry .pg-form-grid.single { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .pg-rent-payment-entry .form-group { min-width: 0; margin: 0; }
  .pg-rent-payment-entry .form-control { min-height: 44px; font-size: .82rem; }
  .pg-rent-payment-entry textarea.form-control { min-height: 72px; }
  .pg-rent-payment-entry .pg-occupant-autocomplete, .pg-rent-payment-entry .form-group:last-child { grid-column: 1 / -1; }
  .pg-selected-payment-occupant { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 12px; margin: 10px 0 0; border: 1px solid #b9daca; border-radius: 6px; background: #eef9f3; padding: 10px; }
  .pg-selected-payment-occupant[hidden] { display: none; }
  .pg-selected-payment-occupant strong, .pg-selected-payment-occupant span { overflow-wrap: anywhere; }
  .pg-selected-payment-occupant span { color: #526b68; font-size: .72rem; }
  .pg-selected-payment-occupant button { grid-row: 1 / 3; grid-column: 2; border: 1px solid #8bbbd8; border-radius: 5px; background: #eaf5fc; padding: 6px 9px; color: #17608f; font-size: .72rem; font-weight: 850; }
  .pg-payment-profile-dialog { width: min(94vw, 720px); max-height: 88dvh; border: 0; border-radius: 7px; padding: 0; box-shadow: 0 24px 60px rgba(5,29,41,.3); }
  .pg-payment-profile-dialog[open] { display: block; }
  .pg-payment-profile-dialog::backdrop { background: rgba(4,25,34,.62); }
  .pg-payment-profile-dialog > header { position: sticky; z-index: 1; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #063f36; padding: 12px 14px; color: #fff; }
  .pg-payment-profile-dialog > header h2 { margin: 0; font-size: 1rem; }
  .pg-payment-profile-dialog > header button { border: 0; background: transparent; color: #fff; font-size: 1.6rem; }
  .pg-payment-profile-content { display: grid; gap: 12px; padding: 14px; }
  .pg-payment-profile-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .pg-payment-profile-facts div { border: 1px solid #d5e1e5; border-radius: 5px; background: #f7fafb; padding: 8px; }
  .pg-payment-profile-facts small, .pg-payment-profile-facts strong { display: block; overflow-wrap: anywhere; }
  .pg-payment-profile-facts small { color: #637785; font-size: .65rem; }
  .pg-payment-profile-table { width: 100%; border-collapse: collapse; font-size: .7rem; }
  .pg-payment-profile-table th, .pg-payment-profile-table td { border: 1px solid #dbe4e8; padding: 6px; text-align: left; }
  .pg-payment-profile-table th { background: #edf4f6; color: #294a5d; }
  .pg-rent-ledger .pg-panel-title, .pg-rent-balance-board .pg-panel-title, .pg-due-alert-panel .pg-panel-title { scroll-margin-top: 120px; }
  .pg-finance-panel-tools { width: 100%; justify-content: flex-start; }
  .pg-page-heading .pg-page-actions .btn-success { display: none; }
  .pg-rooms-mobile-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pg-rooms-mobile-tabs a { min-height: 62px; }
}

@media (max-width: 390px) {
  .pg-public-nav .pg-kakarlas-brand img { width: 30px; height: 30px; }
  .pg-public-nav .pg-kakarlas-brand b { font-size: .9rem; }
  .pg-rent-payment-entry .pg-form-grid.single { grid-template-columns: 1fr; }
  .pg-rent-payment-entry .pg-occupant-autocomplete, .pg-rent-payment-entry .form-group:last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .pg-public-mobile-drawer, .pg-public-mobile-backdrop { transition: none; }
}
