/* Raízes 1.3.9: interface mobile. Aplicado a páginas públicas e privadas. */
:root{--rz-green:#07583a;--rz-gold:#e9d19a}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:70px}
body{overscroll-behavior-y:contain}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2a8b61;outline-offset:2px}
.rz-install-pwa{position:fixed;z-index:120;bottom:calc(15px + env(safe-area-inset-bottom,0px));left:12px;right:12px;width:min(490px,calc(100% - 24px));margin-inline:auto;display:flex;align-items:center;gap:12px;background:#fff;color:#1a3528;padding:12px 11px;border:1px solid #bfd8c4;border-radius:18px;box-shadow:0 18px 55px #05170a44}
.rz-install-pwa img{border-radius:12px;flex:none}.rz-install-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.rz-install-copy strong{font-size:13px}.rz-install-copy span{font-size:11px;line-height:1.4;color:#52665b}.rz-install-accept{background:var(--rz-green);color:white;border:0;border-radius:10px;min-height:41px;padding:0 12px;font-weight:750}.rz-install-dismiss{border:0;background:transparent;color:#52665b;font-size:24px;min-width:30px;min-height:41px}
.rz-brand-icon{display:inline-block;width:36px;height:36px;border-radius:10px;vertical-align:middle;object-fit:contain;margin-right:6px}.brand-mark{overflow:hidden}.brand-mark img{width:100%;height:100%;display:block;object-fit:cover}.rz-mobile-bottom{display:none}.rz-mobile-backdrop{display:none}
@media(max-width:800px){
 html,body{width:100%;max-width:100%;overflow-x:hidden}
 .app-body{padding-bottom:calc(75px + env(safe-area-inset-bottom,0px))}
 .app-shell{min-height:100dvh}
 .topbar{position:sticky;top:0;z-index:20;padding:env(safe-area-inset-top,0px) 12px 0;height:calc(66px + env(safe-area-inset-top,0px));box-shadow:0 2px 12px #1432220e;border-color:#e2eee7}
 .mobile-menu{display:grid;place-items:center;width:46px;height:46px;flex:none;color:var(--rz-green);border:1px solid #e1eee6;border-radius:13px;background:#f5faf7}
 .search-container{min-width:0}.search-container input{min-height:46px;font-size:16px;background:#f8faf8;border-color:#e0eae2}
 .search-results{z-index:65}
 .top-actions{display:none}
 .page-content{padding:20px 12px 22px}
 .heading-row{flex-direction:column;align-items:stretch;gap:13px}.heading-row h1{font-size:clamp(22px,5.8vw,28px)}.heading-sub{font-size:13px}
 .add-action{align-self:flex-start;min-height:45px;padding:12px 16px;font-size:13px}
 .stat{padding:13px 8px;border-radius:12px;align-items:center}.stat strong{font-size:20px}.stat small{font-size:10px}.stat-icon{display:none}
 .workspace{border-radius:15px}.workspace-top{padding:16px 14px;flex-wrap:wrap}.workspace-top h2{font-size:17px}.workspace-top p{font-size:12px}
 .map-zone{width:100%}.map-stage{height:min(64dvh,580px);min-height:350px;touch-action:none}
 .node-disc{width:82px;height:82px}.node.focus .node-disc{width:118px;height:118px}
 .zoom-control button{height:42px;width:42px;font-size:22px}.tool-btn{min-height:43px;padding:9px 12px;font-size:12px}
 .orbit-legend{padding:12px;justify-content:center;gap:12px}.zoom-control{justify-content:center}
 .sidebar{width:min(300px,88vw);padding:22px 16px;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;z-index:81;padding-bottom:calc(26px + env(safe-area-inset-bottom,0px))}
 .sidebar.open{transform:translateX(0)}
 .rz-mobile-backdrop{display:block;position:fixed;inset:0;z-index:79;background:#0e251f77;border:0;opacity:0;pointer-events:none;transition:opacity .22s}
 .rz-mobile-backdrop.visible{opacity:1;pointer-events:auto}
 .inspector{width:100%;height:min(83dvh,750px);max-height:83dvh;top:auto;bottom:0;right:0;transform:translateY(105%);border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom,0px);z-index:70;box-shadow:0 -15px 50px #18382f33}
 .inspector.open{transform:translateY(0)}
 .inspector-heading{position:sticky;top:0;z-index:1;background:#fff}.inspector-content{overflow-y:auto;max-height:calc(83dvh - 90px)}
 .rz-mobile-bottom{display:flex;position:fixed;z-index:35;bottom:0;left:0;right:0;padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #dae9df;justify-content:space-between;gap:2px;box-shadow:0 -6px 30px #193a2b15}
 .rz-mobile-bottom a,.rz-mobile-bottom button{flex:1;min-width:0;min-height:53px;border:0;background:none;color:#6b7c72;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:12px;font-size:11px;font-weight:700;padding:3px}
 .rz-mobile-bottom a span,.rz-mobile-bottom button span{font-size:22px;line-height:1.1}
 .rz-mobile-bottom .active{background:#e8f3ec;color:var(--rz-green)}
 .modal{width:100%;max-width:100%;margin:0 0 env(safe-area-inset-bottom,0px);max-height:90dvh;border-radius:23px 23px 0 0;position:fixed;left:0;bottom:0;top:auto}
 .modal.wide{width:100%;max-width:100%}
 .modal form{max-height:90dvh}.modal input,.modal textarea,.modal select{font-size:16px;min-height:45px}
 .modal-body{padding-bottom:22px}.modal-footer .btn{min-height:45px}
 .toast-host{bottom:calc(82px + env(safe-area-inset-bottom,0px));left:12px;right:12px}
 .toast{max-width:100%}.rz-install-pwa{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
 .auth-page{padding:16px 12px calc(24px + env(safe-area-inset-bottom,0px));align-items:flex-start}
 .auth-card,.install-card{margin:auto;border-radius:20px;padding:24px 18px;width:min(650px,100%)}
 .auth-card input,.install-card input,.account-fields input,.account-fields textarea,.account-fields select{font-size:16px;min-height:45px}
 .account-section{padding:16px 12px}.access-panel{width:100%}
 .public-top{padding:12px 14px;gap:12px;align-items:flex-start}.public-brand{font-size:18px;display:inline-flex;align-items:center;gap:5px}.public-brand span{font-size:11px}
 .public-top nav{gap:6px 11px;width:100%;justify-content:flex-start}.public-top nav a{display:inline-flex;align-items:center;min-height:41px;font-size:12px;color:var(--rz-green);font-weight:700}
 .public-home-wrap,.public-wrap{width:calc(100% - 24px);margin-top:14px}
 .home-hero{border-radius:19px;padding:26px 20px;background:linear-gradient(140deg,#f4faf4,#e8f3e7);border-color:#d7e9dc}
 .home-hero h1{font-size:clamp(29px,8vw,40px);color:#163a27}
 .home-hero-copy>p{font-size:14px;color:#4a6955}.home-actions{flex-direction:column}.home-actions a{min-height:48px;display:flex;justify-content:center;align-items:center}
 .public-btn{background:var(--rz-green);color:#fff}.home-secondary-btn{color:var(--rz-green);border-color:#b9d5c4}
 .home-people{padding:24px 0}.home-section-heading h2{font-size:24px;color:#163a27}.home-person-card{padding:16px;min-height:110px}.home-card-link{color:var(--rz-green)}
 .public-picture{width:100px;height:100px}.public-hero,.public-about{border-radius:17px}
 .public-search input{font-size:16px;min-height:45px}.public-search button{min-height:45px}
 .public-social a{min-height:43px}.home-privacy{font-size:12px}
 .rz-container{max-width:100%}.rz-topline{flex-wrap:wrap;gap:10px}.rz-actions{flex-wrap:wrap}.rz-actions a,.rz-actions button{min-height:44px}
 .update-content{padding:15px 12px}.update-content input,.update-content button{max-width:100%}
}
@media(max-width:360px){.rz-mobile-bottom a,.rz-mobile-bottom button{font-size:10px}.home-person-card{gap:11px}.home-card-avatar{width:52px;height:52px}.public-top nav{gap:4px 8px}}
@media(prefers-reduced-motion:reduce){.rz-mobile-backdrop,.sidebar,.inspector{transition:none}}
