/* Amanda Estética v1.10.6 — camada mobile inspirada no Borion Finance
   Responsividade, safe areas, bottom sheets, teclado, gestos e desempenho. */

:root{
  --amanda-app-vh:100dvh;
  --amanda-keyboard:0px;
  --amanda-mobile-nav-height:72px;
  --amanda-touch:48px;
}

html{
  min-height:100%;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  background:#f8eef3;
}

body{
  min-height:100%;
  overscroll-behavior-y:none;
  -webkit-tap-highlight-color:transparent;
}

button,a,input,select,textarea{touch-action:manipulation}
input,select,textarea{font-size:16px}

.amanda-network-banner{
  position:fixed;
  left:50%;
  top:max(12px,env(safe-area-inset-top));
  z-index:10020;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1px 10px;
  width:min(calc(100vw - 28px),430px);
  padding:11px 14px;
  border:1px solid rgba(151,86,113,.16);
  border-radius:17px;
  background:rgba(255,250,253,.96);
  color:#513342;
  box-shadow:0 18px 40px rgba(78,39,57,.18);
  transform:translate3d(-50%,-140%,0);
  opacity:0;
  pointer-events:none;
  transition:transform .24s cubic-bezier(.22,.8,.25,1),opacity .2s ease;
  backdrop-filter:blur(14px) saturate(125%);
}
.amanda-network-banner.is-visible{transform:translate3d(-50%,0,0);opacity:1}
.amanda-network-banner .network-dot{
  grid-row:1/3;
  align-self:center;
  width:10px;height:10px;border-radius:50%;
  background:#d18a34;
  box-shadow:0 0 0 5px rgba(209,138,52,.13);
}
.amanda-network-banner.is-online .network-dot{background:#27a56f;box-shadow:0 0 0 5px rgba(39,165,111,.13)}
.amanda-network-banner strong{font-size:13px;line-height:1.2}
.amanda-network-banner small{font-size:11px;color:#806171}

.mobile-sheet-handle{
  display:none;
  border:0;
  background:transparent;
  padding:9px 0 6px;
  margin:0;
  width:100%;
  min-height:25px;
  cursor:grab;
  touch-action:none;
}
.mobile-sheet-handle span{
  display:block;
  width:42px;height:5px;
  margin:auto;
  border-radius:999px;
  background:rgba(116,72,92,.28);
}
.mobile-sheet-handle:active{cursor:grabbing}

.is-touching{
  transform:scale(.975)!important;
  transition-duration:70ms!important;
}

@media (max-width:900px), (pointer:coarse){
  :root{--amanda-mobile-nav-height:76px}

  html.amanda-mobile-ui,
  html.amanda-mobile-ui body{
    width:100%;
    min-height:var(--amanda-app-vh);
    overflow-x:hidden;
  }

  body.modal-open{overflow:hidden!important;touch-action:none}
  body.modal-open #root{pointer-events:none;user-select:none}

  .app-shell,.app-main{min-height:var(--amanda-app-vh)!important}
  .app-main{
    padding-bottom:calc(var(--amanda-mobile-nav-height) + env(safe-area-inset-bottom))!important;
    scroll-padding-top:88px;
    scroll-padding-bottom:calc(var(--amanda-mobile-nav-height) + 28px + env(safe-area-inset-bottom));
    overscroll-behavior-y:contain;
  }
  .page{
    min-width:0!important;
    padding-bottom:calc(var(--amanda-mobile-nav-height) + 30px + env(safe-area-inset-bottom))!important;
  }

  .topbar{
    top:0!important;
    min-height:calc(64px + env(safe-area-inset-top))!important;
    padding-top:max(8px,env(safe-area-inset-top))!important;
    padding-left:max(12px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
    z-index:55!important;
  }
  .topbar .icon-btn,.mobile-bottom-nav button,.fab{min-width:var(--amanda-touch);min-height:var(--amanda-touch)}
  .topbar-title{min-width:0}
  .topbar-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar .global-search input{font-size:16px!important}

  .mobile-bottom-nav{
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;
    z-index:80!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:start!important;
    min-height:calc(var(--amanda-mobile-nav-height) + env(safe-area-inset-bottom))!important;
    padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;
    border-top:1px solid rgba(143,86,111,.13)!important;
    background:linear-gradient(180deg,rgba(255,252,254,.93),rgba(252,241,247,.985))!important;
    box-shadow:0 -12px 34px rgba(76,35,54,.12)!important;
    backdrop-filter:blur(18px) saturate(130%)!important;
    -webkit-backdrop-filter:blur(18px) saturate(130%)!important;
  }
  .mobile-bottom-nav button{
    position:relative;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    min-width:0!important;
    padding:5px 2px!important;
    border-radius:15px!important;
    color:#8b6a79!important;
    font-size:10px!important;
    line-height:1!important;
  }
  .mobile-bottom-nav button::before{
    content:"";
    position:absolute;
    inset:2px 7px;
    border-radius:13px;
    background:linear-gradient(145deg,rgba(206,91,134,.14),rgba(185,107,137,.08));
    opacity:0;
    transform:scale(.75);
    transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.25,1);
  }
  .mobile-bottom-nav button>*{position:relative;z-index:1}
  .mobile-bottom-nav button.active{color:#b74570!important}
  .mobile-bottom-nav button.active::before{opacity:1;transform:scale(1)}
  .mobile-bottom-nav button svg{width:22px;height:22px}

  .fab{
    position:fixed!important;
    bottom:calc(var(--amanda-mobile-nav-height) + 14px + env(safe-area-inset-bottom))!important;
    z-index:70!important;
    box-shadow:0 14px 32px rgba(177,61,105,.28)!important;
  }

  .modal-backdrop.mobile-sheet-backdrop{
    align-items:flex-end!important;
    justify-content:center!important;
    padding:max(12px,env(safe-area-inset-top)) 0 0!important;
    background:rgba(54,31,42,var(--sheet-overlay-opacity,.40))!important;
    overscroll-behavior:contain;
  }
  .modal-backdrop.mobile-sheet-backdrop .modal.mobile-bottom-sheet{
    width:100%!important;
    max-width:none!important;
    max-height:calc(var(--amanda-app-vh) - max(12px,env(safe-area-inset-top)))!important;
    margin:0!important;
    border-radius:25px 25px 0 0!important;
    border-bottom:0!important;
    transform:translate3d(0,var(--sheet-y,22px),0)!important;
    transform-origin:50% 100%!important;
    overflow:hidden!important;
    will-change:transform;
    touch-action:pan-y;
  }
  .modal-backdrop.is-open.mobile-sheet-backdrop .modal.mobile-bottom-sheet{transform:translate3d(0,var(--sheet-y,0),0)!important}
  .modal-backdrop.mobile-sheet-backdrop .modal.mobile-bottom-sheet.is-sheet-dragging{transition:none!important}
  .modal-backdrop.mobile-sheet-backdrop .modal.mobile-bottom-sheet.is-sheet-closing{transition:transform .18s ease!important}
  .mobile-bottom-sheet>.mobile-sheet-handle{display:block;flex:0 0 auto}
  .mobile-bottom-sheet>.modal-header{
    flex:0 0 auto;
    padding-top:7px!important;
    padding-left:max(16px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
  }
  .mobile-bottom-sheet>form{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    max-height:calc(var(--amanda-app-vh) - 76px - env(safe-area-inset-top))!important;
  }
  .mobile-bottom-sheet .modal-body{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding-left:max(16px,env(safe-area-inset-left))!important;
    padding-right:max(16px,env(safe-area-inset-right))!important;
    scroll-padding-bottom:100px;
  }
  .mobile-bottom-sheet .modal-footer{
    position:sticky!important;
    bottom:0!important;
    z-index:3!important;
    flex:0 0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
    padding:12px max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))!important;
    background:linear-gradient(180deg,rgba(255,251,253,.94),rgba(252,241,247,.99))!important;
    border-top:1px solid rgba(145,83,109,.12)!important;
    backdrop-filter:blur(14px);
  }
  .mobile-bottom-sheet .modal-footer-secondary{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .mobile-bottom-sheet .modal-footer-primary{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:9px!important}
  .mobile-bottom-sheet .modal-footer .btn{min-height:48px!important;justify-content:center!important}

  .modal-body .form-grid,.modal-body .details-grid{grid-template-columns:1fr!important}
  .modal-body input,.modal-body select,.modal-body textarea{font-size:16px!important;min-height:48px}
  .modal-body textarea{min-height:96px}

  .toolbar,.toolbar-left,.toolbar-right,.section-head,.panel-head,.card-header{
    min-width:0;
    flex-wrap:wrap!important;
  }
  .toolbar .btn,.toolbar-left .btn,.toolbar-right .btn{min-height:44px}
  .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .ios-scroll-stack,.list-panel,.card-grid,.clients-grid,.products-grid{contain:layout style}
  .ios-stack-card:nth-child(n+10),.list-row:nth-child(n+14){content-visibility:auto;contain-intrinsic-size:90px}

  body.keyboard-open .mobile-bottom-nav,
  body.keyboard-open .fab{opacity:0!important;transform:translateY(120%)!important;pointer-events:none!important}
  body.keyboard-open .mobile-bottom-sheet .modal-footer{
    padding-bottom:12px!important;
  }

  .login-auth-card{max-height:calc(var(--amanda-app-vh) - 24px)!important;overflow:auto!important}
}

@media (min-width:601px) and (max-width:1000px) and (pointer:coarse){
  .modal-backdrop.mobile-sheet-backdrop{padding:24px 18px max(18px,env(safe-area-inset-bottom))!important}
  .modal-backdrop.mobile-sheet-backdrop .modal.mobile-bottom-sheet{
    width:min(100%,760px)!important;
    border-radius:26px!important;
    border-bottom:1px solid rgba(145,83,109,.13)!important;
  }
  .mobile-bottom-sheet .modal-footer{border-radius:0 0 26px 26px}
}

@media (max-width:520px){
  .topbar{gap:7px!important}
  .topbar .top-profile{display:none!important}
  .topbar .global-search{order:5;flex-basis:100%!important;width:100%!important}
  .page{padding-left:12px!important;padding-right:12px!important}
  .mobile-bottom-sheet .modal-footer-primary{grid-template-columns:1fr 1.2fr!important}
}

@media (prefers-reduced-motion:reduce){
  .amanda-network-banner,.mobile-bottom-nav button::before,.mobile-bottom-sheet,.is-touching{transition:none!important}
}


/* v1.10.6 — acesso temporário sem senha, mantendo a tela animada original */
.login-profile-direct{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:14px;transition:background .18s ease,transform .18s ease}
.login-profile-direct:hover,.login-profile-direct:focus-visible{background:rgba(255,255,255,.34);outline:2px solid rgba(200,95,134,.22);outline-offset:2px}
.login-profile-direct:active{transform:scale(.99)}
.login-signature-stage,.login-signature-frame{pointer-events:none!important}
@media(max-width:900px), (pointer:coarse){
  html,body{touch-action:pan-y pinch-zoom}
  body.modal-open{overflow:hidden!important;touch-action:pan-y pinch-zoom!important}
  .modal-backdrop,.mobile-bottom-sheet,.mobile-bottom-sheet>.modal-body{touch-action:pan-y!important}
  .mobile-bottom-sheet>.modal-body{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  body.login-page,body.login-page #root,.login-shell{overflow-y:auto!important;touch-action:pan-y pinch-zoom!important;-webkit-overflow-scrolling:touch}
  .login-shell{min-height:var(--amanda-app-vh,100dvh)}
}
