/* Unio Suite — barra única: unio-barra.css
 * Visual do Unio intocado (desenho §9, Figma blmSEcPAzT32mpK1kqYeKc página "Barra", aprovado em 23/10/2026): barra de
 * 64 px, Sora, botões de 40 px, avatar com anel em degradê, lançador de 328 px em 3 colunas, roxo #6100f9, escuro
 * #09090b/#0c0c0e/#27272a. Novos (modo edição): lápis, Cancelar/Concluir, separadores, dica, Restaurar padrão,
 * fantasma, área vazia tracejada. Novos na 1.1.0 (protótipo v2 de 27/10/2026, componentes 14 e 15): a seção "Da sua
 * organização", o ícone do atalho (imagem com contorno, ou a letra num quadrado cinza) e o sinal de aba nova.
 * Regra: nenhuma regra vaza para fora de #unio-bar, #uh-launcher e #uh-usermenu. Única exceção, opcional: a reserva de
 * 64 px no topo (body.uh-has-bar), que a barra só liga com cfg.reservarTopo diferente de false.
 * A @font-face da Sora entra pelo JS (a url depende de cfg.assets).
 */

/* ---------- barra ---------- */
#unio-bar{
  position:fixed;top:0;left:0;right:0;height:64px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:0 24px;margin:0;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04);box-sizing:border-box;z-index:2147483600;
  font-family:'Sora','Public Sans',system-ui,-apple-system,sans-serif;
}
#unio-bar *,#uh-launcher *,#uh-usermenu *{box-sizing:border-box;font-family:'Sora','Public Sans',system-ui,-apple-system,sans-serif;}
#unio-bar a,#unio-bar a:hover,#unio-bar a:focus,
#uh-launcher a,#uh-launcher a:hover,#uh-launcher a:focus,
#uh-usermenu a,#uh-usermenu a:hover,#uh-usermenu a:focus{text-decoration:none!important;}
#unio-bar .uh-left{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto;}
#unio-bar .uh-centro{display:flex;align-items:center;justify-content:center;min-width:0;flex:0 1 auto;}
#unio-bar .uh-logo{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto;color:inherit;}
#unio-bar .uh-logo-ico{height:34px;width:34px;display:block;max-width:none;flex:0 0 auto;}
#unio-bar .uh-logo-ico--conta{border-radius:50%;}
#unio-bar .uh-logo-word{font-size:18px;font-weight:400;color:var(--uh-logo-cor,#121212);letter-spacing:-.2px;line-height:34px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
#unio-bar .uh-right{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
#unio-bar .uh-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:0;
  margin:0;border-radius:20px;background:transparent;border:none;color:#444746;cursor:pointer;text-decoration:none;padding:0;
  box-shadow:none;transition:background-color .15s ease;}
#unio-bar .uh-btn:hover,#unio-bar .uh-btn.uh-btn--ativo{background:#f0f0f0;}
#unio-bar .uh-btn:focus-visible{outline:2px solid #6100f9;outline-offset:1px;}
#unio-bar .uh-btn img{width:24px;height:24px;display:block;pointer-events:none;max-width:none;}
/* modo escuro: primeiro da direita (no painel o botão é o do React, por portal em .uh-right) */
#unio-bar .uh-btn--theme{order:-1;color:#444746;}
#unio-bar .uh-btn--theme svg{width:22px;height:22px;display:block;pointer-events:none;fill:none;}

/* ---------- avatar: anel em degradê, vão de 2 px, foto ou iniciais ---------- */
#unio-bar .uh-avatar{width:40px;height:40px;min-width:40px;min-height:0;padding:0;margin:0 0 0 4px;border:0;border-radius:50%;
  background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}
