/* RentShare v5.7.2 mobile/access hardening
   Mobile-only guardrails. Desktop layouts remain unchanged. */
:root{--rs-mobile-edge:14px;--rs-mobile-gap:12px}
.rs-mobile-only{display:none!important}
.rs-mobile-table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.rs-mobile-fallback-menu{display:none}

@media (max-width:900px){
  html,body{width:100%;max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  main,section,article,aside,header,footer,nav,form,fieldset,div{min-width:0}
  img,svg,video,canvas,iframe{max-width:100%;height:auto}
  input,select,textarea,button{max-width:100%}
  pre,code,kbd,samp{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
  a,p,li,dd,dt,td,th{overflow-wrap:anywhere}

  /* Only layouts tagged by the runtime overflow audit are stacked. */
  [data-rs-mobile-stack="true"]{grid-template-columns:minmax(0,1fr)!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;max-width:100%!important;gap:var(--rs-mobile-gap)!important}
  [data-rs-mobile-stack="true"]>*{width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important}

  /* PIS executive recap: the prose/bullet columns need room to read on phones. */
  .rs-pis-observed{width:100%!important;max-width:100%!important;overflow:visible!important}
  .rs-pis-observed-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;max-width:100%!important;gap:12px!important}
  .rs-pis-observed-grid>*{width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:0!important}
  .rs-pis-observed ul,.rs-pis-observed ol{margin:.4rem 0 .8rem!important;padding-inline-start:1.05rem!important}
  .rs-pis-observed li{margin:.28rem 0!important;padding-inline-start:.06rem!important;line-height:1.48}
  .rs-pis-observed li::marker{font-size:.9em}

  /* Keep tables usable without squeezing text into unreadable columns. */
  .rs-mobile-table-scroll{border-radius:inherit;overscroll-behavior-inline:contain;scrollbar-width:thin}
  .rs-mobile-table-scroll>table{margin:0!important}

  /* Controls and tabs remain available; they wrap or scroll instead of disappearing. */
  [role="tablist"],.tabs,.tab-list,.toolbar,.actions,.button-row,.control-row,.filters,.filter-row{max-width:100%}
  [role="tablist"],.tabs,.tab-list{overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;scrollbar-width:thin}
  .toolbar,.actions,.button-row,.control-row,.filters,.filter-row{display:flex;flex-wrap:wrap}
  .toolbar>*,.actions>*,.button-row>*,.control-row>*,.filters>*,.filter-row>*{min-width:0;max-width:100%}

  /* Mobile navigation parity additions. */
  .rs-mobile-nav-copy{display:flex!important;align-items:center;min-height:44px;padding:10px 12px!important;border-radius:10px;text-decoration:none!important}
  .rs-mobile-demo-cta{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border-radius:10px;background:#77a645;color:#fff!important;font-size:12px;font-weight:850;line-height:1;text-decoration:none!important;white-space:nowrap;box-shadow:0 5px 14px rgba(7,59,98,.12)}
  .rs-mobile-demo-cta:hover,.rs-mobile-demo-cta:focus-visible{background:#668f3d;color:#fff!important}
  .rs-mobile-demo-cta:focus-visible,.rs-mobile-nav-copy:focus-visible,.rs-mobile-fallback-menu summary:focus-visible{outline:3px solid rgba(119,166,69,.35);outline-offset:2px}

  .rs-mobile-fallback-menu{display:block;position:relative;margin-left:auto}
  .rs-mobile-fallback-menu summary{list-style:none;cursor:pointer;min-height:40px;display:flex;align-items:center;padding:8px 11px;border:1px solid #cfdde4;border-radius:10px;background:#fff;color:#073b62;font-weight:800}
  .rs-mobile-fallback-menu summary::-webkit-details-marker{display:none}
  .rs-mobile-fallback-menu[open] .rs-mobile-fallback-panel{display:grid}
  .rs-mobile-fallback-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:9999;display:none;gap:4px;width:min(310px,calc(100vw - 28px));max-height:min(70vh,560px);overflow:auto;padding:10px;border:1px solid #d8e3e8;border-radius:14px;background:#fff;box-shadow:0 18px 44px rgba(7,59,98,.18)}
  .rs-mobile-fallback-panel a{display:flex;align-items:center;min-height:42px;padding:9px 11px;border-radius:9px;color:#073b62!important;text-decoration:none!important;font-weight:760}
  .rs-mobile-fallback-panel a:hover{background:#eaf7fb}

  /* Persistent bottom navigation should never cover the final content. */
  body:has(.bottom-nav),body:has(.mobile-bottom-nav),body:has([data-bottom-nav]){padding-bottom:max(82px,env(safe-area-inset-bottom))}
}

@media (max-width:560px){
  :root{--rs-mobile-edge:12px;--rs-mobile-gap:10px}
  .rs-pis-observed ul,.rs-pis-observed ol{padding-inline-start:.92rem!important}
  .rs-pis-observed li{padding-inline-start:0!important}
  .rs-mobile-demo-cta{padding:8px 10px;font-size:11.5px}
}

@media (min-width:901px){
  .rs-mobile-demo-cta,.rs-mobile-fallback-menu,.rs-mobile-nav-copy.rs-created-mobile-only{display:none!important}
}
