*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--sky:#0EA5E9;--vi:#6366F1;--teal:#0D9488;
--ink:#040C18;--ink2:#091525;--ink3:#0E1F34;--ink4:#162840;
--text:#EEF4FF;--t2:#9AB4D2;--t3:#5A7FA8;
--bd:rgba(99,102,241,.18);--bd2:rgba(255,255,255,.07);
--grad:linear-gradient(135deg,#0EA5E9,#6366F1);
--sw:260px;--swc:64px;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--ink);color:var(--text);height:100vh;overflow:hidden;display:flex}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:var(--ink2)}
::-webkit-scrollbar-thumb{background:rgba(99,102,241,.4);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(99,102,241,.7)}
.glow-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.glow-bg::before{content:'';position:absolute;width:700px;height:700px;top:-200px;left:-200px;border-radius:50%;background:radial-gradient(circle,rgba(14,165,233,.07),transparent 70%);filter:blur(60px)}
.glow-bg::after{content:'';position:absolute;width:600px;height:600px;bottom:-100px;right:-150px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.09),transparent 70%);filter:blur(60px)}
.screen{display:none;width:100%;height:100vh;position:relative;z-index:10;overflow-y:auto;flex-direction:column}
.screen.active{display:flex}
#screen-chat.active{flex-direction:row;overflow:hidden}
#screen-paciente.active{flex-direction:row;overflow:hidden}

/* ═══ LANG SELECTOR ═══ */
.lang-selector{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:8px 14px;border-radius:8px;font-size:13px;color:var(--t2);background:rgba(255,255,255,.04);border:1px solid var(--bd2);transition:.2s;user-select:none}
.lang-selector:hover{background:rgba(99,102,241,.1);border-color:var(--bd)}
.lang-flag{font-size:16px}
.lang-dd{position:absolute;top:100%;right:0;margin-top:6px;background:var(--ink2);border:1px solid var(--bd);border-radius:10px;min-width:220px;max-height:340px;overflow-y:auto;z-index:999;display:none;box-shadow:0 16px 48px rgba(0,0,0,.6);padding:6px 0}
.lang-dd.open{display:block}
.lang-opt{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:13px;color:var(--t2);cursor:pointer;transition:.15s}
.lang-opt:hover{background:rgba(99,102,241,.12);color:var(--text)}
.lang-opt.active{color:var(--sky);background:rgba(14,165,233,.08)}

