/* PM24 V319 — mobile-first owner workspace, booking drawer and reports. */
select[data-pm24-fresh-payment-mode]:required:invalid{color:#6b7f9f}
select[data-pm24-fresh-payment-mode] option{color:#12213d}

@media (max-width:760px){
  html,body.owner-shell-page{
    width:100%;max-width:100%;overflow-x:hidden!important;
  }
  html.pm24-drawer-open,html.pm24-drawer-open body{overflow:hidden!important}
  body.owner-shell-page .owner-app-layout,
  body.owner-shell-page .owner-app-content{
    width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;
  }
  body.owner-shell-page .owner-mobile-bar{
    width:100%!important;max-width:100%!important;margin:0!important;
    min-height:58px!important;height:auto!important;
    padding:8px max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left))!important;
    box-sizing:border-box!important;box-shadow:0 7px 22px rgba(16,48,92,.08)!important;
  }
  body.owner-shell-page .owner-mobile-menu,
  body.owner-shell-page .owner-mobile-alert{width:42px!important;height:42px!important;border-radius:13px!important}
  body.owner-shell-page .owner-page{
    width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;
    padding:10px 8px calc(28px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important;
  }
  body.owner-shell-page .owner-page>*{min-width:0!important;max-width:100%}
  body.owner-shell-page .owner-page input,
  body.owner-shell-page .owner-page select,
  body.owner-shell-page .owner-page textarea{min-width:0!important;max-width:100%!important;font-size:16px!important}
  body.owner-shell-page .owner-page input,
  body.owner-shell-page .owner-page select{min-height:46px!important}
  body.owner-shell-page .owner-page .btn,
  body.owner-shell-page .owner-page button,
  body.owner-shell-page .owner-page a.btn{min-height:44px}
  body.owner-shell-page .owner-page details>summary{min-height:48px;display:flex;align-items:center;touch-action:manipulation}

  /* Advance booking list and full-screen details drawer. */
  body.app-bookings .v101-booking,
  body.app-bookings .v101-layout,
  body.app-bookings .v101-layout>main{
    width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;
  }
  body.app-bookings .v101-booking{padding:0!important}
  body.app-bookings .v101-layout.has-detail .v101-side{
    inset:0!important;left:0!important;right:0!important;width:100%!important;max-width:none!important;min-width:0!important;
    height:100dvh!important;margin:0!important;
    padding:0 max(12px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
    border:0!important;border-radius:0!important;box-sizing:border-box!important;
    scrollbar-gutter:auto!important;overflow-x:hidden!important;background:linear-gradient(180deg,#fff 0,#fbfdff 100%)!important;
  }
  body.app-bookings .v101-side-head{
    width:auto!important;max-width:none!important;
    margin:0 -12px 14px!important;
    padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left))!important;
    box-sizing:border-box!important;border-radius:0!important;
  }
  body.app-bookings .v101-side-title{min-width:0}
  body.app-bookings .v101-side-title h2,
  body.app-bookings .v101-side-title p{overflow-wrap:anywhere}
  body.app-bookings .v101-side dl{gap:8px!important}
  body.app-bookings .v101-side dl div{min-width:0!important;padding:12px!important;border-radius:15px!important;background:#f8fbff!important}
  body.app-bookings .v101-side dd{line-height:1.35;overflow-wrap:anywhere}
  body.app-bookings .v101-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
  body.app-bookings .v101-actions .btn{width:100%!important}
  body.app-bookings .v101-side details{min-width:0!important;margin-top:10px!important;border-radius:16px!important}
  body.app-bookings .v101-side details summary{padding:13px 3px!important}
  body.app-bookings .v101-side form,
  body.app-bookings .v101-side input,
  body.app-bookings .v101-side select,
  body.app-bookings .v101-side textarea{min-width:0!important;max-width:100%!important}
  body.app-bookings .v101-side details form .btn{width:100%!important;min-height:48px!important;border-radius:14px!important}
  body.app-bookings .v101-side>p{margin:9px 0!important}
  body.app-bookings .v101-side>p a{display:block;max-width:100%;padding:3px 0;overflow-wrap:anywhere;word-break:break-word;line-height:1.45}
  body.app-bookings .pm24-paid-complete-card{border-radius:16px!important;padding:15px!important}

  /* Owner monthly/day reports: full viewport, large touch targets, no sideways scroll. */
  body.app-stay-reports .sr,
  body.app-stay-reports .sr.stack,
  body.app-reports .pm-report,
  body.app-reports .pm-report.stack{
    width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;
  }
  body.app-stay-reports .sr-head,
  body.app-stay-reports .sr-months,
  body.app-stay-reports .sr-stats,
  body.app-stay-reports .sr-main,
  body.app-stay-reports .sr-calendar-grid,
  body.app-stay-reports .sr-card,
  body.app-reports .pm-report-head,
  body.app-reports .pmr-toolbar,
  body.app-reports .pmr-stats,
  body.app-reports .pmr-grid,
  body.app-reports .pmr-bottom,
  body.app-reports .pmr-card{width:100%!important;max-width:100%!important;min-width:0!important}
  body.app-stay-reports .sr-head{padding:18px 14px!important;border-radius:20px!important}
  body.app-stay-reports .sr-head h1{font-size:clamp(24px,7vw,31px)!important;line-height:1.12!important}
  body.app-stay-reports .sr-actions{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:7px!important;width:100%!important}
  body.app-stay-reports .sr-actions .srb{min-height:44px!important;min-width:0!important;padding:9px 8px!important;display:flex;align-items:center;justify-content:center;text-align:center}
  body.app-stay-reports .sr-months{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
  body.app-stay-reports .sr-months a{display:flex!important;align-items:center;justify-content:center;min-width:0!important;min-height:42px!important;padding:7px 4px!important}
  body.app-stay-reports .sr-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  body.app-stay-reports .sr-stat,
  body.app-stay-reports .sr-card,
  body.app-reports .pmr-card,
  body.app-reports .pmr-stat{padding:14px!important;border-radius:18px!important;min-width:0!important}
  body.app-stay-reports .sr-stat strong{font-size:clamp(22px,6vw,28px)!important;overflow-wrap:anywhere}
  body.app-stay-reports .sr-main,
  body.app-stay-reports .sr-calendar-grid{grid-template-columns:1fr!important;gap:10px!important}
  body.app-stay-reports .sr-chart{max-width:100%!important}
  body.app-stay-reports .sr-bar-row{grid-template-columns:minmax(62px,82px) minmax(0,1fr) auto!important;min-width:0!important}
  body.app-stay-reports .sr-pre{max-width:100%!important;min-width:0!important;overflow:auto!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important}
  body.app-stay-reports .sr-cal{gap:5px!important}
  body.app-stay-reports .sr-cal a,
  body.app-stay-reports .sr-cal .blank{min-height:44px!important}
}

@media (max-width:430px){
  body.owner-shell-page .owner-page{padding-inline:6px!important}
  body.app-bookings .v101-layout.has-detail .v101-side{padding-inline:10px!important}
  body.app-bookings .v101-side-head{margin-inline:-10px!important;padding-inline:10px!important}
  body.app-stay-reports .sr-head{padding:16px 12px!important}
  body.app-stay-reports .sr-actions .srb{font-size:10.5px!important}
}
