/* IMO Helper Stability R8 Finalizer
 * Loaded after R6. Keeps the established shell and fixes only END-card layering.
 */

/* One permission request = one compact action card. */
.imo-r8-card--location_permission{
  margin-top:8px !important;padding:14px !important;
  border-color:rgba(118,255,45,.36) !important;
  background:linear-gradient(135deg,rgba(11,64,28,.96),rgba(3,35,15,.98)) !important;
}
.imo-r8-card--location_permission h3{margin-bottom:5px !important;font-size:14px !important;}
.imo-r8-card--location_permission p{max-width:28em;font-size:11.5px !important;line-height:1.48 !important;}
.imo-r8-card--location_permission .imo-r6-card__actions{margin-top:11px !important;}
.imo-r8-card--location_permission .imo-r6-card__actions button{min-height:36px !important;padding:8px 14px !important;background:#76ff2d !important;color:#041408 !important;border-color:#76ff2d !important;}

.imo-r8-card--destination_prompt{border-color:rgba(235,209,106,.38) !important;background:linear-gradient(135deg,rgba(53,48,16,.88),rgba(3,35,15,.98)) !important;}
.imo-r8-card--destination_prompt h3{color:#ffe97d !important;}

/* Camera selection is an in-phone modal and must sit above both navigation reels and the composer. */
.imo-camera-mini-sheet{
  position:absolute !important;inset:0 !important;z-index:1040 !important;display:none !important;
  isolation:isolate !important;pointer-events:none !important;
}
.imo-camera-mini-sheet.open{display:block !important;pointer-events:auto !important;}
.imo-camera-mini-sheet .imo-dim{
  position:absolute !important;inset:0 !important;z-index:0 !important;
  width:100% !important;height:100% !important;border:0 !important;
  background:rgba(0,8,4,.78) !important;
  backdrop-filter:blur(10px) !important;-webkit-backdrop-filter:blur(10px) !important;
}
.imo-camera-mini-sheet .imo-panel{
  position:absolute !important;z-index:2 !important;left:14px !important;right:14px !important;bottom:14px !important;
  max-height:calc(100% - 28px) !important;overflow:auto !important;
  padding:22px 18px 18px !important;border:1px solid rgba(118,255,45,.52) !important;border-radius:27px !important;
  background:linear-gradient(150deg,rgba(20,84,34,.99),rgba(0,25,10,.995)) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.055) !important;
}
.imo-camera-mini-sheet h2{margin:0 44px 9px 0 !important;font-size:21px !important;line-height:1.2 !important;letter-spacing:-.045em !important;}
.imo-camera-mini-sheet p{margin:0 0 15px !important;color:rgba(244,255,241,.76) !important;font-size:12px !important;line-height:1.55 !important;font-weight:760 !important;}
.imo-camera-mini-sheet .imo-close{z-index:4 !important;}
.imo-camera-mini-sheet .imo-camera-action{width:100% !important;min-height:48px !important;border-radius:17px !important;background:#76ff2d !important;color:#041408 !important;border-color:#76ff2d !important;font-size:13px !important;font-weight:1000 !important;}
body.imo-camera-open-r8 .phone{overflow:hidden !important;}
body.imo-camera-open-r8 #composer,
body.imo-camera-open-r8 #rightRail,
body.imo-camera-open-r8 #bottomNav,
body.imo-camera-open-r8 #mossyRoomFixedEntry,
body.imo-camera-open-r8 #imoRightNavToggle0704q,
body.imo-camera-open-r8 #imoBottomNavToggle0704q{
  pointer-events:none !important;filter:blur(1px) !important;opacity:.28 !important;
}
body.imo-camera-open-r8 #imoCameraSheet,
body.imo-camera-open-r8 #imoCameraSheet *{pointer-events:auto !important;}

/* Full-screen results cover only the app phone, never the whole desktop browser. */
body.imo-r8-modal-open .phone{overflow:hidden !important;}
.imo-r8-fullcard{z-index:1100 !important;isolation:isolate !important;background:rgba(0,8,4,.86) !important;padding:9px !important;}
.imo-r8-fullcard__panel{display:flex !important;flex-direction:column !important;width:100% !important;max-height:100% !important;padding:15px !important;border-radius:24px !important;}
.imo-r8-fullcard .imo-r6-fullcard__head{flex:0 0 auto !important;}
.imo-r8-fullcard .imo-r6-fullcard__actions{
  flex:0 0 auto !important;position:sticky !important;bottom:-1px !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important;
  margin-top:auto !important;padding-top:14px !important;padding-bottom:1px !important;
  background:linear-gradient(180deg,rgba(1,20,8,0),rgba(1,20,8,.99) 32%) !important;
}
.imo-r8-fullcard .imo-r6-fullcard__actions button{min-height:46px !important;font-size:12.5px !important;}
.imo-r8-fullcard .imo-r6-fullcard__actions button.wide{grid-column:1/-1 !important;}

/* Taxi-driver mode: large Korean sentence plus real route/map/copy/call actions. */
.imo-r8-fullcard--taxi .imo-r8-fullcard__panel{justify-content:flex-start !important;background:linear-gradient(180deg,#0c4a22 0%,#03190a 68%,#010d05 100%) !important;}
.imo-r8-fullcard--taxi .imo-r6-fullcard__eyebrow{color:#ffe875 !important;font-size:10.5px !important;}
.imo-r8-fullcard--taxi .imo-r6-fullcard__title{font-size:20px !important;}
.imo-r8-fullcard--taxi .imo-r6-driver-sentence{
  margin:2px 0 14px !important;padding:22px 14px !important;
  border:2px solid rgba(255,255,255,.9) !important;border-radius:22px !important;
  background:#fffef5 !important;color:#07170b !important;box-shadow:0 14px 34px rgba(0,0,0,.3) !important;
  font-size:clamp(24px,7vw,33px) !important;line-height:1.24 !important;letter-spacing:-.05em !important;
  word-break:keep-all !important;text-align:center !important;
}
.imo-r8-fullcard--taxi .imo-r6-fullcard__name{margin-top:1px !important;font-size:19px !important;line-height:1.25 !important;}
.imo-r8-fullcard--taxi .imo-r6-fullcard__address{padding:10px 12px !important;border-radius:14px !important;background:rgba(255,255,255,.075) !important;color:rgba(255,255,255,.94) !important;font-size:13px !important;line-height:1.52 !important;}
.imo-r8-fullcard--taxi .imo-r6-fullcard__body{margin-top:9px !important;color:rgba(247,255,244,.72) !important;font-size:11.5px !important;}

.imo-r8-fullcard--image .imo-r6-fullcard__preview{flex:1 1 auto !important;min-height:0 !important;max-height:260px !important;object-fit:contain !important;}

.imo-r8-toast{
  position:absolute;left:50%;bottom:16px;z-index:1200;max-width:calc(100% - 34px);transform:translateX(-50%);
  padding:9px 14px;border:1px solid rgba(118,255,45,.48);border-radius:999px;background:rgba(2,31,12,.99);color:#f5fff1;
  box-shadow:0 10px 30px rgba(0,0,0,.38);font-size:11.5px;font-weight:900;white-space:nowrap;pointer-events:none;
}
.imo-r8-toast.error{border-color:rgba(255,118,118,.58);color:#ffd7d7;}

/* Normal lower-stack order remains: composer above both moving navigation reels. */
html.imo-real-tour-0704q body[data-view="chat"] #composer{z-index:150 !important;}
html.imo-real-tour-0704q body[data-view="chat"] #mossyRoomFixedEntry{z-index:124 !important;}
html.imo-real-tour-0704q body[data-view="chat"] #rightRail{z-index:120 !important;}
html.imo-real-tour-0704q body[data-view="chat"] #bottomNav{z-index:110 !important;}

@media (max-width:380px){
  .imo-camera-mini-sheet .imo-panel{left:9px !important;right:9px !important;bottom:9px !important;padding:19px 15px 15px !important;}
  .imo-r8-fullcard{padding:6px !important;}.imo-r8-fullcard__panel{padding:12px !important;border-radius:21px !important;}
  .imo-r8-fullcard--taxi .imo-r6-driver-sentence{font-size:23px !important;padding:18px 11px !important;}
  .imo-r8-fullcard--taxi .imo-r6-fullcard__name{font-size:17px !important;}
  .imo-r8-fullcard .imo-r6-fullcard__actions{gap:6px !important;}
}
@media (prefers-reduced-motion:reduce){.imo-r8-fullcard *,.imo-r8-toast,.imo-camera-mini-sheet *{scroll-behavior:auto !important;transition:none !important;animation:none !important;}}