/* ═══ LANDING ═══ */
.home-topbar{position:fixed;top:0;right:0;left:0;z-index:30;padding:18px 32px;display:flex;align-items:center;justify-content:flex-end;gap:12px;background:rgba(4,12,24,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--bd2)}
.btn-sobre{background:rgba(255,255,255,.05);border:1px solid var(--bd2);color:var(--t2);padding:8px 20px;border-radius:8px;font-size:13px;cursor:pointer;transition:.2s;text-decoration:none;display:inline-block;font-family:'DM Sans',sans-serif}
.btn-sobre:hover{background:rgba(99,102,241,.12);border-color:var(--bd);color:var(--text)}
.landing-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62vh;padding:100px 24px 40px;text-align:center}
.logo-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:48px}
.logo-ring{position:relative;width:90px;height:90px;margin-bottom:20px}
.logo-ring::before,.logo-ring::after{content:'';position:absolute;border-radius:50%;border:1.5px solid rgba(99,102,241,.2);animation:ringPulse 3s ease-in-out infinite}
.logo-ring::before{inset:0}
.logo-ring::after{inset:-14px;border-color:rgba(14,165,233,.12);animation-delay:.5s}
.logo-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(99,102,241,.16));border-radius:50%;border:1px solid rgba(99,102,241,.3)}
.logo-title{font-family:'Syne',sans-serif;font-size:2.6rem;font-weight:600;letter-spacing:-1px}
.logo-title span{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.logo-sub{font-size:14px;color:var(--t3);margin-top:8px;letter-spacing:.3px}
.hero-btns{display:flex;gap:16px;justify-content:center}
.btn-hero{padding:14px 36px;border-radius:10px;font-family:'Syne',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:all .25s;border:none;letter-spacing:.2px}
.btn-expert{background:var(--grad);color:white;box-shadow:0 8px 28px rgba(99,102,241,.3)}
.btn-expert:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(99,102,241,.45)}
.btn-paciente{background:linear-gradient(135deg,#0D9488,#0EA5E9);color:white;box-shadow:0 8px 28px rgba(13,148,136,.3)}
.btn-paciente:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(13,148,136,.45);color:white}

/* ═══ FEATURES CAROUSEL ═══ */
.features-section{padding:0 0 60px}
.features-divider{border:none;border-top:1px solid var(--bd2);margin:48px auto;max-width:900px}
.features-title{text-align:center;font-family:'DM Serif Display',serif;font-size:1.9rem;color:var(--text);margin-bottom:36px}
.features-track-wrap{overflow:hidden;padding:10px 0 24px;position:relative;touch-action:pan-y}
.features-track-wrap::before,.features-track-wrap::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.features-track-wrap::before{left:0;background:linear-gradient(to right,var(--ink),transparent)}
.features-track-wrap::after{right:0;background:linear-gradient(to left,var(--ink),transparent)}
.features-track{display:flex;gap:16px;width:max-content;animation:featureScroll 36s linear infinite;padding:0 40px;touch-action:pan-x}
.features-track:hover{animation-play-state:paused}
.feat-card{width:240px;background:var(--ink2);border:1px solid var(--bd2);border-radius:14px;padding:22px 20px;flex-shrink:0;transition:border-color .2s,transform .2s;cursor:pointer}
.feat-card:hover{border-color:rgba(99,102,241,.35);transform:translateY(-4px)}
.feat-icon{font-size:22px;margin-bottom:12px;display:block;color:var(--sky)}
.feat-name{font-family:'Syne',sans-serif;font-size:13.5px;font-weight:600;margin-bottom:6px}
.feat-desc{font-size:12px;color:var(--t3);line-height:1.55}

/* ═══ FOOTER ═══ */
.home-footer{background:rgba(9,21,37,.9);border-top:1px solid var(--bd2);padding:18px 40px 28px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;flex-wrap:wrap;gap:10px}
.footer-copy{font-size:12px;color:var(--t3)}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.footer-links a{font-size:12px;color:var(--t3);text-decoration:none;transition:color .2s;cursor:pointer}
.footer-links a:hover{color:var(--sky)}

/* ═══ SIDEBAR ═══ */
.sidebar{width:var(--sw);background:rgba(2,8,18,.97);backdrop-filter:blur(22px);border-right:1px solid var(--bd2);display:flex;flex-direction:column;height:100vh;transition:width .28s cubic-bezier(.4,0,.2,1);flex-shrink:0;overflow:hidden;position:relative;z-index:20}
.sidebar.collapsed{width:var(--swc)}
.sb-header{display:flex;align-items:center;gap:0;padding:16px 12px;border-bottom:1px solid var(--bd2);flex-shrink:0;min-height:62px}
.sb-toggle{background:none;border:none;color:var(--t3);cursor:pointer;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:.2s;flex-shrink:0;font-size:17px}
.sb-toggle:hover{background:rgba(255,255,255,.07);color:var(--text)}
.sb-brand{font-family:'Syne',sans-serif;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;transition:opacity .2s,max-width .2s;max-width:200px;margin-left:6px}
.sb-brand em{font-style:normal;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sidebar.collapsed .sb-brand{opacity:0;max-width:0}

.sb-section{display:flex;flex-direction:column;overflow:hidden}
.sb-fav-section{flex:1 1 auto;max-height:55vh;display:flex;flex-direction:column;border-bottom:1px solid var(--bd2)}
.sb-fav-title{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--t2);padding:10px 16px 4px;flex-shrink:0;font-weight:600}
.sb-fav-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:4px}
.sb-fav-scroll::-webkit-scrollbar{width:3px}
.sb-hist-section{flex:0 0 auto;max-height:22vh;display:flex;flex-direction:column;min-height:0}
.sb-hist-title{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--t2);padding:10px 16px 4px;flex-shrink:0;font-weight:600}
.sb-search-box{margin:0 10px 8px;display:flex;gap:6px;background:var(--ink3);border:1px solid var(--bd2);border-radius:8px;padding:5px 10px;align-items:center}
.sb-search-box input{flex:1;background:none;border:none;color:var(--text);font-size:12px;outline:none;font-family:'DM Sans',sans-serif}
.sb-search-box input::placeholder{color:var(--t3)}
.sb-search-btn{background:none;border:none;color:var(--t3);cursor:pointer;font-size:13px;padding:2px}
.sb-hist-scroll{flex:1;overflow-y:auto;overflow-x:hidden}
.sb-hist-scroll::-webkit-scrollbar{width:3px}

