/* 102: scoped phone presentation; desktop uses its existing stylesheet. */
html.prontsync-mobile,html.prontsync-mobile body{width:100%;margin:0;overflow-x:hidden}
.prontsync-mobile .app-shell{display:block!important;min-width:0!important}
.prontsync-mobile .main{width:100%!important;min-width:0!important}
.prontsync-mobile .mobile-header{display:flex;align-items:center;justify-content:space-between;background:#173e5f;padding:12px 18px;color:white}
.prontsync-mobile .mobile-header img{width:138px;height:38px;object-fit:contain}
.prontsync-mobile .mobile-header a{color:white;padding:12px;text-decoration:none;font-weight:600}
.prontsync-mobile .topbar{height:auto!important;min-height:70px;padding:14px!important;display:flex;gap:10px;flex-wrap:wrap}
.prontsync-mobile .topbar h2{font-size:18px!important;margin:0 0 5px;max-width:none!important}
.prontsync-mobile .mobile-identity{font-size:12px;color:#587289;overflow-wrap:anywhere}
.prontsync-mobile .content{padding:14px 14px calc(96px + env(safe-area-inset-bottom))!important;width:100%!important;min-width:0!important}
.prontsync-mobile .mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;justify-content:center;gap:12px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #d7e4ed;box-shadow:0 -3px 15px #173e5f12}
.prontsync-mobile .mobile-nav .nav-item{display:flex!important;flex:1;max-width:240px;min-height:50px;justify-content:center;gap:9px;color:#315b7c;margin:0!important}
.prontsync-mobile .mobile-nav .nav-text{display:block!important;font-size:14px}
.prontsync-mobile .mobile-nav .nav-item.active{background:#e8f3ff;color:#1768b7;border-radius:12px}
.prontsync-mobile .mobile-nav svg{width:23px;height:23px}
.prontsync-mobile .page-head{flex-direction:column;align-items:stretch;gap:12px}
.prontsync-mobile .page-head h1{font-size:22px!important}
.prontsync-mobile .page-head>.actions,.prontsync-mobile .dashboard-date-panel{width:100%!important;max-width:100%!important}
.prontsync-mobile .ps-date-filter-form{display:flex!important;flex-wrap:wrap;gap:8px}
.prontsync-mobile .ps-date-input{flex:1;min-width:140px!important}
.prontsync-mobile input,.prontsync-mobile select,.prontsync-mobile textarea{font-size:16px!important;max-width:100%;min-height:44px}
.prontsync-mobile .btn,.prontsync-mobile .ps-date-filter-btn{min-height:44px!important}
.prontsync-mobile .dashx-grid,.prontsync-mobile .grid-2{grid-template-columns:minmax(0,1fr)!important}
.prontsync-mobile .dashx-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.prontsync-mobile .dashx-stats article{min-width:0;flex-wrap:wrap;padding:14px!important}
.prontsync-mobile .dashx-stats small,.prontsync-mobile .dashx-stats em{font-size:11px!important}
.prontsync-mobile .dashx-card{min-width:0!important;width:100%}
.prontsync-mobile .dashx-card>header{height:auto!important;flex-wrap:wrap;gap:8px;padding:14px!important}
.prontsync-mobile .dashx-chart svg{width:100%!important;min-width:0!important}
.prontsync-mobile .dashx-risk-body{grid-template-columns:1fr!important;justify-items:center}
.prontsync-mobile .dashx-legend{width:100%}
.prontsync-mobile .dashx-kpis{grid-template-columns:1fr!important}
.prontsync-mobile a[aria-disabled=true]{cursor:default;text-decoration:none}
.prontsync-mobile .dashboard-recent-card{display:none!important}
.prontsync-mobile .prontsync-users-head{flex-direction:column;align-items:stretch;gap:12px}
.prontsync-mobile .prontsync-users-head-actions{display:flex!important;flex-wrap:wrap;width:100%!important}
.prontsync-mobile .prontsync-user-row,.prontsync-mobile .prontsync-admin-account{display:flex!important;flex-wrap:wrap;gap:12px;padding:14px!important}
.prontsync-mobile .prontsync-user-main{width:100%;min-width:0}
.prontsync-mobile .prontsync-user-copy{min-width:0;flex:1}
.prontsync-mobile .prontsync-user-name,.prontsync-mobile .prontsync-user-meta{white-space:normal!important;overflow-wrap:anywhere}
.prontsync-mobile .prontsync-user-actions{display:flex!important;flex-wrap:wrap;width:100%}
.prontsync-mobile .prontsync-user-actions .btn{flex:1}
.prontsync-mobile .modal-bg{padding:8px!important}
.prontsync-mobile .modal-bg .modal{transform:none!important;display:flex!important;flex-direction:column;width:min(600px,calc(100vw - 16px))!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow:hidden!important}
.prontsync-mobile .modal-body{overflow-y:auto!important;min-height:0;flex:1;padding:16px!important}
.prontsync-mobile .modal-head,.prontsync-mobile .modal-foot{flex-shrink:0}
.prontsync-mobile .modal-foot{display:flex!important;flex-wrap:wrap;padding:12px!important;gap:8px}
.prontsync-mobile .modal-foot .btn{flex:1}
.prontsync-mobile .system-user-form-grid,.prontsync-mobile .form-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
.prontsync-mobile .form-grid>[class*=col-]{grid-column:1/-1!important}
.prontsync-mobile .toast{bottom:90px;left:12px;right:12px}
@media(max-width:360px){.prontsync-mobile .dashx-stats{grid-template-columns:1fr!important}}
.prontsync-mobile .login-v14{min-height:100dvh;height:auto!important;grid-template-rows:1fr auto!important}
.prontsync-mobile .login-v14-main{width:min(440px,92vw)!important;grid-template-columns:1fr!important;gap:12px!important;padding:22px 0!important}
.prontsync-mobile .login-v14-brand{transform:none!important}
.prontsync-mobile .login-v14-logo-frame{width:240px!important;height:110px!important;margin:auto}
.prontsync-mobile .login-v14-card{width:100%!important;transform:none!important;padding:24px!important}
.prontsync-mobile .login-v14-footer{height:auto!important;flex-wrap:wrap;gap:12px!important;padding:16px!important}
.prontsync-mobile .login-v14-divider{display:none!important}
.prontsync-mobile .login-v14-dev{min-width:0!important;white-space:normal!important;text-align:center}
.prontsync-mobile .login-v14-prontsync{width:210px!important;max-width:100%}
/* 103 — page scrolling, centered login and consistent date controls. */
html.prontsync-mobile{height:auto!important;min-height:100%;overflow-y:auto!important}
html.prontsync-mobile body,.prontsync-mobile #app{height:auto!important;min-height:100dvh;overflow:visible!important}
.prontsync-mobile .app-shell,.prontsync-mobile .main{height:auto!important;min-height:0!important;overflow:visible!important}
.prontsync-mobile .content{flex:none!important;height:auto!important;max-height:none!important;overflow:visible!important;scrollbar-gutter:auto!important}
.prontsync-mobile .prontsync-users-only,.prontsync-mobile .prontsync-users-list{height:auto!important;max-height:none!important;overflow:visible!important}
.prontsync-mobile .login-v14{min-height:100dvh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.prontsync-mobile .login-v14-main{flex:1 0 auto;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:460px!important;margin:0 auto!important;padding:20px 16px!important;gap:18px!important;box-sizing:border-box!important}
.prontsync-mobile .login-v14-card{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;align-self:center!important;justify-self:center!important;left:auto!important;right:auto!important;box-sizing:border-box!important}
.prontsync-mobile .login-v14-footer{flex:0 0 auto!important;width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:visible!important;padding:18px 16px calc(24px + env(safe-area-inset-bottom))!important;margin:0!important}
.prontsync-mobile .login-v14-prontsync{width:210px!important;height:58px!important;max-height:none!important;flex-shrink:0!important;object-fit:contain!important;margin:0!important}
.prontsync-mobile .login-v14-check input{min-height:0!important;height:15px!important}
.prontsync-mobile .dashboard-date-panel .ps-date-filter-form{display:grid!important;grid-template-columns:64px 64px minmax(0,1fr)!important;align-items:center!important;gap:7px!important;width:100%!important}
.prontsync-mobile .dashboard-date-panel .ps-date-filter-btn,.prontsync-mobile .dashboard-date-panel .ps-date-input{box-sizing:border-box!important;height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;grid-column:auto!important;align-self:center!important;line-height:normal!important;border-radius:9px!important}
.prontsync-mobile .dashboard-date-panel .ps-date-filter-btn{width:64px!important;min-width:64px!important;padding:0 7px!important;font-size:13px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.prontsync-mobile .dashboard-date-panel .ps-date-input{width:100%!important;min-width:0!important;padding:0 8px!important;font-size:14px!important;appearance:none;-webkit-appearance:none}
.prontsync-mobile .dashboard-date-panel .ps-date-input::-webkit-date-and-time-value{text-align:center;line-height:42px}
.prontsync-mobile .users-sync-status{font-size:12px;line-height:1.5;margin:8px 0 14px;color:#587289}
/* 104: hidden search results must override the mobile card display. */
.prontsync-users-only .prontsync-users-list .prontsync-user-row[hidden]{display:none!important}
/* Compact phone login: logos, fields and contact stay in normal flow. */
.prontsync-mobile .login-v14-main{padding:10px 16px!important;gap:10px!important}
.prontsync-mobile .login-v14-logo-frame{width:210px!important;height:70px!important}
.prontsync-mobile .login-v14-card{padding:16px 20px!important;border-radius:20px!important}
.prontsync-mobile .login-v14-lock{width:38px!important;height:38px!important;margin:0 auto 8px!important}
.prontsync-mobile .login-v14-lock svg{width:23px!important;height:23px!important}
.prontsync-mobile .login-v14-card h1{font-size:22px!important;line-height:1.2!important}
.prontsync-mobile .login-v14-card>p{margin:5px 0 14px!important;font-size:12px!important}
.prontsync-mobile .login-v14-inputwrap{margin-bottom:10px!important}
.prontsync-mobile .login-v14-options{margin:0 0 12px!important}
.prontsync-mobile .login-v14-footer{padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important}
.prontsync-mobile .login-v14-footer-inner{width:100%!important;height:auto!important;display:grid!important;grid-template-columns:1fr!important;justify-items:center!important;gap:6px!important}
.prontsync-mobile .login-v14-dev{font-size:9px!important;gap:6px!important;line-height:1.2!important}
.prontsync-mobile .login-v14-devicon{width:18px!important;height:18px!important;flex-shrink:0}
.prontsync-mobile .login-v14-prontsync-frame{width:170px!important;height:40px!important;overflow:visible!important}
.prontsync-mobile .login-v14-prontsync{width:170px!important;height:40px!important}
.prontsync-mobile .login-v14-contact{width:100%!important;flex-direction:row!important;flex-wrap:wrap!important;gap:6px 12px!important;font-size:9px!important;line-height:1.2!important}
.prontsync-mobile .login-v14-contact-item{gap:4px!important}
@media(max-height:620px){
 .prontsync-mobile .login-v14-main{padding:6px 14px!important;gap:6px!important}
 .prontsync-mobile .login-v14-logo-frame{height:48px!important}
 .prontsync-mobile .login-v14-card{padding:12px 18px!important}
 .prontsync-mobile .login-v14-lock{display:none!important}
 .prontsync-mobile .login-v14-card>p{margin-bottom:9px!important}
}
/* 105 — mobile login: content-led layout instead of vertically centered
   flex growth, keeping the institutional footer immediately below the card. */
@media (max-width:700px){
 .prontsync-mobile .login-v14{min-height:100dvh!important;height:auto!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;overflow:visible!important}
 .prontsync-mobile .login-v14-main{flex:0 0 auto!important;min-height:0!important;justify-content:flex-start!important;align-items:center!important;padding:14px 16px 0!important;gap:4px!important;width:100%!important;max-width:460px!important;box-sizing:border-box!important}
 .prontsync-mobile .login-v14-brand{width:100%!important;margin:0!important}
 .prontsync-mobile .login-v14-logo-frame{width:min(270px,76vw)!important;height:105px!important;margin:0 auto!important;overflow:visible!important}
 .prontsync-mobile .login-v14-card{flex:0 0 auto!important;margin:0!important}
 .prontsync-mobile .login-v14-footer{flex:0 0 auto!important;margin:12px 0 0!important;padding:12px 12px calc(12px + env(safe-area-inset-bottom))!important;height:auto!important;min-height:0!important;box-sizing:border-box!important}
 .prontsync-mobile .login-v14-footer-inner{gap:7px!important}
}
@media (max-width:700px) and (max-height:720px){
 .prontsync-mobile .login-v14-main{padding-top:5px!important;gap:2px!important}
 .prontsync-mobile .login-v14-logo-frame{height:76px!important;width:min(245px,72vw)!important}
 .prontsync-mobile .login-v14-footer{margin-top:7px!important;padding-top:9px!important;padding-bottom:calc(9px + env(safe-area-inset-bottom))!important}
}

/* 106 — viewport único e distribuição fluida do login no iPhone.
   O conteúdo ocupa a altura visual disponível; se teclado/zoom reduzir
   a área, a rolagem permanece acessível sem barra piscando. */
@media (max-width:700px){
 html.prontsync-mobile:has(.login-v14),
 html.prontsync-mobile:has(.login-v14) body,
 html.prontsync-mobile:has(.login-v14) #app{
   min-height:100%!important;height:100%!important;
   overflow-x:hidden!important;
 }
 html.prontsync-mobile:has(.login-v14){scrollbar-width:none!important}
 html.prontsync-mobile:has(.login-v14)::-webkit-scrollbar{display:none}
 .prontsync-mobile .login-v14{
   box-sizing:border-box!important;min-height:100svh!important;
   min-height:100dvh!important;height:auto!important;
   display:flex!important;flex-direction:column!important;
   justify-content:space-between!important;overflow:visible!important;
   background-position:center center!important;
 }
 .prontsync-mobile .login-v14-main{
   box-sizing:border-box!important;flex:1 0 auto!important;
   width:100%!important;max-width:460px!important;min-height:0!important;
   padding:clamp(8px,2dvh,24px) 16px 4px!important;
   display:flex!important;flex-direction:column!important;
   justify-content:space-evenly!important;align-items:center!important;
   gap:clamp(8px,1.5dvh,18px)!important;
 }
 .prontsync-mobile .login-v14-brand{flex:0 0 auto!important;margin:0!important}
 .prontsync-mobile .login-v14-logo-frame{
   width:min(300px,80vw)!important;height:clamp(92px,13dvh,138px)!important;
   margin:0 auto!important;overflow:visible!important;
 }
 .prontsync-mobile .login-v14-card{flex:0 0 auto!important;margin:0!important}
 .prontsync-mobile .login-v14-footer{
   flex:0 0 auto!important;margin:0!important;width:100%!important;
   padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
   background:rgba(255,255,255,.76)!important;
 }
 .prontsync-mobile .login-v14-footer-inner{gap:6px!important}
}
@media(max-width:700px) and (max-height:680px){
 .prontsync-mobile .login-v14-main{padding-top:5px!important;gap:5px!important}
 .prontsync-mobile .login-v14-logo-frame{height:68px!important;width:min(240px,72vw)!important}
 .prontsync-mobile .login-v14-footer{padding-top:7px!important;padding-bottom:calc(7px + env(safe-area-inset-bottom))!important}
}

/* 107 — acabamento mobile: logomarca e cartão discretamente mais altos.
   Mantém o rodapé fixado ao final e rolagem quando o teclado ocupa a tela. */
@media(max-width:700px){
 .prontsync-mobile .login-v14-main{
   justify-content:center!important;
   gap:clamp(5px,1dvh,11px)!important;
   padding-top:clamp(4px,1dvh,12px)!important;
   padding-bottom:clamp(35px,7dvh,75px)!important;
 }
 .prontsync-mobile .login-v14-footer-inner{gap:4px!important}
}
@media(max-width:700px) and (max-height:680px){
 .prontsync-mobile .login-v14-main{padding-bottom:8px!important}
}

/* beta108: a data usa o seletor nativo e tem a mesma altura de Hoje/Ontem. */
@media(max-width:700px){
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-form{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(150px,1.65fr)!important;gap:6px!important;align-items:center!important}
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-btn,
 .prontsync-mobile .dashboard-date-panel .ps-date-input{box-sizing:border-box!important;height:38px!important;min-height:38px!important;max-height:38px!important;margin:0!important;align-self:center!important;border-radius:7px!important}
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-btn{width:100%!important;min-width:0!important;font-size:12px!important}
 .prontsync-mobile .dashboard-date-panel .ps-date-input{width:100%!important;min-width:0!important;max-width:none!important;padding:0 7px!important;font-size:13px!important;appearance:auto!important;-webkit-appearance:auto!important}
 .prontsync-mobile .dashboard-date-panel .ps-date-input::-webkit-date-and-time-value{text-align:left!important;line-height:normal!important}
}
@media(max-width:365px){
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-form{grid-template-columns:1fr 1fr!important}
 .prontsync-mobile .dashboard-date-panel .ps-date-input{grid-column:1/-1!important}
}

/* beta109 — painel: controles mais finos e data alinhada à borda direita dos cartões. */
@media(max-width:700px){
 .prontsync-mobile .dashboard-date-panel,
 .prontsync-mobile .dashboard-date-panel .ps-date-filter,
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-form{
   box-sizing:border-box!important;width:100%!important;max-width:100%!important;
   margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;
 }
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-form{
   display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.8fr)!important;
   gap:6px!important;align-items:stretch!important;justify-content:stretch!important;
 }
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-btn,
 .prontsync-mobile .dashboard-date-panel .ps-date-input{
   box-sizing:border-box!important;height:30px!important;min-height:30px!important;
   max-height:30px!important;margin:0!important;border-radius:6px!important;
   width:100%!important;min-width:0!important;max-width:100%!important;
   grid-column:auto!important;align-self:stretch!important;
 }
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-btn{padding:0 5px!important;font-size:12px!important}
 .prontsync-mobile .dashboard-date-panel .ps-date-input{padding:0 5px!important;font-size:12px!important;appearance:auto!important;-webkit-appearance:auto!important}
}
@media(max-width:365px){
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.8fr)!important}
 .prontsync-mobile .dashboard-date-panel .ps-date-input{grid-column:auto!important;font-size:11px!important;padding:0 2px!important}
}

/* beta110 — align date control with the right edge of dashboard cards. */
@media(max-width:700px){
 .prontsync-mobile .dashboard-date-panel{box-sizing:border-box!important;padding-right:10px!important}
 .prontsync-mobile .dashboard-date-panel .ps-date-filter,
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-form{box-sizing:border-box!important;width:100%!important;max-width:100%!important}
 .prontsync-mobile .dashboard-date-panel .ps-date-input{
   display:block!important;text-align:center!important;text-align-last:center!important;
   padding-left:4px!important;padding-right:4px!important;
 }
 .prontsync-mobile .dashboard-date-panel .ps-date-input::-webkit-date-and-time-value{
   display:flex!important;align-items:center!important;justify-content:center!important;
   text-align:center!important;width:100%!important;line-height:normal!important;
 }
 .prontsync-mobile .dashboard-date-panel .ps-date-input::-webkit-datetime-edit{
   display:flex!important;align-items:center!important;justify-content:center!important;
   width:100%!important;padding:0!important;
 }
 .prontsync-mobile .dashboard-date-panel .ps-date-input::-webkit-calendar-picker-indicator{
   margin-left:0!important;flex-shrink:0!important;
 }
 .prontsync-mobile .topbar>a[href="#/password"]{
   box-sizing:border-box!important;height:30px!important;min-height:30px!important;
   max-height:30px!important;padding:0 10px!important;display:inline-flex!important;
   align-items:center!important;justify-content:center!important;line-height:1!important;
   font-size:12px!important;border-radius:6px!important;align-self:center!important;
 }
}

/* beta111: alinhamento dos filtros à grade de cartões do painel. */
@media(max-width:700px){
 .prontsync-mobile .dashboard-date-panel{padding-right:0!important;margin-right:0!important}
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-form{
   display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr)!important;
   column-gap:6px!important;align-items:center!important;width:100%!important;
 }
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-btn,
 .prontsync-mobile .dashboard-date-panel .ps-date-input{
   box-sizing:border-box!important;height:30px!important;min-height:30px!important;max-height:30px!important;
   width:100%!important;min-width:0!important;margin:0!important;align-self:center!important;
   padding-top:0!important;padding-bottom:0!important;line-height:30px!important;
 }
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-btn{display:flex!important;align-items:center!important;justify-content:center!important}
 .prontsync-mobile .dashboard-date-panel .ps-date-input{
   display:block!important;text-align:center!important;text-align-last:center!important;
   padding-left:4px!important;padding-right:4px!important;line-height:normal!important;
 }
 .prontsync-mobile .dashboard-date-panel .ps-date-input::-webkit-date-and-time-value{
   display:flex!important;align-items:center!important;justify-content:center!important;
   height:28px!important;min-height:28px!important;line-height:28px!important;width:100%!important;
 }
 .prontsync-mobile .dashboard-date-panel .ps-date-input::-webkit-datetime-edit{
   display:flex!important;align-items:center!important;justify-content:center!important;
   height:28px!important;min-height:28px!important;line-height:28px!important;
   width:100%!important;padding:0!important;
 }
 .prontsync-mobile .prontsync-users-head-actions .btn,
 .prontsync-mobile .prontsync-user-actions .btn{
   box-sizing:border-box!important;height:30px!important;min-height:30px!important;max-height:30px!important;
   display:inline-flex!important;align-items:center!important;justify-content:center!important;
   padding:0 9px!important;line-height:1!important;font-size:12px!important;
 }
}

/* beta113: viewport inicial estável no Safari e alinhamento exato à grade dos cartões. */
@media (max-width:700px){
 html.prontsync-mobile:has(.login-v14){height:auto!important;min-height:100%!important;overflow-x:hidden!important;}
 html.prontsync-mobile:has(.login-v14) body,html.prontsync-mobile:has(.login-v14) #app{height:auto!important;min-height:100%!important;}
 .prontsync-mobile .login-v14{height:auto!important;min-height:100vh!important;min-height:100svh!important;justify-content:space-between!important;overflow:visible!important;}
 .prontsync-mobile .login-v14-main{flex:1 0 auto!important;justify-content:center!important;gap:clamp(5px,1svh,11px)!important;padding-top:clamp(4px,1svh,12px)!important;padding-bottom:clamp(35px,7svh,75px)!important;}
 .prontsync-mobile .login-v14-logo-frame{height:clamp(92px,13svh,138px)!important;}
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;align-items:center!important;}
 .prontsync-mobile .dashboard-date-panel .dashboard-day-buttons{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;min-width:0!important;}
 .prontsync-mobile .dashboard-date-panel .ps-date-filter-btn,.prontsync-mobile .dashboard-date-panel .ps-date-input{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;height:30px!important;min-height:30px!important;max-height:30px!important;margin:0!important;padding:0 4px!important;grid-column:auto!important;align-self:center!important;text-align:center!important;font-size:12px!important;}
 .prontsync-mobile .dashboard-date-panel .ps-date-input{display:block!important;padding:0 3px!important;line-height:30px!important;text-align:center!important;}
 .prontsync-mobile .dashboard-date-panel .ps-date-input::-webkit-date-and-time-value{text-align:center!important;min-height:0!important;line-height:30px!important;}
 .prontsync-mobile .dashboard-date-panel .ps-date-input::-webkit-datetime-edit{text-align:center!important;display:flex!important;justify-content:center!important;align-items:center!important;height:30px!important;padding:0!important;}
 .prontsync-mobile .dashboard-date-panel .ps-date-input::-webkit-calendar-picker-indicator{margin:0 1px 0 0!important;width:12px!important;}
}
@media(max-width:700px) and (max-height:680px){.prontsync-mobile .login-v14-main{padding-top:5px!important;padding-bottom:8px!important;gap:5px!important}.prontsync-mobile .login-v14-logo-frame{height:68px!important}}

/* beta114 — iOS Safari: keep login inside stable visible viewport from first paint. */
@media(max-width:700px){
 html.prontsync-mobile:has(.login-v14),html.prontsync-mobile:has(.login-v14) body,html.prontsync-mobile:has(.login-v14) #app{margin:0!important;min-height:0!important;height:100svh!important;overflow:hidden!important;}
 .prontsync-mobile .login-v14{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;height:100svh!important;min-height:0!important;max-height:100svh!important;overflow-y:auto!important;overscroll-behavior-y:contain!important;justify-content:space-between!important;}
 .prontsync-mobile .login-v14-main{box-sizing:border-box!important;flex:1 1 auto!important;min-height:0!important;justify-content:center!important;padding:10px 16px 12px!important;gap:6px!important;}
 .prontsync-mobile .login-v14-logo-frame{height:clamp(76px,11svh,112px)!important;}
 .prontsync-mobile .login-v14-footer{flex:0 0 auto!important;margin:0!important;padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important;}
}
@media(max-width:700px) and (max-height:680px){
 .prontsync-mobile .login-v14{overflow-y:auto!important;}
 .prontsync-mobile .login-v14-main{flex:0 0 auto!important;padding:5px 12px 8px!important;gap:4px!important;}
 .prontsync-mobile .login-v14-logo-frame{height:68px!important;}
}

/* beta118: login mobile compacto, sem vazio entre formulario e rodape.
   Rolagem so quando teclado, zoom ou tela realmente pequena exigir. */
@media (max-width:700px){
 html.prontsync-mobile:has(.login-v14),
 html.prontsync-mobile:has(.login-v14) body,
 html.prontsync-mobile:has(.login-v14) #app{height:auto!important;min-height:100svh!important;overflow-x:hidden!important;overflow-y:auto!important;}
 .prontsync-mobile .login-v14{height:auto!important;min-height:100svh!important;max-height:none!important;overflow:visible!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;}
 .prontsync-mobile .login-v14-main{flex:0 0 auto!important;box-sizing:border-box!important;width:100%!important;max-width:460px!important;margin:0 auto!important;padding:clamp(5px,1.2svh,12px) 12px 0!important;gap:clamp(2px,.7svh,7px)!important;justify-content:flex-start!important;align-items:center!important;}
 .prontsync-mobile .login-v14-logo-frame{width:min(280px,76vw)!important;height:clamp(72px,11svh,104px)!important;margin:0 auto!important;}
 .prontsync-mobile .login-v14-card{width:100%!important;max-width:430px!important;margin:0!important;padding:clamp(16px,2.6svh,24px) 20px!important;}
 .prontsync-mobile .login-v14-footer{flex:0 0 auto!important;box-sizing:border-box!important;margin:clamp(6px,1.2svh,12px) 0 0!important;padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important;height:auto!important;min-height:0!important;}
 .prontsync-mobile .login-v14-footer-inner{gap:5px!important;}
}
@media (max-width:700px) and (max-height:690px){
 .prontsync-mobile .login-v14-main{padding-top:3px!important;gap:2px!important;}
 .prontsync-mobile .login-v14-logo-frame{height:clamp(50px,9svh,72px)!important;}
 .prontsync-mobile .login-v14-card{padding:12px 18px!important;}
 .prontsync-mobile .login-v14-lock{width:42px!important;height:42px!important;margin-bottom:5px!important;}
 .prontsync-mobile .login-v14-card>p{margin-bottom:10px!important;}
 .prontsync-mobile .login-v14-inputwrap{margin-bottom:8px!important;}
 .prontsync-mobile .login-v14-footer{margin-top:5px!important;padding-top:6px!important;padding-bottom:calc(6px + env(safe-area-inset-bottom))!important;}
}

/* beta118 final: three anchored zones on mobile: brand / centered login / bottom footer.
   svh is intentionally stable when iOS Safari expands or collapses its toolbar. */
@media (max-width:700px){
 html.prontsync-mobile:has(.login-v14),
 html.prontsync-mobile:has(.login-v14) body,
 html.prontsync-mobile:has(.login-v14) #app{
   box-sizing:border-box!important;height:100svh!important;min-height:100svh!important;
   max-height:100svh!important;overflow:hidden!important;margin:0!important;
 }
 .prontsync-mobile .login-v14{
   box-sizing:border-box!important;height:100svh!important;min-height:100svh!important;
   max-height:100svh!important;display:flex!important;flex-direction:column!important;
   justify-content:space-between!important;overflow:hidden!important;
 }
 .prontsync-mobile .login-v14-main{
   box-sizing:border-box!important;flex:1 1 auto!important;min-height:0!important;
   width:100%!important;max-width:460px!important;margin:0 auto!important;
   padding:clamp(8px,1.5svh,16px) 12px clamp(6px,1svh,12px)!important;
   display:grid!important;grid-template-columns:minmax(0,1fr)!important;
   grid-template-rows:auto minmax(0,1fr)!important;
   justify-items:center!important;align-items:stretch!important;gap:0!important;
 }
 .prontsync-mobile .login-v14-brand{
   width:100%!important;align-self:start!important;justify-self:center!important;
   margin:0!important;transform:none!important;
 }
 .prontsync-mobile .login-v14-logo-frame{
   width:min(290px,82vw)!important;height:clamp(76px,12svh,112px)!important;
   margin:0 auto!important;overflow:visible!important;
 }
 .prontsync-mobile .login-v14-card{
   box-sizing:border-box!important;align-self:center!important;justify-self:center!important;
   width:100%!important;max-width:430px!important;min-width:0!important;
   margin:0!important;padding:clamp(14px,2svh,23px) 20px!important;
 }
 .prontsync-mobile .login-v14-footer{
   box-sizing:border-box!important;flex:0 0 auto!important;align-self:stretch!important;
   width:100%!important;height:auto!important;min-height:0!important;
   margin:0!important;padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important;
 }
 .prontsync-mobile .login-v14-footer-inner{
   width:100%!important;height:auto!important;display:grid!important;
   grid-template-columns:minmax(0,1fr)!important;justify-items:center!important;gap:5px!important;
 }
 .prontsync-mobile .login-v14-contact{
   justify-content:center!important;align-items:center!important;text-align:center!important;
 }
 .prontsync-mobile .login-v14-bottomwaves{pointer-events:none!important;}
}
/* On genuinely short screens and when the on-screen keyboard occupies space,
   allow necessary scrolling instead of clipping the login form. */
@media (max-width:700px) and (max-height:690px){
 html.prontsync-mobile:has(.login-v14),
 html.prontsync-mobile:has(.login-v14) body,
 html.prontsync-mobile:has(.login-v14) #app{
   height:auto!important;min-height:100svh!important;max-height:none!important;overflow-y:auto!important;
 }
 .prontsync-mobile .login-v14{
   height:auto!important;min-height:100svh!important;max-height:none!important;
   overflow:visible!important;
 }
 .prontsync-mobile .login-v14-main{
   flex:1 0 auto!important;min-height:0!important;grid-template-rows:auto auto!important;
   gap:clamp(8px,2svh,16px)!important;padding-top:7px!important;padding-bottom:12px!important;
 }
 .prontsync-mobile .login-v14-logo-frame{height:clamp(56px,10svh,76px)!important;}
 .prontsync-mobile .login-v14-card{padding:12px 18px!important;}
}
