/* ProjectQuest v21.47.5 Navigation + mobile containment */
:root{--pq-mobile-gutter:12px;--pq-bottom-nav-h:72px;}

/* Profile/menu popovers stay inside the viewport. */
@media (max-width: 760px){
  .pq-main-menu{position:static!important;}
  .pq-main-menu-pop{
    position:fixed!important;
    top:max(72px,calc(env(safe-area-inset-top,0px) + 64px))!important;
    right:var(--pq-mobile-gutter)!important;
    left:auto!important;
    transform:none!important;
    width:min(420px,calc(100vw - (var(--pq-mobile-gutter) * 2)))!important;
    max-width:calc(100vw - (var(--pq-mobile-gutter) * 2))!important;
    max-height:calc(100dvh - 92px - env(safe-area-inset-bottom,0px))!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    box-sizing:border-box!important;
    z-index:1200!important;
  }
  .pq-menu-layer{
    width:min(660px,calc(100vw - 16px))!important;
    max-width:calc(100vw - 16px)!important;
    left:8px!important;
    right:8px!important;
    box-sizing:border-box!important;
  }
  body{overflow-x:hidden!important;}
}

/* All mobile dialogs use viewport containment and internal scrolling. */
@media (max-width:760px){
  .pq-modal,.pq-modal-card,.pq-dialog,[role="dialog"]{
    max-width:calc(100vw - 20px)!important;
    box-sizing:border-box!important;
  }
  .pq-modal-card,.pq-dialog,[role="dialog"]{
    max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
  }
  .pq-modal{padding:10px!important;align-items:flex-start!important;overflow:auto!important;}
}

/* Profile grouping inserted by JS. */
.pq-profile-group-title{
  margin:12px 6px 6px!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  opacity:.72!important;
}
.pq-platform-admin-link{border-color:rgba(34,211,238,.7)!important;}

/* Persistent bottom navigation. */
.pq-v21475-bottom-nav{
  position:fixed;left:0;right:0;bottom:0;z-index:1100;
  display:grid;grid-template-columns:repeat(4,1fr);gap:4px;
  min-height:var(--pq-bottom-nav-h);padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));
  background:rgba(5,12,24,.97);border-top:1px solid rgba(93,215,255,.25);
  backdrop-filter:blur(14px);box-shadow:0 -12px 30px rgba(0,0,0,.28);
}
.pq-v21475-bottom-nav button{
  border:0;background:transparent;color:inherit;border-radius:14px;
  min-height:54px;padding:6px 4px;font:inherit;font-weight:750;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
}
.pq-v21475-bottom-nav button:active{background:rgba(255,255,255,.08);}
.pq-v21475-bottom-nav .pq-v21475-icon{font-size:22px;line-height:1;}
.pq-v21475-bottom-nav .pq-v21475-label{font-size:11px;}
@media (min-width:761px){.pq-v21475-bottom-nav{display:none!important;}}
@media (max-width:760px){body{padding-bottom:calc(var(--pq-bottom-nav-h) + env(safe-area-inset-bottom,0px))!important;}}

/* Quick action sheet. */
.pq-v21475-sheet-backdrop{position:fixed;inset:0;z-index:1250;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center;padding:12px;}
.pq-v21475-sheet{width:min(560px,100%);max-height:min(72dvh,680px);overflow:auto;background:#071626;border:1px solid rgba(64,205,235,.45);border-radius:22px;padding:16px;box-shadow:0 28px 80px rgba(0,0,0,.55);}
.pq-v21475-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.pq-v21475-sheet h2{margin:0;font-size:24px;}
.pq-v21475-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.pq-v21475-sheet-grid button{min-height:72px;text-align:left;border-radius:16px;border:1px solid rgba(93,215,255,.35);background:rgba(8,35,55,.78);color:inherit;padding:14px;font:inherit;font-weight:800;}
.pq-v21475-sheet-close{border:1px solid rgba(93,215,255,.35)!important;background:transparent!important;color:inherit!important;border-radius:12px!important;padding:10px 14px!important;}

/* Nutrition flow stepper: Do -> Review -> Plan. */
.pq-v21475-nutrition-flow{margin:10px 0 16px;padding:10px;border:1px solid rgba(93,215,255,.28);border-radius:16px;background:rgba(5,23,37,.72);display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.pq-v21475-nutrition-flow button{border:1px solid rgba(93,215,255,.3);background:rgba(8,35,55,.7);color:inherit;border-radius:12px;padding:10px 8px;font:inherit;font-weight:800;}
.pq-v21475-nutrition-flow button[data-active="1"]{outline:2px solid rgba(75,226,255,.8);background:rgba(16,66,92,.82);}
.pq-v21475-review-cta{width:100%;margin:0 0 12px!important;min-height:52px!important;}
