.toast-viewport{position:fixed;z-index:99999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:420px;width:calc(100% - 32px);bottom:24px;right:24px}@media (max-width:768px){.toast-viewport{top:calc(env(safe-area-inset-top, 0px) + 16px);bottom:auto;left:50%;transform:translateX(-50%);right:auto;width:calc(100% - 24px)}}.toast-card{pointer-events:auto;position:relative;background:#ffffff;color:#05044a;border:1px solid rgba(5,4,74,.15);border-radius:2px;box-shadow:0 4px 16px rgba(5,4,74,.1);overflow:hidden;animation:toast-in .2s cubic-bezier(.16,1,.3,1) forwards;transition:transform .15s ease,opacity .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-card.toast-error{border-left:4px solid #d32f2f}.toast-card.toast-success{border-left:4px solid #2e7d32}.toast-card.toast-warning{border-left:4px solid #ed6c02}.toast-card.toast-info{border-left:4px solid #05044a}.toast-card.toast-loading{border-left:4px solid #0288d1}.toast-body{display:flex;align-items:center;gap:12px;padding:12px 14px}.toast-icon{flex-shrink:0;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;border-radius:2px}.toast-success .toast-icon{color:#2e7d32}.toast-error .toast-icon{color:#d32f2f}.toast-warning .toast-icon{color:#ed6c02}.toast-info .toast-icon{color:#05044a}.toast-content{flex:1 1 auto;min-width:0}.toast-title{font-weight:600;font-size:13px;margin-bottom:2px;color:#05044a}.toast-message{font-size:13px;line-height:1.4;color:#1a1a4b;word-break:break-word}.toast-count{display:inline-block;margin-left:6px;padding:1px 5px;font-size:11px;font-weight:600;background:rgba(5,4,74,.08);border-radius:2px}.toast-action-btn{flex-shrink:0;background:#05044a;color:#ffffff;border:1px solid #05044a;border-radius:2px;font-size:12px;font-weight:600;padding:4px 10px;cursor:pointer;transition:background .15s ease}.toast-action-btn:hover{background:#11106e}.toast-close-btn{flex-shrink:0;background:transparent;border:none;font-size:16px;line-height:1;color:rgba(5,4,74,.5);cursor:pointer;padding:4px}.toast-close-btn:hover{color:#05044a}.toast-progress-bar{height:2px;background:rgba(5,4,74,.2);width:100%;animation:toast-progress linear forwards}@keyframes toast-progress{0%{width:100%}to{width:0}}.toast-spinner{width:14px;height:14px;border:2px solid rgba(5,4,74,.2);border-top-color:#05044a;border-radius:50%;animation:spin .7s linear infinite}.confirm-overlay{position:fixed;inset:0;z-index:100000;background:rgba(5,4,74,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:confirm-fade-in .18s ease forwards}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:#ffffff;color:#05044a;border-radius:8px;box-shadow:0 25px 60px rgba(5,4,74,.35);max-width:420px;width:100%;padding:28px;text-align:left;border:none;animation:confirm-pop-in .2s cubic-bezier(.16,1,.3,1) forwards}@keyframes confirm-pop-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:640px){.confirm-overlay{align-items:flex-end;padding:0}.confirm-dialog{max-width:100%;border-radius:12px 12px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom, 0px))}}.confirm-header{margin:0 0 10px}.confirm-badge{display:none}.confirm-title{margin:0;font-size:19px;font-weight:700;color:#05044a;line-height:1.3}.confirm-message{font-size:14.5px;line-height:1.5;color:#4a5068;margin:0 0 24px}.confirm-details{background:#fafbfe;border:1px solid #eaedf6;border-radius:6px;padding:10px 14px;font-size:13px;color:#4a5068;margin:0 0 20px}.confirm-require-input{margin:0 0 20px}.confirm-require-label{display:block;font-size:13px;margin-bottom:6px;color:#05044a;font-weight:500}.confirm-input{width:100%;padding:9px 12px;font-size:14px;font-family:inherit;border:1px solid #dde2ee;border-radius:6px;outline:none;background:#ffffff;color:#05044a;box-sizing:border-box}.confirm-input:focus{border-color:#05044a;box-shadow:0 0 0 1px #05044a}.confirm-inline-error{padding:9px 14px;margin-bottom:18px;background:#fde8e8;border:1px solid #f8b4b4;border-radius:6px;color:#c02626;font-size:13px;font-weight:500}.confirm-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px}.confirm-btn-cancel{background:#ffffff;color:#05044a;border:1px solid #dde2ee;border-radius:6px;padding:9px 18px;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .15s ease;line-height:1.2}.confirm-btn-cancel:hover:not(:disabled){background:rgba(5,4,74,.04);border-color:#05044a}.confirm-btn-confirm{border:1px solid transparent;border-radius:6px;padding:9px 20px;font-size:13.5px;font-weight:600;cursor:pointer;color:#ffffff!important;transition:all .15s ease;line-height:1.2}.confirm-btn-confirm.tone-danger{background:#c02626;border-color:#c02626}.confirm-btn-confirm.tone-danger:hover:not(:disabled){background:#a31c1c;border-color:#a31c1c}.confirm-btn-confirm.tone-warning{background:#d97706;border-color:#d97706}.confirm-btn-confirm.tone-warning:hover:not(:disabled){background:#b45309;border-color:#b45309}.confirm-btn-confirm.tone-info{background:#05044a;border-color:#05044a}.confirm-btn-confirm.tone-info:hover:not(:disabled){background:#11106e;border-color:#11106e}.confirm-btn-cancel:disabled,.confirm-btn-confirm:disabled{opacity:.55;cursor:not-allowed}.confirm-spinner-wrap{display:inline-flex;align-items:center;gap:8px}.confirm-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#ffffff;border-radius:50%;animation:spin .65s linear infinite}.guarded-btn{position:relative;transition:opacity .15s ease}.guarded-btn.is-busy{cursor:wait}.guarded-btn-inner{display:inline-flex;align-items:center;justify-content:center;gap:8px}.guarded-spinner{width:14px;height:14px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.okc{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:#05044a;color:#ffffff;border-radius:2px;margin-bottom:16px}.okc svg{width:24px;height:24px;stroke:#ffffff;stroke-width:2.5;fill:none}.okc svg path,.okc svg polyline{stroke-dasharray:40;stroke-dashoffset:40;animation:draw-check .4s cubic-bezier(.65,0,.45,1) .1s forwards}@keyframes draw-check{to{stroke-dashoffset:0}}.skeleton-line{height:16px;margin-bottom:12px}.skeleton-box,.skeleton-line{background:linear-gradient(90deg,rgba(5,4,74,.05) 25%,rgba(5,4,74,.1) 37%,rgba(5,4,74,.05) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:2px}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion:reduce){.confirm-dialog,.confirm-overlay,.toast-card{animation:none!important;transition:none!important}.okc svg path,.okc svg polyline,.skeleton-box,.skeleton-line,.toast-progress-bar{animation:none!important}}.dr-chat-launcher{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));right:calc(20px + env(safe-area-inset-right));width:56px;height:56px;background-color:var(--m-sig);color:var(--m-wh);border:1px solid var(--m-ln);border-radius:6px;box-shadow:0 8px 24px rgba(5,4,74,.25);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:160;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.dr-chat-launcher:hover{background-color:var(--m-n);transform:translateY(-2px);box-shadow:0 12px 28px rgba(5,4,74,.32)}.dr-chat-launcher:focus-visible{outline:3px solid var(--m-sky);outline-offset:2px}.dr-chat-launcher svg{width:26px;height:26px}.dr-btt{bottom:calc(86px + env(safe-area-inset-bottom))!important;right:calc(25px + env(safe-area-inset-right))!important}.dr-chat-panel{position:fixed;bottom:calc(86px + env(safe-area-inset-bottom));right:calc(20px + env(safe-area-inset-right));width:380px;max-width:calc(100vw - 32px);height:560px;max-height:min(560px,calc(100vh - 100px));background-color:var(--m-wh);border:1px solid var(--m-ln);border-radius:6px;box-shadow:0 18px 48px rgba(5,4,74,.22);display:flex;flex-direction:column;z-index:170;overflow:hidden;animation:dr-chat-pop .22s cubic-bezier(.16,1,.3,1) both;transition:width .22s cubic-bezier(.16,1,.3,1),height .22s cubic-bezier(.16,1,.3,1)}.dr-chat-panel.booking-mode{width:440px;max-width:calc(100vw - 32px);height:680px;max-height:min(680px,calc(100vh - 96px))}@keyframes dr-chat-pop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dr-chat-header{background-color:var(--m-n);color:var(--m-wh);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);flex-shrink:0}.dr-chat-header-title-wrap{display:flex;align-items:center;gap:10px}.dr-chat-logo{width:28px;height:28px;object-fit:contain;flex-shrink:0}.dr-chat-header-info{display:flex;flex-direction:column;gap:1px}.dr-chat-title{margin:0;font-family:var(--f-head);font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--m-wh);display:flex;align-items:center;gap:6px}.dr-chat-subtitle{margin:0;font-family:var(--f-body);font-size:11.5px;color:rgba(255,255,255,.78)}.dr-chat-close-btn{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--m-wh);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.dr-chat-close-btn:hover{background-color:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4)}.dr-chat-close-btn:focus-visible{outline:2px solid var(--m-sky);outline-offset:2px}.dr-chat-body{flex:1 1;overflow-y:auto;background-color:var(--m-mi);padding:14px;gap:12px;scroll-behavior:smooth}.dr-chat-body,.dr-chat-msg{display:flex;flex-direction:column}.dr-chat-msg{max-width:90%;animation:dr-msg-in .18s ease-out both}@keyframes dr-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dr-chat-msg.bot{align-self:flex-start}.dr-chat-msg.user{align-self:flex-end;max-width:82%}.dr-chat-bubble{border-radius:4px;padding:10px 13px;font-family:var(--f-body);font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.dr-chat-bubble.bot{background-color:var(--m-wh);color:var(--m-ink);border:1px solid var(--m-ln);box-shadow:0 2px 6px rgba(5,4,74,.04)}.dr-chat-bubble.user{background-color:var(--m-sig);color:var(--m-wh);font-weight:500;border:1px solid var(--m-sig)}.dr-chat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.dr-chat-chip{font-family:var(--f-body);font-size:12px;font-weight:600;padding:6px 10px;border-radius:4px;border:1px solid var(--m-sig);background-color:var(--m-wh);color:var(--m-sig);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px;text-decoration:none}.dr-chat-chip:hover{background-color:var(--m-n);border-color:var(--m-n);color:var(--m-wh)}.dr-chat-chip:focus-visible{outline:2px solid var(--m-sky);outline-offset:1px}.dr-chat-chip.primary{background-color:var(--m-sig);color:var(--m-wh);border-color:var(--m-sig)}.dr-chat-chip.primary:hover{background-color:var(--m-n);border-color:var(--m-n);color:var(--m-wh)}.dr-code-card{margin-top:8px;background-color:var(--m-wh);border:1px solid var(--m-ln);border-top:3px solid var(--m-sig);border-radius:4px;padding:12px 14px;box-shadow:0 4px 12px rgba(5,4,74,.06)}.dr-code-card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:8px}.dr-code-badge{font-family:var(--f-mono);background-color:var(--m-mi);color:var(--m-n);padding:3px 6px;border:1px solid var(--m-ln);border-radius:3px}.dr-code-badge,.dr-code-disp{font-size:11px;font-weight:600}.dr-code-disp{color:var(--m-gr)}.dr-code-card-title{margin:0 0 6px;font-family:var(--f-head);font-size:13.5px;font-weight:700;color:var(--m-n)}.dr-code-card-body{margin:0 0 8px;font-size:12.5px;line-height:1.45;color:var(--m-sl)}.dr-code-card-docs{margin:8px 0;padding-left:18px;font-size:12px;color:var(--m-ink)}.dr-code-card-docs li{margin-bottom:3px}.dr-code-card-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--m-sig);text-decoration:underline;margin-top:4px}.dr-code-card-link:hover{color:var(--m-n)}.dr-chat-footer{background-color:var(--m-wh);border-top:1px solid var(--m-ln);padding:10px 12px;flex-shrink:0}.dr-chat-form{display:flex;gap:8px;align-items:center}.dr-chat-input{flex:1 1;padding:9px 12px;border:1px solid var(--m-ln);border-radius:4px;font-family:var(--f-body);font-size:13.5px;color:var(--m-ink);background-color:var(--m-wh);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.dr-chat-input:focus{border-color:var(--m-sig);box-shadow:0 0 0 2px rgba(31,79,224,.18)}.dr-chat-send-btn{width:36px;height:36px;background-color:var(--m-sig);color:var(--m-wh);border:none;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background-color .15s ease}.dr-chat-send-btn:hover:not(:disabled){background-color:var(--m-n)}.dr-chat-send-btn:disabled{opacity:.45;cursor:not-allowed}.dr-chat-send-btn:focus-visible{outline:2px solid var(--m-sky);outline-offset:1px}.dr-chat-booking-view{flex:1 1;display:flex;flex-direction:column;background-color:var(--m-wh);overflow:hidden;position:relative}.dr-chat-booking-nav{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background-color:var(--m-mi);border-bottom:1px solid var(--m-ln);flex-shrink:0}.dr-chat-booking-back{font-family:var(--f-body);font-size:12.5px;font-weight:600;color:var(--m-sig);background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border-radius:4px}.dr-chat-booking-back:hover{color:var(--m-n);background-color:rgba(5,4,74,.05)}.dr-chat-booking-ext{font-family:var(--f-body);font-size:11.5px;font-weight:500;color:var(--m-sl);text-decoration:underline;display:inline-flex;align-items:center;gap:3px}.dr-chat-booking-ext:hover{color:var(--m-sig)}.dr-chat-booking-frame-wrap{flex:1 1;position:relative;overflow:hidden;background-color:var(--m-wh);height:100%;min-height:0;width:100%}.dr-chat-booking-iframe{width:100%;height:100%;border:none;display:block}.dr-chat-booking-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--m-wh);gap:12px;color:var(--m-sl);font-size:13px;z-index:2}.dr-chat-booking-spinner{width:28px;height:28px;border:3px solid var(--m-ln);border-top-color:var(--m-sig);border-radius:50%;animation:dr-spin .8s linear infinite}@keyframes dr-spin{to{transform:rotate(1turn)}}.dr-chat-booking-fallback{padding:20px;display:flex;flex-direction:column;gap:12px;color:var(--m-ink);font-size:13.5px;line-height:1.5;background-color:var(--m-wh);border-radius:6px}.dr-chat-booking-fallback h4{margin:0;font-family:var(--f-head);font-size:15px;font-weight:700;color:var(--m-n)}@media (max-width:640px){.dr-chat-panel{position:fixed!important;left:12px!important;right:12px!important;height:72dvh!important;max-height:600px!important;bottom:calc(72px + env(safe-area-inset-bottom))!important;border:1px solid var(--m-ln)!important;border-radius:12px 12px 0 0!important;z-index:170!important;box-shadow:0 16px 40px rgba(5,4,74,.28)!important;animation:dr-sheet-in .22s cubic-bezier(.16,1,.3,1) both}.dr-chat-panel,.dr-chat-panel.booking-mode{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important}.dr-chat-panel.booking-mode{height:90dvh!important;max-height:calc(100dvh - 76px)!important}@keyframes dr-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.dr-chat-launcher{bottom:calc(76px + env(safe-area-inset-bottom));right:calc(16px + env(safe-area-inset-right));width:50px;height:50px}.dr-chat-launcher svg{width:24px;height:24px}.dr-btt{bottom:calc(136px + env(safe-area-inset-bottom))!important;right:calc(19px + env(safe-area-inset-right))!important}}@media (prefers-reduced-motion:reduce){.dr-chat-booking-spinner,.dr-chat-chip,.dr-chat-close-btn,.dr-chat-launcher,.dr-chat-msg,.dr-chat-panel{animation:none!important;transition:none!important}}