.sb-section-label{font-size:9.5px;text-transform:uppercase;letter-spacing:1.6px;color:var(--t2);padding:8px 16px 3px;white-space:nowrap;overflow:hidden;transition:opacity .15s;text-align:left}
.sidebar.collapsed .sb-section-label,.sidebar.collapsed .sb-fav-title,.sidebar.collapsed .sb-hist-title{opacity:0;height:0;padding:0}
.sidebar.collapsed #hist-search, .sidebar.collapsed .sb-search-btn { display: none; }
.sidebar.collapsed .sb-search-box { padding: 8px; justify-content: center; cursor: pointer; background: transparent; border-color: transparent; }

.menu-item{display:flex;align-items:center;gap:10px;padding:6px 14px;color:var(--t2);cursor:pointer;transition:all .18s;text-decoration:none;border-left:2px solid transparent;white-space:nowrap;position:relative;font-size:13px}
.menu-item:hover{background:rgba(255,255,255,.05);color:var(--text);border-left-color:var(--bd)}
.menu-item.active{background:rgba(99,102,241,.1);color:var(--text);border-left-color:var(--vi)}
.menu-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0}
.menu-label{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s,max-width .2s;max-width:180px}
.sidebar.collapsed .menu-label{opacity:0;max-width:0}
.sidebar.collapsed .pin-icon{display:none}
.sidebar.collapsed .menu-item:hover::after{content:attr(data-tip);position:absolute;left:calc(var(--swc) + 8px);background:var(--ink3);border:1px solid var(--bd);padding:6px 12px;border-radius:7px;font-size:12px;color:var(--text);white-space:nowrap;z-index:100;pointer-events:none}
.pin-icon{margin-left:auto;color:var(--t3);font-size:11px;opacity:.5;flex-shrink:0;cursor:pointer;position:relative}
.pin-icon:hover{opacity:1;color:var(--sky)}
.pin-menu{display:none;position:fixed;background:var(--ink2);border:1px solid var(--bd);border-radius:8px;min-width:150px;z-index:500;box-shadow:0 8px 24px rgba(0,0,0,.5);padding:4px 0}
.pin-menu.open{display:block}
.pin-menu-item{padding:8px 14px;font-size:12px;color:var(--t2);cursor:pointer;transition:.15s;display:flex;align-items:center;gap:8px}
.pin-menu-item:hover{background:rgba(99,102,241,.12);color:var(--text)}

.hist-item{display:flex;align-items:center;gap:8px;padding:5px 14px;color:var(--t2);cursor:pointer;transition:.15s;font-size:12px;border-left:2px solid transparent;position:relative}
.hist-item:hover{background:rgba(255,255,255,.04);color:var(--text);border-left-color:var(--bd)}
.hist-item .hist-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hist-item .hist-dots{font-size:14px;opacity:0;transition:.15s;cursor:pointer;flex-shrink:0;padding:0 4px}
.hist-item:hover .hist-dots{opacity:.7}
.hist-item .hist-dots:hover{opacity:1;color:var(--sky)}
.hist-submenu{display:none;position:fixed;background:var(--ink2);border:1px solid var(--bd);border-radius:8px;min-width:160px;z-index:500;box-shadow:0 8px 24px rgba(0,0,0,.5);padding:4px 0}
.hist-submenu.open{display:block}
.hist-submenu-item{padding:8px 14px;font-size:12px;color:var(--t2);cursor:pointer;transition:.15s;display:flex;align-items:center;gap:8px}
.hist-submenu-item:hover{background:rgba(99,102,241,.12);color:var(--text)}

