@import url(https://api.fontshare.com/v2/css?f[]=satoshi@400,500,700&f[]=cabinet-grotesk@500,700&display=swap);:root{--font-sans:"Satoshi",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-display:"Cabinet Grotesk","Satoshi",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Fira Code",monospace;--color-bg-primary:#fafaf9;--color-bg-secondary:#fff;--color-bg-tertiary:#f5f5f4;--color-bg-elevated:#fff;--color-text-primary:#1c1917;--color-text-secondary:#44403c;--color-text-muted:#78716c;--color-text-inverted:#fff;--color-border:#e7e5e4;--color-border-subtle:#f5f5f4;--color-accent:#0d9488;--color-accent-hover:#0f766e;--color-accent-subtle:#0d948814;--color-success:#10b981;--color-error:#ef4444;--color-warning:#f59e0b;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #0000000d,0 2px 4px -2px #00000008;--shadow-lg:0 10px 15px -3px #0000000f,0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000000f,0 8px 10px -6px #0000000a;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.45,0,0.55,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;text-rendering:optimizeLegibility}body{background:#fafaf9;background:var(--color-bg-primary);color:#1c1917;color:var(--color-text-primary);font-family:Satoshi,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font-sans);font-size:.9375rem;line-height:1.6}#root,body{min-height:100vh}:focus-visible{outline:2px solid #0d9488;outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:#0d948826;color:#1c1917;color:var(--color-text-primary)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#e7e5e4;background:var(--color-border);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#78716c;background:var(--color-text-muted)}.login-container{align-items:center;background:var(--color-surface-secondary);display:flex;justify-content:center;min-height:100vh;padding:var(--space-5)}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);max-width:420px;padding:var(--space-8);width:100%}.login-header{margin-bottom:var(--space-8);text-align:center}.login-logo{color:var(--color-accent);display:flex;justify-content:center;margin-bottom:var(--space-4)}.login-header h1{color:var(--color-text);font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-2)}.login-header h2{color:var(--color-text-secondary);font-size:18px;font-weight:500;margin-bottom:var(--space-3)}.login-header p{color:var(--color-text-muted);font-size:14px}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.login-error{align-items:center;background:#ef444414;border:1px solid #ef444433;border-radius:var(--radius-lg);color:#dc2626;display:flex;font-size:14px;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.login-form .form-group{display:flex;flex-direction:column;gap:var(--space-2)}.login-form .form-group label{color:var(--color-text);font-size:14px;font-weight:500}.login-form .form-group input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-family:var(--font-sans);font-size:16px;padding:var(--space-3) var(--space-4);transition:all .2s ease}.login-form .form-group input::placeholder{color:var(--color-text-muted)}.login-form .form-group input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #0d94881a;outline:none}.login-form .form-group input:disabled{background:var(--color-surface-secondary);cursor:not-allowed;opacity:.7}.login-button{align-items:center;background:var(--color-accent);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;display:flex;font-family:var(--font-sans);font-size:15px;font-weight:600;gap:var(--space-2);justify-content:center;padding:var(--space-4) var(--space-6);transition:all .2s ease}.login-button:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.7}.button-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.login-footer{margin-top:var(--space-6);text-align:center}.login-footer p{color:var(--color-text-muted);font-size:13px}@media (max-width:480px){.login-card{padding:var(--space-6) var(--space-5)}.login-header h1{font-size:24px}.login-header h2{font-size:16px}}.chat-view{background:var(--color-surface-secondary);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;height:100vh;margin:0 auto;max-width:600px}.chat-header{background:var(--color-accent);gap:var(--space-3);padding:var(--space-3) var(--space-4)}.back-btn,.chat-header{align-items:center;color:#fff;display:flex}.back-btn{background:#ffffff26;border:none;border-radius:var(--radius-full);cursor:pointer;height:36px;justify-content:center;transition:all .2s ease;width:36px}.back-btn:hover{background:#ffffff40}.chat-header-avatar{align-items:center;background:#fff3;border-radius:var(--radius-full);display:flex;height:40px;justify-content:center;width:40px}.chat-header-info{display:flex;flex-direction:column}.chat-header-phone{font-size:15px;font-weight:600}.chat-header-status{font-size:12px;opacity:.8}.chat-messages{background:var(--color-surface-secondary);flex:1 1;overflow-y:auto;padding:var(--space-5)}.chat-empty,.chat-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:var(--space-4);justify-content:center;padding:var(--space-10)}.chat-empty,.chat-loading,.empty-icon,.loading-more{color:var(--color-text-muted)}.loading-more{align-items:center;display:flex;font-size:13px;gap:var(--space-2);justify-content:center;padding:var(--space-4)}.spinner-small{animation:spin 1s linear infinite;border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-accent);height:18px;width:18px}.conversation-start{display:flex;justify-content:center;margin:var(--space-4) 0 var(--space-5)}.conversation-start span{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);display:flex;font-size:12px;gap:var(--space-2);padding:var(--space-2) var(--space-4)}.date-divider{display:flex;justify-content:center;margin:var(--space-5) 0}.date-divider span{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text-muted);font-size:12px;padding:var(--space-1) var(--space-4)}.message{display:flex;margin-bottom:var(--space-2)}.message-user{justify-content:flex-end}.message-assistant{justify-content:flex-start}.message-bubble{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);max-width:75%;padding:var(--space-3) var(--space-4);position:relative}.message-user .message-bubble{background:var(--color-accent);border-bottom-right-radius:var(--radius-sm);color:#fff}.message-assistant .message-bubble{background:var(--color-surface);border:1px solid var(--color-border);border-bottom-left-radius:var(--radius-sm)}.message-content{word-wrap:break-word;font-size:14px;line-height:1.5;white-space:pre-wrap}.message-user .message-content{color:#fff}.message-assistant .message-content{color:var(--color-text)}.message-time{font-size:11px;margin-top:var(--space-1);text-align:right}.message-user .message-time{color:#ffffffb3}.message-assistant .message-time{color:var(--color-text-muted)}.chat-footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-3);text-align:center}.chat-footer p{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;gap:var(--space-2);justify-content:center}@media (max-width:600px){.chat-view{max-width:100%}.message-bubble{max-width:85%}}.change-password{padding:var(--space-8) var(--space-5)}.password-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--space-8)}.password-form h3{align-items:center;color:var(--color-text);display:flex;font-family:var(--font-display);font-size:20px;font-weight:600;gap:var(--space-3);margin-bottom:var(--space-6)}.password-form h3 svg{color:var(--color-accent)}.error-message{background:#ef444414;border:1px solid #ef444433;border-radius:var(--radius-lg);color:#dc2626}.error-message,.success-message{font-size:14px;margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4)}.success-message{background:#16a34a14;border:1px solid #16a34a33;border-radius:var(--radius-lg);color:#16a34a}.password-form .form-group{margin-bottom:var(--space-5)}.password-form .form-group label{color:var(--color-text);display:block;font-size:14px;font-weight:500;margin-bottom:var(--space-2)}.password-form .form-group input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-family:var(--font-sans);font-size:16px;padding:var(--space-3) var(--space-4);transition:all .2s ease;width:100%}.password-form .form-group input::placeholder{color:var(--color-text-muted)}.password-form .form-group input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #0d94881a;outline:none}.password-form .form-group input:disabled{background:var(--color-surface-secondary);cursor:not-allowed;opacity:.7}.submit-button{background:var(--color-accent);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:15px;font-weight:600;padding:var(--space-4) var(--space-6);transition:all .2s ease;width:100%}.submit-button:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.7}.schedule-view{--accent:#0d9488;--accent-light:#0d948814;--accent-lighter:#0d94880a;--bg-page:#f8fafc;--bg-card:#fff;--border:#e2e8f0;--border-light:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000d;--shadow-lg:0 8px 24px #0000000f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--transition:cubic-bezier(0.16,1,0.3,1);background:var(--bg-page);display:flex;flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,sans-serif;min-height:100%}.schedule-header{align-items:center;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;gap:1rem;padding:1rem 1.25rem;position:sticky;top:0;z-index:10}.header-title{display:flex;flex-direction:column;gap:.125rem}.schedule-header h2{color:var(--text-primary);font-size:1.125rem;font-weight:700;letter-spacing:-.02em;margin:0}.header-subtitle{color:var(--text-muted);font-size:.75rem;font-weight:500}.back-button{background:#0000;border-radius:var(--radius-md);color:var(--accent);font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem .75rem;transition:all .2s var(--transition)}.back-button:hover{background:var(--accent-light)}.back-button:active{transform:scale(.98)}.filter-bar{background:var(--bg-card);border-bottom:1px solid var(--border);padding:.75rem 1.25rem}.filter-section{-webkit-overflow-scrolling:touch;align-items:center;display:flex;gap:.5rem;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.filter-section::-webkit-scrollbar{display:none}.filter-divider{background:var(--border);flex-shrink:0;height:24px;width:1px}.doctor-chips{display:flex;flex-shrink:0;gap:.5rem}.filter-chip{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:100px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.5rem .875rem;transition:all .25s var(--transition);white-space:nowrap}.filter-chip:hover{border-color:var(--accent);color:var(--accent)}.filter-chip.active{background:var(--accent);border-color:var(--accent);box-shadow:0 2px 8px #0d948840;color:#fff}.filter-chip.active:hover{background:#0c8a7e}.chip-avatar{align-items:center;background:linear-gradient(135deg,var(--accent) 0,#14b8a6 100%);border-radius:50%;color:#fff;display:flex;font-size:.6875rem;font-weight:600;height:22px;justify-content:center;width:22px}.filter-chip.active .chip-avatar{background:#fff3}.chip-check{display:flex;margin-left:.125rem}.mobile-filter-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:none;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s var(--transition);width:100%}.mobile-filter-btn:hover{border-color:var(--accent)}.mobile-filter-btn svg{color:var(--accent)}.filter-badge{background:var(--accent);border-radius:100px;color:#fff;font-size:.6875rem;font-weight:600;margin-left:auto;padding:.125rem .5rem}.schedule-controls{align-items:center;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.navigation-controls{gap:.375rem}.nav-btn,.navigation-controls{align-items:center;display:flex}.nav-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;height:38px;justify-content:center;transition:all .2s var(--transition);width:38px}.nav-btn:hover{background:var(--accent-lighter);border-color:var(--accent);color:var(--accent)}.nav-btn:active{transform:scale(.96)}.today-btn{background:#0000;border:1.5px solid var(--accent);border-radius:var(--radius-md);color:var(--accent);cursor:pointer;font-size:.8125rem;font-weight:600;padding:.5rem 1rem;transition:all .2s var(--transition)}.today-btn:hover{background:var(--accent);color:#fff}.today-btn:active{transform:scale(.97)}.current-period{text-align:center}.period-text{color:var(--text-primary);font-size:1rem;font-weight:700;letter-spacing:-.01em;text-transform:capitalize}.view-controls{background:var(--bg-page);border-radius:var(--radius-md);display:flex;padding:.25rem}.view-btn{background:#0000;border:none;border-radius:calc(var(--radius-md) - 2px);color:var(--text-muted);cursor:pointer;font-size:.8125rem;font-weight:600;padding:.5rem 1rem;transition:all .2s var(--transition)}.view-btn.active{background:var(--accent);box-shadow:0 2px 4px #0d948833;color:#fff}.view-btn:not(.active):hover{background:var(--bg-card);color:var(--text-primary)}.schedule-content{flex:1 1;overflow:auto;padding:1rem}.loading-schedule{display:flex;flex-direction:column;gap:1rem}.skeleton-header{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--border-light) 25%,var(--bg-card) 50%,var(--border-light) 75%);background-size:200% 100%;border-radius:var(--radius-md);height:48px}.skeleton-grid{grid-gap:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);padding:1rem}.skeleton-column{display:flex;flex-direction:column;gap:.5rem}.skeleton-day{height:40px}.skeleton-card,.skeleton-day{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--border-light) 25%,var(--bg-card) 50%,var(--border-light) 75%);background-size:200% 100%;border-radius:var(--radius-sm)}.skeleton-card{height:50px}.skeleton-card.short{height:35px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.week-view{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.week-header{background:var(--bg-page);border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(7,1fr)}.day-header{align-items:center;cursor:pointer;display:flex;flex-direction:column;padding:.875rem .5rem;position:relative;transition:all .2s var(--transition)}.day-header:not(:last-child):after{background:var(--border);content:"";height:60%;position:absolute;right:0;top:20%;width:1px}.day-header:hover{background:var(--accent-lighter)}.day-header.today{background:var(--accent-light)}.day-header.today .day-number{align-items:center;background:var(--accent);border-radius:50%;box-shadow:0 2px 6px #0d94884d;color:#fff;display:flex;font-weight:700;height:32px;justify-content:center;width:32px}.day-name{color:var(--text-muted);font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.day-number{align-items:center;color:var(--text-primary);display:flex;font-size:1.125rem;font-weight:600;height:32px;justify-content:center;margin-top:.25rem;width:32px}.week-body{display:grid;grid-template-columns:repeat(7,1fr);min-height:320px}.day-column{border-right:1px solid var(--border-light);cursor:pointer;display:flex;flex-direction:column;gap:.375rem;min-height:100px;padding:.5rem;transition:background .2s var(--transition)}.day-column:last-child{border-right:none}.day-column:hover{background:var(--accent-lighter)}.day-column.today{background:#0d948808}.no-appointments{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:60px}.empty-dot{background:var(--border);border-radius:50%;height:6px;width:6px}.appointment-card{animation:fadeSlideIn .3s var(--transition) both;background:var(--accent-light);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:.5rem}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.appointment-card.compact{display:flex;flex-direction:column;gap:2px}.appointment-card.compact .appt-time{font-feature-settings:"tnum";color:var(--accent);font-size:.625rem;font-variant-numeric:tabular-nums;font-weight:700}.appointment-card.compact .appt-name{color:var(--text-primary);font-size:.6875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-appointments{background:var(--accent-lighter);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;font-size:.6875rem;font-weight:600;margin-top:auto;padding:.375rem;text-align:center}.day-view{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.day-header-single{align-items:center;background:var(--bg-page);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem 1.25rem}.day-full-name{color:var(--text-primary);font-size:1rem;font-weight:700;letter-spacing:-.01em;text-transform:capitalize}.today-badge{background:var(--accent);border-radius:100px;box-shadow:0 2px 4px #0d948833;color:#fff;font-size:.625rem;font-weight:700;letter-spacing:.05em;padding:.25rem .625rem;text-transform:uppercase}.day-count{color:var(--text-muted);font-size:.8125rem;font-weight:500;margin-left:auto}.day-appointments{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.no-appointments-day{flex-direction:column;padding:3rem 2rem;text-align:center}.empty-state-icon,.no-appointments-day{align-items:center;display:flex;justify-content:center}.empty-state-icon{background:var(--bg-page);border-radius:50%;color:var(--text-muted);height:56px;margin-bottom:1rem;width:56px}.empty-state-icon svg{height:24px;width:24px}.no-appointments-day h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .25rem}.no-appointments-day p{color:var(--text-muted);font-size:.875rem;margin:0}.appointment-card.full{animation:fadeSlideIn .35s var(--transition) both;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.75rem;padding:1rem}.appt-header{gap:.75rem;justify-content:space-between}.appt-header,.appt-time-range{align-items:center;display:flex}.appt-time-range{font-feature-settings:"tnum";color:var(--accent);font-size:.9375rem;font-variant-numeric:tabular-nums;font-weight:700;gap:.5rem}.appt-status{border-radius:100px;font-size:.625rem;font-weight:700;letter-spacing:.04em;padding:.25rem .625rem;text-transform:uppercase}.appt-status.status-scheduled{background:#0d94881f;color:var(--accent)}.appt-status.status-completed{background:#22c55e1f;color:#15803d}.appt-status.status-canceled{background:#ef44441f;color:#dc2626}.appt-patient{align-items:center;color:var(--text-primary);display:flex;font-size:1rem;font-weight:600;gap:.625rem}.appt-patient svg{color:var(--text-muted)}.appt-phone{font-feature-settings:"tnum";align-items:center;color:var(--text-secondary);display:flex;font-size:.8125rem;font-variant-numeric:tabular-nums;gap:.625rem}.appt-phone svg{color:var(--text-muted)}.appt-doctor{border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:.875rem;gap:.5rem;margin-top:.25rem;padding-top:.5rem}.appt-doctor,.doctor-avatar{align-items:center;display:flex}.doctor-avatar{background:linear-gradient(135deg,var(--accent) 0,#14b8a6 100%);border-radius:50%;color:#fff;font-size:.6875rem;font-weight:700;height:24px;justify-content:center;width:24px}.filter-sheet-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;inset:0;position:fixed;z-index:100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.filter-sheet{animation:slideUp .3s var(--transition);background:var(--bg-card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;bottom:0;display:flex;flex-direction:column;left:0;max-height:70vh;overflow:hidden;position:fixed;right:0}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.filter-sheet:before{background:var(--border);border-radius:100px;content:"";flex-shrink:0;height:4px;margin:.75rem auto;width:36px}.filter-sheet-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:0 1.25rem 1rem}.filter-sheet-header h3{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0}.close-sheet{align-items:center;background:var(--bg-page);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s var(--transition);width:32px}.close-sheet:hover{background:var(--border)}.filter-sheet-content{display:flex;flex-direction:column;gap:.375rem;overflow-y:auto;padding:.75rem}.filter-sheet-option{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:.875rem;padding:.875rem 1rem;text-align:left;transition:all .2s var(--transition);width:100%}.filter-sheet-option:hover{background:var(--bg-page)}.filter-sheet-option.active{background:var(--accent-light);border-color:var(--accent)}.option-avatar{align-items:center;background:linear-gradient(135deg,var(--accent) 0,#14b8a6 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9375rem;font-weight:700;height:40px;justify-content:center;width:40px}.option-avatar.all{background:var(--bg-page);color:var(--accent)}.option-info{display:flex;flex:1 1;flex-direction:column;gap:.125rem;min-width:0}.option-name{color:var(--text-primary);font-size:.9375rem;font-weight:600}.option-count,.option-specialty{color:var(--text-muted);font-size:.75rem}.option-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.option-check{color:var(--accent);flex-shrink:0}@media (max-width:768px){.schedule-header{padding:.875rem 1rem}.filter-section{display:none}.mobile-filter-btn{display:flex}.schedule-controls{flex-direction:column;gap:.75rem;padding:.875rem 1rem}.schedule-controls>*{width:100%}.navigation-controls{justify-content:center;order:2}.current-period{order:1}.view-controls{order:3;width:100%}.view-btn{flex:1 1}.week-body,.week-header{font-size:.875rem}.day-header{padding:.5rem .25rem}.day-name{font-size:.5625rem}.day-number{font-size:.9375rem}.day-header.today .day-number,.day-number{height:28px;width:28px}.day-column{gap:.25rem}.appointment-card.compact,.day-column{padding:.375rem}.appointment-card.compact .appt-time{font-size:.5625rem}.appointment-card.compact .appt-name{font-size:.625rem}.more-appointments{font-size:.5625rem;padding:.25rem}.day-header-single{padding:.875rem 1rem}.appointment-card.full,.day-appointments{padding:.875rem}.appt-time-range{font-size:.875rem}.appt-patient{font-size:.9375rem}}@media (min-width:769px) and (max-width:1024px){.filter-section{max-width:100%}.doctor-chips{flex-wrap:nowrap;overflow-x:auto}}@media (min-width:1025px){.schedule-content{margin:0 auto;max-width:1200px;padding:1.25rem;width:100%}}@media (hover:none){.day-column:hover,.day-header:hover,.filter-chip:hover,.nav-btn:hover,.today-btn:hover,.view-btn:not(.active):hover{background:#0000;border-color:inherit;color:inherit}.filter-chip.active:hover{background:var(--accent)}}.portal{background:var(--color-surface-secondary);max-width:100%;min-height:100vh}.conversations-container{background:var(--color-surface);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;height:100vh;margin:0 auto;max-width:600px}.conversations-header{align-items:center;background:var(--color-accent);color:#fff;display:flex;justify-content:space-between;padding:var(--space-4) var(--space-5);position:relative}.header-info{align-items:center;display:flex;gap:var(--space-3)}.header-info h2{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.01em}.clinic-badge{background:#fff3;border-radius:var(--radius-full);font-size:12px;font-weight:500;padding:var(--space-1) var(--space-3)}.menu-button{align-items:center;background:#ffffff26;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.menu-button:hover{background:#ffffff40}.dropdown-menu{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-xl);box-shadow:0 10px 40px #00000040;min-width:200px;overflow:hidden;position:absolute;right:var(--space-5);top:56px;z-index:100}.dropdown-menu button{align-items:center;background:none;border:none;color:#1f2937;cursor:pointer;display:flex;font-family:var(--font-sans);font-size:15px;font-weight:500;gap:var(--space-3);padding:14px 18px;text-align:left;transition:background .15s ease;width:100%}.dropdown-menu button:hover{background:#f3f4f6}.dropdown-menu .logout-btn{border-top:1px solid var(--color-border);color:#dc2626}.dropdown-menu .logout-btn:hover{background:#dc26260d}.loading-conversations{align-items:center;color:var(--color-text-muted);display:flex;flex:1 1;flex-direction:column;gap:var(--space-4);justify-content:center}.spinner{animation:spin 1s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-accent);height:36px;width:36px}.empty-conversations{align-items:center;color:var(--color-text-muted);display:flex;flex:1 1;flex-direction:column;gap:var(--space-3);justify-content:center;padding:var(--space-10)}.empty-conversations h3{color:var(--color-text);font-size:18px;font-weight:600}.empty-conversations p{font-size:14px}.conversations-list{flex:1 1;overflow-y:auto}.conversation-item{align-items:center;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5);transition:background .15s ease}.conversation-item:hover{background:var(--color-surface-secondary)}.conversation-item:active{background:var(--color-border)}.conversation-avatar{align-items:center;background:linear-gradient(135deg,var(--color-accent),#115e59);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.avatar-icon{color:#fff;height:24px;width:24px}.conversation-content{flex:1 1;min-width:0}.conversation-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-1)}.conversation-phone{color:var(--color-text);font-size:15px;font-weight:600}.conversation-time{color:var(--color-text-muted);font-size:12px}.conversation-preview{align-items:center;display:flex;justify-content:space-between}.preview-text{color:var(--color-text-secondary);font-size:14px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-count{background:var(--color-accent);border-radius:var(--radius-full);color:#fff;font-size:11px;font-weight:600;min-width:20px;padding:2px 8px;text-align:center}.settings-container{background:var(--color-surface);margin:0 auto;max-width:600px;min-height:100vh}.settings-header{align-items:center;background:var(--color-accent);color:#fff;display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.settings-header h2{font-family:var(--font-display);font-size:20px;font-weight:600}.back-button{align-items:center;background:#ffffff26;border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;display:flex;font-family:var(--font-sans);font-size:14px;gap:var(--space-2);padding:var(--space-2) var(--space-4);transition:all .2s ease}.back-button:hover{background:#ffffff40}@media (max-width:600px){.conversations-container,.settings-container{max-width:100%}.header-info h2{font-size:18px}.clinic-badge{display:none}}.app,.loading-screen{background:var(--color-bg-primary);min-height:100vh}.loading-screen{align-items:center;color:var(--color-text-primary);display:flex;flex-direction:column;gap:var(--space-5);justify-content:center}.loading-logo{animation:pulse 2s ease-in-out infinite;color:var(--color-accent)}.loading-logo svg{height:48px;width:48px}.loading-text{color:var(--color-text-muted);font-size:.875rem}.loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-accent);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}
/*# sourceMappingURL=main.5caf8a5c.css.map*/