/* BoA Crew 57.89 · sistema móvil inspirado en iOS 26 (Android, iOS y navegador) */
@media (max-width:899px) {
  :root { --ios-spring:cubic-bezier(.22,1,.36,1); }
  html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
  body { -webkit-tap-highlight-color:transparent; }

  .page-container { view-transition-name:boa-page; }
  .page-container.ios-page-enter { animation:boaPageEnter .34s var(--ios-spring) both; }
  @keyframes boaPageEnter { from{opacity:.18;transform:translate3d(18px,0,0) scale(.992)} to{opacity:1;transform:none} }

  .bottom-sheet-backdrop {
    background:rgba(0,7,20,.34);
    backdrop-filter:blur(8px) saturate(135%);
    -webkit-backdrop-filter:blur(8px) saturate(135%);
    transition:opacity .3s ease,visibility .3s ease;
  }

  .bottom-sheet {
    left:max(7px,env(safe-area-inset-left));
    right:max(7px,env(safe-area-inset-right));
    bottom:max(7px,env(safe-area-inset-bottom));
    max-height:calc(88dvh - env(safe-area-inset-top));
    overflow:hidden;
    border:1px solid color-mix(in srgb,var(--border) 62%,rgba(255,255,255,.35));
    border-radius:30px;
    background:color-mix(in srgb,var(--surface) 82%,transparent);
    box-shadow:0 28px 80px rgba(0,10,28,.34),inset 0 1px 0 rgba(255,255,255,.32);
    backdrop-filter:blur(30px) saturate(165%);
    -webkit-backdrop-filter:blur(30px) saturate(165%);
    transform:translate3d(0,calc(100% + 22px),0) scale(.975);
    transform-origin:bottom center;
    transition:transform .46s cubic-bezier(.2,.92,.22,1.06),opacity .26s ease;
  }

  .bottom-sheet.open { transform:translate3d(0,0,0) scale(1); }
  .bottom-sheet.full { max-height:calc(100dvh - env(safe-area-inset-top) - 14px); }
  .bottom-sheet.peek { border-radius:24px; }
  .bottom-sheet-handle { height:28px; }
  .bottom-sheet-handle span { width:36px; height:5px; background:color-mix(in srgb,var(--muted) 46%,transparent); }
  .bottom-sheet-header {
    padding:3px 18px 14px;
    border-bottom-color:color-mix(in srgb,var(--border) 62%,transparent);
    background:linear-gradient(180deg,rgba(255,255,255,.055),transparent);
  }
  .bottom-sheet-header h2 { font-size:18px; letter-spacing:-.025em; }
  .bottom-sheet-body { padding:14px 16px calc(22px + env(safe-area-inset-bottom)); }
  .bottom-sheet-actions {
    padding:11px 16px calc(11px + env(safe-area-inset-bottom));
    border-top-color:color-mix(in srgb,var(--border) 62%,transparent);
    background:color-mix(in srgb,var(--surface) 68%,transparent);
    backdrop-filter:blur(22px) saturate(150%);
    -webkit-backdrop-filter:blur(22px) saturate(150%);
  }
  [data-theme="dark"] .bottom-sheet { background:color-mix(in srgb,var(--surface-elevated) 78%,transparent); }

  .more-hub-sheet {
    height:min(86dvh,820px);
    max-height:calc(100dvh - env(safe-area-inset-top) - 14px)!important;
  }
  .more-access-card .more-sheet-item,
  .more-account-action,
  .more-hub-toolbar {
    border-color:color-mix(in srgb,var(--border) 70%,transparent);
    background:color-mix(in srgb,var(--surface) 72%,transparent);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.11);
    backdrop-filter:blur(12px) saturate(140%);
    -webkit-backdrop-filter:blur(12px) saturate(140%);
  }

  :is(button,.utility-card,.more-access-card,.contact-row,.dashboard-quick-action,.tab,.action-card) {
    transform-origin:center;
  }
  :is(button,.utility-card,.more-access-card,.contact-row,.dashboard-quick-action,.tab,.action-card):active {
    transform:scale(.965);
    transition-duration:.08s!important;
  }
  :is(.primary-button,.secondary-button,.danger-button,.more-account-action,.more-sheet-item,.round-button) {
    min-height:44px;
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea { min-height:44px; font-size:max(16px,1em); }

  .tabs {
    top:calc(var(--topbar) + env(safe-area-inset-top));
    border-radius:16px;
    background:color-mix(in srgb,var(--bg) 72%,transparent);
    backdrop-filter:blur(22px) saturate(165%);
    -webkit-backdrop-filter:blur(22px) saturate(165%);
  }

  .toast {
    border:1px solid color-mix(in srgb,var(--border) 52%,rgba(255,255,255,.3));
    border-radius:20px;
    background:color-mix(in srgb,var(--surface) 76%,transparent);
    box-shadow:0 18px 45px rgba(0,10,30,.26),inset 0 1px rgba(255,255,255,.18);
    backdrop-filter:blur(24px) saturate(160%);
    -webkit-backdrop-filter:blur(24px) saturate(160%);
  }

  .panel,.feed-card,.utility-card { transition:transform .26s var(--ios-spring),box-shadow .26s ease,border-color .22s ease; }
  .pull-to-refresh-indicator { background:color-mix(in srgb,var(--surface) 72%,transparent); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
}

@media (max-width:899px) and (prefers-reduced-motion:no-preference) {
  ::view-transition-old(boa-page) { animation:boaPageOld .28s cubic-bezier(.4,0,.7,1) both; }
  ::view-transition-new(boa-page) { animation:boaPageNew .38s cubic-bezier(.22,1,.36,1) both; }
  html[data-nav-direction="backward"]::view-transition-old(boa-page) { animation-name:boaPageOldBack; }
  html[data-nav-direction="backward"]::view-transition-new(boa-page) { animation-name:boaPageNewBack; }
  @keyframes boaPageOld { to{opacity:.08;transform:translate3d(-18px,0,0) scale(.992)} }
  @keyframes boaPageNew { from{opacity:.08;transform:translate3d(22px,0,0) scale(.992)} }
  @keyframes boaPageOldBack { to{opacity:.08;transform:translate3d(18px,0,0) scale(.992)} }
  @keyframes boaPageNewBack { from{opacity:.08;transform:translate3d(-22px,0,0) scale(.992)} }
}

@media (max-width:899px) and (prefers-reduced-transparency:reduce) {
  .topbar,.bottom-sheet,.toast,.tabs { background:var(--surface); backdrop-filter:none; -webkit-backdrop-filter:none; }
}

@media (max-width:899px) and (prefers-reduced-motion:reduce) {
  .page-container.ios-page-enter { animation:none; }
}