.sb-footer{border-top:1px solid var(--bd2);padding:6px 8px;flex-shrink:0}
.sb-footer-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:.15s}
.sb-footer-user:hover{background:rgba(255,255,255,.04)}
.sb-footer-avatar{width:32px;height:32px;border-radius:50%;background:var(--ink3);border:1px solid var(--bd2);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--t3);flex-shrink:0}
.sb-footer-name{flex:1;font-size:12px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-logoff{background:none;border:none;color:var(--t3);font-size:11px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:.15s;flex-shrink:0}
.sb-logoff:hover{color:#f87171;background:rgba(248,113,113,.08)}

/* ═══ CHAT ═══ */
.chat-area{flex:1;display:flex;flex-direction:column;height:100vh;background:var(--ink);overflow:hidden}
.chat-topbar{display:flex;align-items:center;padding:12px 24px;border-bottom:1px solid var(--bd2);background:rgba(4,12,24,.8);backdrop-filter:blur(12px);flex-shrink:0;gap:10px}
.chat-topbar-title{font-family:'Syne',sans-serif;font-size:14px;color:var(--t2);flex:1;display:flex;flex-direction:column;gap:2px}
.status-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:blink 2.5s ease-in-out infinite}
.status-dot.latent{background:#eab308}
.status-label{font-size:12px;color:var(--t3)}
.messages-container{flex:1;overflow-y:auto;padding:28px 24px;display:flex;flex-direction:column;gap:18px}
.msg{display:flex;gap:14px;max-width:900px;margin:0 auto;width:100%;animation:fadeUp .22s ease}
.msg-avatar{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;margin-top:2px}
.msg-user .msg-avatar{background:var(--ink3);border:1px solid var(--bd2)}
.msg-ai .msg-avatar{background:var(--grad)}
.msg-body{flex:1;background:var(--ink2);border:1px solid var(--bd2);border-radius:12px;padding:14px 18px;color:#D8E8F8;line-height:1.7;font-size:14px}
.msg-user .msg-body{background:rgba(14,165,233,.08);border-color:rgba(14,165,233,.22)}
.msg-body h1,.msg-body h2,.msg-body h3,.msg-body h4{font-family:'Syne',sans-serif;color:var(--text);margin:14px 0 6px}
.msg-body h1{font-size:17px}.msg-body h2{font-size:15.5px}.msg-body h3{font-size:14.5px}
.msg-body p{margin-bottom:8px}.msg-body p:last-child{margin-bottom:0}
.msg-body strong{color:var(--sky)}
.msg-body ul,.msg-body ol{padding-left:22px;margin-bottom:8px}
.msg-body li{margin-bottom:3px}
.msg-body table{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0;display:block;overflow-x:auto}
.msg-body th,.msg-body td{border:1px solid var(--bd2);padding:8px 12px;text-align:left}
.msg-body th{background:rgba(99,102,241,.15);font-weight:600}
.msg-body hr{border:none;border-top:1px solid var(--bd2);margin:14px 0}
.msg-body blockquote{border-left:3px solid var(--vi);padding:8px 14px;margin:10px 0;background:rgba(99,102,241,.05);border-radius:0 7px 7px 0;color:var(--t2)}
.msg-body code{background:rgba(99,102,241,.15);border:1px solid var(--bd);padding:1px 5px;border-radius:4px;font-family:'Courier New',monospace;font-size:12px}
.code-block{background:rgba(2,8,20,.9);border:1px solid var(--bd);border-radius:10px;margin:12px 0;overflow:hidden}
.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:7px 14px;border-bottom:1px solid var(--bd2);background:rgba(99,102,241,.06)}
.code-block-lang{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--t3)}
.code-block-actions{display:flex;gap:8px;align-items:center}
.btn-copy{background:none;border:1px solid var(--bd2);color:var(--t3);padding:3px 10px;border-radius:5px;font-size:11px;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:4px}
.btn-copy:hover{color:var(--text);border-color:var(--bd);background:rgba(255,255,255,.05)}
.code-block pre{padding:14px;font-family:'Courier New',monospace;font-size:12.5px;color:#B8D4EE;overflow-x:auto;white-space:pre-wrap;line-height:1.6}
/* Atom typing animation */
.typing-atom{display:flex;align-items:center;gap:12px;padding:2px 0}
.atom-wrap{position:relative;width:32px;height:32px;flex-shrink:0}
.a-nucleus{position:absolute;top:50%;left:50%;width:7px;height:7px;background:var(--sky);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 7px var(--sky)}
.a-ring{position:absolute;top:50%;left:50%;width:28px;height:10px;border:1.2px solid;border-radius:50%}
.a-r1{border-color:rgba(14,165,233,.6);animation:ar1 1.5s linear infinite}
.a-r2{border-color:rgba(99,102,241,.5);animation:ar2 2s linear infinite}
.a-r3{border-color:rgba(56,189,248,.4);animation:ar3 2.5s linear infinite}
.a-e{position:absolute;top:-2.5px;left:50%;width:5px;height:5px;border-radius:50%;transform:translateX(-50%)}
.a-r1 .a-e{background:var(--sky);box-shadow:0 0 4px var(--sky)}
.a-r2 .a-e{background:var(--vi)}
.a-r3 .a-e{background:#38bdf8}
.typing-text{color:var(--t3);font-size:13px}
@keyframes ar1{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes ar2{from{transform:translate(-50%,-50%) rotate(60deg)}to{transform:translate(-50%,-50%) rotate(420deg)}}
@keyframes ar3{from{transform:translate(-50%,-50%) rotate(120deg)}to{transform:translate(-50%,-50%) rotate(480deg)}}
/* Legacy typing-dots kept as fallback */
.typing-dots{display:flex;gap:4px;padding:4px 0}
.typing-dots span{width:6px;height:6px;background:var(--t3);border-radius:50%;animation:dotBounce 1.3s infinite ease-in-out both}
.typing-dots span:nth-child(1){animation-delay:-.32s}
.typing-dots span:nth-child(2){animation-delay:-.16s}

.input-wrapper{background:var(--ink);padding:16px 24px 20px;border-top:1px solid var(--bd2);flex-shrink:0}
.input-box{max-width:900px;margin:0 auto;display:flex;gap:10px;background:var(--ink2);border:1px solid var(--bd);border-radius:13px;padding:10px 10px 10px 18px;align-items:flex-start;transition:border-color .2s}
.input-btn-col{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0;padding-top:3px}
.input-box:focus-within{border-color:rgba(99,102,241,.5)}
.input-box textarea{width:100%;background:transparent;border:none;color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;resize:none;max-height:200px;min-height:44px;padding:10px 0;outline:none;line-height:1.5}
.send-btn{background:var(--grad);border:none;width:40px;height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:white;flex-shrink:0;margin-bottom:2px;transition:.2s;font-size:18px}
.send-btn:hover{opacity:.85;transform:scale(1.04)}
.send-btn:disabled{opacity:.4;cursor:not-allowed}

/* ═══ MODALS ═══ */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(7px);z-index:200;align-items:center;justify-content:center}
.modal-overlay.active{display:flex}
.modal-box{background:var(--ink2);border:1px solid var(--bd);border-radius:18px;padding:32px;width:92%;max-width:480px;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .28s ease;box-shadow:0 30px 80px rgba(0,0,0,.7)}
.modal-box.wide{max-width:600px}
.modal-box.xwide{max-width:700px}
.modal-close{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.06);border:none;color:var(--t2);cursor:pointer;width:30px;height:30px;border-radius:50%;font-size:16px;display:flex;align-items:center;justify-content:center;transition:.2s}
.modal-close:hover{background:rgba(255,255,255,.12);color:var(--text)}
.modal-title{font-family:'DM Serif Display',serif;font-size:20px;margin-bottom:5px}
.modal-sub{font-size:12.5px;color:var(--t3);margin-bottom:22px;line-height:1.5}
.input-field{background:var(--ink3);border:1px solid var(--bd2);color:var(--text);padding:11px 14px;border-radius:8px;width:100%;margin-bottom:12px;font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:.2s}
.input-field:focus{border-color:rgba(99,102,241,.5)}
.input-field option{background:var(--ink3)}
select.input-field{cursor:pointer}
.field-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--t3);display:block;margin-bottom:4px}
.btn-primary{background:var(--grad);color:white;border:none;padding:12px 24px;border-radius:9px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;cursor:pointer;width:100%;transition:.2s}
.btn-primary:hover{opacity:.88;transform:translateY(-1px)}
.btn-ghost{background:rgba(255,255,255,.04);border:1px solid var(--bd2);color:var(--t2);padding:11px 24px;border-radius:9px;font-family:'DM Sans',sans-serif;font-size:14px;cursor:pointer;width:100%;transition:.2s;margin-top:9px}
.btn-ghost:hover{background:rgba(255,255,255,.08);color:var(--text)}

