.haisa-v160-gate[hidden] { display: none !important; }
.haisa-v160-gate { position: fixed; inset: 0; z-index: 2147483600; display: grid; place-items: center; padding: 18px; font-family: inherit; direction: rtl; }
.haisa-v160-gate__backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .36); backdrop-filter: blur(7px); opacity: 0; transition: opacity .18s ease; }
.haisa-v160-gate__card { position: relative; width: min(100%, 420px); max-height: min(760px, calc(100dvh - 36px)); overflow: auto; background: #fff; color: #172033; border: 1px solid #e4e9ef; border-radius: 26px; box-shadow: 0 28px 80px rgba(15, 23, 42, .2); padding: 28px; transform: translateY(14px) scale(.985); opacity: 0; transition: transform .18s ease, opacity .18s ease; }
.haisa-v160-gate.is-visible .haisa-v160-gate__backdrop { opacity: 1; }
.haisa-v160-gate.is-visible .haisa-v160-gate__card { transform: translateY(0) scale(1); opacity: 1; }
.haisa-v160-gate__mark { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 17px; border-radius: 19px; color: #087f73; background: linear-gradient(145deg, #e9fffb, #f5fffd); border: 1px solid #c9f4eb; box-shadow: 0 12px 28px rgba(10, 165, 145, .13); }
.haisa-v160-gate__mark svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.haisa-v160-gate h2 { margin: 0; color: #172033; font-size: 20px; line-height: 1.65; font-weight: 800; text-align: center; }
.haisa-v160-gate__desc { margin: 8px auto 22px; color: #667085; font-size: 13px; line-height: 1.9; text-align: center; max-width: 340px; }
.haisa-v160-phone-wrap { display: grid; gap: 8px; color: #344054; font-size: 13px; font-weight: 700; }
.haisa-v160-phone-wrap input { width: 100%; height: 52px; box-sizing: border-box; padding: 0 15px; color: #172033 !important; background: #fff !important; border: 1px solid #d9e0e8 !important; border-radius: 15px !important; box-shadow: none !important; outline: none; font: 600 15px/1.2 inherit; text-align: left; transition: border-color .15s ease, box-shadow .15s ease; }
.haisa-v160-phone-wrap input:focus { border-color: #0f9f8c !important; box-shadow: 0 0 0 4px rgba(15, 159, 140, .1) !important; }
.haisa-v160-consent { display: flex; align-items: flex-start; gap: 9px; margin: 14px 1px 0; color: #5f6b7a; font-size: 12px; line-height: 1.8; cursor: pointer; }
.haisa-v160-consent input { width: 17px; height: 17px; flex: 0 0 17px; margin-top: 4px; accent-color: #0f9f8c; }
.haisa-v160-gate__error { margin-top: 12px; padding: 10px 12px; color: #a1122f; background: #fff2f4; border: 1px solid #ffd5dc; border-radius: 12px; font-size: 12px; line-height: 1.7; }
.haisa-v160-gate__submit { position: relative; width: 100%; height: 51px; display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 17px; padding: 0 18px; color: #fff !important; background: #0f8f80 !important; border: 0 !important; border-radius: 15px !important; box-shadow: 0 10px 24px rgba(15, 143, 128, .18) !important; font: 800 14px/1 inherit; cursor: pointer; transition: transform .15s ease, background .15s ease; }
.haisa-v160-gate__submit:hover { background: #0a776b !important; transform: translateY(-1px); }
.haisa-v160-gate__submit:disabled { opacity: .68; cursor: wait; transform: none; }
.haisa-v160-spinner { display: none; width: 17px; height: 17px; border: 2px solid rgba(255,255,255,.38); border-top-color: #fff; border-radius: 50%; animation: haisaV160Spin .7s linear infinite; }
.haisa-v160-gate__submit.is-loading .haisa-v160-spinner { display: block; }
.haisa-v160-gate__skip { display: block; width: 100%; margin-top: 9px; padding: 9px; color: #667085 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; font: 600 12px/1.4 inherit; cursor: pointer; }
.haisa-v160-gate__privacy { margin: 14px 0 0; color: #98a2b3; font-size: 10.5px; line-height: 1.7; text-align: center; }
.haisa-v160-hp { position: absolute !important; inset-inline-start: -99999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
html.haisa-v160-gate-open { overflow: hidden !important; }
.haisa-v160-toast { position: fixed; z-index: 2147483601; inset-inline-start: 50%; bottom: max(24px, env(safe-area-inset-bottom)); width: max-content; max-width: min(92vw, 430px); padding: 12px 16px; color: #172033; background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; box-shadow: 0 16px 42px rgba(15, 23, 42, .18); font: 700 12px/1.8 inherit; direction: rtl; opacity: 0; pointer-events: none; transform: translate(-50%, 12px); transition: .18s ease; }
.haisa-v160-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.haisa-v160-toast.is-success { border-color: #b9eadf; color: #087565; }
.haisa-v160-toast.is-warning { border-color: #ffd7a8; color: #914600; }
.haisa-v160-local-message { display: flex; width: 100%; margin: 10px 0; box-sizing: border-box; direction: rtl; }
.haisa-v160-local-message.is-user { justify-content: flex-start; }
.haisa-v160-local-message.is-assistant { justify-content: flex-end; }
.haisa-v160-local-message__bubble { max-width: min(86%, 520px); padding: 11px 14px; color: #1f2937; background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; font: 500 13px/1.9 inherit; white-space: pre-wrap; overflow-wrap: anywhere; box-sizing: border-box; }
.haisa-v160-local-message.is-user .haisa-v160-local-message__bubble { background: #f2f4f7; border-color: #eaecf0; }
.haisa-v160-local-typing .haisa-v160-local-message__bubble { display: inline-flex; align-items: center; gap: 5px; color: #667085; }
.haisa-v160-local-typing i { width: 5px; height: 5px; border-radius: 50%; background: #0f9f8c; animation: haisaV160Dot 1s infinite ease-in-out; }
.haisa-v160-local-typing i:nth-of-type(2) { animation-delay: .14s; }
.haisa-v160-local-typing i:nth-of-type(3) { animation-delay: .28s; }
@keyframes haisaV160Spin { to { transform: rotate(360deg); } }
@keyframes haisaV160Dot { 0%, 60%, 100% { transform: translateY(0); opacity: .35; } 30% { transform: translateY(-4px); opacity: 1; } }
@media (max-width: 520px) {
  .haisa-v160-gate { padding: 10px; align-items: end; }
  .haisa-v160-gate__card { width: 100%; max-height: calc(100dvh - 20px); padding: 23px 18px calc(20px + env(safe-area-inset-bottom)); border-radius: 24px; }
  .haisa-v160-gate h2 { font-size: 18px; }
  .haisa-v160-gate__desc { font-size: 12.5px; margin-bottom: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .haisa-v160-gate *, .haisa-v160-toast, .haisa-v160-local-typing i { animation: none !important; transition-duration: .01ms !important; }
}
