:root{--text:#3f3d46;--text-h:#08060d;--bg:#fafafa;--panel-bg:#fff;--border:#e5e4e7;--accent:#7c3aed;--accent-hover:#6d28d9;--user-bubble:#ede9fe;--assistant-bubble:#f4f3f6;--unread:#fef3c7;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:15px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#d1d0d6;--text-h:#f3f4f6;--bg:#16171d;--panel-bg:#1e1f27;--border:#2e303a;--accent:#a78bfa;--accent-hover:#c4b5fd;--user-bubble:#382f57;--assistant-bubble:#262832;--unread:#3f3417}}*{box-sizing:border-box}body{margin:0}h1,h2,h3{color:var(--text-h);margin:0}.app{flex-direction:column;max-width:1440px;min-height:100svh;margin:0 auto;display:flex}.app.app--auth{max-width:none}.app:not(.app--auth){position:relative}.app-bg{z-index:-1;background:radial-gradient(circle at 10% -6%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 45%), radial-gradient(circle at 90% 108%, color-mix(in srgb, var(--accent-hover) 14%, transparent), transparent 45%), var(--bg);position:fixed;inset:0;overflow:hidden}.app-bg .auth-blob{opacity:.32}.app-bg .auth-grid{opacity:.3}.app-header{border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);z-index:5;background:color-mix(in srgb, var(--panel-bg) 70%, transparent);-webkit-backdrop-filter:blur(16px);justify-content:space-between;align-items:center;padding:16px clamp(16px,4vw,40px);animation:.5s cubic-bezier(.16,1,.3,1) header-in;display:flex;position:sticky;top:0}@keyframes header-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.app-header h1{font-size:20px}.brand{align-items:center;gap:8px;display:flex}.brand-icon{flex-shrink:0;width:auto;height:28px}.app-header nav{gap:8px;display:flex}.app-header nav button{border:1px solid var(--border);background:var(--panel-bg);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 14px;transition:border-color .2s,transform .15s,box-shadow .2s,background .2s,color .2s}.app-header nav button:hover:not(.active):not(.logout){border-color:color-mix(in srgb, var(--accent) 45%, var(--border));transform:translateY(-1px)}.app-header nav button.active{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;box-shadow:0 8px 20px -10px color-mix(in srgb, var(--accent) 65%, transparent);border-color:#0000}.app-header nav button.logout:hover{color:#d64545;border-color:#d64545;transform:translateY(-1px)}main{flex:1;min-height:0;padding:20px clamp(16px,4vw,40px);display:flex}main.auth-main{min-height:100svh;padding:0}.panel{background:color-mix(in srgb, var(--panel-bg) 82%, transparent);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);-webkit-backdrop-filter:blur(20px);min-height:0;box-shadow:0 20px 48px -26px #00000059, 0 0 0 1px color-mix(in srgb, var(--accent) 5%, transparent);border-radius:16px;flex-direction:column;animation:.45s cubic-bezier(.16,1,.3,1) panel-in;display:flex}@keyframes panel-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.chat-panel{flex:1;min-height:60vh}.chat-layout,.dashboard{flex:1;gap:18px;width:100%;min-height:0;display:flex}.dashboard .chat-panel{flex:2}.chat-sidebar{background:color-mix(in srgb, var(--panel-bg) 72%, transparent);flex:0 0 240px;gap:8px;max-height:80vh;padding:14px}.new-chat{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;cursor:pointer;box-shadow:0 10px 22px -12px color-mix(in srgb, var(--accent) 65%, transparent);background-size:160% 160%;border:none;border-radius:9px;padding:9px 12px;font-size:13px;font-weight:600;transition:transform .15s,box-shadow .2s,background-position .4s}.new-chat:hover{box-shadow:0 14px 26px -12px color-mix(in srgb, var(--accent) 75%, transparent);background-position:100% 0;transform:translateY(-1px)}.session-list{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.session-item{align-items:stretch;gap:2px;display:flex;position:relative}.session-select{min-width:0;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:8px 10px;transition:background .2s,border-color .2s,transform .15s;display:flex}.session-select:hover{border-color:var(--border);transform:translate(2px)}.session-select.active{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 20%, transparent), color-mix(in srgb, var(--accent-hover) 10%, transparent));border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.session-title{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;overflow:hidden}.session-time{opacity:.6;font-size:11px}.session-empty{padding:8px 10px}.session-menu-trigger{width:26px;height:26px;color:var(--text);opacity:0;cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:opacity .15s,background .15s;display:flex}.session-item:hover .session-menu-trigger,.history-session-item:hover .session-menu-trigger,.session-menu-trigger.open{opacity:.7}.session-menu-trigger:hover{background:color-mix(in srgb, var(--border) 70%, transparent);opacity:1!important}.session-menu-dropdown{z-index:1000;border:1px solid var(--border);background:var(--panel-bg);border-radius:10px;flex-direction:column;gap:2px;min-width:160px;padding:6px;animation:.15s cubic-bezier(.16,1,.3,1) menu-in;display:flex;position:fixed;box-shadow:0 16px 34px -14px #0006}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.session-menu-dropdown>button{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:13px}.session-menu-dropdown>button:hover{background:color-mix(in srgb, var(--border) 60%, transparent)}.session-menu-dropdown>button.danger{color:#d64545}.session-menu-dropdown>button.danger:hover{background:#d645451f}.session-rename-form{gap:4px;padding:2px;display:flex}.session-rename-form input{border:1px solid var(--border);background:var(--panel-bg);min-width:0;color:var(--text);border-radius:6px;flex:1;padding:6px 8px;font-size:13px}.session-rename-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}.session-rename-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;padding:6px 10px;font-size:12px;font-weight:600}.session-menu-confirm{flex-direction:column;gap:8px;padding:6px 8px;font-size:12.5px;display:flex}.session-menu-confirm-actions{gap:6px;display:flex}.session-menu-confirm-actions button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;flex:1;padding:6px 8px;font-size:12px}.session-menu-confirm-actions button.danger{color:#fff;background:#d64545;border-color:#d64545}.notif-wrap{position:relative}.notif-bell{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px;font-size:16px;transition:border-color .2s,transform .15s;position:relative}.notif-bell:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));transform:translateY(-1px)}.notif-badge{color:#fff;text-align:center;background:#d64545;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;position:absolute;top:-6px;right:-6px}.notifications-panel{z-index:20;width:320px;max-height:60vh;padding:16px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0003}.notifications-panel h3{margin-bottom:8px}.notifications-panel ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.notifications-panel li{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:10px;font-size:13px;display:flex}.notifications-panel li.unread{background:var(--unread)}.notif-channel{text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-size:11px}.mark-read{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:4px 8px;font-size:12px}.muted{opacity:.6;font-size:13px}.dashboard-toolbar{border-bottom:1px solid var(--border);gap:8px;padding:12px;display:flex}.dashboard-toolbar select{border:1px solid var(--border);background:var(--panel-bg);color:var(--text);border-radius:6px;padding:6px 8px}.dashboard-toolbar button{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;cursor:pointer;box-shadow:0 8px 18px -10px color-mix(in srgb, var(--accent) 55%, transparent);border:none;border-radius:8px;padding:7px 14px;font-weight:600;transition:transform .15s,box-shadow .2s}.dashboard-toolbar button:hover:not(:disabled){transform:translateY(-1px)}.dashboard-toolbar .doctor-name{margin-right:auto;font-weight:600}.dashboard-toolbar button.logout{border:1px solid var(--border);color:var(--text);box-shadow:none;background:0 0}.dashboard-toolbar button.logout:hover{color:#d64545;border-color:#d64545}.auth-screen{background:radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 55%), radial-gradient(circle at 85% 80%, color-mix(in srgb, var(--accent-hover) 20%, transparent), transparent 55%), var(--bg);justify-content:center;align-items:center;width:100%;min-height:100svh;padding:40px 20px;display:flex;position:relative;overflow:hidden}.auth-grid{background-image:linear-gradient(color-mix(in srgb, var(--text) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--text) 5%, transparent) 1px, transparent 1px);opacity:.5;pointer-events:none;background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 40%,#000,#0000 75%);mask-image:radial-gradient(circle at 50% 40%,#000,#0000 75%)}.auth-blob{filter:blur(60px);opacity:.55;pointer-events:none;border-radius:50%;animation:16s ease-in-out infinite auth-float;position:absolute}.auth-blob-1{background:radial-gradient(circle, var(--accent), transparent 70%);width:380px;height:380px;animation-duration:18s;top:-80px;left:-120px}.auth-blob-2{background:radial-gradient(circle, var(--accent-hover), transparent 70%);width:420px;height:420px;animation-duration:22s;animation-delay:-6s;bottom:-120px;right:-140px}.auth-blob-3{background:radial-gradient(circle, var(--user-bubble), transparent 70%);width:260px;height:260px;animation-duration:14s;animation-delay:-3s;top:8%;right:12%}@keyframes auth-float{0%,to{transform:translate(0)scale(1)}33%{transform:translate(24px,-30px)scale(1.06)}66%{transform:translate(-18px,20px)scale(.96)}}.auth-card{z-index:1;border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:color-mix(in srgb, var(--panel-bg) 78%, transparent);-webkit-backdrop-filter:blur(18px);width:100%;max-width:400px;box-shadow:0 24px 60px -20px #00000059, 0 0 0 1px color-mix(in srgb, var(--accent) 8%, transparent);border-radius:20px;flex-direction:column;align-items:stretch;padding:32px 30px;animation:.5s cubic-bezier(.16,1,.3,1) auth-card-in;display:flex;position:relative}@keyframes auth-card-in{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-card-brand{align-items:center;gap:8px;margin-bottom:18px;display:flex}.auth-card-brand img{width:auto;height:30px}.auth-card-brand span{color:var(--text-h);letter-spacing:-.01em;font-size:18px;font-weight:700}.auth-title{margin-bottom:6px;font-size:24px}.auth-subtitle{opacity:.65;margin:0 0 22px;font-size:13.5px;line-height:1.5}.mode-toggle{background:color-mix(in srgb, var(--border) 55%, transparent);border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:flex;position:relative}.mode-toggle button{z-index:1;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:8px;font-size:13.5px;font-weight:600;transition:color .25s;position:relative}.mode-toggle button.active{color:#fff}.mode-toggle-thumb{background:linear-gradient(135deg, var(--accent), var(--accent-hover));width:calc(50% - 4px);height:calc(100% - 8px);box-shadow:0 4px 14px -4px color-mix(in srgb, var(--accent) 60%, transparent);border-radius:7px;transition:transform .3s cubic-bezier(.16,1,.3,1);position:absolute;top:4px;left:4px}.mode-toggle-thumb.signup{transform:translate(calc(100% + 4px))}.role-toggle{gap:8px;margin-bottom:2px;font-size:13px;display:flex}.role-toggle label{border:1px solid var(--border);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;transition:border-color .2s,background .2s,color .2s;display:flex}.role-toggle label.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);font-weight:600}.role-toggle input{accent-color:var(--accent)}.login-form{flex-direction:column;gap:12px;margin-top:4px;display:flex}.input-wrap{position:relative}.login-form input{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-bg) 90%, transparent);width:100%;color:var(--text);border-radius:10px;padding:11px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s,transform .1s}.login-form input:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}.auth-submit{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;cursor:pointer;box-shadow:0 10px 24px -10px color-mix(in srgb, var(--accent) 65%, transparent);background-size:160% 160%;border:none;border-radius:10px;margin-top:4px;padding:11px 16px;font-size:14.5px;font-weight:600;transition:transform .15s,box-shadow .2s,background-position .4s}.auth-submit:hover:not(:disabled){box-shadow:0 14px 28px -10px color-mix(in srgb, var(--accent) 75%, transparent);background-position:100% 0;transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.login-error{color:#d64545;font-size:13px;animation:.35s auth-shake}@keyframes auth-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.auth-divider{color:var(--text);opacity:.55;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:10px;margin:20px 0 16px;font-size:12.5px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.google-signin-btn{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-bg) 90%, transparent);width:100%;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:11px 16px;font-size:14px;font-weight:500;transition:border-color .2s,transform .15s,box-shadow .2s;display:flex}.google-signin-btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, var(--border));transform:translateY(-1px);box-shadow:0 8px 20px -12px #0000004d}.google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.google-signin-btn:before{content:"";background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%234285F4' d='M45.12 24.5c0-1.56-.14-3.06-.4-4.5H24v8.51h11.84c-.51 2.75-2.06 5.08-4.39 6.64v5.52h7.11c4.16-3.83 6.56-9.47 6.56-16.17z'/%3E%3Cpath fill='%2334A853' d='M24 46c5.94 0 10.92-1.97 14.56-5.33l-7.11-5.52c-1.97 1.32-4.49 2.1-7.45 2.1-5.73 0-10.58-3.87-12.31-9.07H4.34v5.7C7.96 41.07 15.4 46 24 46z'/%3E%3Cpath fill='%23FBBC05' d='M11.69 28.18C11.25 26.86 11 25.45 11 24s.25-2.86.69-4.18v-5.7H4.34C2.85 17.09 2 20.45 2 24s.85 6.91 2.34 9.88z'/%3E%3Cpath fill='%23EA4335' d='M24 10.75c3.23 0 6.13 1.11 8.41 3.29l6.31-6.31C34.91 4.18 29.93 2 24 2 15.4 2 7.96 6.93 4.34 14.12l7.35 5.7c1.73-5.2 6.58-9.07 12.31-9.07z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:18px;height:18px}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:22px clamp(16px,3vw,36px);display:flex;overflow-y:auto}.chat-bubble{white-space:pre-wrap;border-radius:16px;max-width:min(80%,640px);padding:11px 16px;font-size:14px;line-height:1.55;animation:.3s cubic-bezier(.16,1,.3,1) bubble-in}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-bubble.user{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;box-shadow:0 10px 24px -14px color-mix(in srgb, var(--accent) 70%, transparent);border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.assistant{background:color-mix(in srgb, var(--assistant-bubble) 92%, transparent);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble.thinking{align-items:center;gap:4px;padding:14px 16px;display:flex}.typing-dot{opacity:.5;background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-input-row{border-top:1px solid color-mix(in srgb, var(--border) 70%, transparent);gap:10px;padding:14px clamp(14px,2.5vw,28px);display:flex}.chat-input-row input{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-bg) 90%, transparent);color:var(--text);border-radius:12px;flex:1;padding:12px 16px;font-size:14px;transition:border-color .2s,box-shadow .2s}.chat-input-row input:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.chat-input-row input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent);outline:none}.chat-input-row button{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;cursor:pointer;box-shadow:0 8px 18px -10px color-mix(in srgb, var(--accent) 60%, transparent);background-size:160% 160%;border:none;border-radius:12px;padding:12px 22px;font-weight:600;transition:transform .15s,box-shadow .2s,background-position .4s}.chat-input-row button:hover:not(:disabled){background-position:100% 0;transform:translateY(-1px)}.chat-input-row button:disabled,.dashboard-toolbar button:disabled{opacity:.5;cursor:not-allowed;transform:none}.history-panel{flex:1;width:100%;max-width:760px;margin:0 auto;padding:24px;overflow-y:auto}.history-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.history-clear-all{color:#d64545;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #d64545;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .2s,transform .15s}.history-clear-all:hover:not(:disabled){background:#d645451a;transform:translateY(-1px)}.history-clear-all:disabled{opacity:.6;cursor:not-allowed;transform:none}.clear-all-confirm{align-items:center;gap:8px;font-size:13px;animation:.15s menu-in;display:flex}.clear-all-cancel{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:8px 12px;font-size:13px}.clear-all-cancel:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.history-session-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.history-session-item{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-bg) 92%, transparent);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;transition:border-color .2s,transform .15s,box-shadow .2s;animation:.25s cubic-bezier(.16,1,.3,1) bubble-in;display:flex;position:relative}.history-session-item:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));transform:translateY(-1px);box-shadow:0 12px 26px -18px #00000059}.history-session-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.history-session-item .session-title{font-size:14px;font-weight:500}.history-session-item .session-time{font-size:12px}