.oauth-btns{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.btn-oauth{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border-radius:9px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;cursor:pointer;width:100%;transition:.2s;border:1px solid var(--bd2)}
.btn-google{background:white;color:#333;border-color:#ddd}
.btn-google:hover{background:#f5f5f5}
.oauth-divider{display:flex;align-items:center;gap:14px;margin:4px 0 16px;color:var(--t3);font-size:12px}
.oauth-divider::before,.oauth-divider::after{content:'';flex:1;border-top:1px solid var(--bd2)}

.agent-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto}
.agent-row{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--ink3);border:1px solid var(--bd2);border-radius:9px;cursor:pointer;transition:all .18s}
.agent-row:hover{border-color:var(--bd);background:var(--ink4)}
.agent-ico{font-size:16px;width:28px;text-align:center;color:var(--sky)}
.agent-info{flex:1}
.agent-info strong{font-size:13px;display:block}
.agent-info span{font-size:11.5px;color:var(--t3)}
.agent-go{font-size:16px;color:var(--t3);transition:.15s}
.agent-row:hover .agent-go{color:var(--sky)}
.agent-pin-btn{font-size:14px;color:var(--t3);cursor:pointer;padding:4px;transition:.15s}
.agent-pin-btn:hover{color:var(--sky)}

.agent-form-view{display:none}
.agent-form-view.active{display:block}
.agent-form-tip{font-size:11.5px;color:var(--t3);font-style:italic;margin-bottom:12px;line-height:1.5}
.agent-form-textarea{background:var(--ink3);border:1px solid var(--bd2);color:var(--text);padding:14px;border-radius:10px;width:100%;min-height:160px;resize:vertical;font-family:'DM Sans',sans-serif;font-size:14px;outline:none;line-height:1.6;margin-bottom:12px}
.agent-form-textarea:focus{border-color:rgba(99,102,241,.5)}
.bolt-btn{background:var(--grad);border:none;padding:12px 24px;border-radius:9px;color:white;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;transition:.2s}
.bolt-btn:hover{opacity:.88;transform:translateY(-1px)}

/* Category dropdown in Todas Funções */
.cat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;font-family:'Syne',sans-serif;font-size:14px;font-weight:600;color:var(--text);border-bottom:1px solid var(--bd2);transition:.15s;user-select:none}
.cat-header:hover{background:rgba(255,255,255,.03)}
.cat-arrow{font-size:13px;color:var(--t3);transition:transform .3s}
.cat-arrow.open{transform:rotate(180deg)}
.cat-body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.cat-body.open{max-height:1000px}

