:root{--bg: #212121;--bg-sidebar: #171717;--bg-elevated: #2f2f2f;--bg-hover: #3a3a3a;--bg-user: #303030;--text: #ececec;--text-dim: #b4b4b4;--text-faint: #8f8f8f;--border: #3d3d3d;--accent: #10a37f;--accent-hover: #0d8c6d;--radius: calc(16 * var(--px));--font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color-scheme:dark}:root[data-theme=light]{--bg: #ffffff;--bg-sidebar: #f9f9f9;--bg-elevated: #f4f4f4;--bg-hover: #ececec;--bg-user: #f0f0f0;--text: #1f1f1f;--text-dim: #4d4d4d;--text-faint: #767676;--border: #e3e3e3;color-scheme:light}*{box-sizing:border-box}:root{--base: 14;--px: calc(1rem / var(--base))}html{font-size:calc(var(--base) * 1px)}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:calc(16 * var(--px));line-height:1.6;-webkit-font-smoothing:antialiased}button{font-family:inherit;font-size:inherit;cursor:pointer}a{color:var(--accent)}.app{display:flex;height:100%;overflow:hidden}.sidebar{width:calc(272 * var(--px));flex:0 0 calc(272 * var(--px));background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:calc(12 * var(--px));gap:calc(14 * var(--px));overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:calc(10 * var(--px));padding:calc(6 * var(--px)) calc(8 * var(--px)) 0}.sidebar-brand .logo{width:calc(30 * var(--px));height:calc(30 * var(--px));border-radius:calc(8 * var(--px));background:linear-gradient(135deg,#1d6f8f,#10a37f);display:grid;place-items:center;font-size:calc(15 * var(--px));flex:0 0 auto}.sidebar-brand h1{font-size:calc(14 * var(--px));font-weight:600;margin:0;line-height:1.3}.sidebar-brand p{margin:calc(2 * var(--px)) 0 0;font-size:calc(11.5 * var(--px));color:var(--text-faint);line-height:1.35}.sidebar-section{border-top:1px solid var(--border);padding-top:calc(12 * var(--px))}.sidebar-title{font-size:calc(11 * var(--px));text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:0 calc(8 * var(--px)) calc(8 * var(--px));font-weight:600}.chip-list{display:flex;flex-direction:column;gap:calc(2 * var(--px))}.chip{background:none;border:none;color:var(--text-dim);text-align:left;padding:calc(7 * var(--px)) calc(8 * var(--px));border-radius:calc(8 * var(--px));font-size:calc(13 * var(--px));line-height:1.35;transition:background .12s,color .12s}.chip:hover{background:var(--bg-hover);color:var(--text)}.uploaded{display:flex;align-items:center;gap:calc(8 * var(--px));padding:calc(7 * var(--px)) calc(8 * var(--px));border-radius:calc(8 * var(--px));font-size:calc(12.5 * var(--px));color:var(--text-dim);background:var(--bg-elevated);margin-bottom:calc(4 * var(--px))}.uploaded .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uploaded button{background:none;border:none;color:var(--text-faint);padding:0 calc(2 * var(--px));font-size:calc(15 * var(--px));line-height:1}.uploaded button:hover{color:var(--text)}.sidebar-foot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;margin-top:auto;padding:calc(10 * var(--px)) calc(8 * var(--px)) calc(4 * var(--px));border-top:1px solid var(--border);font-size:calc(11.5 * var(--px));color:var(--text-faint);line-height:1.5}.main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.topbar{display:none;align-items:center;gap:calc(10 * var(--px));padding:calc(10 * var(--px)) calc(14 * var(--px));border-bottom:1px solid var(--border);background:var(--bg)}.icon-btn{background:none;border:none;color:var(--text-dim);padding:calc(6 * var(--px));border-radius:calc(8 * var(--px));display:grid;place-items:center}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.scroll{flex:1;overflow-y:auto;scroll-behavior:smooth}.thread{max-width:calc(768 * var(--px));margin:0 auto;padding:calc(26 * var(--px)) calc(20 * var(--px)) calc(12 * var(--px));display:flex;flex-direction:column;gap:calc(22 * var(--px))}.msg{display:flex;gap:calc(14 * var(--px));align-items:flex-start}.msg.user{justify-content:flex-end}.msg .avatar{width:calc(28 * var(--px));height:calc(28 * var(--px));border-radius:50%;flex:0 0 calc(28 * var(--px));display:grid;place-items:center;font-size:calc(13 * var(--px));background:linear-gradient(135deg,#1d6f8f,#10a37f);margin-top:calc(2 * var(--px))}.bubble-user{background:var(--bg-user);border-radius:calc(20 * var(--px));padding:calc(10 * var(--px)) calc(17 * var(--px));max-width:78%;white-space:pre-wrap;word-break:break-word}.bubble-bot{flex:1;min-width:0}.bubble-bot p{margin:0 0 calc(12 * var(--px))}.bubble-bot p:last-child{margin-bottom:0}.bubble-bot ul{margin:0 0 calc(12 * var(--px));padding-left:calc(22 * var(--px))}.bubble-bot li{margin-bottom:calc(5 * var(--px))}.bubble-bot code{background:var(--bg-elevated);padding:1px calc(5 * var(--px));border-radius:calc(5 * var(--px));font-size:.9em}.bubble-bot blockquote,.bubble-bot .quote{border-left:calc(3 * var(--px)) solid var(--border);margin:0 0 calc(12 * var(--px));padding-left:calc(14 * var(--px));color:var(--text-dim)}.cursor{display:inline-block;width:calc(7 * var(--px));height:calc(17 * var(--px));background:var(--text);vertical-align:text-bottom;animation:blink 1s steps(2,start) infinite;margin-left:calc(2 * var(--px));border-radius:1px}@keyframes blink{to{visibility:hidden}}.typing{display:flex;gap:calc(4 * var(--px));padding:calc(6 * var(--px)) 0}.typing i{width:calc(7 * var(--px));height:calc(7 * var(--px));border-radius:50%;background:var(--text-faint);animation:bounce 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(calc(-5 * var(--px)));opacity:1}}.related{margin-top:calc(14 * var(--px));display:flex;flex-wrap:wrap;gap:calc(7 * var(--px))}.related button{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-dim);border-radius:calc(999 * var(--px));padding:calc(5 * var(--px)) calc(13 * var(--px));font-size:calc(12.5 * var(--px));transition:background .12s,color .12s}.related button:hover{background:var(--bg-hover);color:var(--text)}.source-tag{display:inline-block;margin-top:calc(10 * var(--px));font-size:calc(11.5 * var(--px));color:var(--text-faint);background:var(--bg-elevated);border-radius:calc(6 * var(--px));padding:calc(3 * var(--px)) calc(9 * var(--px))}.welcome{max-width:calc(768 * var(--px));margin:0 auto;padding:8vh calc(20 * var(--px)) calc(20 * var(--px));text-align:center}.welcome h2{font-size:calc(27 * var(--px));font-weight:600;margin:0 0 calc(8 * var(--px));letter-spacing:-.01em}.welcome .lead{color:var(--text-dim);margin:0 auto calc(8 * var(--px));max-width:calc(560 * var(--px))}.facts{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(8 * var(--px));margin:calc(22 * var(--px)) 0 calc(30 * var(--px))}.fact{background:var(--bg-elevated);border:1px solid var(--border);border-radius:calc(999 * var(--px));padding:calc(5 * var(--px)) calc(14 * var(--px));font-size:calc(13 * var(--px));color:var(--text-dim)}.fact strong{color:var(--text);font-weight:600}.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(9 * var(--px));text-align:left}.suggestion{background:none;border:1px solid var(--border);border-radius:calc(12 * var(--px));padding:calc(13 * var(--px)) calc(15 * var(--px));color:var(--text-dim);font-size:calc(13.5 * var(--px));line-height:1.4;transition:background .12s,border-color .12s,color .12s}.suggestion:hover{background:var(--bg-elevated);border-color:var(--text-faint);color:var(--text)}.composer-wrap{padding:calc(8 * var(--px)) calc(20 * var(--px)) calc(14 * var(--px));background:linear-gradient(to bottom,transparent,var(--bg) 28%)}.composer{max-width:calc(768 * var(--px));margin:0 auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:calc(26 * var(--px));padding:calc(8 * var(--px)) calc(8 * var(--px)) calc(8 * var(--px)) calc(16 * var(--px));display:flex;align-items:flex-end;gap:calc(8 * var(--px));transition:border-color .15s}.composer:focus-within{border-color:var(--text-faint)}.composer textarea{flex:1;background:none;border:none;outline:none;resize:none;color:var(--text);font-family:inherit;font-size:calc(15.5 * var(--px));line-height:1.5;max-height:calc(190 * var(--px));padding:calc(7 * var(--px)) 0}.composer textarea::placeholder{color:var(--text-faint)}.composer .attach,.composer .send{flex:0 0 auto;border:none;border-radius:50%;width:calc(34 * var(--px));height:calc(34 * var(--px));display:grid;place-items:center;transition:background .12s,opacity .12s}.composer .attach{background:none;color:var(--text-dim)}.composer .attach:hover{background:var(--bg-hover);color:var(--text)}.composer .send{background:var(--text);color:var(--bg)}.composer .send:disabled{opacity:.25;cursor:default}.composer-note{max-width:calc(768 * var(--px));margin:calc(7 * var(--px)) auto 0;text-align:center;font-size:calc(11.5 * var(--px));color:var(--text-faint);line-height:1.45}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:calc(10 * var(--px));padding:calc(10 * var(--px)) calc(18 * var(--px));font-size:calc(14 * var(--px));font-weight:500;transition:background .12s,opacity .12s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.55;cursor:default}.btn-primary.full{display:block;width:100%}.btn-ghost{background:none;border:1px solid var(--border);color:var(--text-dim);border-radius:calc(10 * var(--px));padding:calc(10 * var(--px)) calc(16 * var(--px));font-size:calc(14 * var(--px));text-decoration:none;display:inline-flex;align-items:center}.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.btn-whatsapp{background:#25d366;color:#062e16;border:none;border-radius:calc(10 * var(--px));padding:calc(10 * var(--px)) calc(18 * var(--px));font-size:calc(14 * var(--px));font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:calc(8 * var(--px));transition:background .12s}.btn-whatsapp:hover{background:#1fb855}.btn-whatsapp.full{display:flex;width:100%}.related .cta-wa{background:#25d366;border:1px solid #25d366;color:#062e16;border-radius:calc(999 * var(--px));padding:calc(5 * var(--px)) calc(13 * var(--px));font-size:calc(12.5 * var(--px));font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:calc(6 * var(--px));transition:background .12s}.related .cta-wa:hover{background:#1fb855;color:#062e16}.welcome-wa{margin:calc(-14 * var(--px)) 0 calc(26 * var(--px));font-size:calc(13.5 * var(--px));color:var(--text-faint)}.welcome-wa a{color:#25d366;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:calc(5 * var(--px));vertical-align:middle}.welcome-wa a:hover{text-decoration:underline}.related .cta{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.related .cta:hover{background:var(--accent-hover);color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(calc(2 * var(--px)));backdrop-filter:blur(calc(2 * var(--px)));z-index:80;display:grid;place-items:center;padding:calc(20 * var(--px));overflow-y:auto}.modal{background:var(--bg);border:1px solid var(--border);border-radius:calc(16 * var(--px));width:100%;max-width:calc(460 * var(--px));box-shadow:0 calc(18 * var(--px)) calc(50 * var(--px)) #00000080;max-height:calc(100vh - calc(40 * var(--px)));display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:calc(16 * var(--px)) calc(18 * var(--px));border-bottom:1px solid var(--border);flex:0 0 auto}.modal-head h3{margin:0;font-size:calc(16 * var(--px));font-weight:600}.modal-body{padding:calc(18 * var(--px));display:flex;flex-direction:column;gap:calc(13 * var(--px));overflow-y:auto}.modal-body label{display:flex;flex-direction:column;gap:calc(5 * var(--px))}.modal-body label>span{font-size:calc(12.5 * var(--px));color:var(--text-dim)}.modal-body input,.modal-body textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:calc(9 * var(--px));padding:calc(9 * var(--px)) calc(12 * var(--px));color:var(--text);font-family:inherit;font-size:calc(14.5 * var(--px));outline:none;resize:vertical;width:100%}.modal-body .trampa{position:absolute;left:calc(-10000 * var(--px));width:1px;height:1px;overflow:hidden}.modal-body input:focus,.modal-body textarea:focus{border-color:var(--accent)}.modal-body input::placeholder,.modal-body textarea::placeholder{color:var(--text-faint)}.modal-error{margin:0;font-size:calc(13 * var(--px));color:#ff8080;background:#ff5a5a1a;border-radius:calc(8 * var(--px));padding:calc(8 * var(--px)) calc(11 * var(--px))}.modal-actions{display:flex;gap:calc(9 * var(--px));justify-content:flex-end;align-items:center;margin-top:calc(3 * var(--px));flex-wrap:wrap}.modal-ok{padding:calc(34 * var(--px)) calc(24 * var(--px));text-align:center}.modal-ok p{margin:0 0 calc(4 * var(--px))}.modal-ok .dim{color:var(--text-dim);font-size:calc(14 * var(--px));margin-bottom:calc(20 * var(--px))}.modal-ok .tick{width:calc(46 * var(--px));height:calc(46 * var(--px));border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:calc(24 * var(--px));margin:0 auto calc(14 * var(--px))}.backdrop{display:none}@media(max-width:860px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:60;transform:translate(-100%);transition:transform .22s ease;box-shadow:0 0 calc(34 * var(--px)) #00000073}.sidebar.open{transform:translate(0)}.backdrop.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:50}.topbar{display:flex}.suggestions{grid-template-columns:1fr}.welcome{padding-top:5vh}.welcome h2{font-size:calc(22 * var(--px))}.thread{padding:calc(18 * var(--px)) calc(14 * var(--px)) calc(8 * var(--px))}.composer-wrap{padding:calc(8 * var(--px)) calc(12 * var(--px)) calc(12 * var(--px))}.modal-backdrop{padding:calc(12 * var(--px));align-items:flex-start}.modal-actions{justify-content:stretch}.modal-actions .btn-primary,.modal-actions .btn-ghost{flex:1;justify-content:center;text-align:center}}
