/*
 * GV Mail: fonte Geist (a mesma dos outros sistemas da suíte), barra lateral no padrão do GV Access
 * e barra do topo no estilo Gmail (pesquisa à esquerda, ações à direita, ferramentas da lista logo abaixo).
 */
@font-face { font-family: "Geist"; font-weight: 100 900; font-display: swap; src: url(assets/geist-latin.woff2) format("woff2"); }

/* ---------- fonte: Geist em tudo, Outfit só na marca ---------- */
html, body, input, button, select, textarea, table, .popover, .popupmenu, .ui-dialog, #layout * { font-family: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif; }
.gvm-marca-app span, .gvm-marca-app b, .gvm-marca-app i, .gvm-marca-nome, .gvm-marca-nome *, .gvm-cab h1, .gvm-texto h2, .gvm-nt-marca span, .gvm-nt-marca span * { font-family: "Outfit", system-ui, sans-serif !important; }

/* ---------- barra do topo (só com a barra lateral unida, telas largas) ---------- */
.gvm-navtop { display: none; }
@media (min-width: 1024px) {
  body.gvm-nt .gvm-navtop { position: fixed; z-index: 90; top: 0; left: 0; right: 0; height: 60px; display: flex; align-items: center; gap: 12px; background: #fff; border-bottom: 1px solid var(--gv-linha); padding: 0 16px 0 0; }
  body.gvm-nt #layout { position: absolute !important; top: 60px; left: 0; right: 0; bottom: 0; height: auto !important; }
  body.gvm-nt .gvm-marca-app, body.gvm-nt .gvm-rodape { display: none !important; }

  .gvm-nt-marca { flex: none; width: 232px; display: flex; align-items: center; gap: 9px; padding: 0 0 0 16px; text-decoration: none; }
  .gvm-nt-marca img { width: 30px; height: 30px; display: block; }
  .gvm-nt-marca span { font-size: 21px; line-height: 1; letter-spacing: -0.01em; color: var(--gv-tinta); }
  .gvm-nt-marca b { font-weight: 600; }
  .gvm-nt-marca i { font-style: normal; font-weight: 300; }

  /* a pesquisa do Roundcube vem para cá */
  .gvm-navtop .searchbar { flex: 0 1 640px; width: 640px; max-width: 100%; margin: 0 !important; height: 42px; display: flex; align-items: center; border-radius: 999px !important; background: #f6eeee !important; border: 1px solid transparent !important; padding: 0 6px 0 4px; }
  .gvm-navtop .searchbar:focus-within { background: #fff !important; border-color: var(--gv-coral) !important; box-shadow: 0 0 0 3px rgba(229, 72, 77, .15); }
  .gvm-navtop .searchbar form { flex: 1; min-width: 0; }
  .gvm-navtop .searchbar input { height: 40px; font-size: 14px; background: transparent !important; border: 0 !important; box-shadow: none !important; }
  .gvm-navtop .searchbar a.button { color: var(--gv-tinta-2) !important; }
  .gvm-navtop .searchbar a.button:hover { color: var(--gv-coral-esc) !important; }

  .gvm-nt-dir { margin-left: auto; display: flex; align-items: center; gap: 6px; }
  .gvm-nt-btn { width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 50%; background: none; color: var(--gv-tinta-2); cursor: pointer; text-decoration: none; }
  .gvm-nt-btn:hover { background: #f4eaea; color: var(--gv-tinta); }
  .gvm-nt-avatar { width: 34px; height: 34px; border-radius: 50%; border: 0; background: var(--gv-coral); color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; }
  .gvm-nt-menu { position: absolute; right: 16px; top: 54px; min-width: 220px; padding: 8px; border-radius: 12px; border: 1px solid var(--gv-linha); background: #fff; box-shadow: 0 18px 40px -16px rgba(60, 20, 20, .35); display: none; }
  .gvm-nt-menu.aberto { display: block; }
  .gvm-nt-menu .quem { padding: 8px 10px 10px; font-size: 12.5px; color: var(--gv-tinta-2); border-bottom: 1px solid var(--gv-linha); margin-bottom: 6px; word-break: break-all; }
  .gvm-nt-menu a { display: flex; align-items: center; gap: 10px; height: 34px; padding: 0 10px; border-radius: 8px; font-size: 13px; color: var(--gv-tinta) !important; text-decoration: none; cursor: pointer; }
  .gvm-nt-menu a:hover { background: #fbf3f3; }
  .gvm-nt-menu a.sair { color: #b42a30 !important; }

  /* ---------- barra lateral no padrão do Access: branca, 232px, itens de 32px ---------- */
  body.gvm-nt #layout-sidebar { width: 232px !important; max-width: 232px !important; min-width: 232px !important; background: #fff !important; border-right: 1px solid var(--gv-linha) !important; }
  .gvm-nav { border-bottom: 0 !important; padding: 12px 10px 4px !important; margin: 0 !important; }
  body.gvm-nt .gvm-nav #taskmenu a.compose { height: 38px !important; border-radius: 10px; font-size: 13px; margin-bottom: 8px; }
  body.gvm-nt .gvm-nav #taskmenu > a, body.gvm-nt .gvm-nav #taskmenu .special-buttons > a { height: 32px !important; padding: 0 10px !important; gap: 10px !important; border-radius: 8px; font-size: 13px !important; color: var(--gv-tinta-2) !important; background: transparent !important; font-weight: 400; }
  body.gvm-nt .gvm-nav #taskmenu a .inner { font-size: 13px !important; }
  body.gvm-nt .gvm-nav #taskmenu a:before { font-size: 15px !important; width: 16px !important; }
  body.gvm-nt .gvm-nav #taskmenu > a:hover { background: #fbf3f3 !important; color: var(--gv-tinta) !important; }
  body.gvm-nt .gvm-nav #taskmenu > a.selected { background: var(--gv-coral-bg) !important; color: var(--gv-coral-esc) !important; font-weight: 500; }
  body.gvm-nt .gvm-nav #taskmenu a.theme, body.gvm-nt .gvm-nav #taskmenu a.about, body.gvm-nt .gvm-nav #taskmenu a.logout { display: none !important; }

  body.gvm-nt #layout-sidebar .header { padding: 10px 18px 4px !important; }
  body.gvm-nt #layout-sidebar .header .header-title { font-size: 12px !important; font-weight: 500 !important; color: #a77f81 !important; }
  body.gvm-nt #layout-sidebar .listing li { margin: 0; }
  body.gvm-nt #layout-sidebar .listing li > a { height: 32px; min-height: 0; padding: 0 10px !important; margin: 1px 10px !important; display: flex; align-items: center; border-radius: 8px; font-size: 13px; color: var(--gv-tinta-2) !important; background: transparent !important; font-weight: 400; }
  body.gvm-nt #layout-sidebar .listing li > a:hover { background: #fbf3f3 !important; color: var(--gv-tinta) !important; }
  body.gvm-nt #layout-sidebar .listing li.selected > a, body.gvm-nt #layout-sidebar .listing li.focused > a { background: var(--gv-coral-bg) !important; color: var(--gv-coral-esc) !important; font-weight: 500; }
  body.gvm-nt #layout-sidebar .listing li > a:before { font-size: 15px !important; width: 16px; margin-right: 10px; color: inherit !important; }
  body.gvm-nt #layout-sidebar .listing li > a .unreadcount { margin-left: auto; height: 18px; line-height: 18px; min-width: 18px; padding: 0 6px; font-size: 11px; font-weight: 600; }

  /* ---------- ferramentas da lista, logo abaixo da barra do topo ---------- */
  body.gvm-nt #messagelist-header { display: flex; align-items: center; height: 48px; padding: 0 12px; gap: 2px; border-bottom: 1px solid var(--gv-linha) !important; background: #fff !important; }
  body.gvm-nt #messagelist-header .header-title, body.gvm-nt #messagelist-header a.task-menu-button, body.gvm-nt #messagelist-header a.back-sidebar-button, body.gvm-nt #messagelist-header a.toolbar-menu-button, body.gvm-nt #messagelist-header a.toolbar-list-button { display: none !important; }
  body.gvm-nt #messagelist-header ul.toolbar { display: flex !important; flex-direction: row; align-items: center; gap: 2px; margin: 0; padding: 0; background: none !important; }
  body.gvm-nt #messagelist-header ul.toolbar li { display: block !important; width: auto; margin: 0; }
  body.gvm-nt #messagelist-header .toolbar a, body.gvm-nt #messagelist-header a.toolbar-button { display: inline-flex !important; align-items: center; justify-content: center; width: 36px; height: 36px; min-width: 0; padding: 0 !important; border-radius: 50%; }
  body.gvm-nt #messagelist-header .toolbar a .inner, body.gvm-nt #messagelist-header a.toolbar-button .inner { display: none !important; }
  body.gvm-nt #messagelist-header .toolbar a:before { font-size: 17px !important; margin: 0 !important; position: static !important; }
  body.gvm-nt #messagelist-header .toolbar a:hover { background: #f4eaea !important; }
  body.gvm-nt #messagelist-header .pagenav { margin-left: auto; display: flex; align-items: center; gap: 4px; background: transparent !important; border: 0 !important; height: 40px; font-size: 12.5px; color: var(--gv-tinta-2); padding: 0; }
  body.gvm-nt #messagelist-header .pagenav a.firstpage, body.gvm-nt #messagelist-header .pagenav a.lastpage, body.gvm-nt #messagelist-header .pagenav input { display: none !important; }
  body.gvm-nt #messagelist-header .pagenav a { width: 32px; height: 32px; display: inline-grid; place-items: center; border-radius: 50%; }
  body.gvm-nt #layout-list > .footer.pagenav { display: none; }
  body.gvm-nt #layout-list { background: #fff !important; }
}