/* ═══ SOBRE NÓS ═══ */
.sobre-container{max-width:900px;margin:0 auto;padding:60px 32px;width:100%}
.sobre-back{display:inline-flex;align-items:center;gap:7px;color:var(--t3);font-size:13px;cursor:pointer;transition:color .2s;margin-bottom:36px;background:none;border:none;font-family:'DM Sans',sans-serif}
.sobre-back:hover{color:var(--sky)}
.sobre-logo-wrap{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:48px}
.sobre-logo-title{font-family:'Syne',sans-serif;font-size:2rem;font-weight:600;letter-spacing:-1px}
.sobre-logo-title span{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sobre-logo-sub{font-size:13px;color:var(--t3);margin-top:4px}
.sobre-tagline{font-size:15px;color:var(--t2);max-width:600px;line-height:1.65;margin-bottom:48px}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}
.team-card{background:var(--ink2);border:1px solid var(--bd2);border-radius:16px;padding:28px 24px}
.team-photo{width:80px;height:80px;border-radius:50%;background:var(--grad);margin-bottom:14px;display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:28px;color:white;border:2px solid rgba(99,102,241,.3);overflow:hidden}
.team-photo img{width:100%;height:100%;object-fit:cover}
.team-name{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;margin-bottom:2px}
.team-role{font-size:12.5px;color:var(--sky);margin-bottom:12px;font-weight:500}
.team-bio{font-size:12.5px;color:var(--t3);line-height:1.65;margin-bottom:12px}
.team-regs{font-size:11px;color:var(--t3);opacity:.7;line-height:1.7}

/* FAQ Accordion */
.faq-item{border-bottom:1px solid var(--bd2);margin-bottom:4px}
.faq-q{display:flex;align-items:center;justify-content:space-between;font-family:'Syne',sans-serif;font-size:15px;font-weight:600;color:var(--text);padding:14px 0;cursor:pointer;transition:.15s;user-select:none}
.faq-q:hover{color:var(--sky)}
.faq-arrow{font-size:13px;color:var(--t3);transition:transform .3s;flex-shrink:0}
.faq-arrow.open{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;font-size:13.5px;color:var(--t3);line-height:1.7;transition:max-height .35s ease,padding .35s ease;padding:0}
.faq-a.open{max-height:500px;padding:0 0 18px}

