/* Bride Era R11.9 — experiência mobile com cara de app */
.mobile-app-nav,.mobile-feature-sheet{display:none}
@media(max-width:820px){
  body.app{padding-bottom:calc(78px + env(safe-area-inset-bottom));background:var(--paper)}
  .app-main{min-width:0}.app-content{padding:14px 12px 24px!important;max-width:none!important}.app-topbar{height:58px!important;padding:8px 12px!important;gap:8px!important;position:sticky;top:0;z-index:90;background:rgba(255,253,252,.94);backdrop-filter:blur(18px)}
  .app-topbar h2{font-size:1.04rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44vw}.app-topbar .user-chip .small,.app-topbar .app-lang-switch{display:none!important}.app-topbar .user-chip{padding:0!important;background:transparent!important;border:0!important}.app-topbar .save-dot span{display:none}.app-topbar .global-history{display:flex}.btn-icon{width:36px!important;height:36px!important}
  .panel{border-radius:18px!important;padding:16px!important;box-shadow:0 5px 22px rgba(85,58,58,.055)}.kpi{border-radius:18px!important;padding:15px!important}.grid.g4,.grid.g3,.grid.g2,.grid.g-2-1,.grid.g-1-2{grid-template-columns:1fr!important;gap:12px!important}.guest-stats{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.panel-head{align-items:flex-start!important}.panel-head>.row,.toolbar,.row.wrap{gap:8px!important}.toolbar{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:4px;scrollbar-width:none}.toolbar>*{flex:0 0 auto}.toolbar::-webkit-scrollbar{display:none}
  input,select,textarea,.btn{min-height:44px}.btn-xs{min-height:34px}.form-row{grid-template-columns:1fr!important}.tabs{overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none}.tabs button{white-space:nowrap;flex:0 0 auto}.chips{overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none}.chips>*{flex:0 0 auto}
  .mobile-table-scroll{width:calc(100vw - 24px);overflow:auto;border-radius:16px;-webkit-overflow-scrolling:touch}.mobile-table-scroll table{min-width:720px}.tbl-wrap{overflow:auto}
  #modalRoot .modal-wrap,#activeModal{align-items:flex-end!important;padding:0!important}#modalRoot .modal{width:100%!important;max-width:none!important;max-height:92dvh!important;border-radius:24px 24px 0 0!important;margin:0!important;padding-bottom:env(safe-area-inset-bottom);animation:mobileSheetIn .28s cubic-bezier(.2,.9,.2,1)}#modalRoot .modal-body{max-height:70dvh!important;overflow:auto}.modal-footer{position:sticky;bottom:0;background:var(--white);padding-bottom:calc(12px + env(safe-area-inset-bottom))!important;z-index:2}
  .mobile-app-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:450;background:rgba(255,255,255,.95);backdrop-filter:blur(22px);border:1px solid var(--line);border-radius:20px;padding:6px;box-shadow:0 14px 44px rgba(48,34,34,.18)}.mobile-app-nav button{border:0;background:transparent;border-radius:14px;display:grid;place-items:center;gap:1px;padding:5px 2px;color:var(--muted-600);font-family:inherit}.mobile-app-nav button span{font-size:1.18rem;line-height:1}.mobile-app-nav button small{font-size:.61rem}.mobile-app-nav button.active{background:var(--blush-100);color:var(--rose-700);font-weight:700}
  .mobile-feature-sheet{display:block;position:fixed;inset:0;z-index:800;pointer-events:none}.mobile-feature-sheet.open{pointer-events:auto}.mobile-sheet-backdrop{position:absolute;inset:0;background:rgba(34,25,25,.38);opacity:0;transition:.25s}.mobile-feature-sheet.open .mobile-sheet-backdrop{opacity:1}.mobile-sheet-card{position:absolute;left:0;right:0;bottom:0;height:min(86dvh,780px);background:var(--paper);border-radius:26px 26px 0 0;transform:translateY(105%);transition:.3s cubic-bezier(.2,.9,.2,1);box-shadow:0 -20px 60px rgba(40,28,28,.2);padding-bottom:env(safe-area-inset-bottom)}.mobile-feature-sheet.open .mobile-sheet-card{transform:translateY(0)}.mobile-sheet-grab{width:44px;height:5px;border-radius:10px;background:var(--muted-300);margin:9px auto}.mobile-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:8px 18px}.mobile-sheet-head h3{margin:0}.mobile-sheet-head small{letter-spacing:.13em;color:var(--muted-500);font-size:.63rem}.mobile-sheet-head>button{width:38px;height:38px;border:0;border-radius:50%;background:var(--blush-100)}.mobile-sheet-search{margin:4px 16px 12px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 12px}.mobile-sheet-search input{border:0!important;background:transparent!important;width:100%}.mobile-sheet-scroll{height:calc(100% - 120px);overflow:auto;padding:0 14px 30px}.mobile-sheet-scroll section{margin-bottom:15px}.mobile-sheet-scroll h4{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-500);margin:0 4px 7px}.mobile-sheet-scroll section>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mobile-sheet-scroll [data-sheet-go]{border:1px solid var(--line);background:#fff;border-radius:15px;padding:11px 5px;display:grid;gap:4px;place-items:center;text-align:center;font-family:inherit;min-height:78px}.mobile-sheet-scroll [data-sheet-go] span{font-size:1.35rem}.mobile-sheet-scroll [data-sheet-go] b{font-size:.69rem;line-height:1.15}
  .integrated-context{border-radius:16px!important}.exp-hero{padding:20px!important;border-radius:20px!important}.visual-stage,.floor-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.pro-hero{display:grid!important;grid-template-columns:1fr!important}.pro-aura{margin-top:10px}
  body.app .view-head{position:sticky;top:58px;z-index:45;background:linear-gradient(180deg,var(--paper) 78%,transparent);padding:7px 0 8px;margin-top:-2px}.view-vibe-strip{border-radius:14px!important;margin-bottom:10px!important;padding:10px 12px!important;font-size:.76rem!important}
  .mobile-sheet-scroll{height:calc(100% - 120px)}
  @keyframes mobileSheetIn{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
}

/* Bride Era R11.10 — alvos de toque consistentes em celular/tablet */
@media (hover:none) and (pointer:coarse), (max-width:1024px){
  button,.btn,[role="button"],a.btn,.sb-link,.opt,.check-item,.module-chip,.cat-item,[data-add],[data-go],[data-sheet-go]{touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;position:relative}
  button>svg,button>img,button>span:not(.mp-secure-field),button>small,.btn>svg,.btn>img,.btn>span,.mobile-app-nav button>*{pointer-events:none}
  .btn::before,.btn::after,.btn-icon::before,.btn-icon::after,.module-chip::before,.module-chip::after,.cat-item::before,.cat-item::after{pointer-events:none!important}
  input,select,textarea,.mp-secure-field,.mp-secure-field iframe{touch-action:manipulation;pointer-events:auto!important}
  .mobile-app-nav button{min-height:52px!important;padding:7px 3px!important}
  .mobile-sheet-head>button{min-width:44px;min-height:44px}
  .quick-logout{display:none!important}
}
@media(min-width:821px){.quick-logout{display:grid}}
.mobile-account-actions .mobile-logout{grid-column:1/-1!important;display:flex!important;flex-direction:row!important;justify-content:center!important;gap:8px!important;min-height:48px!important;color:var(--danger-600,#a64040)!important;background:#fff8f7!important}


/* Bride Era R12 — robustez mobile */
@media(max-width:820px){
  html,body{max-width:100%;overflow-x:hidden}
  body.app,.app-shell,.app-main,.app-content,#view,.panel,.grid,.toolbar,.row,.view-head,.mobile-sheet-card,.mobile-sheet-scroll section>div{min-width:0}
  .mobile-sheet-card{max-width:100vw;overflow:hidden}
  .mobile-sheet-scroll section>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-sheet-scroll [data-sheet-go]{min-width:0;padding:10px 4px}
  .mobile-sheet-scroll [data-sheet-go] b{word-break:break-word}
  .mobile-sheet-search input{font-size:16px}
}
@media(max-width:390px){
  .mobile-app-nav button small{font-size:.56rem}
  .mobile-sheet-scroll section>div{grid-template-columns:1fr 1fr}
}

/* R12.1 — estabilidade de toque sem mudar o visual mobile */
@media (hover:none) and (pointer:coarse){
  .btn:hover:not(:disabled),button:hover:not(:disabled),.module-chip:hover,.cat-item:hover,.integrated-link:hover,.exp-insight:hover,.md-btn:hover,.md-quick:hover{transform:none!important}
}

/* Bride Era R13 — checkboxes quadrados + menu lateral não escondido pela barra inferior */
@media(max-width:820px){
  input[type="checkbox"],input[type="radio"]{
    min-height:0 !important; min-width:0 !important; width:20px !important; height:20px !important;
    inline-size:20px !important; block-size:20px !important; aspect-ratio:1/1; padding:0 !important;
    flex:0 0 20px !important; border-radius:5px; vertical-align:middle;
  }
  input[type="radio"]{border-radius:50%}
  .checkbox-line{align-items:flex-start !important}
  .app-sidebar{padding-bottom:calc(104px + env(safe-area-inset-bottom)) !important; overscroll-behavior:contain}
  .sb-foot{margin-bottom:calc(72px + env(safe-area-inset-bottom))}
  .mobile-sheet-scroll{padding-bottom:calc(110px + env(safe-area-inset-bottom)) !important}
  .mobile-wedding-switch{margin:2px 0 16px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--blush-50,#fff8f6)}
  .mobile-wedding-switch h4{margin:0 0 8px!important}
  .mobile-wedding-switch label{display:flex;align-items:center;gap:8px}
  .mobile-wedding-switch select{min-width:0;flex:1;max-width:100%;font:600 .82rem/1.2 inherit;border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 10px}
  .mobile-wedding-switch small{display:block;margin-top:7px;color:var(--muted-500);font-size:.68rem}
}
