:root{--bg: #fafafa;--bg-1: #ffffff;--bg-2: #f5f5f5;--bg-3: #ededed;--bg-hover: #f0f0f0;--border: #e5e5e5;--border-soft: #eeeeee;--text: #1a1a1a;--text-dim: #737373;--text-faint: #6e6e6e;--primary: #0f0f0f;--primary-hover: #262626;--primary-text: #ffffff;--accent: #ec4899;--accent-2: #db2777;--accent-dim: #be185d;--accent-soft: rgba(236, 72, 153, .08);--accent-glow: rgba(236, 72, 153, .35);--brand-grad: linear-gradient(135deg, #a855f7, #ec4899);--user-bubble: #0f0f0f;--success: #16a34a;--info: #0891b2;--danger: #ef4444;--danger-text: #b91c1c;--danger-bg: rgba(239, 68, 68, .09);--warn: #f59e0b;--warn-bg: rgba(245, 158, 11, .12);--warn-text: #b45309;--radius: 8px;--radius-sm: 6px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12);--sidebar-w: 288px;--content-max: 820px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:4px}.btn:focus-visible,.send:focus-visible,.new-chat:focus-visible,.conv-item:focus-visible,.model-opt:focus-visible,.memory-btn:focus-visible,.row-menu-item:focus-visible,.example-chip:focus-visible,.user-card:focus-visible,.color-swatch:focus-visible,.attach-btn:focus-visible,.topbar-new:focus-visible,.hamburger:focus-visible,.login-btn:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;box-shadow:0 0 0 4px var(--accent-glow)}.conv-row:focus-within .row-menu-btn,.folder-header:focus-within .row-menu-btn,.msg:focus-within .msg-del{opacity:.85}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.login-aurora{display:none}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#bdbdbd;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.full-loader{height:100vh;height:100dvh;display:grid;place-items:center}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .7s linear infinite}.spinner.small{width:18px;height:18px;border-width:2px;display:inline-block;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.btn{border:1px solid transparent;border-radius:var(--radius-sm);padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.btn.primary{background:var(--primary);color:var(--primary-text)}.btn.primary:hover{background:var(--primary-hover)}.btn.primary:disabled{opacity:.5;cursor:default;box-shadow:none}.btn.ghost{background:transparent;color:var(--text-dim);border-color:var(--border)}.btn.ghost:hover{color:var(--text);background:var(--bg-2);border-color:#d4d4d4}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 50% -10%,#fdf2f8 0%,var(--bg) 55%)}.login-aurora{position:absolute;inset:-20% -10% auto -10%;height:60%;background:radial-gradient(600px 300px at 20% 30%,rgba(236,72,153,.1),transparent 60%),radial-gradient(500px 260px at 80% 10%,rgba(168,85,247,.08),transparent 60%);filter:blur(30px);pointer-events:none;animation:drift 14s ease-in-out infinite alternate}@keyframes drift{to{transform:translateY(20px) scale(1.05)}}.login-card{position:relative;width:100%;max-width:400px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 34px;box-shadow:var(--shadow-lg)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.login-logo-img{height:40px;width:auto;object-fit:contain;display:block}.login-logo{width:44px;height:44px;display:grid;place-items:center;font-size:22px;border-radius:12px;color:#fff;background:var(--brand-grad);box-shadow:0 6px 20px var(--accent-glow)}.login-brand-name{font-weight:800;font-size:18px;letter-spacing:-.02em}.login-brand-sub{font-size:12px;color:var(--text-dim)}.login-title{font-size:24px;font-weight:750;margin:0 0 6px;letter-spacing:-.02em}.login-desc{color:var(--text-dim);font-size:14px;margin:0 0 26px}.login-form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field-check{flex-direction:row;align-items:center;gap:9px;cursor:pointer}.field-check input{width:16px;height:16px;padding:0;margin:0;flex-shrink:0;border:0;background:none;border-radius:0;accent-color:var(--accent);cursor:pointer}.field-check .field-label{cursor:pointer}.field-label{font-size:12.5px;font-weight:600;color:var(--text-dim)}.field-label .hint{color:var(--text-faint);font-weight:400;font-style:normal}.field input,.field select,.admin-form input,.admin-form select{background:var(--bg-1);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;font-family:inherit;transition:all .15s}.field input:focus,.field select:focus,.admin-form input:focus,.admin-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.login-error{background:var(--danger-bg);color:var(--danger-text);font-size:13px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.25)}.login-btn{margin-top:4px;background:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-sm);padding:13px;font-size:15px;font-weight:700;cursor:pointer;transition:all .15s}.login-btn:hover:not(:disabled){background:var(--primary-hover)}.login-btn:disabled{opacity:.6;cursor:default}.login-foot{text-align:center;margin-top:22px;font-size:11.5px;color:var(--text-faint)}.chat-layout{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar{width:var(--sidebar-w);flex-shrink:0;height:100%;background:var(--bg-1);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:40}.sidebar-top{padding:16px 14px 10px}.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 14px}.brand-logo{height:28px;width:auto;object-fit:contain;display:block}.brand .logo{width:30px;height:30px;display:grid;place-items:center;font-size:15px;border-radius:9px;color:#fff;background:var(--brand-grad);box-shadow:0 4px 14px var(--accent-glow)}.brand-name{font-weight:800;font-size:16px;letter-spacing:-.02em}.brand-marca{font-weight:700;font-size:14px;letter-spacing:-.01em;line-height:1.2;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis}.new-chat{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:var(--primary-text);border:1px solid var(--primary);border-radius:var(--radius-sm);padding:11px 14px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.new-chat:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.new-chat .plus{font-size:18px;line-height:1;color:var(--primary-text)}.conv-list{flex:1;overflow-y:auto;padding:8px 8px 12px}.conv-item{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:1px solid transparent;color:var(--text-dim);border-radius:var(--radius-sm);padding:9px 10px;margin-bottom:2px;cursor:pointer;transition:all .12s}.conv-item:hover{background:var(--bg-2);color:var(--text)}.conv-item.active{background:var(--accent-soft);color:var(--text);border-color:#ec489938}.conv-item.active .conv-icon{opacity:1}.conv-icon{font-size:14px;flex-shrink:0;opacity:.8}.conv-body{display:flex;flex-direction:column;min-width:0;flex:1}.conv-title{font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-date{font-size:11px;color:var(--text-faint);margin-top:1px}.conv-empty{text-align:center;color:var(--text-faint);font-size:13px;padding:30px 12px;line-height:1.6}.conv-row.editing{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:2px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-1);box-shadow:0 0 0 3px var(--accent-glow)}.conv-rename-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-size:13.5px;font-weight:500;font-family:inherit;padding:0}.chart-card{margin:14px 0;padding:14px 14px 8px;border:1px solid var(--border);border-radius:14px;background:var(--bg-1)}.chart-title{font-size:13.5px;font-weight:700;color:var(--text);margin:0 0 10px 2px}.chart-body{width:100%}.chart-tooltip{background:var(--bg-1);border:1px solid var(--border);border-radius:10px;padding:8px 10px;box-shadow:0 8px 24px #00000024;font-size:12.5px}.chart-tooltip-label{font-weight:700;color:var(--text);margin-bottom:5px}.chart-tooltip-row{display:flex;align-items:center;gap:7px;padding:1px 0}.chart-tooltip-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.chart-tooltip-name{color:var(--text-dim)}.chart-tooltip-val{color:var(--text);font-weight:700;margin-left:auto}.recharts-cartesian-axis-tick text{fill:var(--text-faint)}.recharts-surface{overflow:visible}.profile-section-title{font-size:13px;font-weight:700;color:var(--text);margin:2px 0 10px;display:flex;flex-direction:column;gap:2px}.profile-section-sub{font-size:11.5px;font-weight:500;color:var(--text-faint)}.field-hint{font-size:11.5px;color:var(--text-faint);margin-top:4px;display:block}.profile-save-row{display:flex;align-items:center;gap:12px;margin-top:6px}.profile-msg{font-size:12.5px;color:var(--accent-dim);font-weight:700}.profile-divider{height:1px;background:var(--border);margin:18px 0}.memory-add{display:flex;gap:8px;margin-bottom:12px}.memory-add input{flex:1}.memory-list{display:flex;flex-direction:column;gap:8px}.memory-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg-1);border:1px solid var(--border);border-radius:10px}.memory-ico{flex-shrink:0;font-size:14px;line-height:1.5}.memory-text{flex:1;font-size:13px;color:var(--text);line-height:1.45;word-break:break-word}.memory-del{background:transparent;border:none;cursor:pointer;color:var(--text-faint);font-size:13px;padding:2px 4px;border-radius:6px}.memory-del:hover{color:var(--danger)}.memory-empty{text-align:center;color:var(--text-faint);font-size:12.5px;padding:18px 10px;line-height:1.5}.terms-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:#0f172a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:20px}.terms-card{width:min(680px,96vw);max-height:88vh;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:26px 28px;box-shadow:0 20px 60px #0000004d}.terms-badge{display:inline-block;font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:3px 10px;margin-bottom:10px}.terms-title{font-size:19px;font-weight:800;color:var(--text);margin:0 0 14px}.terms-content{font-size:13.5px;color:var(--text-dim);line-height:1.6}.terms-content strong{color:var(--text)}.terms-content p{margin:0 0 10px}.terms-actions{margin-top:20px;display:flex;justify-content:flex-end}.btn.lg{padding:11px 22px;font-size:14.5px}.pw-reminder{display:flex;align-items:center;gap:10px;padding:9px 16px;background:var(--accent-soft);border-bottom:1px solid var(--accent-glow);font-size:13px;color:var(--text)}.pw-reminder-ico{font-size:14px;flex-shrink:0}.pw-reminder-text{flex:1;min-width:0}.pw-reminder-btn{background:var(--primary);color:var(--primary-text);border:none;border-radius:8px;padding:6px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;flex-shrink:0}.pw-reminder-btn:hover{background:var(--primary-hover)}.pw-reminder-close{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:6px;flex-shrink:0;line-height:1}.pw-reminder-close:hover{color:var(--text)}.about-textarea{width:100%;resize:vertical;min-height:62px;font:inherit;font-size:13.5px;line-height:1.5;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-1);color:var(--text)}.about-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.about-textarea::placeholder{color:var(--text-faint)}.nav-reports{width:100%;margin-top:8px;display:inline-flex;align-items:center;gap:8px;background:var(--bg-1);border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);padding:9px 12px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.nav-reports:hover{background:var(--accent-soft);color:var(--text);border-color:var(--accent-glow)}.reports-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.reports-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-bottom:1px solid var(--border);background:var(--bg-1);position:sticky;top:0;z-index:10}.rp-back{background:transparent;border:1px solid var(--border);border-radius:8px;padding:7px 12px;font:inherit;font-size:13px;cursor:pointer;color:var(--text-dim)}.rp-back:hover{color:var(--text);background:var(--bg-2)}.rp-title{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px}.rp-logo{height:22px;width:auto}.reports-body{max-width:960px;width:100%;margin:0 auto;padding:28px 22px 70px;display:flex;flex-direction:column;gap:40px}.rp-h2{font-size:18px;font-weight:800;margin:0 0 4px;letter-spacing:-.01em}.rp-sub{color:var(--text-dim);font-size:13.5px;margin:0 0 16px}.rp-empty{color:var(--text-faint);font-size:13.5px;padding:22px;text-align:center;border:1px dashed var(--border);border-radius:12px}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.tpl-card{text-align:left;background:var(--bg-1);border:1px solid var(--border);border-radius:14px;padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:7px;transition:border-color .15s,box-shadow .15s,transform .1s}.tpl-card:hover{border-color:var(--accent-glow);box-shadow:var(--shadow);transform:translateY(-1px)}.tpl-emoji{font-size:26px}.tpl-name{font-weight:700;font-size:14.5px;line-height:1.3}.tpl-desc{font-size:12.5px;color:var(--text-dim);line-height:1.45;flex:1}.tpl-badge{align-self:flex-start;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:6px;margin-top:4px}.tpl-badge.default{background:var(--accent-soft);color:var(--accent-dim)}.tpl-badge.mine{background:var(--bg-2);color:var(--text-dim)}.tpl-card.create-ai{border-style:dashed;border-color:var(--accent-glow);background:var(--accent-soft)}.tpl-card.create-ai:hover{border-style:solid}.tpl-card.create-ai .tpl-name{color:var(--accent-dim)}.page-list{display:flex;flex-direction:column;gap:8px}.page-row{display:flex;align-items:center;gap:10px;background:var(--bg-1);border:1px solid var(--border);border-radius:12px;padding:4px 8px 4px 4px}.page-main{flex:1;min-width:0;text-align:left;background:transparent;border:0;cursor:pointer;padding:11px 12px;border-radius:9px;color:inherit}.page-main:hover{background:var(--bg-2)}.page-title{display:block;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-meta{display:block;font-size:12px;color:var(--text-faint);margin-top:3px}.page-meta .st{font-weight:700;padding:1px 7px;border-radius:5px}.st.st-active{background:var(--bg-2);color:var(--text-dim)}.st.st-approved{background:#10a34a1f;color:#15803d}.st.st-pending{background:var(--warn-bg);color:var(--warn-text)}.st.st-rejected{background:var(--danger-bg);color:var(--danger-text)}.page-actions{display:flex;gap:6px;flex-shrink:0;padding-right:4px}.pa-btn{background:transparent;border:1px solid var(--border);border-radius:8px;padding:6px 10px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--text-dim)}.pa-btn:hover{color:var(--text);background:var(--bg-2)}.pa-btn.danger:hover{color:var(--danger);border-color:var(--danger)}.field-row{display:flex;gap:12px;flex-wrap:wrap}.field-row .field{flex:1 1 150px;min-width:0}.pub-note{background:var(--accent-soft);border-radius:8px;padding:9px 11px;margin-top:4px;color:var(--text-dim)}.mk-count{color:var(--accent-2);font-weight:700;margin-left:6px}.mk-box{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-1)}.mk-search-row{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--border-soft)}.mk-search{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 11px;font:inherit;font-size:13.5px;background:var(--bg-0);color:var(--text)}.mk-link{border:0;background:none;color:var(--accent-2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;padding:4px 6px;white-space:nowrap}.mk-link:hover{text-decoration:underline}.mk-list{max-height:260px;overflow-y:auto}.mk-empty{padding:18px;color:var(--text-faint);font-size:13px;text-align:center}.mk-empty.mk-err{color:var(--danger-text)}.mk-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border-soft);transition:background .1s}.mk-item:last-child{border-bottom:0}.mk-item:hover{background:var(--bg-2)}.mk-item.on{background:var(--accent-soft)}.mk-item input{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}.mk-logo{width:26px;height:26px;border-radius:6px;object-fit:contain;background:#fff;border:1px solid var(--border-soft);flex-shrink:0}.mk-logo.ph{background:var(--bg-3)}.mk-name{font-size:13.5px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mk-slug{font-size:11.5px;color:var(--text-faint);font-family:ui-monospace,Menlo,monospace}.batch-head{font-size:14px;margin-bottom:8px}.batch-fail{color:var(--danger-text);font-weight:600}.batch-bar{height:10px;background:var(--bg-3);border-radius:6px;overflow:hidden}.batch-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:6px;transition:width .4s cubic-bezier(.22,1,.36,1)}.batch-pct{text-align:right;font-size:12px;color:var(--text-dim);font-weight:700;margin:4px 0 12px;font-variant-numeric:tabular-nums}.batch-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.batch-item{display:flex;align-items:center;gap:9px;padding:8px 6px;border-bottom:1px solid var(--border-soft);font-size:13.5px}.batch-item:last-child{border-bottom:0}.batch-item.running{background:var(--accent-soft);border-radius:6px}.batch-ico{width:18px;text-align:center;flex-shrink:0}.batch-nome{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-wait{font-size:12px;color:var(--text-faint)}.batch-erro{font-size:12px;color:var(--danger-text);max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-item.done .batch-nome{color:var(--text)}.batch-item.pending .batch-nome{color:var(--text-dim)}.batch-pill{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:11px;background:var(--bg-1);border:1px solid var(--border);border-radius:14px;padding:11px 16px 13px;box-shadow:var(--shadow-lg);cursor:pointer;font:inherit;text-align:left;min-width:210px;transition:transform .12s,box-shadow .12s;animation:pill-in .22s cubic-bezier(.22,1,.36,1)}.batch-pill:hover{transform:translateY(-2px);box-shadow:0 16px 44px #00000029}@keyframes pill-in{0%{transform:translateY(12px);opacity:0}}.bp-ico{font-size:18px}.batch-pill.done .bp-ico{animation:none}.bp-txt{display:flex;flex-direction:column;font-size:13.5px;font-weight:700;color:var(--text)}.bp-sub{font-size:11.5px;font-weight:600;color:var(--text-dim);margin-top:1px}.bp-ring{position:absolute;left:16px;right:16px;bottom:7px;height:3px;background:var(--bg-3);border-radius:3px;overflow:hidden}.bp-ring i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:3px;transition:width .4s cubic-bezier(.22,1,.36,1)}.batch-pill.done .bp-ring i{background:var(--success)}.batch-modal{max-width:520px}.pageviewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:var(--bg);display:flex;flex-direction:column}.pv-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 18px;border-bottom:1px solid var(--border);background:var(--bg-1)}.pv-title{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-close{background:var(--primary);color:var(--primary-text);border:0;border-radius:8px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.pv-frame{flex:1;width:100%;border:0;background:#fff}.public-msg{min-height:100vh;min-height:100dvh;display:grid;place-content:center;text-align:center;padding:24px;color:var(--text-dim)}.public-msg h1{font-size:22px;color:var(--text);margin:0 0 8px}.new-folder-btn{width:100%;display:flex;align-items:center;gap:7px;background:transparent;border:1px dashed var(--border);color:var(--text-dim);border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:8px;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .12s}.new-folder-btn:hover{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.new-folder-btn .plus{font-size:15px;line-height:1}.folder-group{margin-bottom:4px}.folder-header{display:flex;align-items:center;gap:8px;position:relative;padding:7px 8px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-dim);transition:background .12s,color .12s;-webkit-user-select:none;user-select:none}.folder-header:hover{background:var(--bg-2);color:var(--text)}.folder-chevron{font-size:10px;line-height:1;color:var(--text-faint);flex-shrink:0;transition:transform .15s ease;transform:rotate(0)}.folder-chevron.collapsed{transform:rotate(-90deg)}.folder-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--text-faint)}.folder-dot.none{background:transparent;border:1.5px dashed var(--text-faint)}.folder-name{flex:1;min-width:0;font-size:13px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-count{flex-shrink:0;font-size:11px;font-weight:600;color:var(--text-faint);background:var(--bg-2);border-radius:999px;padding:1px 7px;min-width:20px;text-align:center}.folder-header:hover .folder-count{background:var(--bg-3)}.folder-convs{padding-left:12px;border-left:1px solid var(--border-soft);margin:2px 0 4px 12px}.folder-empty{font-size:11.5px;color:var(--text-faint);padding:6px 10px;font-style:italic}.folder-ico{flex-shrink:0;display:block}.color-custom{width:28px;height:28px;padding:0;border:2px solid var(--border);border-radius:50%;cursor:pointer;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0}.color-custom::-webkit-color-swatch-wrapper{padding:0}.color-custom::-webkit-color-swatch{border:none;border-radius:50%}.color-custom::-moz-color-swatch{border:none;border-radius:50%}.color-preview{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12.5px;color:var(--text-dim)}.row-menu-sep{height:1px;background:var(--border);margin:4px 0}.conv-row{position:relative}.row-menu-wrap{position:relative;flex-shrink:0}.conv-row>.row-menu-wrap{position:absolute;top:50%;right:6px;transform:translateY(-50%);z-index:2}.row-menu-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:15px;line-height:1;padding:3px 6px;border-radius:6px;opacity:0;transition:opacity .12s,background .12s,color .12s}.conv-row:hover .row-menu-btn,.folder-header:hover .row-menu-btn,.row-menu-btn[aria-expanded=true]{opacity:.65}.row-menu-btn:hover{opacity:1;background:var(--bg-3);color:var(--text)}.row-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:172px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:5px;z-index:60;animation:pop .12s ease}.row-menu-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);padding:5px 9px 4px}.row-menu-item{width:100%;display:flex;align-items:center;gap:8px;text-align:left;background:transparent;border:none;color:var(--text);padding:8px 9px;border-radius:7px;font-size:13px;cursor:pointer;transition:background .1s}.row-menu-item:hover:not(:disabled){background:var(--bg-hover)}.row-menu-item:disabled{opacity:.4;cursor:default}.row-menu-item.danger{color:var(--danger-text)}.row-menu-item.danger:hover:not(:disabled){background:var(--danger-bg)}.color-swatches{display:flex;flex-wrap:wrap;gap:10px}.color-swatch{width:30px;height:30px;border-radius:50%;cursor:pointer;padding:0;border:2px solid transparent;box-shadow:var(--shadow-sm);transition:transform .12s,box-shadow .12s;position:relative}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:var(--text);box-shadow:0 0 0 3px var(--bg-1),0 0 0 4px var(--text)}.conv-skeletons{display:flex;flex-direction:column;gap:6px;padding:4px}.conv-skeleton{height:40px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg-2) 25%,var(--bg-3) 50%,var(--bg-2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}.sidebar-user{position:relative;padding:10px;border-top:1px solid var(--border)}.user-card{width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:8px;cursor:pointer;transition:all .12s;color:var(--text)}.user-card:hover{background:var(--bg-2);border-color:var(--border)}.user-info{display:flex;flex-direction:column;min-width:0;flex:1;text-align:left}.user-name{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:11px;color:var(--text-faint)}.user-caret{color:var(--text-dim);font-size:18px}.user-menu{position:absolute;bottom:calc(100% - 4px);left:10px;right:10px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:6px;z-index:50;animation:pop .12s ease}@keyframes pop{0%{opacity:0;transform:translateY(6px)}}.user-menu-item{width:100%;text-align:left;background:transparent;border:none;color:var(--text);padding:9px 10px;border-radius:8px;font-size:13.5px;cursor:pointer;display:flex;gap:8px;align-items:center}.user-menu-item:hover{background:var(--bg-hover)}.user-menu-item.danger{color:var(--danger-text)}.user-menu-item.danger:hover{background:var(--danger-bg)}.sidebar-scrim{display:none}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg)}.chat-topbar{display:none;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-1)}.hamburger,.topbar-new{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:9px;padding:7px 11px;cursor:pointer;font-size:15px}.hamburger:hover,.topbar-new:hover{background:var(--bg-2)}.chat-topbar-title{flex:1;font-weight:700}.topbar-new{font-size:13px;font-weight:600}.chat-scroll{flex:1;overflow-y:auto}.chat-inner{max-width:var(--content-max);margin:0 auto;padding:28px 22px;width:100%}.composer-shell .chat-inner{padding-top:0;padding-bottom:0}.welcome{text-align:center;margin-top:8vh;color:var(--text-dim);animation:fade .4s ease}@keyframes fade{0%{opacity:0;transform:translateY(8px)}}.welcome-logo{width:60px;height:60px;margin:0 auto 20px;display:grid;place-items:center;font-size:30px;border-radius:18px;color:#fff;background:var(--brand-grad);box-shadow:0 12px 40px #ec489940}.welcome h1{color:var(--text);font-size:28px;margin:0 0 10px;letter-spacing:-.02em}.welcome p{max-width:520px;margin:0 auto;line-height:1.6}.examples{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:30px}.example-chip{background:var(--bg-1);border:1px solid var(--border);color:var(--text-dim);padding:12px 16px;border-radius:12px;cursor:pointer;font-size:13px;max-width:340px;text-align:left;transition:all .15s;line-height:1.4}.example-chip:hover{border-color:var(--accent);color:var(--text);background:var(--bg-2);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.conv-loading{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:14px;padding:20px 0;justify-content:center}.msg{display:flex;gap:13px;margin-bottom:22px;animation:fade .25s ease}.msg.user{flex-direction:row-reverse}.avatar{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-2);border:1px solid var(--border);border-radius:50%;font-size:17px}.msg.assistant .avatar{background:var(--brand-grad);border:none;color:#fff}.bubble{max-width:80%;min-width:0;position:relative}.msg-del{position:absolute;top:4px;right:6px;z-index:2;background:transparent;border:none;cursor:pointer;font-size:12px;line-height:1;padding:3px 5px;border-radius:6px;opacity:0;transition:opacity .15s,background .15s}.msg:hover .msg-del{opacity:.55}.msg-del:hover{opacity:1;background:var(--danger-bg)}.msg.user .bubble{background:var(--user-bubble);color:#fff;padding:11px 15px;border-radius:16px 16px 5px;box-shadow:var(--shadow-sm)}.msg.assistant .bubble{background:var(--bg-1);border:1px solid var(--border);padding:14px 17px;border-radius:16px 16px 16px 5px;box-shadow:var(--shadow-sm)}.text{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;line-height:1.6}.unknown-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:9px;background:var(--warn-bg);color:var(--warn-text);border:1px solid rgba(245,158,11,.3);font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px}.unknown-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--warn-text)}.markdown :first-child{margin-top:0}.markdown :last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3{line-height:1.3;margin:16px 0 8px}.markdown p{margin:8px 0}.markdown ul,.markdown ol{padding-left:20px;margin:8px 0}.markdown li{margin:3px 0}.markdown a{color:var(--accent-2)}.markdown strong{color:var(--text)}.markdown table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13px;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--border);padding:7px 11px;text-align:left}.markdown th{background:var(--bg-2)}.markdown code{background:var(--bg-3);padding:2px 6px;border-radius:5px;font-size:13px;font-family:ui-monospace,SF Mono,Menlo,monospace}.markdown pre{background:#08090d;color:#e2e6f0;padding:13px;border-radius:10px;overflow-x:auto;border:1px solid var(--border)}.markdown pre code{background:transparent;padding:0;color:inherit}.markdown blockquote{border-left:3px solid var(--accent);margin:10px 0;padding:2px 14px;color:var(--text-dim)}.sql-details{margin-top:12px;border-top:1px dashed var(--border);padding-top:10px}.sql-toggle{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:12.5px;font-weight:500;padding:2px 0;transition:color .12s}.sql-toggle:hover{color:var(--accent-2)}.sql-body{animation:fade .2s ease}.step{margin:10px 0;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-2)}.step-head{display:flex;align-items:center;gap:9px;font-size:12px;margin-bottom:7px;flex-wrap:wrap}.step-num{color:var(--accent-2);font-weight:700}.step-motivo{color:var(--text);flex:1;min-width:120px}.step-count{color:var(--text-dim)}.csv-btn{background:var(--primary);color:var(--primary-text);border:none;border-radius:7px;padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer;transition:all .12s}.csv-btn:hover{background:var(--primary-hover)}.dl-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0 4px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-1)}.dl-info{font-size:12.5px;color:var(--text-dim);font-weight:600;margin-right:2px}.dl-btn{border:0;border-radius:7px;padding:6px 12px;font-size:12.5px;font-weight:700;cursor:pointer;background:var(--primary);color:var(--primary-text);transition:background .12s}.dl-btn:hover{background:var(--primary-hover)}.dl-btn.xlsx{background:#1d6f42}.dl-btn.xlsx:hover{background:#17603a}.dl-btn.ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border)}.dl-btn.ghost:hover{background:var(--bg-2);color:var(--text)}.learn-switch{display:flex;gap:6px}.ls-btn{border:1px solid var(--border);background:var(--bg-1);color:var(--text-dim);border-radius:8px;padding:7px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ls-btn.on{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.learn-actions{display:flex;align-items:center;gap:10px;margin:4px 0 14px}.learn-badge{font-size:12.5px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:4px 10px;border-radius:20px}.learn-badge.dim{color:var(--text-dim);background:var(--bg-2)}.learn-search{flex:1;max-width:380px;border:1px solid var(--border);border-radius:8px;padding:8px 12px;font:inherit;font-size:13px;background:var(--bg-0);color:var(--text)}.learn-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-1)}.learn-form input,.learn-form textarea{border:1px solid var(--border);border-radius:8px;padding:9px 12px;font:inherit;font-size:13px;background:var(--bg-0);color:var(--text);resize:vertical}.learn-form textarea.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.learn-form-actions{display:flex;gap:8px}.learn-sql{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;line-height:1.5;color:var(--text-dim);background:var(--bg-2);border-radius:6px;padding:6px 8px;margin-top:4px;max-height:84px;overflow:auto;white-space:pre-wrap;word-break:break-word}.learn-status{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:20px;text-transform:capitalize}.learn-status.pendente{background:color-mix(in srgb,#d99b28 18%,transparent);color:#a3701a}.learn-status.aprovado{background:color-mix(in srgb,#2e9e5b 18%,transparent);color:#1f7a44}.learn-status.rejeitado{background:var(--bg-2);color:var(--text-dim)}.learn-h3{margin:26px 0 10px;font-size:15px}.btn.sm{padding:5px 10px;font-size:12px}.btn.danger{color:#d64545}.td-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.rating{display:flex;align-items:center;gap:4px;margin-top:10px}.rate-btn{border:0;background:transparent;cursor:pointer;padding:3px 6px;border-radius:6px;font-size:14px;line-height:1;opacity:.35;transition:opacity .12s,background .12s}.rate-btn:hover{opacity:1;background:var(--bg-2)}.rate-btn.on{opacity:1;background:color-mix(in srgb,var(--accent) 18%,transparent)}.rate-btn.on.down{background:color-mix(in srgb,#d64545 18%,transparent)}.rate-msg{font-size:11.5px;color:var(--text-dim);margin-left:4px}.rate-msg.err{color:#d64545}.csv-btn.xlsx-btn{background:#1d6f42;margin-left:6px}.csv-btn.xlsx-btn:hover{background:#17603a}.pv-actions{display:flex;align-items:center;gap:10px}.pv-xlsx{background:#1d6f42;color:#fff;border:0;border-radius:8px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.pv-xlsx:hover{background:#17603a}.sql-code{background:#08090d;color:#e2e6f0;padding:12px 14px;border-radius:9px;overflow-x:auto;font-size:12.5px;line-height:1.55;margin:8px 0;white-space:pre;font-family:ui-monospace,SF Mono,Menlo,monospace;border:1px solid var(--border);-moz-tab-size:2;tab-size:2}.sql-code .tok-kw{color:#ff79c6;font-weight:600}.sql-code .tok-fn{color:#8be9fd}.sql-code .tok-string{color:#f1fa8c}.sql-code .tok-num{color:#bd93f9}.sql-code .tok-comment{color:#6272a4;font-style:italic}.sql-code .tok-tick{color:#50fa7b}.sql-code .tok-op{color:#ff9580}.sql-code .tok-id{color:#e2e6f0}.step-error{color:var(--danger-text);font-size:12.5px;background:var(--danger-bg);padding:8px 10px;border-radius:8px}.table-wrap{overflow:auto;max-height:360px;border:1px solid var(--border);border-radius:10px;background:var(--bg-1)}.table-wrap table{border-collapse:collapse;width:100%;font-size:12px}.table-wrap th,.table-wrap td{border:1px solid var(--border-soft);padding:6px 10px;white-space:nowrap}.table-wrap th{background:var(--bg-2);position:sticky;top:0;z-index:1}.table-wrap tbody tr:nth-child(2n){background:#00000005}.table-more{padding:6px 10px;font-size:11px;color:var(--text-faint);border-top:1px solid var(--border-soft)}.typing{display:inline-flex;gap:5px;padding:0}.thinking-status{display:flex;align-items:center;gap:10px;padding:2px}.thinking-text{font-size:13.5px;color:var(--text-dim);font-weight:500}.thinking-timer{font-size:12px;color:var(--text-faint);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;padding:1px 7px;border:1px solid var(--border);border-radius:999px;background:var(--bg-1)}.typing span{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:blink 1.2s infinite both}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.composer-shell{border-top:1px solid var(--border);background:linear-gradient(180deg,transparent,var(--bg) 55%);padding-bottom:env(safe-area-inset-bottom,0px)}.composer{padding:14px 0 12px}.composer-inner{display:flex;gap:10px;align-items:flex-end;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:8px 8px 8px 14px;transition:border-color .15s,box-shadow .15s}.composer-inner:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.composer textarea{flex:1;resize:none;max-height:200px;background:transparent;color:var(--text);border:none;padding:6px 0;font:inherit;line-height:1.5}.composer textarea:focus{outline:none}.composer textarea::placeholder{color:var(--text-faint)}.send{background:var(--primary);color:var(--primary-text);border:none;width:38px;height:38px;border-radius:10px;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:all .15s}.send:hover:not(:disabled){background:var(--primary-hover)}.send:disabled{opacity:.4;cursor:default}.send.stop{background:var(--danger)}.send.stop:hover{background:var(--danger-text)}.send.stop .stop-ico{width:12px;height:12px;border-radius:3px;background:#fff;display:block}.toast{position:absolute;left:50%;bottom:96px;transform:translate(-50%);max-width:min(560px,92%);background:var(--text);color:#fff;padding:10px 16px;border-radius:10px;font-size:13.5px;font-weight:500;box-shadow:var(--shadow-lg);z-index:50;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.disclaimer{text-align:center;font-size:11px;color:var(--text-faint);margin-top:9px}.composer-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.memory-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;background:var(--bg-1);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:6px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.memory-btn:hover{background:var(--accent-soft);color:var(--text);border-color:var(--accent-glow)}.model-switch{display:inline-flex;gap:3px;padding:3px;background:var(--bg-1);border:1px solid var(--border);border-radius:999px}.model-opt{display:inline-flex;align-items:center;gap:6px;line-height:1;border:none;background:transparent;cursor:pointer;padding:6px 13px;border-radius:999px;font:inherit;font-size:12.5px;font-weight:600;color:var(--text-dim);transition:background .15s,color .15s,box-shadow .15s}.model-opt:hover:not(:disabled):not(.active){color:var(--text);background:var(--bg-2)}.model-opt.active{background:var(--primary);color:var(--primary-text);box-shadow:0 1px 3px #00000024}.model-opt:disabled{cursor:default;opacity:.55}.model-opt .model-emoji{font-size:13px}@media (max-width: 480px){.model-opt .model-label{display:none}.model-opt{padding:7px 11px}}.attach-btn{background:transparent;border:none;width:34px;height:38px;flex-shrink:0;cursor:pointer;font-size:17px;color:var(--text-dim);border-radius:10px;display:grid;place-items:center;transition:background .15s,color .15s}.attach-btn:hover:not(:disabled){background:var(--bg-2);color:var(--text)}.attach-btn:disabled{opacity:.4;cursor:default}.attach-chip{display:inline-flex;align-items:center;gap:8px;max-width:340px;background:var(--accent-soft);border:1px solid var(--accent-glow);color:var(--text);border-radius:999px;padding:5px 6px 5px 12px;font-size:12.5px;margin-bottom:8px}.attach-chip .attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-remove{background:transparent;border:none;cursor:pointer;color:var(--text-dim);font-size:16px;line-height:1;padding:0 5px;border-radius:50%}.attach-remove:hover{color:var(--danger)}.attach-err{color:var(--danger-text);font-size:12px;margin-bottom:8px}.admin-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-bottom:1px solid var(--border);background:var(--bg-1);position:sticky;top:0;z-index:20}.admin-header-left{display:flex;align-items:center;gap:16px}.admin-brand{display:flex;align-items:center;gap:11px}.admin-logo-img{height:26px;width:auto;object-fit:contain;display:block}.admin-brand .logo{width:32px;height:32px;display:grid;place-items:center;font-size:16px;border-radius:9px;color:#fff;background:var(--brand-grad)}.admin-title{font-weight:700;font-size:15px}.admin-sub{font-size:11.5px;color:var(--text-faint)}.admin-header-right{display:flex;align-items:center;gap:12px}.admin-me{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--text-dim)}.admin-body{flex:1;display:flex;min-height:0}.admin-tabs{width:240px;flex-shrink:0;border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;gap:4px;background:var(--bg-1)}.admin-tab{display:flex;align-items:center;gap:11px;text-align:left;width:100%;background:transparent;border:1px solid transparent;color:var(--text-dim);padding:11px 13px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .12s}.admin-tab:hover{background:var(--bg-2);color:var(--text)}.admin-tab.active{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.admin-tab.active .tab-icon{filter:none}.tab-icon{font-size:16px}.admin-content{flex:1;overflow-y:auto;padding:30px 34px;min-width:0}.admin-panel{max-width:1080px;animation:fade .25s ease}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.panel-head h2{margin:0 0 5px;font-size:22px;letter-spacing:-.02em}.panel-sub{margin:0;color:var(--text-dim);font-size:13.5px;max-width:640px;line-height:1.55}.panel-error{background:var(--danger-bg);color:var(--danger-text);padding:11px 14px;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.25);font-size:13.5px;margin-bottom:16px}.lacuna-count{flex-shrink:0;background:var(--warn-bg);color:var(--warn);border:1px solid rgba(245,158,11,.3);padding:8px 14px;border-radius:999px;font-size:13px}.lacuna-count strong{font-size:15px}.table-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.admin-table{width:100%;border-collapse:collapse;font-size:13.5px}.admin-table thead th{background:var(--bg-2);text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border)}.admin-table tbody td{padding:13px 16px;border-bottom:1px solid var(--border-soft);vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:nth-child(2n){background:#00000004}.admin-table tbody tr:hover{background:var(--bg-2)}.row-clickable{cursor:pointer}.row-resolved{opacity:.55}.td-dim{color:var(--text-dim)}.td-strong{font-weight:600}.td-mono{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}.td-details{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-loading,.td-empty{text-align:center;color:var(--text-faint);padding:28px!important}.col-actions{text-align:right;white-space:nowrap}.cell-user{display:flex;align-items:center;gap:10px}.role-badge{font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:999px}.role-badge.admin{background:#a855f71f;color:#7c3aed;border:1px solid rgba(168,85,247,.3)}.role-badge.user{background:var(--bg-2);color:var(--text-dim);border:1px solid var(--border)}.access-badge{display:inline-block;margin-left:6px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#b453091a;color:#b45309;border:1px solid rgba(180,83,9,.28);white-space:nowrap}.action-badge{font-size:12px;font-weight:600;padding:3px 9px;border-radius:7px;background:var(--bg-2);color:var(--accent-2);border:1px solid var(--border)}.icon-btn{background:transparent;border:1px solid transparent;border-radius:8px;padding:6px 8px;cursor:pointer;font-size:14px;transition:all .12s}.icon-btn:hover{background:var(--bg-2);border-color:var(--border)}.icon-btn.danger:hover{background:var(--danger-bg)}.toggle{width:42px;height:24px;border-radius:999px;background:var(--bg-3);border:1px solid var(--border);cursor:pointer;padding:0;position:relative;transition:background .18s,border-color .18s}.toggle .toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text-faint);transition:transform .18s,background .18s;box-shadow:0 1px 2px #00000026}.toggle.on{background:var(--success);border-color:var(--success)}.toggle.on .toggle-knob{transform:translate(18px);background:#fff}.toggle:disabled{opacity:.6;cursor:default}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:100;padding:24px;animation:fade .15s ease}.modal{width:100%;max-width:440px;max-height:88vh;display:flex;flex-direction:column;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:modalIn .18s ease}.modal.wide{max-width:820px}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.98)}}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-size:17px}.modal-close{background:transparent;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:8px}.modal-close:hover{background:var(--bg-2);color:var(--text)}.modal-body{padding:22px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--border)}.admin-form{display:flex;flex-direction:column;gap:16px}.conv-detail-meta{display:flex;align-items:center;gap:11px;padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--border)}.cdm-name{font-weight:600;font-size:14px}.cdm-email{font-size:12.5px;color:var(--text-faint)}.conv-detail-msgs{display:flex;flex-direction:column}.ui-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;color:#fff;font-weight:700;line-height:1;letter-spacing:-.02em}@media (max-width: 860px){.chat-topbar{display:flex}.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .25s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;opacity:0;pointer-events:none;transition:opacity .2s;z-index:39}.sidebar-scrim.show{opacity:1;pointer-events:auto}.admin-body{flex-direction:column}.admin-tabs{width:100%;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border);padding:10px}.admin-tab{white-space:nowrap}.admin-content{padding:20px 16px;overflow-x:auto}.admin-table{min-width:560px}.panel-head{flex-direction:column}.chat-inner{padding:20px 16px}.bubble{max-width:88%}.msg.assistant .bubble{max-width:100%}}.pdf-host{position:fixed;left:-100000px;top:0;z-index:-1;pointer-events:none;background:#fff}.pdf-page{box-sizing:border-box;background:#fff;color:#1a1a1a;overflow:hidden;display:flex;flex-direction:column;padding:30px 48px 22px;font-family:inherit;font-size:14px;line-height:1.55}.pdf-page.pdf-medir{height:auto}.pdf-body{flex:1;min-height:0;overflow:hidden}.pdf-medir .pdf-body{overflow:visible}.pdf-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;margin-bottom:16px;border-bottom:2px solid var(--accent)}.pdf-head-brand{display:flex;align-items:center;gap:10px;min-width:0}.pdf-head-brand img{height:34px;max-width:120px;object-fit:contain}.pdf-head-name{font-weight:800;font-size:16px}.pdf-head-meta{text-align:right;font-size:11px;color:var(--text-dim);max-width:60%}.pdf-head-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px}.pdf-foot{padding-top:8px;border-top:1px solid var(--border);font-size:10.5px;color:var(--text-dim);text-align:right}.pdf-q{background:var(--bg-2);border-left:3px solid var(--primary);border-radius:8px;padding:10px 14px;margin:14px 0 10px}.pdf-q-label,.pdf-a-label{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.pdf-q-text{white-space:pre-wrap;word-break:break-word;margin-top:3px;font-weight:600}.pdf-a-label{margin:6px 0;color:var(--accent-2);display:flex;gap:8px;align-items:center}.pdf-badge{font-size:10px;text-transform:none;letter-spacing:0;background:var(--danger-bg);color:var(--danger-text);padding:1px 8px;border-radius:99px}.pdf-md{display:flow-root}.pdf-page .markdown table{display:table;width:100%;table-layout:auto;font-size:11.5px;overflow:visible}.pdf-page .markdown th,.pdf-page .markdown td{padding:5px 8px;word-break:break-word}.pdf-page .markdown pre{white-space:pre-wrap;word-break:break-word;overflow:visible;font-size:11.5px}.pdf-page .markdown img{max-width:100%;height:auto}.pdf-page .chart-card{break-inside:avoid}.pdf-encolher{max-height:900px;overflow:hidden}.pdf-encolher img{max-height:880px;width:auto}.pdf-img-falha{color:var(--text-dim);font-style:italic;font-size:12px}.conv-toolbar{position:sticky;top:0;z-index:5;display:flex;justify-content:flex-end;max-width:var(--content-max);margin:0 auto;padding:10px 22px 0;pointer-events:none}.conv-toolbar-btn{pointer-events:auto;background:var(--bg-1);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #0000000f}.conv-toolbar-btn:hover:not(:disabled){background:var(--bg-2)}.conv-toolbar-btn:disabled{opacity:.7;cursor:progress}.usage-bar{margin-top:6px;width:110px;height:5px;border-radius:999px;background:var(--bg-3);overflow:hidden}.usage-bar i{display:block;height:100%;background:var(--success);transform-origin:left;transition:transform .4s cubic-bezier(.22,1,.36,1)}.usage-bar.warn i{background:var(--warn)}.usage-bar.over i{background:var(--danger)}.usage-over{color:var(--danger);font-weight:600}.usage-input{width:96px;padding:5px 8px;font-size:13px;border:1px solid var(--border);border-radius:7px;background:var(--bg-1);color:var(--text)}.usage-input:focus{outline:2px solid var(--primary);outline-offset:1px}.usage-limits{display:grid;grid-template-columns:auto auto;gap:6px 8px;align-items:center}.usage-actions{display:inline-flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.usage-status{font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap;border:1px solid transparent}.usage-status.on{background:#16a34a1a;color:var(--success);border-color:#16a34a47}.usage-status.warn{background:#f59e0b1f;color:#b45309;border-color:#f59e0b52}.usage-status.off{background:#ef44441a;color:var(--danger);border-color:#ef444447}@media (prefers-reduced-motion: reduce){.usage-bar i{transition:none}}.usage-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.usage-scroll .admin-table{min-width:980px}.brands-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 14px}.brands-search{flex:1 1 240px;max-width:360px;padding:8px 12px;font-size:14px;border:1px solid var(--border);border-radius:9px;background:var(--bg-1);color:var(--text)}.brands-search:focus{outline:2px solid var(--primary);outline-offset:1px}.brands-check{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--text-dim);cursor:pointer}.brands-aviso{margin:0 0 14px;padding:10px 14px;border-radius:9px;font-size:13.5px;background:#16a34a14;border:1px solid rgba(22,163,74,.25);color:var(--text);animation:brands-in .2s ease-out}@keyframes brands-in{0%{opacity:0;transform:translateY(-4px)}}.usage-scroll .brands-table{min-width:760px}@media (prefers-reduced-motion: reduce){.brands-aviso{animation:none}}.usage-money{display:inline-flex;align-items:center;gap:6px}