#unio-bar .uh-avatar:focus-visible{outline:2px solid #6100f9;outline-offset:2px;}
#unio-bar .uh-av,#uh-launcher .uh-av,#uh-usermenu .uh-av{position:relative;display:block;flex:0 0 auto;border-radius:50%;padding:2px;
  width:40px;height:40px;background:linear-gradient(90deg,#f0a12a 0%,#a44d9e 30%,#6100f9 63%,#17bebb 100%);}
#unio-bar .uh-av-ini,#uh-launcher .uh-av-ini,#uh-usermenu .uh-av-ini,
#unio-bar .uh-av-foto,#uh-launcher .uh-av-foto,#uh-usermenu .uh-av-foto{position:absolute;top:2px;left:2px;right:2px;bottom:2px;
  width:auto;height:auto;max-width:none;border:2px solid var(--uh-av-vao,#fff);border-radius:50%;}
#unio-bar .uh-av-ini,#uh-launcher .uh-av-ini,#uh-usermenu .uh-av-ini{display:flex;align-items:center;justify-content:center;
  background:var(--uh-av-bg,#F1EAFE);color:var(--uh-av-fg,#6100F9);font-weight:600;font-size:13px;line-height:1;letter-spacing:0;
  text-transform:uppercase;user-select:none;}
/* foto: <img> com position:absolute NÃO estica entre top/left/right/bottom (fica no tamanho natural do arquivo e vaza
   do círculo): largura e altura explícitas = o círculo menos o padding de 2px de cada lado */
#unio-bar .uh-av-foto,#uh-launcher .uh-av-foto,#uh-usermenu .uh-av-foto{object-fit:cover;background:var(--uh-av-vao,#fff);display:none;
  width:calc(100% - 4px);height:calc(100% - 4px);box-sizing:border-box;}
#unio-bar .uh-av--foto .uh-av-foto,#uh-launcher .uh-av--foto .uh-av-foto,#uh-usermenu .uh-av--foto .uh-av-foto{display:block;}
#unio-bar .uh-av--foto .uh-av-ini,#uh-launcher .uh-av--foto .uh-av-ini,#uh-usermenu .uh-av--foto .uh-av-ini{display:none;}
#uh-launcher .uh-av--lanc{width:42px;height:42px;}
#uh-launcher .uh-av--lanc .uh-av-ini{font-size:14px;}

/* ---------- menu da conta (D8) ---------- */
#uh-usermenu{box-sizing:border-box;position:fixed;top:64px;right:16px;width:284px;max-width:calc(100vw - 24px);background:#fff;border:1px solid #e4e7ec;
  border-radius:14px;box-shadow:0 12px 32px rgba(17,24,39,.16);padding:8px;margin:0;z-index:2147483602;display:none;
  max-height:calc(100vh - 80px);overflow-y:auto;}
#uh-usermenu.open{display:block;}
#uh-usermenu .uh-um-head{display:flex;align-items:center;gap:10px;padding:8px 10px 12px;margin-bottom:6px;border-bottom:1px solid #f0f0f0;}
#uh-usermenu .uh-um-id{min-width:0;display:flex;flex-direction:column;}
#uh-usermenu .uh-um-name{font-size:14px;font-weight:600;color:#171725;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#uh-usermenu .uh-um-email{font-size:12px;color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#uh-usermenu .uh-um-item{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:0;min-height:0;border-radius:10px;
  color:#1f1f1f;font-size:14px;font-weight:400;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;
  line-height:1.2;box-shadow:none;}
#uh-usermenu .uh-um-item:hover,#uh-usermenu .uh-um-item:focus{background:#f4f1fb;outline:none;}
#uh-usermenu .uh-um-item:focus-visible{box-shadow:inset 0 0 0 2px #6100f9;}
#uh-usermenu .uh-um-item svg{color:#6c757d;flex:0 0 auto;width:18px;height:18px;}
#uh-usermenu .uh-um-sep{height:1px;background:#f0f0f0;margin:6px 4px;}
#uh-usermenu .uh-um-item--logout,#uh-usermenu .uh-um-item--logout svg{color:#d92d20;}

/* ---------- lançador (§6) ---------- */
#uh-launcher{box-sizing:border-box;position:fixed;top:68px;right:16px;width:328px;max-width:calc(100vw - 24px);background:#fff;border:1px solid #e4e7ec;
  border-radius:14px;box-shadow:0 12px 32px rgba(17,24,39,.16);padding:14px;margin:0;z-index:2147483601;
  display:flex;flex-direction:column;max-height:min(560px,calc(100vh - 84px));max-height:min(560px,calc(100svh - 84px));
  visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px) scale(.98);transform-origin:top right;
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;}
#uh-launcher.open{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition:opacity .16s ease,transform .16s ease;}
#uh-launcher button{font-family:inherit;margin:0;min-height:0;box-shadow:none;cursor:pointer;}
#uh-launcher .uh-lhead{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;padding:0 0 8px 6px;flex:0 0 auto;}
#uh-launcher .uh-ltitle{font-size:12px;font-weight:600;color:#6c757d;letter-spacing:.02em;}
#uh-launcher .uh-ledit{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;
  border-radius:16px;background:transparent;color:#444746;}
