:root {
  --canvas:#fafafa; --surface:#fff; --ink:#17171b; --body:#393940;
  --muted:#686971; --line:#e8e8ec; --accent:#6f55c6; --selection:#f1edfc;
  --shadow:0 5px 18px rgba(24,24,32,.035);
  --font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--canvas); color:var(--ink); font:16px/1.5 var(--font-ui); }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
h1,h2,h3,p { margin-top:0; }
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }
svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.app-shell { min-height:100vh; display:flex; }
.sidebar { width:232px; flex:none; height:100vh; position:sticky; top:0; z-index:20; overflow-y:auto; display:flex; flex-direction:column; background:var(--surface); padding:26px 14px 20px; border-right:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; margin:0 10px 32px; font-size:21px; font-weight:700; letter-spacing:-.04em; }
.brand img { width:40px; height:40px; border-radius:11px; }
.context-picker { display:flex; gap:4px; padding:4px; background:#f4f4f6; border-radius:999px; margin:0 8px 28px; }
.context-picker button { flex:1; min-height:42px; border:0; border-radius:999px; background:transparent; color:var(--muted); font-size:14px; }
.context-picker button.active { background:#fff; color:var(--ink); font-weight:600; box-shadow:0 1px 3px rgba(20,20,30,.08); }
.nav-caption { color:var(--muted); font-size:14px; font-weight:600; margin:0 18px 8px; }
.nav-caption-later { margin-top:22px; }
.main-nav { display:grid; gap:3px; }
.main-nav button { display:flex; align-items:center; gap:13px; width:100%; min-height:46px; padding:0 13px; border:0; border-radius:11px; background:transparent; color:var(--body); text-align:left; font-size:15px; }
.main-nav button:hover { background:#f4f4f6; }
.main-nav button.active { background:var(--selection); color:var(--accent); font-weight:600; }
.nav-icon { width:20px; height:20px; flex:none; }
.sidebar-foot { display:flex; align-items:center; gap:12px; margin-top:auto; padding:20px 10px 0; border-top:1px solid var(--line); min-height:72px; }
.user-initial { display:grid; place-items:center; width:40px; height:40px; flex:none; border-radius:50%; background:#eeeef1; font-size:14px; }
.user-initial img,.account-initial img { display:block;width:100%;height:100%;object-fit:cover;border-radius:50%; }
.sidebar-foot>span:nth-child(2) { display:flex; flex-direction:column; }
.sidebar-foot strong { font-size:16px; line-height:1.3; }
.sidebar-foot small { color:var(--muted); font-size:14px; }
.workspace { flex:1; min-width:0; }
.topbar { height:62px; padding:0 40px; display:flex; align-items:center; gap:12px; }
.desktop-topbar { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:14px; }
.desktop-topbar strong { color:var(--ink); font-weight:600; }
.slash { color:#a9a9b0; }
.desktop-preview { margin-left:auto; color:var(--muted); font-size:14px; }
.mobile-brand,.mobile-context-toggle,.mobile-context-menu,.mobile-tabs,.mobile-areas { display:none; }
.main-content { width:min(100%,1560px); margin:0 auto; padding:36px 42px 80px; }
.main-content:focus { outline:none; }
.page-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:30px; }
.page-overline { display:block; margin-bottom:10px; color:var(--muted); font-size:14px; }
.page-overline span { margin:0 4px; }
.page-head h1 { margin:0 0 8px; font-size:clamp(32px,3vw,44px); line-height:1.12; font-weight:720; letter-spacing:-.045em; }
.page-head p { margin:0; color:var(--muted); font-size:16px; }
.page-note { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:0 0 20px; font-size:16px; font-weight:600; }
.page-note span { color:var(--muted); font-size:14px; font-weight:400; }
.notice { display:flex; align-items:baseline; gap:10px; max-width:980px; margin:0 0 22px; padding:14px 18px; background:#ebeff0; border-radius:14px; color:var(--body); font-size:14px; }
.notice strong { color:var(--ink); font-size:14px; white-space:nowrap; }
.work-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:20px; }
.work-primary { min-width:0; }
.work-section,.detail-pane { min-width:0; margin:0 0 20px; padding:24px; border:1px solid var(--line); border-radius:22px; background:var(--surface); box-shadow:var(--shadow); }
.section-head { min-height:34px; margin-bottom:14px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.section-head h2,.detail-pane h2 { font-size:20px; line-height:1.25; font-weight:700; letter-spacing:-.02em; }
.section-head h2 { margin:0; }
.text-action,.quiet-button,.link-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; border:1px solid var(--line); border-radius:999px; background:#f5f5f7; color:var(--ink); padding:8px 16px; font-size:14px; font-weight:600; }
.text-action:hover,.quiet-button:hover { background:#e9e9ee; }
.link-button { background:var(--ink); border-color:var(--ink); color:#fff; margin-top:18px; }
.link-button:hover { background:#35353a; }
.button-segment { font-size:18px; line-height:1; }
.view-controls { display:flex; gap:4px; padding:4px; border-radius:999px; background:#f2f2f4; }
.view-controls button { min-height:36px; border:0; border-radius:999px; padding:4px 14px; background:transparent; color:var(--muted); font-size:14px; }
.view-controls button.active { background:#fff; color:var(--ink); font-weight:600; }
.list-head { display:none; }
.record-list { display:grid; }
.record-row { display:grid; align-items:center; gap:12px; width:100%; min-height:76px; padding:15px 12px; border:0; border-top:1px solid var(--line); background:transparent; text-align:left; color:var(--body); font-size:14px; }
.record-row:first-child { border-top:0; }
button.record-row:hover { background:#f7f7f9; border-radius:13px; }
button.record-row.selected { background:var(--selection); box-shadow:inset 4px 0 var(--accent); border-radius:13px; }
.record-title { display:flex; flex-direction:column; min-width:0; color:var(--ink); font-size:16px; font-weight:600; line-height:1.35; }
.record-title small { display:block; margin-top:4px; color:var(--muted); font-size:14px; font-weight:400; overflow-wrap:anywhere; }
.record-secondary { min-width:0; overflow-wrap:anywhere; color:var(--muted); }
.record-date,.record-time,.step-number { color:var(--muted); font-size:14px; }
.step-number { margin-right:8px; font-weight:600; }
.task-columns { grid-template-columns:minmax(180px,1.6fr) minmax(80px,.7fr) minmax(75px,.7fr) minmax(100px,1fr); }
.agenda-columns { grid-template-columns:74px minmax(180px,1.6fr) minmax(70px,.8fr) 70px; }
.pipeline-columns { grid-template-columns:minmax(160px,1.3fr) minmax(130px,1fr) minmax(90px,.8fr) minmax(90px,.8fr); }
.case-columns { grid-template-columns:minmax(180px,1.4fr) minmax(80px,.7fr) minmax(130px,1fr) 78px; }
.document-columns { grid-template-columns:minmax(180px,1.4fr) minmax(70px,.7fr) minmax(75px,.7fr) minmax(100px,.9fr); }
.finance-columns { grid-template-columns:minmax(130px,1.5fr) minmax(85px,1fr) 75px 70px; }
.integration-columns { grid-template-columns:minmax(130px,1fr) minmax(150px,1.4fr) minmax(80px,.65fr); }
.atendimento-columns { grid-template-columns:minmax(160px,1fr) 120px; }
.status { display:inline-flex; align-items:center; gap:8px; justify-self:start; color:var(--body); font-size:14px; line-height:1.35; }
.status i { width:7px; height:7px; flex:none; border-radius:50%; background:var(--accent); }
.status-green i { background:#507b69; }
.status-amber i { background:#ad7735; }
.detail-pane { position:sticky; top:20px; }
.detail-pane:focus { outline:3px solid var(--accent); outline-offset:3px; }
.mobile-detail-back { display:none; }
.detail-top { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:14px; }
.detail-id,.detail-preview { color:var(--muted); font-size:14px; }
.detail-pane h2 { margin:0 0 14px; }
.detail-intro { margin-bottom:20px; color:var(--body); font-size:16px; line-height:1.55; }
.metadata { margin:0; }
.metadata div { display:grid; grid-template-columns: minmax(80px,.75fr) minmax(0,1fr); gap:10px; padding:12px 0; border-top:1px solid var(--line); font-size:14px; }
.metadata dt { color:var(--muted); }
.metadata dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.integration-item { padding:18px 0; border-top:1px solid var(--line); }
.integration-item:first-child { border-top:0; padding-top:4px; }
.integration-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.integration-heading strong { font-size:16px; }
.integration-heading span { color:var(--muted); font-size:14px; text-align:right; }
.integration-item p { margin:6px 0 0; color:var(--muted); font-size:14px; }
.integration-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.detail-subsection { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.detail-subsection h3 { margin:0 0 6px; font-size:16px; }
.detail-subsection p { margin:0; color:var(--body); font-size:14px; }
.detail-footer { margin-top:20px; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
.empty-list { padding:48px 16px; text-align:center; }
.empty-list strong { font-size:16px; }
.empty-list p { max-width:410px; margin:8px auto 0; color:var(--muted); font-size:14px; }
.empty-panel { max-width:760px; padding:28px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
.empty-index { color:var(--muted); font-size:14px; }
.empty-panel h2 { margin:12px 0 8px; font-size:20px; }
.empty-panel p,.plain-note { color:var(--muted); font-size:14px; }
.plain-note { margin-top:12px; }
.conversation { display:flex; flex-direction:column; min-height:560px; padding:0; }
.conversation-head { display:flex; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--line); font-size:16px; }
.conversation-head span { color:var(--muted); }
.conversation-empty { max-width:480px; margin:auto; padding:36px 24px; text-align:center; }
.conversation-empty h2 { margin-bottom:10px; font-size:20px; }
.conversation-empty p { color:var(--muted); font-size:16px; }
.composer { padding:20px 24px; border-top:1px solid var(--line); }
.composer label { display:block; margin-bottom:8px; font-size:14px; font-weight:600; }
.composer>div { display:flex; gap:8px; }
.composer input { flex:1; min-width:0; min-height:48px; padding:10px 15px; border:1px solid var(--line); border-radius:12px; background:#f7f7f9; }
.composer button { min-width:76px; border:0; border-radius:12px; background:#d0d0d5; color:#fff; cursor:not-allowed; }
.composer button:not(:disabled) { background:var(--ink);cursor:pointer; }
.composer small { display:block; margin-top:8px; color:var(--muted); font-size:14px; }
.chat-layout { display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:20px;align-items:start; }
.chat-list .record-row { display:block; }
.messages { flex:1;min-height:300px;max-height:calc(100vh - 340px);overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:12px; }
.chat-message { align-self:flex-start;max-width:min(78%,620px);padding:12px 16px;border-radius:16px;background:#f0f0f3;white-space:pre-wrap;overflow-wrap:anywhere; }
.chat-message.mine { align-self:flex-end;background:var(--selection); }
.chat-message span { display:block;margin-bottom:4px;color:var(--muted);font-size:12px; }
.chat-message p { margin:0; }
.speak-button { margin-top:9px;padding:0;border:0;background:transparent;color:var(--accent);font-size:13px;font-weight:600; }
.speak-button:hover { text-decoration:underline; }
.finance-summary { display:flex;flex-wrap:wrap;gap:7px 16px;padding:0 0 18px;border-bottom:1px solid var(--line); }
.finance-summary small { width:100%;color:var(--muted); }
.import-preview { margin-top:20px;padding:18px;border-radius:14px;background:var(--selection); }
.import-preview p { margin:6px 0 12px;color:var(--muted);font-size:14px; }
.preview-rows { display:grid;gap:6px;max-height:200px;overflow:auto;margin-bottom:14px;font-size:13px; }
.error-note { color:#a3352f;padding:12px 16px; }
.modal-open { overflow:hidden; }
.modal-backdrop { position:fixed;z-index:100;inset:0;background:rgba(20,20,24,.42);display:grid;place-items:center;padding:18px; }
.form-dialog { width:min(100%,560px);max-height:min(92vh,900px);overflow-y:auto;background:#fff;border-radius:20px;padding:24px;box-shadow:0 24px 80px rgba(20,20,30,.2); }
.delete-dialog { width:min(100% - 32px,460px);max-height:calc(100dvh - 32px);margin:auto;border:1px solid var(--line);color:var(--ink); }
.delete-dialog::backdrop { background:rgba(20,20,24,.55); }
.delete-dialog h2 { margin:0 0 12px;font-size:22px; }
.delete-dialog p { margin:0 0 14px;color:var(--body);line-height:1.5; }
.delete-dialog .delete-conversation-name { font-weight:600;overflow-wrap:anywhere; }
.delete-dialog .form-actions { flex-wrap:wrap; }
.delete-dialog .primary-button { background:#b4232e;color:#fff; }
.delete-dialog .primary-button:hover { background:#8f1b24; }
.dialog-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px; }
.dialog-head h2 { margin:0;font-size:22px; }
.close-button { width:40px;height:40px;border:0;border-radius:10px;background:#f0f0f3;font-size:24px; }
.form-field { display:flex;flex-direction:column;gap:5px;margin:14px 0;font-size:14px;font-weight:600; }
.form-field input,.form-field select,.form-field textarea { width:100%;min-height:44px;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:400; }
.form-field textarea { resize:vertical; }
.form-actions { display:flex;justify-content:flex-end;gap:8px;margin-top:22px; }
.primary-button { min-height:44px;padding:8px 18px;border:0;border-radius:12px;background:var(--ink);color:#fff;font-weight:600; }
.primary-button:disabled { opacity:.55;cursor:wait; }
.app-toast { position:fixed;z-index:120;bottom:24px;right:24px;max-width:380px;padding:12px 18px;border-radius:12px;background:var(--ink);color:#fff;box-shadow:var(--shadow); }
.home-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:20px; align-items:start; }
.home-side { min-width:0; }
.home-agenda .record-row { grid-template-columns:74px minmax(0,1fr) 65px; }
.home-agenda .record-secondary { display:none; }
.home-agenda .section-head { flex-wrap:wrap; }
.agenda-summary { display:flex; flex-direction:column; gap:4px; margin:18px 0 24px; }
.agenda-summary strong,.agenda-summary span { font-size:16px; }
.agenda-summary small { color:var(--muted); font-size:14px; }
@media(max-width:1180px) {
  .sidebar { width:244px; }
  .main-content { padding:24px 28px 70px; }
  .work-layout,.home-layout { grid-template-columns:minmax(0,1fr) 280px; gap:16px; }
  .work-section,.detail-pane { padding:20px; }
  .record-row { gap:8px; }
}
@media(max-width:900px) {
  .sidebar,.desktop-topbar,.desktop-preview { display:none; }
  .topbar { height:72px; padding:0 20px; position:relative; }
  .mobile-brand { display:block; font-size:22px; font-weight:700; }
  .mobile-context-toggle { display:flex; align-items:center; justify-content:center; gap:6px; margin-left:auto; min-height:44px; border:1px solid var(--line); border-radius:12px; background:#fff; padding:0 14px; font-size:14px; }
  .mobile-context-menu { display:grid; position:absolute; top:60px; right:20px; z-index:45; min-width:172px; padding:6px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); }
  .mobile-context-menu button { min-height:44px; border:0; border-radius:10px; background:#fff; text-align:left; padding:0 12px; font-size:16px; }
  .mobile-context-menu button:hover,.mobile-context-menu button.active { background:var(--selection); }
  .main-content { padding:20px 16px calc(110px + env(safe-area-inset-bottom)); }
  .page-head { margin-bottom:24px; }
  .page-head h1 { font-size:30px; }
  .page-head p { font-size:14px; }
  .work-layout,.home-layout { display:block; }
  .work-section,.detail-pane { padding:20px; }
  .home-side { display:flex; flex-direction:column; }
  .home-side .detail-pane { order:-1; }
  .detail-pane { display:none; }
  .route-static-detail .detail-pane { display:block; position:static; }
  .route-atendimento .work-layout { display:flex; flex-direction:column; }
  .route-atendimento .work-primary,.route-atendimento .detail-pane { width:100%; }
  .route-atendimento .detail-pane { order:-1; }
  .mobile-detail-open .detail-pane { display:block; position:fixed; z-index:60; inset:0; overflow-y:auto; margin:0; padding:20px 20px calc(40px + env(safe-area-inset-bottom)); border:0; border-radius:0; box-shadow:none; background:var(--canvas); }
  .mobile-detail-open .detail-pane>*:not(.mobile-detail-back) { max-width:620px; margin-left:auto; margin-right:auto; }
  .mobile-detail-open .detail-pane .mobile-detail-back { display:flex; align-items:center; min-height:44px; max-width:620px; width:100%; margin:0 auto 20px; padding:0; border:0; background:transparent; color:var(--accent); font-size:16px; }
  body:has(.mobile-detail-open) .mobile-tabs { display:none; }
  .mobile-tabs { display:grid; grid-template-columns:repeat(4,1fr); position:fixed; bottom:0; left:0; right:0; z-index:40; min-height:76px; padding-bottom:env(safe-area-inset-bottom); background:#fff; border-top:1px solid var(--line); }
  .mobile-tabs button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:68px; border:0; background:transparent; color:var(--muted); font-size:13px; }
  .mobile-tabs button.active { color:var(--accent); font-weight:600; }
  .mobile-tabs svg { width:20px; height:20px; }
  .mobile-areas { display:grid; position:fixed; z-index:41; left:10px; right:10px; bottom:calc(76px + env(safe-area-inset-bottom)); max-height:60vh; overflow-y:auto; padding:18px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 16px 34px rgba(20,20,30,.12); }
  .mobile-areas h2 { margin:0 0 8px; font-size:20px; }
  .mobile-areas button { min-height:48px; border:0; border-top:1px solid var(--line); background:#fff; text-align:left; font-size:16px; }
  .mobile-areas button.active { color:var(--accent); font-weight:600; }
  .list-head { display:none; }
  .record-row,.home-agenda .record-row { grid-template-columns:minmax(0,1fr) auto; min-height:84px; padding:16px 8px; gap:5px 12px; }
  button.record-row.selected { background:transparent; box-shadow:none; }
  .record-title { grid-column:1/-1; }
  .record-secondary,.status,.record-date,.record-time { font-size:14px; }
  .record-secondary { white-space:normal; }
  .task-columns .record-secondary:nth-child(2),.case-columns .record-secondary:nth-child(2),.document-columns .record-secondary:nth-child(2) { grid-column:1; }
  .task-columns .record-secondary:nth-child(3),.document-columns .record-secondary:nth-child(3) { grid-column:2; }
  .task-columns .status,.document-columns .status { grid-column:1/-1; }
  .case-columns .record-secondary:nth-child(2) { grid-row:2; }
  .case-columns .record-secondary:last-child { grid-column:2; grid-row:2; text-align:right; }
  .case-columns .status { grid-column:1/-1; grid-row:3; }
  .pipeline-columns .record-secondary:nth-child(2) { grid-column:1/-1; }
  .pipeline-columns .record-secondary:nth-child(3) { grid-column:1; }
  .pipeline-columns .status { grid-column:2; }
  .agenda-columns .record-date { grid-column:1; grid-row:1; }
  .agenda-columns .record-time { grid-column:2; grid-row:1; }
  .agenda-columns .record-title { grid-row:2; }
  .agenda-columns .record-secondary { grid-column:1/-1; }
  .home-agenda .record-secondary { display:block; }
  .integration-columns>strong,.integration-columns>.record-secondary,.integration-columns>.status { grid-column:1/-1; }
  .notice { display:block; }
  .notice strong { display:block; margin-bottom:3px; }
  .conversation { min-height:calc(100vh - 280px); }
  .chat-layout { display:block; }
  .chat-layout>.work-section:first-child { margin-bottom:14px; }
  .chat-list { max-height:170px;overflow:auto; }
  .messages { max-height:45vh; }
  .app-toast { left:16px;right:16px;bottom:calc(90px + env(safe-area-inset-bottom));max-width:none; }
}
@media(max-width:480px) {
  .main-content { padding:14px 16px calc(105px + env(safe-area-inset-bottom)); }
  .page-head h1 { font-size:30px; }
  .page-note { display:block; }
  .page-note span { display:block; margin-top:2px; }
  .section-head { flex-wrap:wrap; }
  .section-head h2 { width:100%; }
  .work-section,.detail-pane { padding:20px; }
  .metadata div { display:block; }
  .metadata dd { text-align:left; margin-top:3px; }
}
.login-page { min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f5f7;color:#1d1d1f; }
.notification-preferences { display:grid;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e5e7; }
.notification-preferences label { display:flex;align-items:center;gap:8px; }
.notification-preferences .notification-categories,.notification-preferences .notification-times { display:flex;flex-wrap:wrap;gap:14px 20px; }
.notification-preferences .form-field { display:grid;align-items:start;gap:6px; }
.notification-preferences input[type=time] { min-height:40px;padding:0 10px;border:1px solid #d7d7dc;border-radius:10px;background:#fff;color:#1d1d1f;font:inherit; }
.login-card { width:min(100%,420px);padding:38px;background:#fff;border:1px solid #e5e5e7;border-radius:24px;box-shadow:0 18px 48px rgba(20,20,30,.06); }
.login-brand { display:flex;align-items:center;gap:12px;font-size:22px; }
.login-card h1 { margin:30px 0 26px;font-size:28px;line-height:1.15;letter-spacing:-.035em; }
.login-card form { display:grid;gap:18px; }
.login-card label { display:grid;gap:8px;font-size:14px;font-weight:600; }
.login-card input { width:100%;min-height:48px;padding:0 14px;border:1px solid #d7d7dc;border-radius:12px;background:#fff;color:inherit;font:inherit; }
.login-card input:focus { outline:2px solid #0a8aa5;outline-offset:2px; }
.login-card button { min-height:48px;border:0;border-radius:12px;background:#1d1d1f;color:#fff;font:inherit;font-weight:600;cursor:pointer; }
.login-card button:disabled { opacity:.6;cursor:wait; }
.login-card>a { display:inline-block;margin-top:24px;color:#087e98;text-decoration:none; }
#login-error { margin:0;color:#a0232b;font-size:14px; }
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}

/* Chat and dashboard visual language */
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.chat-page { display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;min-height:calc(100vh - 190px); }
.chat-main { min-width:0;display:flex;flex-direction:column; }
.chat-topline { display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.1em; }
.chat-intro { width:min(100%,750px);margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 0 100px; }
.chat-orb { position:relative;display:grid;place-items:center;flex:none;width:180px;height:180px;margin-bottom:18px;border-radius:50%;overflow:visible;background:radial-gradient(circle,#edf5ff 40%,#e9f3ff 67%,#f7fbff 100%); }
.chat-orb-fallback { display:block;width:69%;height:69%;border-radius:48% 52% 51% 49%;background:conic-gradient(from 35deg,#8bd5ff,#76a9ff,#285cca,#8bd5ff);box-shadow:0 0 24px 9px #83bfff80,0 0 46px 16px #a3d6ff70;mask:radial-gradient(circle,transparent 58%,#000 69%); }
.chat-orb[data-orb-ready="true"] .chat-orb-fallback { display:none; }
.chat-orb canvas { position:absolute;left:50%;top:50%;display:block;width:160%;height:160%;transform:translate(-50%,-50%);pointer-events:none; }
.chat-intro h1 { position:relative;z-index:1; }
.chat-intro h1 { margin:0 0 14px;font:normal clamp(42px,5vw,64px)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.05em; }
.chat-intro>p { margin:0 0 32px;color:var(--muted);font-size:18px; }
.chat-intro .composer { width:100%; }
.chat-history { min-width:0;border-left:1px solid var(--line);padding:8px 0 0 26px; }
.chat-history .section-head h2 { font-size:16px; }
.chat-history .record-row { display:block;min-height:64px;padding:13px 10px; }
.chat-history .record-title { font-size:14px; }
.chat-history .record-title small { font-size:12px; }
.chat-history .empty-list { padding:28px 4px;text-align:left; }
.chat-history .empty-list p { margin:6px 0 0; }
.chat-thread { width:min(100%,880px);margin:38px auto 0;display:flex;flex:1;flex-direction:column;min-height:560px; }
.chat-thread .conversation-head { padding:0 0 18px; }
.chat-thread .messages { max-height:calc(100vh - 370px);min-height:300px;padding:24px 0; }
.chat-thread .chat-message { background:#f4f4f6;border-radius:16px;padding:15px 18px; }
.chat-thread .chat-message.mine { background:#f0ecfa; }
.chat-thinking p { display:flex;align-items:center;gap:9px; }
.chat-thinking-dots { display:inline-flex;align-items:center;gap:4px; }
.chat-thinking-dots i { display:block;width:5px;height:5px;border-radius:50%;background:var(--accent);animation:chat-thinking-pulse 1.1s ease-in-out infinite; }
.chat-thinking-dots i:nth-child(2) { animation-delay:.16s; }
.chat-thinking-dots i:nth-child(3) { animation-delay:.32s; }
@keyframes chat-thinking-pulse { 0%,65%,100% { transform:translateY(0);opacity:.35; } 30% { transform:translateY(-3px);opacity:1; } }
@media(prefers-reduced-motion:reduce) { .chat-thinking-dots i { animation:none;opacity:1; } }
.composer { padding:12px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 10px 30px rgba(22,20,34,.07);text-align:left; }
.composer>div:first-of-type { align-items:flex-end; }
.composer textarea { display:block;flex:1;min-width:0;min-height:75px;max-height:210px;resize:vertical;padding:10px 10px;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px; }
.composer textarea:focus { outline:0; }
.composer:focus-within { outline:2px solid #b8a3eb;outline-offset:2px; }
.composer button { flex:none;width:42px;height:42px;min-width:0;border-radius:50%;background:var(--ink);color:white;font-size:23px;line-height:1;cursor:pointer; }
.composer button:disabled { background:#d3d3d8; }
.composer-meta { display:flex;align-items:center;gap:10px;padding:3px 9px;color:var(--muted);font-size:13px; }
.composer-meta span { flex:none;padding:5px 11px;border-radius:999px;background:#f3effb;color:#6246b5;font-weight:600; }
.composer-meta small { margin:0;font-size:12px; }
.dashboard-kpis { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 20px; }
.metric-card { min-height:146px;padding:22px 24px;border:1px solid var(--line);border-radius:22px;background:#fff;display:flex;flex-direction:column;box-shadow:var(--shadow); }
.metric-card span { color:var(--muted);font-size:14px; }
.metric-card strong { margin:8px 0 2px;font-size:clamp(25px,2.4vw,37px);line-height:1.16;letter-spacing:-.04em;font-weight:700;overflow-wrap:anywhere; }
.metric-card small { margin-top:auto;color:var(--muted);font-size:13px; }
.dashboard-main { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:16px; }
.dashboard-chart .section-head p,.finance-page .section-head p { margin:3px 0 0;color:var(--muted);font-size:14px; }
.dashboard-chart>.text-action { margin-top:10px; }
.dashboard-alert { display:flex;flex-direction:column;gap:6px;margin:0 0 10px;padding:16px;border:1px solid #e9e5f5;border-radius:15px;background:#faf8ff; }
.dashboard-alert.case-alert { border-color:#f1e8de;background:#fffbf6; }
.dashboard-alert span { color:#674ab6;font-size:11px;font-weight:700;letter-spacing:.06em; }
.dashboard-alert.case-alert span { color:#926239; }
.dashboard-alert strong { line-height:1.35; }
.dashboard-alert small { color:var(--muted);font-size:12px; }
.dashboard-row { display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-top:1px solid var(--line); }
.dashboard-row:first-of-type { border-top:0; }
.dashboard-row>div { min-width:0;display:flex;flex-direction:column;gap:3px; }
.dashboard-row strong { font-size:15px; }
.dashboard-row small { color:var(--muted);font-size:13px; }
.dashboard-row .quiet-button { flex:none; }
.finance-lower { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:16px; }
.finance-lower .work-section { min-width:0; }
.finance-lower .finance-columns { grid-template-columns:minmax(120px,1.4fr) minmax(80px,.7fr) 90px 100px; }
.finance-periods { flex:none; }
.finance-summary { margin-bottom:12px; }
.finance-summary strong { color:var(--ink); }
.import-origin { display:flex;flex-direction:column;gap:6px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px; }
.import-origin strong { color:var(--ink);font-size:14px; }
.chart-key { display:flex;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:12px;margin:14px 0 4px; }
.chart-key span { display:flex;align-items:center;gap:7px; }
.chart-key i { display:inline-block;width:9px;height:9px;border-radius:50%; }
.key-positive { background:#a78bee; }
.key-negative { background:#4a4b56; }
.chart-scroll { width:100%;overflow-x:auto; }
.finance-chart { width:100%;min-width:490px;height:auto;display:block;stroke:none; }
.chart-grid { stroke:#ebebef;stroke-width:1;stroke-dasharray:3 5; }
.chart-zero { stroke:#b7b7bd;stroke-width:1; }
.chart-positive { fill:#a78bee; }
.chart-negative { fill:#4a4b56; }
.chart-axis-text { fill:#85858d;stroke:none;font:12px var(--font-ui); }
.chart-data { margin-top:8px;color:var(--muted);font-size:13px; }
.chart-data summary { cursor:pointer; }
.chart-table-wrap { overflow-x:auto; }
.chart-data table { width:100%;border-collapse:collapse;margin-top:12px;text-align:right;font-size:13px; }
.chart-data th,.chart-data td { padding:8px;border-bottom:1px solid var(--line); }
.chart-data th:first-child { text-align:left; }
.chart-empty { display:grid;place-content:center;min-height:240px;text-align:center;background:#fafafa;border:1px dashed var(--line);border-radius:16px;padding:22px; }
.chart-empty p { margin:5px 0 0;color:var(--muted);font-size:14px; }
@media(max-width:1180px) { .sidebar { width:224px; }.chat-page { grid-template-columns:minmax(0,1fr) 230px;gap:20px; }.chat-history { padding-left:18px; }.dashboard-main { grid-template-columns:minmax(0,1.3fr) minmax(265px,.8fr); } }
@media(max-width:900px) { .chat-page { display:block; }.chat-history { margin-top:26px;border-left:0;border-top:1px solid var(--line);padding:20px 0 0; }.chat-intro { min-height:calc(100vh - 350px);padding:36px 0; }.chat-thread { min-height:calc(100vh - 340px);margin-top:24px; }.chat-thread .messages { max-height:48vh; }.dashboard-main,.finance-lower { display:block; }.dashboard-kpis { gap:10px; }.metric-card { min-height:136px;padding:18px; }.finance-periods { margin-top:10px; } }
@media(max-width:650px) { .dashboard-kpis { grid-template-columns:1fr; }.metric-card { min-height:105px; }.dashboard-main .work-section { margin-bottom:14px; }.chat-intro h1 { font-size:43px; }.chat-intro>p { font-size:16px; }.composer-meta { align-items:flex-start; }.composer-meta small { line-height:1.35; }.finance-page .section-head { align-items:flex-start; }.finance-page .section-head>div:first-child { width:100%; }.finance-periods { width:100%; }.finance-periods button { flex:1; }.finance-lower .finance-columns { grid-template-columns:minmax(0,1fr) auto; }.finance-lower .finance-columns .record-secondary { display:none; } }

/* Serus-inspired Titto application shell */
:root { --canvas:#fbfbfc;--surface:#fbfbfc;--line:#ececf0;--ink:#17171b;--body:#27272d;--muted:#81818b;--selection:#f0eff3;--accent:#9975e6;--shadow:none; }
body { background:var(--canvas);font-size:14px; }
.app-shell { min-height:100dvh; }
.sidebar { width:214px;height:100dvh;padding:8px 7px 13px;background:#fafafa;border-right:1px solid #ececef;z-index:50; }
.sidebar-heading { display:flex;align-items:center;justify-content:space-between;min-height:40px;margin-bottom:8px; }
.brand { gap:8px;margin:0 7px;font-size:18px;font-weight:600;letter-spacing:-.045em; }
.brand img { width:28px;height:28px;border-radius:7px; }
.sidebar-close,.sidebar-open { display:none; }
.main-nav { gap:2px; }
.main-nav button,.sidebar-action { display:flex;align-items:center;gap:9px;width:100%;min-height:34px;padding:5px 8px;border:0;border-radius:8px;background:transparent;color:#2d2d31;text-align:left;font-size:13px;font-weight:500; }
.main-nav button:hover,.sidebar-action:hover,.history-item:hover { background:#f0f0f2; }
.main-nav button.active { background:#ededf0;color:#1e1d23;font-weight:600; }
.main-nav button[data-view="chat"].active .nav-icon { color:#9b79e4; }
.nav-icon { width:16px;height:16px;stroke-width:1.75; }
.sidebar-divider { height:1px;background:#eaeaec;margin:10px 3px; }
.sidebar-disclosure .disclosure-icon { width:14px;height:14px;margin-left:auto;transition:transform .15s; }
.sidebar-disclosure[aria-expanded="false"] .disclosure-icon { transform:rotate(-90deg); }
.history-section { min-height:0;display:flex;flex-direction:column; }
.history-search { min-height:30px;display:flex;align-items:center;gap:6px;margin:4px 1px 6px;padding:0 7px;border:1px solid #dfe0e4;border-radius:999px;background:#fff;color:#9a9aa1; }
.history-search:focus-within { outline:2px solid #b8a3eb;outline-offset:1px; }
.history-search svg { width:13px;height:13px;flex:none; }
.history-search input { width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:11px; }
.history-search input:focus-visible { outline:0; }
.history-list { overflow-y:auto;max-height:min(36vh,360px);padding-right:2px; }
.history-row { display:flex;align-items:center;min-width:0;gap:2px; }
.history-row-enter { animation:history-row-pop .32s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--history-order,0) * 40ms); }
@keyframes history-row-pop { from { opacity:0;transform:translateY(7px) scale(.98); } to { opacity:1;transform:translateY(0) scale(1); } }
@keyframes history-row-fade { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .history-row-enter { animation-name:history-row-fade;animation-duration:.22s; } }
.history-item { display:block;flex:1;min-width:0;min-height:33px;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:#62626a;text-align:left;font-size:12px;line-height:1.35; }
.history-item span { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.history-item.active { background:#eeebf5;color:#514184;font-weight:600; }
.history-delete { flex:none;padding:5px 3px;border:0;border-radius:6px;background:transparent;color:#806d9c;font:inherit;font-size:10px;cursor:pointer; }
.history-delete:hover { background:#eee8f5;color:#4c316e; }
.history-delete:disabled { opacity:.5;cursor:wait; }
.history-row button:focus-visible { outline:2px solid #7655d4;outline-offset:1px; }
.history-empty { padding:5px 8px;color:#9999a2;font-size:11px;line-height:1.4; }
.history-limit { margin:4px 8px;color:#a1a1a9;font-size:10px; }
.secondary-nav { padding:2px 0 6px 6px; }
.secondary-nav button { min-height:31px;color:#55555c;font-size:12px; }
.sidebar-foot { min-height:44px;gap:9px;margin-top:auto;padding:9px 7px 0;border-top:1px solid #ededf0; }
.sidebar-foot .user-initial { width:28px;height:28px;font-size:11px; }
.sidebar-foot strong { font-size:12px; }
.sidebar-foot small { font-size:10px; }
.workspace { min-width:0; }
.topbar { height:56px;justify-content:flex-end;padding:0 18px;border-bottom:1px solid #eeeef1;background:#fbfbfc; }
.topbar-actions { display:flex;align-items:center;gap:9px;margin-left:auto; }
.page-head-actions { display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap; }
.page-context-picker { display:flex;flex:none;gap:2px;padding:3px;border-radius:999px;background:#f0f0f2; }
.page-context-picker button { min-height:29px;padding:4px 10px;border:0;border-radius:999px;background:transparent;color:#6e6e76;font-size:11px; }
.page-context-picker button.active { background:#fff;color:#202026;box-shadow:0 1px 3px #00000010; }
.topbar-chat-context { flex:none; }
.chat-intro { position:relative; }
.icon-button,.account-button { display:grid;place-items:center;width:34px;height:34px;border:1px solid #eeeeef;border-radius:50%;background:#fff;color:#27272c; }
.icon-button svg { width:17px;height:17px; }
.icon-button:hover,.account-button:hover { background:#f2f2f4; }
.account-wrap { position:relative; }
.account-button { width:32px;height:32px;padding:0;background:#23252a;color:white;font-size:12px; }
.account-initial { display:grid;place-items:center;width:100%;height:100%;overflow:hidden;border-radius:50%; }
.account-menu { position:absolute;top:41px;right:0;z-index:55;width:205px;padding:9px;border:1px solid #e8e8eb;border-radius:13px;background:#fff;box-shadow:0 10px 24px #11111918; }
.account-menu strong { display:block;padding:6px 7px 9px;overflow:hidden;text-overflow:ellipsis;font-size:12px;white-space:nowrap; }
.account-menu button { display:block;width:100%;padding:8px 7px;border:0;border-radius:6px;background:transparent;text-align:left;font-size:12px; }
.account-menu button:hover { background:#f2f2f4; }
.account-menu button:disabled { opacity:.5;cursor:wait; }
.profile-photo-preview { padding:5px 7px; }
.profile-photo-preview img { display:block;width:72px;height:72px;object-fit:cover;border-radius:50%;margin:0 auto 7px; }
.profile-photo-actions { display:flex;gap:4px; }
.profile-photo-actions button { text-align:center; }
.main-content { width:100%;max-width:none;padding:32px clamp(22px,3vw,48px) 70px; }
.main-content.route-chat { padding:0; }
.page-head h1 { font-size:clamp(30px,3vw,42px); }
.work-section,.detail-pane,.metric-card { border-radius:16px;box-shadow:none; }
.quiet-button,.text-action,.link-button { font-size:13px;font-weight:500; }
.chat-page { display:flex;justify-content:center;min-height:calc(100dvh - 56px); }
.chat-intro { width:min(100% - 32px,610px);margin:0;min-height:calc(100dvh - 56px);padding:0 0 45px;justify-content:center;transform:translateY(-12px); }
.chat-orb { margin-bottom:15px; }
.chat-intro h1 { margin:0 0 28px;font:normal clamp(37px,3.5vw,47px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.045em; }
.chat-intro .composer { width:100%; }
.chat-disclaimer { margin:15px 0 0!important;color:#93939d!important;font-size:11px!important; }
.composer { padding:12px;border:1px solid #eeeef1;border-radius:27px;box-shadow:0 8px 20px #17171b0d; }
.composer textarea { min-height:65px;max-height:200px;padding:8px 8px;font-size:14px; }
.composer button { width:38px;height:38px;background:#f2f2f4;color:#55555e;font-size:21px; }
.composer button:not(:disabled) { background:#17171b;color:#fff; }
.composer-meta { padding:3px 5px;gap:8px; }
.composer-meta span { background:#f2edfe;color:#6a50a5;font-size:11px; }
.composer-meta small { font-size:11px; }
.chat-thread { width:min(100% - 40px,760px);margin:24px auto 0;min-height:calc(100dvh - 104px); }
.chat-thread .messages { max-height:calc(100dvh - 280px); }
.chat-thread .chat-message { border-radius:14px; }
@media(max-width:900px) {
  .sidebar { display:flex;position:fixed;left:0;top:0;width:min(82vw,280px);height:100dvh;transform:translateX(-105%);transition:transform .2s;box-shadow:12px 0 30px #16161d10;z-index:102; }
  .sidebar.is-open { transform:translateX(0); }
  .sidebar-backdrop:not([hidden]) { display:block;position:fixed;inset:0;z-index:101;border:0;background:#17171b66; }
  .sidebar-close,.sidebar-open { display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--ink); }
  .sidebar-close svg,.sidebar-open svg { width:20px;height:20px; }
  .sidebar-open { flex:none; }
  .mobile-brand { display:block;margin-right:auto;font-size:16px;font-weight:600; }
  .topbar { height:56px;padding:0 12px; }
  .topbar-actions { gap:5px; }
  .page-head { flex-wrap:wrap;align-items:flex-start; }
  .page-head-actions { width:100%;justify-content:flex-start; }
  .page-context-picker button { min-height:29px;padding:4px 7px;font-size:10px; }
  .main-content { padding:25px 17px calc(40px + env(safe-area-inset-bottom)); }
  .main-content.route-chat { padding:0; }
  .mobile-tabs,.mobile-areas,.mobile-context-toggle,.mobile-context-menu { display:none!important; }
  .chat-page { display:block;min-height:calc(100dvh - 56px); }
  .chat-intro { min-height:calc(100dvh - 56px);margin:0 auto;padding:20px 0 50px;transform:none; }
  .chat-thread { flex:none;min-height:calc(100dvh - 90px);margin:15px auto 0; }
  .chat-thread .messages { max-height:calc(100dvh - 270px); }
  .chat-thread .conversation-head { gap:10px;align-items:flex-start;font-size:13px; }
  .chat-thread .conversation-head strong { flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35; }
  .chat-thread .conversation-head span { flex:none;white-space:nowrap; }
  .chat-page .composer textarea { resize:none; }
  body.sidebar-open { overflow:hidden; }
  .history-section { flex-shrink:0; }
  .history-list { max-height:30vh; }
}
@media(max-width:480px) {
  .chat-intro { width:min(100% - 30px,610px); }
  .chat-intro h1 { font-size:36px; }
  .chat-orb { width:154px;height:154px; }
  .composer-meta small { display:none; }
  .chat-thread { width:calc(100% - 28px); }
  .dashboard-kpis { grid-template-columns:1fr; }
}

/* Internal dark theme */
:root[data-theme="dark"] {
  color-scheme:dark;
  --canvas:#0e0b13;--surface:#222329;--ink:#f3f2f7;--body:#dad9e2;
  --muted:#aaaab6;--line:#393a43;--accent:#bba0ff;--selection:#353047;
  --shadow:0 10px 30px #00000024;
}
[data-theme="dark"] body,[data-theme="dark"] .topbar,[data-theme="dark"] .sidebar { background:var(--canvas);color:var(--ink); }
[data-theme="dark"] .topbar,[data-theme="dark"] .sidebar { border-color:var(--line); }
[data-theme="dark"] .sidebar-divider { background:var(--line); }
[data-theme="dark"] .sidebar-foot { border-color:var(--line); }
[data-theme="dark"] .main-nav button,[data-theme="dark"] .sidebar-action,[data-theme="dark"] .secondary-nav button,[data-theme="dark"] .account-menu button { color:var(--body); }
[data-theme="dark"] .main-nav button:hover,[data-theme="dark"] .sidebar-action:hover,[data-theme="dark"] .history-item:hover,[data-theme="dark"] .account-menu button:hover { background:#2d2e36; }
[data-theme="dark"] .main-nav button.active,[data-theme="dark"] .history-item.active { background:var(--selection);color:var(--ink); }
[data-theme="dark"] .history-item,[data-theme="dark"] .history-empty,[data-theme="dark"] .history-limit { color:var(--muted); }
[data-theme="dark"] .history-delete { color:#c8afff; }
[data-theme="dark"] .history-delete:hover { background:#37303e;color:#fff; }
[data-theme="dark"] .history-search,[data-theme="dark"] .page-context-picker,[data-theme="dark"] .view-controls,[data-theme="dark"] .context-picker { background:#2b2c33;border-color:var(--line); }
[data-theme="dark"] .history-search input,[data-theme="dark"] .page-context-picker button,[data-theme="dark"] .view-controls button { color:var(--body); }
[data-theme="dark"] .page-context-picker button.active,[data-theme="dark"] .view-controls button.active,[data-theme="dark"] .context-picker button.active { background:#43414e;color:var(--ink);box-shadow:none; }
[data-theme="dark"] .icon-button,[data-theme="dark"] .account-menu,[data-theme="dark"] .user-initial,[data-theme="dark"] .close-button { background:#2b2c33;border-color:var(--line);color:var(--ink); }
[data-theme="dark"] .icon-button:hover,[data-theme="dark"] .account-button:hover { background:#3a3b44; }
[data-theme="dark"] .account-button { background:#4c425f;color:#fff; }
[data-theme="dark"] .account-menu { box-shadow:0 10px 28px #0006; }
[data-theme="dark"] .notice,[data-theme="dark"] .empty-panel,[data-theme="dark"] .work-section,[data-theme="dark"] .detail-pane,[data-theme="dark"] .metric-card,[data-theme="dark"] .form-dialog { background:var(--surface);color:var(--ink);border-color:var(--line); }
[data-theme="dark"] .notice { background:#2a2b33; }
[data-theme="dark"] .text-action,[data-theme="dark"] .quiet-button { background:#2e2f37;color:var(--ink);border-color:var(--line); }
[data-theme="dark"] .text-action:hover,[data-theme="dark"] .quiet-button:hover { background:#3b3c45; }
[data-theme="dark"] .link-button,[data-theme="dark"] .primary-button,[data-theme="dark"] .app-toast { background:#bba0ff;border-color:#bba0ff;color:#1a1526; }
[data-theme="dark"] .delete-dialog .primary-button { background:#b4232e;border-color:#b4232e;color:#fff; }
[data-theme="dark"] .delete-dialog .primary-button:hover { background:#8f1b24; }
[data-theme="dark"] button.record-row:hover { background:#2b2c33; }
[data-theme="dark"] .record-row,[data-theme="dark"] .dashboard-row,[data-theme="dark"] .metadata div,[data-theme="dark"] .integration-item,[data-theme="dark"] .detail-subsection,[data-theme="dark"] .detail-footer { border-color:var(--line); }
[data-theme="dark"] .chat-message,[data-theme="dark"] .chat-thread .chat-message { background:#303139;color:var(--ink); }
[data-theme="dark"] .chat-message.mine,[data-theme="dark"] .chat-thread .chat-message.mine { background:#3c3451; }
[data-theme="dark"] .composer { background:#24252c;border-color:var(--line);box-shadow:0 12px 28px #0004; }
[data-theme="dark"] .composer input,[data-theme="dark"] .composer textarea { background:transparent;color:var(--ink); }
[data-theme="dark"] .composer button:disabled { background:#494a52;color:#c5c5ce; }
[data-theme="dark"] .composer button:not(:disabled) { background:#bba0ff;color:#1a1526; }
[data-theme="dark"] .composer-meta span { background:#40344f;color:#d8c7ff; }
[data-theme="dark"] .chat-disclaimer { color:var(--muted)!important; }
[data-theme="dark"] .chat-orb { background:radial-gradient(circle,transparent 46%,rgba(70,123,210,.1) 64%,transparent 80%); }
[data-theme="dark"] .chat-orb-fallback { box-shadow:0 0 18px 4px #83bfff4d,0 0 36px 9px #a3d6ff26; }
.composer .composer-attach,.composer .composer-attach:not(:disabled) { display:grid;place-items:center;width:34px;height:34px;min-width:34px;border:0;border-radius:50%;background:#f2f2f4;color:#55555e;box-shadow:none; }
.composer .composer-attach:hover { background:#e8e8ed;color:#17171b; }
.composer .composer-attach svg { width:17px;height:17px; }
.composer-files { display:flex!important;flex-wrap:wrap;gap:7px!important;padding:5px 5px 8px; }
.composer-file { display:flex;align-items:center;min-width:0;max-width:100%;gap:8px;padding:5px 5px 5px 11px;border:1px solid var(--line);border-radius:12px;background:#f8f8fa;color:var(--body);font-size:12px; }
.composer-file>span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.composer-file small { color:var(--muted);white-space:nowrap; }
.composer .composer-file button,.composer .composer-file button:not(:disabled) { display:grid;place-items:center;width:25px;height:25px;min-width:25px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:19px;line-height:1; }
.composer .composer-file button:hover { background:#e8e8ed;color:var(--ink); }
.chat-message-files { display:flex;flex-wrap:wrap;gap:7px;margin-top:9px; }
.chat-web-sources { margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;white-space:normal; }
.chat-web-sources strong { display:block;margin-bottom:5px;font-size:12px; }
.chat-web-sources ol { margin:0;padding-left:22px; }
.chat-web-sources li { margin:3px 0;overflow-wrap:anywhere; }
.chat-web-sources a,.web-citation { color:#6850ac;text-decoration:underline;text-underline-offset:2px; }
.chat-web-sources a:focus-visible,.web-citation:focus-visible { outline:2px solid #7655d4;outline-offset:3px;border-radius:3px; }
.chat-action { display:grid;gap:7px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);white-space:normal; }
.chat-action strong { font-size:14px; }
.chat-action span,.chat-action small { display:block;margin:0;color:var(--muted);font-size:12px; }
.chat-action-link,.chat-action-stop,.chat-action-controls a { width:max-content;max-width:100%;padding:6px 0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer; }
.chat-action-controls { display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px; }
.chat-action [hidden] { display:none; }
.chat-video-slot { display:grid;place-items:center;width:100%;aspect-ratio:16/9;min-height:160px;overflow:hidden;border-radius:9px;background:#171717; }
.chat-video-slot iframe { display:block;width:100%;height:100%;border:0; }
.chat-video-start { padding:12px 18px;border:1px solid #fff;border-radius:9px;background:#fff;color:#171717;font:inherit;font-weight:700;cursor:pointer; }
.chat-video-dock { position:fixed;z-index:90;right:16px;bottom:16px;width:min(400px,calc(100vw - 32px));padding:9px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);box-shadow:0 12px 36px rgba(0,0,0,.25); }
.chat-video-dock-head { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 4px 8px;font-size:13px; }
.chat-video-dock-head strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.chat-video-dock-head button { flex:none;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:var(--accent);font:inherit;font-size:12px;cursor:pointer; }
.chat-video-dock .chat-video-slot { min-height:0; }
.chat-video-dock :is(button,iframe):focus-visible { outline:2px solid #7655d4;outline-offset:2px; }
@media (max-width:600px) { .chat-video-dock { right:8px;bottom:8px;width:min(280px,calc(100vw - 16px)); } }
.chat-action :is(button,a):focus-visible { outline:2px solid #7655d4;outline-offset:3px;border-radius:3px; }
.composer .composer-voice,.composer .composer-voice:not(:disabled) { display:grid;place-items:center;width:34px;height:34px;min-width:34px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--body);font-size:16px;cursor:pointer; }
.composer .composer-voice[data-voice-mode="listening"],.composer .composer-voice[data-voice-mode="recording"] { background:#eee7ff;color:#6546ad;border-color:#c9b8f4; }
.composer .composer-voice[data-voice-mode="processing"],.composer .composer-voice[data-voice-mode="speaking"] { background:#e7f0ff;color:#355e9e; }
.composer .composer-voice:focus-visible { outline:2px solid #7655d4;outline-offset:3px; }
.voice-status,.voice-disclosure { margin:5px 6px 0;color:var(--muted);font-size:11px;line-height:1.4; }
.voice-status[hidden] { display:none; }
.voice-disclosure { margin-top:3px; }
[data-theme="dark"] .chat-web-sources a,[data-theme="dark"] .web-citation { color:#c8afff; }
[data-theme="dark"] .composer .composer-voice,[data-theme="dark"] .composer .composer-voice:not(:disabled) { background:#303139;color:var(--ink); }
[data-theme="dark"] .composer .composer-voice[data-voice-mode="listening"],[data-theme="dark"] .composer .composer-voice[data-voice-mode="recording"] { background:#433557;border-color:#8264ab; }
.chat-message-files .chat-attachment { display:flex;align-items:center;min-width:0;max-width:100%;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--body);font:inherit;font-size:12px;text-align:left;cursor:pointer; }
.chat-attachment>span:nth-child(2) { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.chat-attachment>small { color:var(--muted);white-space:nowrap; }
.chat-attachment:hover { border-color:#bbb3ce; }
.chat-attachment:disabled { opacity:.6;cursor:wait; }
[data-theme="dark"] .composer .composer-attach,[data-theme="dark"] .composer .composer-attach:not(:disabled),[data-theme="dark"] .composer-file,[data-theme="dark"] .chat-attachment { background:#303139;border-color:var(--line);color:var(--ink); }
[data-theme="dark"] .composer .composer-attach:hover,[data-theme="dark"] .composer .composer-file button:hover { background:#41424b;color:var(--ink); }
[data-theme="dark"] .composer .composer-file button,[data-theme="dark"] .composer .composer-file button:not(:disabled) { background:transparent;color:var(--muted); }
[data-theme="dark"] .dashboard-alert,[data-theme="dark"] .dashboard-alert.case-alert { background:#302a3c;border-color:#4b405e; }
[data-theme="dark"] .dashboard-alert.case-alert { background:#3b3028;border-color:#594533; }
[data-theme="dark"] .dashboard-alert span { color:#d2bbff; }
[data-theme="dark"] .dashboard-alert.case-alert span { color:#edbc8d; }
[data-theme="dark"] .chart-grid { stroke:#41424b; }
[data-theme="dark"] .chart-zero { stroke:#797985; }
[data-theme="dark"] .chart-negative,[data-theme="dark"] .key-negative { fill:#898a98;background:#898a98; }
[data-theme="dark"] .chart-axis-text { fill:#b5b5c0; }
[data-theme="dark"] .chart-empty { background:#292a31; }
[data-theme="dark"] .composer .composer-voice,[data-theme="dark"] .composer .composer-voice:not(:disabled),
.composer .composer-voice,.composer .composer-voice:not(:disabled) { display:flex;align-items:center;justify-content:center;gap:8px;width:36px;height:36px;min-width:36px;padding:0 9px;overflow:hidden;border:0;border-radius:999px;background:#27272a;color:#a1a1aa;box-shadow:0 3px 10px #0002;touch-action:pan-y;transition:width .2s ease,background .2s ease,color .2s ease,transform .15s ease; }
.composer .composer-voice:active { transform:scale(.95); }
.composer .composer-voice[data-voice-mode="listening"],.composer .composer-voice[data-voice-mode="recording"],
[data-theme="dark"] .composer .composer-voice[data-voice-mode="listening"],[data-theme="dark"] .composer .composer-voice[data-voice-mode="recording"] { width:148px;min-width:148px;background:#27272a;color:#f5f5f5;border:0; }
.composer .composer-voice[data-voice-mode="processing"],.composer .composer-voice[data-voice-mode="speaking"],
[data-theme="dark"] .composer .composer-voice[data-voice-mode="processing"],[data-theme="dark"] .composer .composer-voice[data-voice-mode="speaking"] { width:44px;min-width:44px;background:#36303e;color:#d6bfff;border:0; }
.composer .composer-voice .voice-mic { width:18px;height:18px;min-width:18px; }
.composer-meta .composer-voice .voice-timer,.composer-meta .composer-voice .voice-wave,.composer-meta .composer-voice .voice-stop,.composer-meta .composer-voice .voice-cancel { display:none;flex:none;margin:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font-size:11px; }
.composer-meta .composer-voice:is([data-voice-mode="listening"],[data-voice-mode="recording"]) .voice-mic { display:none; }
.composer-meta .composer-voice:is([data-voice-mode="listening"],[data-voice-mode="recording"]) .voice-timer { display:block;min-width:28px;font-variant-numeric:tabular-nums;font-weight:600; }
.composer-meta .composer-voice:is([data-voice-mode="listening"],[data-voice-mode="recording"]) .voice-wave { display:flex;align-items:center;justify-content:center;gap:2px;width:50px;height:22px; }
.voice-wave i { display:block;width:2px;height:30%;border-radius:2px;background:currentColor;animation:voice-level .85s ease-in-out infinite alternate; }
.voice-wave i:nth-child(3n) { animation-duration:.55s;animation-delay:-.3s; }
.voice-wave i:nth-child(4n) { animation-duration:1.1s;animation-delay:-.6s; }
.composer-meta .composer-voice:is([data-voice-mode="listening"],[data-voice-mode="recording"]) .voice-stop { display:block;width:8px;height:8px;border-radius:2px;background:currentColor; }
.composer .composer-voice[data-voice-dragging="true"] { width:180px;min-width:180px; }
.composer-meta .composer-voice[data-voice-dragging="true"] .voice-wave { display:none; }
.composer-meta .composer-voice[data-voice-dragging="true"] .voice-cancel { display:block;white-space:nowrap; }
.composer .composer-voice[data-voice-cancel-ready="true"] { background:#823b50;color:#fff; }
@keyframes voice-level { from { height:20%; } to { height:90%; } }
@media(prefers-reduced-motion:reduce) { .composer .composer-voice { transition:none; }.voice-wave i { animation:none;height:50%; } }
[data-theme="dark"] .form-field input,[data-theme="dark"] .form-field select,[data-theme="dark"] .form-field textarea,[data-theme="dark"] .notification-preferences input[type=time] { background:#2c2d35;border-color:#555661;color:var(--ink); }
[data-theme="dark"] .notification-preferences { border-color:var(--line); }
[data-theme="dark"] .error-note { color:#ffaaa2; }
[data-theme="dark"] .mobile-context-toggle,[data-theme="dark"] .mobile-context-menu,[data-theme="dark"] .mobile-context-menu button,[data-theme="dark"] .mobile-tabs,[data-theme="dark"] .mobile-areas,[data-theme="dark"] .mobile-areas button { background:var(--surface);color:var(--ink);border-color:var(--line); }
[data-theme="dark"] .mobile-context-menu button:hover,[data-theme="dark"] .mobile-context-menu button.active { background:var(--selection); }
@media(max-width:480px) {
  .topbar { padding:0 8px;gap:3px; }
  .topbar-actions { gap:4px; }
  .page-context-picker button { padding:4px 6px; }
  .theme-toggle { flex:none; }
}

/* Navegação rápida inspirada no Dock para telas pequenas. */
.mobile-dock,.mobile-dock-areas { display:none; }
@media(max-width:900px) {
  .mobile-dock { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;position:fixed;z-index:70;left:50%;bottom:calc(8px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(430px,calc(100% - 20px));padding:6px;border:1px solid #dcdbe4;border-radius:23px;background:rgba(250,250,252,.94);box-shadow:0 14px 38px #1c18352e,0 2px 8px #1c183512;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px); }
  .mobile-dock button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:58px;padding:2px;border:0;border-radius:17px;background:transparent;color:#60606b;font-size:10px;font-weight:600;line-height:1.1;white-space:nowrap; }
  .mobile-dock button svg { width:36px;height:36px;padding:9px;border:1px solid #e7e5ee;border-radius:13px;background:#fff;box-shadow:0 2px 5px #1a183015;transition:transform .18s ease,background .18s ease,color .18s ease; }
  .mobile-dock button:active svg { transform:translateY(-5px) scale(1.12); }
  .mobile-dock button.active { color:#41335d; }
  .mobile-dock button.active svg { border-color:#433459;background:#433459;color:#fff;box-shadow:0 4px 10px #34254736; }
  .mobile-dock button:focus-visible,.mobile-dock-areas button:focus-visible { outline:2px solid var(--accent);outline-offset:1px; }
  .mobile-dock-areas:not([hidden]) { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;position:fixed;z-index:91;left:50%;bottom:calc(83px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(430px,calc(100% - 20px));max-height:min(60dvh,400px);overflow-y:auto;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 14px 35px #17171b30; }
  .mobile-dock-areas button { display:flex;align-items:center;gap:7px;min-width:0;min-height:44px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--body);text-align:left;font-size:12px;font-weight:600; }
  .mobile-dock-areas button.active,.mobile-dock-areas button:hover { background:var(--selection);color:var(--accent); }
  .mobile-dock-areas svg { width:18px;height:18px;flex:none; }
  .main-content { padding-bottom:calc(110px + env(safe-area-inset-bottom)); }
  .main-content.route-chat { padding-bottom:calc(98px + env(safe-area-inset-bottom)); }
  .chat-intro { min-height:calc(100dvh - 155px); }
  .chat-thread { width:min(calc(100% - 32px),760px);min-height:calc(100dvh - 185px);padding-bottom:calc(94px + env(safe-area-inset-bottom)); }
  .chat-video-dock { bottom:calc(94px + env(safe-area-inset-bottom)); }
  body:has(.mobile-detail-open) .mobile-dock,body:has(.mobile-detail-open) .mobile-dock-areas,
  body:has(.modal-backdrop) .mobile-dock,body:has(.modal-backdrop) .mobile-dock-areas,
  body:has(input:focus,textarea:focus) .mobile-dock,body:has(input:focus,textarea:focus) .mobile-dock-areas,
  body.sidebar-open .mobile-dock,body.sidebar-open .mobile-dock-areas { display:none; }
}
[data-theme="dark"] .mobile-dock { border-color:#4a4554;background:rgba(36,35,43,.94);box-shadow:0 14px 38px #0008; }
[data-theme="dark"] .mobile-dock button { color:#c6c2cf; }
[data-theme="dark"] .mobile-dock button svg { border-color:#514b5a;background:#35323e;box-shadow:none; }
[data-theme="dark"] .mobile-dock button.active { color:#e3d6ff; }
[data-theme="dark"] .mobile-dock button.active svg { border-color:#aa8ee6;background:#795ac4;color:#fff; }
[data-theme="dark"] .mobile-dock-areas { background:var(--surface);border-color:var(--line); }
[data-theme="dark"] .mobile-dock-areas button { color:var(--body); }
[data-theme="dark"] .mobile-dock-areas button.active,[data-theme="dark"] .mobile-dock-areas button:hover { color:#dbc8ff; }
@media(prefers-reduced-motion:reduce) { .mobile-dock button svg { transition:none; }.mobile-dock button:active svg { transform:none; } }

/* Dashboard em cartões Bento, sem alterar os cartões compartilhados pelo Financeiro. */
.dashboard-page { --bento-surface:linear-gradient(155deg,#fff 0%,#fbfaff 100%);--bento-edge:#e6e1f0;--bento-spot:rgba(135,105,216,.17); }
.dashboard-page .dashboard-bento-grid { display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:stretch;margin-bottom:18px; }
.dashboard-page .dashboard-bento-card { position:relative;isolation:isolate;min-width:0;min-height:0;margin:0;overflow:hidden;border:1px solid var(--bento-edge);border-radius:22px;background:var(--bento-surface);box-shadow:0 10px 28px #3225510b,0 2px 8px #32255109;animation:bento-reveal .48s cubic-bezier(.22,1,.36,1) both; }
.dashboard-page .dashboard-bento-card:nth-child(2) { animation-delay:55ms; }
.dashboard-page .dashboard-bento-card:nth-child(3) { animation-delay:110ms; }
.dashboard-page .dashboard-bento-card:nth-child(4) { animation-delay:165ms; }
.dashboard-page .dashboard-bento-card:nth-child(5) { animation-delay:220ms; }
.dashboard-page .dashboard-bento-card:nth-child(6) { animation-delay:275ms; }
.dashboard-page .dashboard-bento-card::before { content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(300px circle at var(--bento-x,50%) var(--bento-y,50%),var(--bento-spot),transparent 75%);opacity:0;transition:opacity .22s ease; }
.dashboard-page .dashboard-bento-card>* { position:relative;z-index:1; }
.dashboard-page .dashboard-bento-card:focus-within { border-color:#a78bdc; }
.dashboard-page .dashboard-bento-tasks { grid-column:span 6;min-height:190px; }
.dashboard-page .dashboard-bento-agenda,.dashboard-page .dashboard-bento-finance { grid-column:span 3;min-height:190px; }
.dashboard-page .dashboard-bento-chart { grid-column:span 7;min-height:355px; }
.dashboard-page .dashboard-bento-alerts { grid-column:span 5;min-height:355px; }
.dashboard-page .dashboard-bento-queue { grid-column:span 12; }
.dashboard-page .metric-card.dashboard-bento-card { padding:22px 24px; }
.dashboard-page .dashboard-bento-top { display:flex;align-items:center;justify-content:space-between;margin-bottom:16px; }
.dashboard-page .dashboard-bento-icon { display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid #e4ddf3;border-radius:12px;background:#f2ecff;color:#7254bd; }
.dashboard-page .dashboard-bento-icon svg { width:19px;height:19px; }
.dashboard-page .dashboard-bento-label { color:#8068ad;font-size:10px;font-weight:800;letter-spacing:.11em; }
.dashboard-page .metric-card.dashboard-bento-card>span { color:var(--body);font-size:14px;font-weight:600; }
.dashboard-page .metric-card.dashboard-bento-card strong { margin:6px 0 7px;font-size:clamp(32px,3vw,49px); }
.dashboard-page .metric-card.dashboard-bento-finance strong { font-size:clamp(24px,2.1vw,35px); }
.dashboard-page .metric-card.dashboard-bento-card small { font-size:12px; }
.dashboard-page .work-section.dashboard-bento-card { padding:24px; }
.dashboard-page .dashboard-bento-card .section-head { margin-bottom:18px; }
.dashboard-page .dashboard-bento-card .section-head h2 { font-size:19px; }
.dashboard-page .dashboard-bento-chart>.text-action { margin-top:15px; }
.dashboard-page .dashboard-bento-queue .section-head { flex-wrap:wrap; }
.dashboard-page .dashboard-bento-queue .dashboard-row:last-child { padding-bottom:0; }
@keyframes bento-reveal { from { opacity:0;transform:translateY(12px) scale(.985); } to { opacity:1;transform:translateY(0) scale(1); } }
@media(hover:hover) and (pointer:fine) {
  .dashboard-page .dashboard-bento-card { transition:border-color .22s ease,box-shadow .22s ease; }
  .dashboard-page .dashboard-bento-card:hover { border-color:#bea9e6;box-shadow:0 16px 36px #5f468529,0 0 0 1px #bca4e04d; }
  .dashboard-page .dashboard-bento-card:hover::before { opacity:1; }
}
@media(hover:none) { .dashboard-page .dashboard-bento-card:active::before { opacity:.75; } }
@media(max-width:1100px) {
  .dashboard-page .dashboard-bento-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-page .dashboard-bento-card { grid-column:span 1; }
  .dashboard-page .dashboard-bento-tasks,.dashboard-page .dashboard-bento-chart,.dashboard-page .dashboard-bento-alerts,.dashboard-page .dashboard-bento-queue { grid-column:span 2; }
}
@media(max-width:650px) {
  .dashboard-page .dashboard-bento-grid { grid-template-columns:minmax(0,1fr);gap:11px; }
  .dashboard-page .dashboard-bento-card { grid-column:span 1; }
  .dashboard-page .metric-card.dashboard-bento-card { min-height:155px;padding:19px; }
  .dashboard-page .work-section.dashboard-bento-card { min-height:0;padding:19px; }
  .dashboard-page .dashboard-bento-card .section-head h2 { font-size:18px; }
}
[data-theme="dark"] .dashboard-page { --bento-surface:linear-gradient(155deg,#292733 0%,#211f29 100%);--bento-edge:#494254;--bento-spot:rgba(179,143,255,.18); }
[data-theme="dark"] .dashboard-page .dashboard-bento-card { background:var(--bento-surface);border-color:var(--bento-edge);box-shadow:0 10px 28px #0004;color:var(--ink); }
[data-theme="dark"] .dashboard-page .dashboard-bento-icon { background:#423650;border-color:#5b4a6b;color:#d8bfff; }
[data-theme="dark"] .dashboard-page .dashboard-bento-label { color:#c7abe9; }
[data-theme="dark"] .dashboard-page .metric-card.dashboard-bento-card>span { color:var(--body); }
[data-theme="dark"] .dashboard-page .dashboard-bento-card:focus-within { border-color:#c6a5ff; }
@media(hover:hover) and (pointer:fine) { [data-theme="dark"] .dashboard-page .dashboard-bento-card:hover { border-color:#a27aca;box-shadow:0 16px 38px #0008,0 0 0 1px #aa82df55; } }
@keyframes bento-fade { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .dashboard-page .dashboard-bento-card { animation-name:bento-fade;animation-duration:.25s; }.dashboard-page .dashboard-bento-card::before { transition:none; } }

/* Chat compacto no celular: campo de texto acima de uma única linha de ações. */
@media(max-width:900px) {
  .chat-page .composer { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;row-gap:5px; }
  .chat-page .composer>div:first-of-type { display:contents; }
  .chat-page .composer textarea { grid-column:1/-1;grid-row:1;min-height:52px; }
  .chat-page .composer>div:first-of-type>button { grid-column:2;grid-row:2;justify-self:end; }
  .chat-page .composer-meta { grid-column:1;grid-row:2;min-width:0;align-items:center; }
  .chat-page .composer-files { grid-column:1/-1;grid-row:3; }
  .chat-page .voice-status,.chat-page .voice-disclosure { grid-column:1/-1; }
}
@media(max-width:480px) {
  .chat-intro h1 { margin-bottom:20px;font-size:30px; }
  .chat-orb { width:140px;height:140px;margin-bottom:12px; }
  .chat-page .composer textarea { height:48px;min-height:48px;overflow-y:auto; }
}
.chat-thread .conversation-voice-toggle { display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:30px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:600;line-height:1;white-space:nowrap; }
.chat-thread .conversation-voice-toggle.active { border-color:#b49adb;background:var(--selection);color:var(--accent); }
.conversation-voice-indicator { width:7px;height:7px;flex:none;border-radius:50%;background:#a7a7af; }
.conversation-voice-toggle.active .conversation-voice-indicator { background:var(--accent); }
.conversation-voice-toggle .conversation-voice-state { font-weight:400; }
@media(max-width:480px) {
  .chat-page .composer-meta { gap:7px; }
  .topbar-chat-context button { min-height:27px;padding:3px 5px;font-size:10px; }
  .chat-thread .conversation-voice-toggle { font-size:10px;padding:5px 7px; }
}
@media(max-width:380px) {
  .topbar:has(.topbar-chat-context:not([hidden])) .mobile-brand { display:none; }
}
@media(max-width:900px) {
  .chat-page:has(>.chat-intro),.chat-page>.chat-intro { min-height:calc(100dvh - 155px - env(safe-area-inset-bottom)); }
}