.sobre-contact{background:var(--ink2);border:1px solid var(--bd2);border-radius:16px;padding:32px}
.sobre-contact h2{font-family:'DM Serif Display',serif;font-size:1.6rem;margin-bottom:6px}
.sobre-contact p{font-size:13px;color:var(--t3);margin-bottom:24px}

/* ═══ SIDEBAR EXPERT — mesma tonalidade de fonte do modo paciente ═══ */
#screen-chat .sidebar{--t2:#B0C8E4;--t3:#6B8DB5}

/* ═══ PACIENTE (darker palette) ═══ */
#screen-paciente{--ink:#020810;--ink2:#060F1E;--ink3:#0A1728;--text:#F4F8FF;--t2:#B0C8E4;--t3:#6B8DB5}
.paciente-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:60px 24px;text-align:center}
.paciente-page h1{font-family:'DM Serif Display',serif;font-size:2.2rem;margin-bottom:14px;color:#F4F8FF}
.paciente-page p{font-size:14px;color:#6B8DB5;max-width:500px;line-height:1.65;margin-bottom:28px}

/* ═══ LEGAL POPUP CONTENT ═══ */
.legal-content{max-height:55vh;overflow-y:auto;font-size:13px;color:var(--t3);line-height:1.7;padding-right:4px}
.legal-content h3{color:var(--text);font-size:14px;margin:16px 0 6px;font-weight:600}
.legal-content p{margin-bottom:10px}

/* ═══ SHARE POPUP ═══ */
.share-url-box{display:flex;gap:8px;margin-bottom:16px}
.share-url-box input,.share-url-box textarea{flex:1;background:var(--ink3);border:1px solid var(--bd2);color:var(--text);padding:10px 12px;border-radius:8px;font-size:12px;outline:none;font-family:'DM Sans',sans-serif;resize:none}
.share-btns{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;}
.share-btn{padding:8px;border-radius:8px;font-size:12px;cursor:pointer;border:1px solid var(--bd2);background:var(--ink3);color:var(--t2);transition:.15s;display:flex;align-items:center;justify-content:center;gap:6px;}
.share-btn:hover{background:var(--ink4);color:var(--text);border-color:var(--bd)}

/* ═══ IFRAME EMBED ═══ */
.iframe-container{flex:1;width:100%;height:100%;border:none;background:var(--ink)}
.iframe-container iframe{width:100%;height:100%;border:none;background:white}

/* ═══ MOBILE MENU BUTTON ═══ */
.mob-hamburger{display:none;position:fixed;top:12px;left:12px;z-index:55;background:rgba(4,12,24,.9);border:1px solid var(--bd2);border-radius:8px;color:var(--t2);padding:8px;cursor:pointer;font-size:20px}

/* ═══ ANIMATIONS ═══ */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes ringPulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.06);opacity:1}}
@keyframes dotBounce{0%,80%,100%{transform:scale(0)}40%{transform:scale(1)}}
@keyframes featureScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
/* Streaming text cursor */
@keyframes blink-cursor{0%,100%{opacity:1}50%{opacity:0}}
.streaming-cursor::after{content:'▌';animation:blink-cursor .8s infinite;color:var(--sky);margin-left:2px}

@media(max-width:768px){
.hero-btns{flex-direction:column;align-items:center}
.team-grid{grid-template-columns:1fr}
.sidebar{position:absolute;transform:translateX(-100%);width:var(--sw)!important;z-index:50}
.sidebar.mob-open{transform:translateX(0)}
.mob-hamburger{display:flex}
.chat-topbar{padding:12px 14px}
/* Título alinhado à direita no mobile para não sobrepor o ☰ */
.chat-topbar-title{font-size:12px;flex:0 0 auto;margin-left:auto;text-align:right}
.messages-container{padding:16px 14px 28px}
.home-topbar{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}
.home-footer{padding-bottom:max(28px,calc(env(safe-area-inset-bottom) + 16px))}
.input-wrapper{padding-bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px))}
body{padding-bottom:env(safe-area-inset-bottom)}
.features-track{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}
.feat-card{scroll-snap-align:start}
/* Logo/botões da home não cortados no mobile */
.landing-hero{padding-top:max(130px,calc(env(safe-area-inset-top) + 100px))}
.logo-wrap{margin-bottom:28px}
/* Remover gradiente lateral no carousel mobile (quebra visual no 2º card) */
.features-track-wrap::before,.features-track-wrap::after{display:none}
}
