:root{--color-primary: #0F766E;--color-primary-dark: #0D5F58;--color-primary-light: #CCFBF1;--color-accent: #14B8A6;--color-bg: #F0EBE3;--color-bg-chat: #E8E0D5;--color-surface: #FFFFFF;--color-bubble-out: #D4F1C4;--color-bubble-in: #FFFFFF;--color-text-primary: #1C1917;--color-text-secondary:#57534E;--color-text-light: #A8A29E;--color-emergency: #DC2626;--color-emergency-bg: #FEF2F2;--color-emergency-border:#FECACA;--color-urgent: #D97706;--color-urgent-bg: #FFFBEB;--color-soon: #D97706;--color-routine: #16A34A;--color-routine-bg: #F0FDF4;--color-border: #D6CFC8;--color-input-bg: #FFFFFF;--radius-bubble: 18px;--radius-card: 16px;--radius-pill: 999px;--shadow-soft: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-card: 0 4px 16px rgba(0,0,0,.1), 0 1px 4px rgba(0,0,0,.06);--font-main: "Inter", "Noto Sans Devanagari", system-ui, sans-serif;--font-deva: "Noto Sans Devanagari", "Inter", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:var(--font-main);background:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell{display:flex;justify-content:center;align-items:stretch;min-height:100vh;background:var(--color-bg)}.app-container{display:flex;flex-direction:column;width:100%;max-width:480px;min-height:100vh;background:var(--color-bg-chat);position:relative;box-shadow:0 0 60px #0000001f}.app-header{background:var(--color-primary);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:20;box-shadow:0 2px 8px #00000026}.app-header-brand{display:flex;align-items:center;gap:10px}.app-header-logo{width:38px;height:38px;background:#ffffff26;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.app-header-title{display:flex;flex-direction:column}.app-header-name{font-size:16px;font-weight:700;color:#fff;letter-spacing:-.01em;line-height:1.2}.app-header-tagline{font-size:11px;color:#ffffffbf;font-weight:400;line-height:1.3}.lang-toggle{display:flex;gap:4px;background:#00000026;border-radius:var(--radius-pill);padding:3px}.lang-btn{font-family:var(--font-main);font-size:11px;font-weight:600;padding:4px 10px;border-radius:var(--radius-pill);border:none;cursor:pointer;transition:background .18s ease,color .18s ease,transform .1s ease;color:#ffffffbf;background:transparent;line-height:1.4;letter-spacing:.02em}.lang-btn:hover{background:#ffffff26;color:#fff}.lang-btn.active{background:#fff;color:var(--color-primary);box-shadow:var(--shadow-soft);transform:scale(1.02)}.chat-window{flex:1;overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:6px;scroll-behavior:smooth}.chat-window::-webkit-scrollbar{width:4px}.chat-window::-webkit-scrollbar-track{background:transparent}.chat-window::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.message-row{display:flex;width:100%;animation:fadeSlideIn .22s ease-out}.message-row--user{justify-content:flex-end}.message-row--assistant{justify-content:flex-start}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-bubble{max-width:78%;padding:9px 13px;border-radius:var(--radius-bubble);font-size:14.5px;line-height:1.5;position:relative;box-shadow:var(--shadow-soft);word-break:break-word}.message-bubble--user{background:var(--color-bubble-out);color:var(--color-text-primary);border-bottom-right-radius:4px}.message-bubble--user:after{content:"";position:absolute;bottom:0;right:-7px;width:0;height:0;border-left:8px solid var(--color-bubble-out);border-top:8px solid transparent;border-bottom:0px solid transparent}.message-bubble--assistant{background:var(--color-bubble-in);color:var(--color-text-primary);border-bottom-left-radius:4px}.message-bubble--assistant:after{content:"";position:absolute;bottom:0;left:-7px;width:0;height:0;border-right:8px solid var(--color-bubble-in);border-top:8px solid transparent;border-bottom:0px solid transparent}.message-time{font-size:10px;color:var(--color-text-light);margin-top:3px;text-align:right;line-height:1}.message-bubble--assistant .message-time{text-align:left}.typing-row{display:flex;justify-content:flex-start;animation:fadeSlideIn .22s ease-out}.typing-bubble{background:var(--color-bubble-in);border-radius:var(--radius-bubble);border-bottom-left-radius:4px;padding:12px 16px;box-shadow:var(--shadow-soft);display:flex;align-items:center;gap:5px;position:relative}.typing-bubble:after{content:"";position:absolute;bottom:0;left:-7px;border-right:8px solid var(--color-bubble-in);border-top:8px solid transparent;border-bottom:0px solid transparent}.typing-dot{width:7px;height:7px;background:var(--color-text-light);border-radius:50%;animation:typingBounce 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.emergency-banner{background:var(--color-emergency-bg);border:1.5px solid var(--color-emergency-border);border-radius:var(--radius-bubble);border-bottom-left-radius:4px;padding:12px 15px;box-shadow:0 2px 8px #dc26261f;max-width:88%;animation:fadeSlideIn .22s ease-out;position:relative}.emergency-banner:after{content:"";position:absolute;bottom:0;left:-7px;border-right:8px solid var(--color-emergency-border);border-top:8px solid transparent;border-bottom:0px solid transparent}.emergency-icon{font-size:22px;margin-bottom:6px;display:block}.emergency-text{font-size:14.5px;font-weight:600;color:var(--color-emergency);line-height:1.5}.input-bar{padding:10px 12px;background:var(--color-bg);border-top:1px solid var(--color-border);display:flex;align-items:flex-end;gap:8px}.input-field-wrap{flex:1;background:var(--color-input-bg);border-radius:var(--radius-pill);border:1.5px solid var(--color-border);display:flex;align-items:center;padding:0 16px;transition:border-color .15s ease;min-height:44px}.input-field-wrap:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px #14b8a61a}.input-textarea{flex:1;border:none;outline:none;resize:none;background:transparent;font-family:var(--font-main);font-size:15px;color:var(--color-text-primary);padding:10px 0;max-height:100px;overflow-y:auto;line-height:1.4}.input-textarea::placeholder{color:var(--color-text-light)}.send-btn{width:44px;height:44px;border-radius:50%;background:var(--color-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease,transform .1s ease,opacity .15s ease;box-shadow:var(--shadow-soft)}.send-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:scale(1.05)}.send-btn:active:not(:disabled){transform:scale(.96)}.send-btn:disabled{opacity:.45;cursor:not-allowed}.send-btn svg{fill:#fff;width:20px;height:20px}.result-card-wrap{padding:12px;background:var(--color-bg);border-top:1px solid var(--color-border);max-height:62vh;overflow-y:auto}.result-card{background:var(--color-surface);border-radius:var(--radius-card);padding:20px;box-shadow:var(--shadow-card);border:1px solid var(--color-border);animation:fadeSlideIn .3s ease-out}.result-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.result-specialty-label{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.result-specialty-name{font-size:22px;font-weight:700;color:var(--color-text-primary);line-height:1.2}.urgency-badge{flex-shrink:0;padding:5px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.urgency-badge--routine{background:var(--color-routine-bg);color:var(--color-routine);border:1.5px solid #BBF7D0}.urgency-badge--soon{background:var(--color-urgent-bg);color:var(--color-soon);border:1.5px solid #FDE68A}.urgency-badge--urgent{background:var(--color-emergency-bg);color:var(--color-emergency);border:1.5px solid var(--color-emergency-border)}.result-divider{height:1px;background:var(--color-border);margin:14px 0}.result-why-label{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.result-why-text{font-size:14px;color:var(--color-text-secondary);line-height:1.6}.result-confidence-bar{margin-top:14px}.result-confidence-label{font-size:11px;color:var(--color-text-light);margin-bottom:5px}.confidence-track{height:5px;background:var(--color-primary-light);border-radius:999px;overflow:hidden}.confidence-fill{height:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-primary));border-radius:999px;transition:width .6s ease}.bottom-action-bar{padding:12px;background:var(--color-bg);border-top:1px solid var(--color-border)}.new-consultation-btn{width:100%;padding:13px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-pill);font-family:var(--font-main);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease;box-shadow:var(--shadow-soft);letter-spacing:.01em}.new-consultation-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #0f766e4d}.new-consultation-btn:active{transform:translateY(0)}.message-bubble--error{background:#fff7ed;border:1px solid #FED7AA;color:#92400e}.date-separator{text-align:center;font-size:11px;color:var(--color-text-light);padding:6px 0;position:relative}@media (max-width: 480px){.app-container{max-width:100%;box-shadow:none}}.provider-title{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.provider-controls{display:flex;gap:8px;flex-wrap:wrap}.provider-select{flex:1 1 140px;min-width:0;padding:9px 10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-input-bg);color:var(--color-text-primary);font:inherit;font-size:14px}.provider-locate-btn{flex:1 1 140px;padding:9px 12px;border:1px solid var(--color-primary);border-radius:10px;background:var(--color-primary-light);color:var(--color-primary-dark);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.provider-locate-btn:disabled{opacity:.6;cursor:wait}.provider-note{margin-top:10px;font-size:13px;color:var(--color-text-secondary)}.provider-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.provider-item{padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg)}.provider-item-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.provider-name{font-size:14px;font-weight:700;color:var(--color-text-primary)}.provider-distance{flex-shrink:0;font-size:12px;font-weight:600;color:var(--color-primary-dark)}.provider-meta{margin-top:2px;font-size:12px;color:var(--color-text-secondary)}.provider-tags{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}.provider-tag{padding:2px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:600}.provider-tag--verified{background:var(--color-routine-bg);color:var(--color-routine)}.provider-tag--demo{background:var(--color-urgent-bg);color:var(--color-urgent)}.result-card[hidden]{display:none}.provider-book-btn{margin-left:auto;padding:5px 16px;border:none;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.provider-book-btn:hover{background:var(--color-primary-dark)}.booking-back{padding:0;margin-bottom:10px;border:none;background:none;color:var(--color-primary-dark);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.booking-title{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.booking-provider{font-size:18px;font-weight:700;color:var(--color-text-primary);line-height:1.25}.booking-provider-sub{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--color-text-secondary)}.booking-label{display:block;margin:14px 0 6px;font-size:12px;font-weight:600;color:var(--color-text-secondary)}.booking-chips{display:flex;flex-wrap:wrap;gap:8px}.booking-chip{padding:8px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:13px;cursor:pointer}.booking-chip--active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-dark);font-weight:700}.booking-chip:disabled{opacity:.4;text-decoration:line-through;cursor:not-allowed}.booking-input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-input-bg);color:var(--color-text-primary);font:inherit;font-size:15px}.booking-error{margin-top:12px;padding:8px 12px;border-radius:10px;background:var(--color-emergency-bg);border:1px solid var(--color-emergency-border);color:var(--color-emergency);font-size:13px}.booking-submit{width:100%;margin-top:16px;padding:12px;border:none;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer}.booking-submit:disabled{opacity:.6;cursor:wait}.booking-confirm{text-align:center}.booking-confirm-icon{width:52px;height:52px;margin:4px auto 10px;border-radius:50%;background:var(--color-routine-bg);border:2px solid var(--color-routine);color:var(--color-routine);font-size:28px;line-height:48px;font-weight:700}.booking-confirm-title{font-size:20px;font-weight:700;color:var(--color-text-primary)}.booking-ref-box{margin:14px 0;padding:10px;border:1.5px dashed var(--color-primary);border-radius:12px;background:var(--color-primary-light)}.booking-ref-label{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.booking-ref-code{font-size:26px;font-weight:800;letter-spacing:.08em;color:var(--color-primary-dark)}.booking-details{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;text-align:left;font-size:14px}.booking-details dt{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.booking-details dd{margin:0;color:var(--color-text-primary)}.booking-note{margin-top:12px;font-size:13px;color:var(--color-text-secondary)}.booking-note--demo{padding:8px 12px;border-radius:10px;background:var(--color-urgent-bg);color:var(--color-urgent);font-weight:600}.waking-banner{padding:8px 14px;background:var(--color-urgent-bg);border-bottom:1px solid #FDE68A;color:var(--color-urgent);font-size:13px;font-weight:600;text-align:center}
