/* janela-flutuante.css — porte do janela_flutuante.css (SCARS Gestão) · skin ADB: cantos rectos, sem sombras, azul/amarelo, Archivo.
   Ajustar só as variáveis para mudar o aspecto. */
:root{
  --jf-bar-bg:#0000FF;          /* azul ADB */
  --jf-bar-fg:#FFFFFF;
  --jf-accent:#FFFF00;          /* amarelo ADB */
  --jf-border:#0000FF;
  --jf-radius:0;                /* cantos rectos (Manual de Normas) */
  --jf-shadow:none;             /* sem sombras (Manual de Normas) */
  --jf-font:'Archivo',system-ui,sans-serif;
  --jf-dock-bg:#0000FF;
}

/* janela */
.jf-janela{position:fixed;box-sizing:border-box;background:#fff;border:2px solid var(--jf-border);border-radius:var(--jf-radius);box-shadow:var(--jf-shadow);display:flex;flex-direction:column;min-width:420px;min-height:300px;overflow:hidden;font-family:var(--jf-font)}
/* box-sizing:border-box: o JS lê offsetWidth (com bordas) e escreve style.width — sem isto a janela cresce 2×borda em cada resize/maximizar (nit herdado do SCARS) */
.jf-barra{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--jf-bar-bg);color:var(--jf-bar-fg);cursor:move;user-select:none;-webkit-user-select:none;touch-action:none;flex-shrink:0}
.jf-ico{display:flex;color:var(--jf-accent)}
.jf-titulo{flex:1;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jf-btn{background:none;border:none;color:var(--jf-bar-fg);opacity:.85;cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:var(--jf-radius);touch-action:manipulation}
.jf-btn:hover,.jf-btn:focus-visible{opacity:1;background:rgba(255,255,255,.18);outline:none}
.jf-frame{flex:1;border:0;width:100%;background:#fff}

/* pegas de redimensionar (canto + 3 bordas). touch-action:none = o toque arrasta em vez de fazer scroll */
.jf-resize{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 55%,var(--jf-accent) 55%)}
.jf-edge{position:absolute;background:transparent;touch-action:none}
.jf-edge-e{top:38px;right:0;width:8px;bottom:20px;cursor:ew-resize}
.jf-edge-s{left:20px;right:20px;bottom:0;height:8px;cursor:ns-resize}
.jf-edge-w{top:38px;left:0;width:8px;bottom:20px;cursor:ew-resize}
.jf-janela.is-max .jf-edge,.jf-janela.is-max .jf-resize{display:none}
.jf-janela.is-max .jf-barra{cursor:default}

/* véu de arrasto: cobre a página inteira (incluindo iframes) enquanto se arrasta/redimensiona */
.jf-veu{position:fixed;inset:0;z-index:99999;touch-action:none}

/* dock: barra das janelas abertas, no fundo do ecrã */
#jf-dock{position:fixed;bottom:10px;left:50%;transform:translateX(-50%);display:none;gap:6px;z-index:9990;background:var(--jf-dock-bg);padding:6px 8px;border-radius:var(--jf-radius);box-shadow:var(--jf-shadow);max-width:calc(100vw - 20px);overflow-x:auto;font-family:var(--jf-font)}
.jf-tab{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;border-radius:var(--jf-radius);color:var(--jf-bar-fg);opacity:.85;cursor:pointer;padding:4px 10px;font:inherit;font-size:12px;white-space:nowrap}
.jf-tab:hover{opacity:1;border-color:rgba(255,255,255,.5)}
.jf-tab.is-activa{opacity:1;background:rgba(255,255,255,.14);border-color:var(--jf-accent)}
.jf-tab.is-min{opacity:.6}
.jf-tab.is-min .jf-tab-titulo{font-style:italic}
.jf-tab-ico{display:flex;color:var(--jf-accent)}
.jf-tab-titulo{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
.jf-tab-x{display:flex;opacity:.7;border-radius:var(--jf-radius);padding:2px}
.jf-tab-x:hover{opacity:1;background:rgba(255,255,255,.2)}

/* modo embed (a página está dentro de uma janela): só o conteúdo, sem cromados.
   Selectores confirmados no DOM real do Filament 5 do ADB (15-09-2026). */
html.jf-embed .fi-sidebar,
html.jf-embed .fi-sidebar-close-overlay,
html.jf-embed .fi-topbar,
html.jf-embed .jf-so-fora{display:none!important}
html.jf-embed .fi-main-ctn{padding-inline-start:0!important}
html.jf-embed .fi-main{max-width:none!important}
html.jf-embed body{overflow:auto}
/* ADB — confirmado no DOM do Filament 5 (15-09-2026): .fi-sidebar.fi-main-sidebar, .fi-topbar, .fi-main-ctn, .fi-body */
html.jf-embed .fi-body{padding-top:0!important}
html.jf-embed .fi-main{padding-top:0.75rem!important}

/* ecrãs estreitos: a janela ocupa o ecrã (o JS abre maximizada); sem mínimos que ultrapassem a largura */
@media (max-width:767px){
  .jf-janela{min-width:0;min-height:0}
  #jf-dock{bottom:4px;padding:4px 6px}
}