#uh-launcher .uh-ledit svg{width:18px;height:18px;display:block;fill:none;pointer-events:none;}
#uh-launcher .uh-ledit:hover{background:#f0f0f0;}
#uh-launcher .uh-lcancel{display:none;padding:7px 10px;border:0;border-radius:10px;background:transparent;color:#444746;font-size:13px;font-weight:600;line-height:16px;}
#uh-launcher .uh-lcancel:hover{background:#f0f0f0;}
#uh-launcher .uh-ldone{display:none;padding:7px 14px;border:0;border-radius:10px;background:#6100f9;color:#fff;font-size:13px;font-weight:600;line-height:16px;}
#uh-launcher .uh-ldone:hover{background:#5200d6;}
#uh-launcher .uh-ledit:focus-visible,#uh-launcher .uh-lcancel:focus-visible,#uh-launcher .uh-ldone:focus-visible,
#uh-launcher .uh-lreset:focus-visible{outline:2px solid #6100f9;outline-offset:2px;}
#uh-launcher .uh-lhint{display:none;margin:0 6px 8px;padding:0;font-size:12px;line-height:1.3;color:#656971;}
#uh-launcher .uh-lbody{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:#d3dbe6 transparent;margin:0 -4px;padding:0 4px;position:relative;}
#uh-launcher .uh-lbody::-webkit-scrollbar{width:6px;}
#uh-launcher .uh-lbody::-webkit-scrollbar-thumb{background:#d3dbe6;border-radius:3px;}
#uh-launcher .uh-lsep{display:flex;align-items:center;gap:10px;margin:10px 6px 6px;font-size:12px;font-weight:600;color:#656971;line-height:16px;}
#uh-launcher .uh-lsep::after{content:"";flex:1 1 auto;height:1px;background:#e4e7ec;}
#uh-launcher .uh-lsep-fav{display:none;margin-top:0;}
#uh-launcher.uh-nomore:not(.uh-editing) .uh-lsep-more{display:none;}
#uh-launcher .uh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;}
#uh-launcher .uh-lc-item{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 2px;margin:0;min-width:0;border-radius:12px;
  text-decoration:none;color:#121212;background:transparent;transition:background .12s ease;-webkit-tap-highlight-color:transparent;}
#uh-launcher .uh-lc-item:hover{background:#f4f1fb;}
#uh-launcher .uh-lc-item:focus-visible{outline:2px solid #6100f9;outline-offset:-2px;}
#uh-launcher .uh-lc-ico{width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
#uh-launcher .uh-lc-ico>img{width:42px;height:42px;display:block;pointer-events:none;max-width:none;-webkit-user-drag:none;}
#uh-launcher .uh-lc-lbl{font-size:12px;line-height:1.1;text-align:center;color:#121212;white-space:nowrap;}
/* 1.1.0 — "Da sua organização" (DEM-1; protótipo v2 aprovado em 27/10/2026, componentes 14 e 15). A seção tem a forma
   de Favoritos e de Demais; sem atalho na resposta ela não existe (uh-semorg), nem na edição. */
#uh-launcher.uh-semorg .uh-lsep-org,#uh-launcher.uh-semorg .uh-org{display:none;}
#uh-launcher.uh-noorg:not(.uh-editing) .uh-lsep-org{display:none;}
/* 14. ícone do atalho: 42 × 42, canto 10; a imagem com contorno interno de 1 px na cor da linha; o padrão é a letra
   (Sora 18/600) num quadrado cinza, neutro de propósito (o roxo e o círculo são da Conta) */
#uh-launcher .uh-lc-ico--org{position:relative;border-radius:10px;}
#uh-launcher .uh-lc-ico--org>img{border-radius:10px;object-fit:cover;}
#uh-launcher .uh-lc-ico--img::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:10px;
  box-shadow:inset 0 0 0 1px #e4e7ec;pointer-events:none;}
