/* App-like layer: loaded after styles.css / app.css on both pages. */
html{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}body{-webkit-text-size-adjust:100%}
.btn,button,.card,.property-card,#tabbar a{transition:transform .15s ease,background .2s}.btn:active,button:active,.card:active,.property-card:active{transform:scale(.97)}
.rv{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.rv.in{opacity:1;transform:none}
#app>*{animation:rise .4s ease both}.grid .card{animation:rise .45s ease both}.grid .card:nth-child(2){animation-delay:.06s}.grid .card:nth-child(3){animation-delay:.12s}.grid .card:nth-child(4){animation-delay:.18s}.grid .card:nth-child(n+5){animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.top .brand{display:flex;align-items:center;gap:9px}.top .brand img{height:36px;width:36px;border-radius:10px}
#tabbar{display:none}
@media(max-width:760px){
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .top{padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:10px}.topbar{padding-top:env(safe-area-inset-top);box-sizing:content-box}
  #links a:not([data-act=logout]){display:none}#links{gap:10px}.top{flex-wrap:nowrap}
  #tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fffffff0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid #dfe6ec;padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 22px #0a2f5516}
  #tabbar a{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font:600 10.5px Inter,system-ui,sans-serif;color:#6a7b8c;text-decoration:none}
  #tabbar svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  #tabbar a.on{color:#07845d}#tabbar a.on:before{content:"";position:absolute;top:-7px;width:28px;height:3px;border-radius:3px;background:#07845d}
  input,select,textarea{font-size:16px!important}.btn,button{min-height:44px}.btn.sm{min-height:36px}
  dialog{position:fixed;inset:auto 0 0 0;margin:0;width:100%!important;max-width:100%;max-height:88vh;overflow:auto;border-radius:20px 20px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));animation:sheet .3s ease}
  @keyframes sheet{from{transform:translateY(100%)}to{transform:none}}
  #toast{bottom:calc(80px + env(safe-area-inset-bottom))}.wrap{padding:20px 4vw}.grid{grid-template-columns:1fr 1fr;gap:12px}.ci{padding:10px}.ci h3{font-size:14px}.ci .btn{width:100%;margin:4px 0 0}
  .adm .mainc{padding:18px 4vw}table{font-size:13px}
  /* legibility on the landing page (same design, larger small text) */
  .hero-text{font-size:13px}.eyebrow{font-size:10px}.searchbar input{font-size:16px}.feature-row b{font-size:11px}.truth-card li{font-size:11px}.property-info h3{font-size:13px}.property-info p,.specs{font-size:11px}
  .step h3{font-size:13px}.step p{font-size:11px}.why p{font-size:12px}.why p small{font-size:11px}.revenue-item b{font-size:10px}.revenue-item p,.projections p,.projections strong{font-size:9px}.legend{font-size:9px}footer nav{font-size:11px}footer>small{font-size:9px}
}
@media(max-width:380px){.grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
