/* STEP30_48 - AI interpreter visibility shell; isolated from map layers */
.ai-interpreter-fab{position:fixed!important;right:max(18px,env(safe-area-inset-right))!important;bottom:max(22px,calc(env(safe-area-inset-bottom) + 18px))!important;z-index:2147482000!important;display:flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;gap:9px!important;border:0!important;border-radius:999px!important;padding:10px 15px 10px 10px!important;background:#153d32!important;color:#fff!important;font-weight:850!important;box-shadow:0 12px 30px rgba(20,51,43,.22)!important;cursor:pointer!important;pointer-events:auto!important}
.ai-interpreter-fab-icon{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:50%!important;background:rgba(255,255,255,.14)!important;font-size:12px!important;letter-spacing:-.04em!important}
.ai-interpreter-panel{position:fixed!important;inset:0!important;z-index:2147482100!important;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:rgba(8,22,18,.38);backdrop-filter:blur(5px)}
.ai-interpreter-panel[hidden]{display:none!important}
.ai-interpreter-sheet{width:min(560px,100%);max-height:min(82vh,760px);overflow:auto;border-radius:24px;background:#fff;color:#17221e;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.24)}
.ai-interpreter-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ai-interpreter-head h2{margin:2px 0 4px}.ai-interpreter-head p{margin:0}.ai-interpreter-close{border:0;background:#eef3ef;border-radius:50%;width:38px;height:38px;cursor:pointer}
.ai-interpreter-language-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0}.ai-interpreter-source{font-size:13px}.ai-interpreter-language-row select{min-height:38px;border:1px solid #d5dfd8;border-radius:12px;background:#fff;padding:0 10px}
.ai-interpreter-field{display:grid;gap:7px;font-size:13px;font-weight:750}.ai-interpreter-field textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #d5dfd8;border-radius:14px;padding:12px;background:#fff;color:#17221e}
.ai-interpreter-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:9px;margin-top:10px}.ai-interpreter-actions button{min-height:44px;border-radius:13px;font-weight:800;cursor:pointer}.ai-interpreter-secondary{border:1px solid #cedbd3;background:#fff;color:#21463a}.ai-interpreter-primary{border:0;background:#17533f;color:#fff}
.ai-interpreter-result{margin-top:14px;border:1px solid #dce5df;border-radius:15px;padding:12px;background:#f7faf8}.ai-interpreter-result-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ai-interpreter-result p{font-size:18px;font-weight:800;line-height:1.45}.ai-interpreter-status{font-size:12px;color:#66776f;line-height:1.5}
@media(min-width:760px){.ai-interpreter-panel{align-items:center}.ai-interpreter-fab{right:24px!important;bottom:26px!important}}
@media(max-width:560px){.ai-interpreter-panel{padding:0}.ai-interpreter-sheet{border-radius:24px 24px 0 0;padding:20px 18px max(22px,calc(env(safe-area-inset-bottom) + 16px))}.ai-interpreter-fab{right:12px!important;bottom:max(14px,calc(env(safe-area-inset-bottom) + 12px))!important;padding-right:12px!important}.ai-interpreter-fab span:last-child{font-size:13px}}

/* STEP30_48 - isolated AI travel interpreter refinements */
.ai-interpreter-v2-tools{display:grid;gap:12px;margin:18px 0 14px}
.ai-interpreter-v2-mode{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #dce5de;border-radius:16px;background:#f6f8f5;color:#183c31}
.ai-interpreter-v2-mode>div{display:grid;gap:2px}.ai-interpreter-v2-mode strong{font-size:14px}.ai-interpreter-v2-mode span{font-size:12px;color:#66796f}
.ai-interpreter-switch{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:800;color:#36564c}.ai-interpreter-switch input{accent-color:#17533f}
.ai-interpreter-quick{display:flex;gap:7px;overflow-x:auto;padding:1px 0 3px;scrollbar-width:none}.ai-interpreter-quick::-webkit-scrollbar{display:none}.ai-interpreter-quick button{flex:0 0 auto;border:1px solid #d7e1da;background:#fff;color:#274c40;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;cursor:pointer}
.ai-interpreter-v2-options{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#597067}.ai-interpreter-v2-options label{display:flex;align-items:center;gap:7px}.ai-interpreter-v2-options input{accent-color:#17533f}.ai-interpreter-v2-options button{border:0;background:transparent;color:#526b62;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:750}
.ai-interpreter-result-head{flex-wrap:wrap}.ai-interpreter-copy{border:1px solid #d0dbd4!important;background:#fff!important;color:#24463c!important;padding:7px 10px!important;border-radius:12px!important}
.ai-interpreter-result p{cursor:pointer}
.ai-interpreter-history{display:grid;gap:7px;margin-top:2px;padding-top:10px;border-top:1px solid #e4e9e5}.ai-interpreter-history>strong{font-size:11px;letter-spacing:.05em;color:#76867f;text-transform:uppercase}.ai-interpreter-history-row{display:grid;grid-template-columns:1fr;gap:3px;text-align:left;border:1px solid #e0e7e2;background:#fff;border-radius:13px;padding:9px 11px;color:#314d44;cursor:pointer}.ai-interpreter-history-row span{font-size:11px;color:#7a8983;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-interpreter-history-row b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-interpreter-history-row small{font-size:10px;color:#87958f}
@media(max-width:560px){.ai-interpreter-v2-mode{align-items:flex-start}.ai-interpreter-v2-options{align-items:flex-start}.ai-interpreter-history{max-height:180px;overflow:auto}}


/* STEP30_49 - designer-grade conversation sheet. Pure interpreter UI only. */
.ai-interpreter-panel{background:rgba(13,27,23,.42)!important;backdrop-filter:blur(10px) saturate(.9)!important}
.ai-interpreter-designer{width:min(520px,100%)!important;border:1px solid rgba(27,69,56,.10)!important;border-radius:28px!important;padding:24px!important;background:#fbfcfa!important;box-shadow:0 30px 90px rgba(11,31,25,.28)!important}
.ai-interpreter-brand .eyebrow{font-size:10px!important;font-weight:900!important;letter-spacing:.16em!important;color:#2b6a56!important}
.ai-interpreter-brand h2{font-size:27px!important;line-height:1.05!important;letter-spacing:-.035em!important;color:#143c31!important}
.ai-interpreter-brand p:last-child{font-size:13px!important;line-height:1.55!important;color:#6a7771!important}
.ai-interpreter-close{width:40px!important;height:40px!important;background:#edf3ef!important;color:#49635a!important;font-size:16px!important}
.ai-interpreter-v2-tools{margin:20px 0 14px!important;gap:13px!important}
.ai-interpreter-v2-mode{padding:15px 16px!important;border-radius:18px!important;background:#f1f6f2!important;border-color:#d7e3da!important}
.ai-interpreter-v2-mode strong{font-size:14px!important;letter-spacing:-.01em!important}.ai-interpreter-v2-mode span{font-size:11px!important}
.ai-interpreter-quick{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important}
.ai-interpreter-quick button{min-height:42px!important;padding:8px 6px!important;border-radius:13px!important;background:#fff!important;box-shadow:0 3px 12px rgba(20,61,49,.04)!important}
.ai-interpreter-v2-options{padding:0 2px 12px!important;border-bottom:1px solid #e5ebe7!important}
.ai-interpreter-language-row{display:grid!important;grid-template-columns:1fr 34px 1fr!important;align-items:stretch!important;margin:14px 0!important;gap:8px!important}
.ai-interpreter-source,.ai-interpreter-target{min-height:62px!important;display:grid!important;align-content:center!important;gap:2px!important;padding:9px 12px!important;border:1px solid #dce5df!important;border-radius:16px!important;background:#fff!important;box-sizing:border-box!important}
.ai-interpreter-source small,.ai-interpreter-target small{font-size:9px!important;font-weight:900!important;letter-spacing:.15em!important;color:#90a099!important}
.ai-interpreter-source b{font-size:15px!important;color:#173c31!important}.ai-interpreter-source em{font-size:10px!important;font-style:normal!important;color:#7a8983!important}
.ai-interpreter-target select{width:100%!important;min-height:auto!important;padding:0!important;border:0!important;border-radius:0!important;font-weight:850!important;font-size:15px!important;color:#173c31!important;outline:0!important}
.ai-interpreter-swap{display:grid!important;place-items:center!important;color:#6b837a!important;font-size:18px!important}
.ai-interpreter-field{gap:8px!important}.ai-interpreter-field>span{font-size:11px!important;color:#597068!important;letter-spacing:.01em!important}
.ai-interpreter-field textarea{min-height:112px!important;resize:none!important;border-radius:18px!important;border-color:#d9e3dd!important;padding:15px 16px!important;font-size:15px!important;line-height:1.55!important;box-shadow:inset 0 1px 0 rgba(0,0,0,.015)!important}
.ai-interpreter-actions{grid-template-columns:.72fr 1.28fr!important;gap:10px!important;margin-top:12px!important}.ai-interpreter-actions button{min-height:50px!important;border-radius:15px!important;font-size:14px!important}
.ai-interpreter-primary{background:#164a3b!important;box-shadow:0 9px 22px rgba(22,74,59,.18)!important}.ai-interpreter-secondary{background:#fff!important}
.ai-interpreter-result{margin-top:15px!important;border:0!important;border-radius:20px!important;padding:15px 16px!important;background:#edf5f0!important;box-shadow:inset 0 0 0 1px #d9e7de!important}
.ai-interpreter-result-head{font-size:11px!important;color:#5d746a!important}.ai-interpreter-result p{margin:12px 0 4px!important;font-size:20px!important;letter-spacing:-.025em!important;color:#173d31!important}
.ai-interpreter-result-head button{border:0!important;background:#fff!important;border-radius:999px!important;padding:7px 10px!important;color:#31594c!important;font-size:11px!important;font-weight:800!important}
.ai-interpreter-status{margin:12px 2px 0!important;font-size:11px!important;color:#7a8983!important}
.ai-interpreter-history{margin-top:10px!important}.ai-interpreter-history-row{padding:10px 12px!important;border-radius:14px!important}
@media(max-width:560px){.ai-interpreter-designer{border-radius:26px 26px 0 0!important;padding:20px 18px max(22px,calc(env(safe-area-inset-bottom) + 16px))!important}.ai-interpreter-brand h2{font-size:24px!important}.ai-interpreter-quick{grid-template-columns:repeat(4,minmax(72px,1fr))!important;overflow-x:auto!important}.ai-interpreter-field textarea{min-height:100px!important}.ai-interpreter-actions{grid-template-columns:.78fr 1.22fr!important}}


/* STEP30_50 - true two-way travel voice conversation controls. Interpreter-only. */
.ai-interpreter-talk-pair{display:grid;grid-template-columns:1fr 30px 1fr;gap:8px;align-items:center}
.ai-interpreter-talk-pair>button{min-height:72px;border:1px solid #d7e3db;border-radius:17px;background:#fff;color:#173d31;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;padding:12px 13px;cursor:pointer;box-shadow:0 4px 14px rgba(20,61,49,.045)}
.ai-interpreter-talk-pair .talk-icon{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e9f3ed;font-size:16px}.ai-interpreter-talk-pair b{font-size:13px;line-height:1.2}.ai-interpreter-talk-pair small{font-size:10px;color:#72827b}
.ai-interpreter-talk-pair>button.is-listening{border-color:#2e755e;background:#eef7f2;box-shadow:0 0 0 3px rgba(46,117,94,.10)}
.ai-interpreter-talk-pair>button.is-listening .talk-icon{animation:ktgInterpreterPulse 1s ease-in-out infinite}
.ai-interpreter-talk-pair .talk-exchange{display:grid;place-items:center;color:#75877f;font-size:18px}
@keyframes ktgInterpreterPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@media(max-width:420px){.ai-interpreter-talk-pair{grid-template-columns:1fr 24px 1fr}.ai-interpreter-talk-pair>button{padding:10px;column-gap:7px}.ai-interpreter-talk-pair .talk-icon{width:30px;height:30px}.ai-interpreter-talk-pair b{font-size:12px}}

/* STEP34_09: mobile map right-side controls must remain unobstructed. */
@media(max-width:759px){
  .ai-interpreter-fab{
    left:max(12px,env(safe-area-inset-left))!important;
    right:auto!important;
    bottom:max(14px,calc(env(safe-area-inset-bottom) + 12px))!important;
  }
}


/* STEP36_57 - app/home quick link to Communication Studio */
.live-communication-fab{
  position:fixed!important;
  left:max(132px,calc(env(safe-area-inset-left) + 132px))!important;
  right:auto!important;
  bottom:max(14px,calc(env(safe-area-inset-bottom) + 12px))!important;
  z-index:2147482000!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  gap:8px!important;
  min-height:54px!important;
  border:0!important;
  border-radius:999px!important;
  padding:10px 16px 10px 10px!important;
  background:#176ee8!important;
  color:#fff!important;
  font-weight:850!important;
  font-size:13px!important;
  text-decoration:none!important;
  box-shadow:0 12px 30px rgba(23,110,232,.24)!important;
  pointer-events:auto!important;
  white-space:nowrap!important;
}
.live-communication-fab-icon{
  display:grid!important;place-items:center!important;width:34px!important;height:34px!important;
  border-radius:50%!important;background:rgba(255,255,255,.16)!important;font-size:17px!important;
}
@media(min-width:760px){
  .live-communication-fab{left:auto!important;right:145px!important;bottom:26px!important}
}
@media(max-width:420px){
  .live-communication-fab{left:max(118px,calc(env(safe-area-inset-left) + 118px))!important;padding-right:12px!important}
  .live-communication-fab span:last-child{font-size:12px!important}
}