#uh-launcher .uh-lc-letra{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;
  background:#f0f0f0;color:#444746;font-size:18px;font-weight:600;line-height:1;user-select:none;-webkit-user-select:none;}
/* 15. sinal de aba nova: círculo de 16 px, borda 1, seta de 10 px; 5 px para fora do canto superior direito do ícone */
#uh-launcher .uh-lc-sinal{position:absolute;top:-5px;right:-5px;z-index:1;display:flex;align-items:center;justify-content:center;
  width:16px;height:16px;border-radius:8px;background:#fff;border:1px solid #e4e7ec;color:#444746;pointer-events:none;}
#uh-launcher .uh-lc-sinal svg{width:10px;height:10px;display:block;}
/* nome numa linha, cortado com reticências (o nome inteiro vai no texto de ajuda e no nome acessível) */
#uh-launcher .uh-lc-org .uh-lc-lbl{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
#uh-launcher .uh-lfoot{display:none;justify-content:center;padding-top:10px;flex:0 0 auto;}
#uh-launcher .uh-lreset{padding:6px 10px;border:0;border-radius:10px;background:transparent;color:#6100f9;font-size:13px;font-weight:500;line-height:16px;}
#uh-launcher .uh-lreset:hover{background:#f4f1fb;}

/* modo edição */
#uh-launcher.uh-editing .uh-ltitle,#uh-launcher.uh-editing .uh-ledit{display:none;}
#uh-launcher.uh-editing .uh-lcancel,#uh-launcher.uh-editing .uh-ldone{display:inline-flex;align-items:center;}
#uh-launcher.uh-editing .uh-lhint,#uh-launcher.uh-editing .uh-lsep-fav{display:block;}
#uh-launcher.uh-editing .uh-lsep-fav{display:flex;}
#uh-launcher.uh-editing .uh-lfoot{display:flex;}
#uh-launcher.uh-editing .uh-lc-item[data-unio-tool]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;}
#uh-launcher.uh-editing .uh-lc-item[data-unio-tool]:hover{background:transparent;}
#uh-launcher.uh-editing .uh-lc-item[data-unio-tool] .uh-lc-ico{animation:uh-balanca .36s ease-in-out infinite alternate;}
#uh-launcher.uh-editing .uh-grid>.uh-lc-item:nth-child(even) .uh-lc-ico{animation-delay:-.18s;}
#uh-launcher.uh-editing .uh-lc-conta{cursor:default;}
#uh-launcher.uh-editing .uh-more:empty,#uh-launcher.uh-editing .uh-org:empty{min-height:84px;border:1.5px dashed #d3dbe6;border-radius:14px;}
#uh-launcher.uh-arrastando,#uh-launcher.uh-arrastando *{cursor:grabbing!important;}
#uh-launcher .uh-lc-item.uh-dragging{opacity:.3;}
#uh-launcher .uh-lc-item.uh-dragging .uh-lc-ico{animation:none;}
#uh-launcher .uh-ghost{position:fixed;margin:0;z-index:2;pointer-events:none;background:#fff;box-shadow:0 12px 32px rgba(17,24,39,.16);
  transform-origin:center;will-change:transform;}
#uh-launcher .uh-ghost .uh-lc-ico{animation:none;}
@keyframes uh-balanca{from{transform:rotate(-1.5deg);}to{transform:rotate(1.5deg);}}
@media (prefers-reduced-motion:reduce){
  #uh-launcher,#uh-launcher *{animation:none!important;transition:none!important;}
}

/* reserva de 64 px no topo (opcional: cfg.reservarTopo) */
body.uh-has-bar{padding-top:64px!important;}

/* ---------- responsivo (D9) ---------- */
@media (max-width:600px){
  #uh-launcher,#uh-usermenu{position:fixed;top:72px;left:12px;right:12px;width:auto;max-width:none;}
  #uh-launcher{max-height:min(560px,calc(100vh - 84px));max-height:min(560px,calc(100svh - 84px));}
}
@media (max-width:480px){
  #unio-bar{padding:0 16px;}
  #unio-bar .uh-right{gap:4px;}
  #unio-bar .uh-btn{width:36px;height:36px;min-width:36px;border-radius:18px;}
  #unio-bar .uh-logo-ico{width:30px;height:30px;}
  #unio-bar .uh-logo-word.uh-logo-word--menor{font-size:14px;}
  #unio-bar .uh-avatar,#unio-bar .uh-av--barra{width:36px;height:36px;min-width:36px;}
  #unio-bar .uh-av--barra .uh-av-ini{font-size:12px;}
}

/* ---------- escuro (html.dark; cookie unio_tema) — paleta do painel ---------- */
html.dark{--uh-av-vao:#09090b;--uh-av-bg:#2d1b69;--uh-av-fg:#c4b5fd;}
html.dark #unio-bar{background:#09090b;box-shadow:0 1px 0 #27272a;}
html.dark #unio-bar .uh-logo-word{color:var(--uh-logo-cor-escuro,#f4f4f5);}
html.dark #unio-bar .uh-btn{color:#a1a1aa;}
html.dark #unio-bar .uh-btn:hover,html.dark #unio-bar .uh-btn.uh-btn--ativo{background:#27272a;}
html.dark #unio-bar .uh-btn img{filter:invert(1) brightness(.78);}
html.dark #uh-usermenu,html.dark #uh-launcher{background:#0c0c0e;border-color:#27272a;color:#f4f4f5;box-shadow:0 10px 15px rgba(0,0,0,.5);}
html.dark #uh-usermenu .uh-av,html.dark #uh-launcher .uh-av{--uh-av-vao:#0c0c0e;}
html.dark #uh-usermenu .uh-um-head{border-bottom-color:#27272a;}
html.dark #uh-usermenu .uh-um-name{color:#f4f4f5;}
html.dark #uh-usermenu .uh-um-email{color:#a1a1aa;}
html.dark #uh-usermenu .uh-um-item{color:#e4e4e7;}
html.dark #uh-usermenu .uh-um-item svg{color:#a1a1aa;}
html.dark #uh-usermenu .uh-um-item:hover,html.dark #uh-usermenu .uh-um-item:focus{background:#27272a;}
html.dark #uh-usermenu .uh-um-item--logout,html.dark #uh-usermenu .uh-um-item--logout svg{color:#f87171;}
html.dark #uh-usermenu .uh-um-sep{background:#27272a;}
html.dark #uh-launcher .uh-ltitle,html.dark #uh-launcher .uh-lhint{color:#a1a1aa;}
html.dark #uh-launcher .uh-ledit,html.dark #uh-launcher .uh-lcancel{color:#e4e4e7;}
html.dark #uh-launcher .uh-ledit:hover,html.dark #uh-launcher .uh-lcancel:hover{background:#27272a;}
html.dark #uh-launcher .uh-ldone{background:#a78bfa;color:#09090b;}
html.dark #uh-launcher .uh-ldone:hover{background:#c4b5fd;}
html.dark #uh-launcher .uh-lsep{color:#a1a1aa;}
html.dark #uh-launcher .uh-lsep::after{background:#27272a;}
html.dark #uh-launcher .uh-lc-item,html.dark #uh-launcher .uh-lc-lbl{color:#e4e4e7;}
html.dark #uh-launcher .uh-lc-item:hover{background:rgba(124,58,237,.14);}
html.dark #uh-launcher.uh-editing .uh-lc-item[data-unio-tool]:hover{background:transparent;}
html.dark #uh-launcher .uh-lreset{color:#c4b5fd;}
html.dark #uh-launcher .uh-lreset:hover{background:rgba(124,58,237,.14);}
html.dark #uh-launcher .uh-ghost{background:#18181b;}
html.dark #uh-launcher.uh-editing .uh-more:empty,html.dark #uh-launcher.uh-editing .uh-org:empty{border-color:#27272a;}
html.dark #uh-launcher .uh-lc-ico--img::after{box-shadow:inset 0 0 0 1px #27272a;}
html.dark #uh-launcher .uh-lc-letra{background:#27272a;color:#a1a1aa;}
html.dark #uh-launcher .uh-lc-sinal{background:#0c0c0e;border-color:#27272a;color:#a1a1aa;}
html.dark #uh-launcher .uh-lbody{scrollbar-color:#27272a transparent;}
html.dark #uh-launcher .uh-lbody::-webkit-scrollbar-thumb{background:#27272a;}
html.dark #unio-bar .uh-btn:focus-visible,html.dark #unio-bar .uh-avatar:focus-visible{outline-color:#a78bfa;}
