/* ------------------------------------------------------------------
   TEMA KANOKADA - cores da marca, cores por área e ícones duotom
   ------------------------------------------------------------------ */
:root{
  /* marca: gradiente do logótipo, carmim nas pontas e violeta no centro */
  --kk-carmim:#C0213C;
  --kk-carmim-claro:#E23B56;
  --kk-rosa:#8C2458;
  --kk-violeta:#4A2C90;
  --kk-violeta-claro:#6B44C4;
  --kk-gradiente:linear-gradient(90deg,#C0213C 0%,#8C2458 28%,#4A2C90 50%,#8C2458 72%,#C0213C 100%);
  --kk-gradiente-curto:linear-gradient(135deg,#C0213C 0%,#8C2458 50%,#4A2C90 100%);

  /* neutros */
  --kk-preto:#0A090D;
  --kk-fundo:#0E0C12;
  --kk-superficie:#17141D;
  --kk-superficie-2:#201B29;
  --kk-linha:#2C2537;
  --kk-texto:#EDE9F2;
  --kk-texto-suave:#9990A8;

  /* estado */
  --kk-ok:#24A776;
  --kk-aviso:#D99A1E;
  --kk-erro:#D4344A;
  --kk-info:#4B8AD6;

  /* uma cor por área - é o que separa os ecrãs de relance */
  --kk-a-navegacao:#8B6BF0;
  --kk-a-tarefas:#E265EB;
  --kk-a-vendas:#E0873B;
  --kk-a-promotores:#2CA8C4;
  --kk-a-stock:#4FB86A;
  --kk-a-vip:#E0B23B;
  --kk-a-nbclub:#D45BA0;
  --kk-a-financeiro:#36BFA6;
  --kk-a-relatorios:#5B85E8;
  --kk-a-anexos:#8792B5;
  --kk-a-caixa:#A9C93F;
  --kk-a-testes:#858C9B;
  --kk-a-accoes:#B9B3C4;

  /* estado das mesas VIP - só aqui, nunca como cor de secção.
     livre e reservada são as MESMAS do mapa 3D: uma cor, um significado. */
  --kk-mesa-livre:#5FC79B;
  --kk-mesa-reservada:#E05B5B;
  --kk-mesa-chegou:#4B9BE8;
  --kk-mesa-bloqueada:#7A8090;
  --kk-mesa-falta:#E0A33B;
  /* tons claros da legenda da folha - para fundos de célula e linhas de lista */
  --kk-mesa-livre-claro:#B7E1CD;
  --kk-mesa-reservada-claro:#EA9999;

  --kk-r:10px;
  --kk-ic:22px;
}

/* pastilha de estado: cor + ícone + texto, nunca só a cor */
.kk-estado{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 7px;
  border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;
  background:color-mix(in srgb,currentColor 16%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 38%,transparent)}
.kk-estado--livre{color:var(--kk-mesa-livre)}
.kk-estado--reservada{color:var(--kk-mesa-reservada)}
.kk-estado--chegou{color:var(--kk-mesa-chegou)}
.kk-estado--bloqueada{color:var(--kk-mesa-bloqueada)}
.kk-estado--falta{color:var(--kk-mesa-falta)}

/* ícone base: a mancha e o traço herdam ambos currentColor */
.kk-ic{width:var(--kk-ic);height:var(--kk-ic);flex:none;vertical-align:-.18em}
.kk-ic--16{--kk-ic:16px} .kk-ic--20{--kk-ic:20px}
.kk-ic--28{--kk-ic:28px} .kk-ic--32{--kk-ic:32px} .kk-ic--40{--kk-ic:40px}

/* cor por área */
.kk-ic--navegacao{color:var(--kk-a-navegacao)}
.kk-ic--tarefas{color:var(--kk-a-tarefas)}
.kk-ic--vendas{color:var(--kk-a-vendas)}
.kk-ic--promotores{color:var(--kk-a-promotores)}
.kk-ic--stock{color:var(--kk-a-stock)}
.kk-ic--vip{color:var(--kk-a-vip)}
.kk-ic--nbclub{color:var(--kk-a-nbclub)}
.kk-ic--financeiro{color:var(--kk-a-financeiro)}
.kk-ic--relatorios{color:var(--kk-a-relatorios)}
.kk-ic--anexos{color:var(--kk-a-anexos)}
.kk-ic--caixa{color:var(--kk-a-caixa)}
.kk-ic--testes{color:var(--kk-a-testes)}
.kk-ic--accoes{color:var(--kk-a-accoes)}

/* cor por estado */
.kk-ic--ok{color:var(--kk-ok)} .kk-ic--aviso{color:var(--kk-aviso)}
.kk-ic--erro{color:var(--kk-erro)} .kk-ic--suave{color:var(--kk-texto-suave)}

/* pastilha: ícone sobre um quadrado tingido com a cor da área */
.kk-chip{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;
  background:color-mix(in srgb,currentColor 16%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 26%,transparent)}
.kk-chip--cheia{background:var(--kk-gradiente-curto);color:#fff;box-shadow:none}

/* KANOKADA - tokens de layout e acento dourado. As cores de marca e de area
   vivem em kanokada-tema.css; este ficheiro so acrescenta o que falta para a
   shell da aplicacao (espacamento, raios, sombra, tipografia). */

:root{
  --kk-dourado:#D9B14C;
  --kk-dourado-claro:#F0D488;
  --esp-1:4px; --esp-2:8px; --esp-3:12px; --esp-4:16px; --esp-5:24px; --esp-6:32px;
  --raio:12px; --raio-peq:8px; --raio-grande:18px;
  --sombra:0 10px 34px rgba(0,0,0,.4);
  --sidebar-largura:264px;
  --topo-altura:64px;
  --mobilenav-altura:60px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:
    radial-gradient(circle at 12% -10%, rgba(74,44,144,.22), transparent 42%),
    radial-gradient(circle at 90% 0%, rgba(192,33,60,.16), transparent 40%),
    var(--kk-fundo);
  color:var(--kk-texto);
  font-family:'Archivo',Arial,sans-serif;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
input,select,textarea{font-family:inherit}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.01em;color:var(--kk-texto)}
p{margin:0}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
.texto-suave{color:var(--kk-texto-suave)}
.oculto{display:none !important}
.so-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
::selection{background:var(--kk-violeta);color:#fff}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--kk-linha);border-radius:8px}
::-webkit-scrollbar-track{background:transparent}

/* KANOKADA - componentes reutilizaveis: botoes, cartoes, tabelas, modais,
   drawers, toasts, formularios, separadores. */

/* ---------- botoes ---------- */
.kk-btn{
  display:inline-flex;align-items:center;gap:6px;border-radius:var(--raio-peq);border:1px solid var(--kk-linha);
  background:var(--kk-superficie-2);color:var(--kk-texto);padding:9px 16px;font-size:13px;font-weight:600;
  cursor:pointer;transition:transform .08s,border-color .12s;white-space:nowrap;
}
.kk-btn:hover{border-color:var(--kk-violeta-claro)}
.kk-btn:active{transform:scale(.98)}
.kk-btn:disabled{opacity:.45;cursor:not-allowed}
.kk-btn--primario{background:var(--kk-gradiente-curto);border:0;color:#fff}
.kk-btn--perigo{background:rgba(212,52,74,.14);border-color:rgba(212,52,74,.4);color:#f27f8c}
.kk-btn--dourado{background:linear-gradient(135deg,var(--kk-dourado),#B8863A);border:0;color:#1a1200}
.kk-btn--peq{padding:6px 11px;font-size:12px}
.kk-btn--icone{padding:8px;border-radius:999px}
.kk-btn--fantasma{background:transparent;border-color:transparent;color:var(--kk-texto-suave)}
.kk-btn--fantasma:hover{background:var(--kk-superficie-2);color:var(--kk-texto)}

/* ---------- cabecalho de pagina ---------- */
.kk-cabecalho-pagina{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--esp-4);flex-wrap:wrap}
.kk-cabecalho-pagina .titulo{display:flex;align-items:center;gap:12px}
.kk-cabecalho-pagina .titulo svg{width:30px;height:30px}
.kk-cabecalho-pagina h1{font-size:21px}
.kk-cabecalho-pagina p{color:var(--kk-texto-suave);font-size:13px;margin-top:2px}
.kk-acoes-pagina{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- cartoes de resumo ---------- */
.kk-cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--esp-3)}
.kk-cartao{background:var(--kk-superficie);border:1px solid var(--kk-linha);border-radius:var(--raio);padding:16px}
.kk-cartao h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--kk-texto-suave);font-weight:600}
.kk-cartao .valor{font-size:23px;font-weight:800;margin-top:6px;
  background:var(--kk-gradiente-curto);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.kk-cartao .sub{font-size:11.5px;color:var(--kk-texto-suave);margin-top:4px}
.kk-cartao--simples .valor{background:none;-webkit-text-fill-color:var(--kk-texto);color:var(--kk-texto)}

/* ---------- caixas / secoes ---------- */
.kk-caixa{background:var(--kk-superficie);border:1px solid var(--kk-linha);border-radius:var(--raio);padding:18px}
.kk-caixa > h2{font-size:14px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.kk-grelha-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--esp-4)}
.kk-grelha-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--esp-4)}
@media(max-width:900px){.kk-grelha-2,.kk-grelha-3{grid-template-columns:1fr}}

/* ---------- barra de filtros ---------- */
.kk-barra-filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:2px}
.kk-barra-filtros input[type="search"],.kk-barra-filtros input[type="text"]{
  background:var(--kk-superficie-2);border:1px solid var(--kk-linha);border-radius:999px;
  padding:8px 14px;color:var(--kk-texto);font-size:13px;min-width:180px;
}
.kk-barra-filtros select{
  background:var(--kk-superficie-2);border:1px solid var(--kk-linha);border-radius:var(--raio-peq);
  padding:8px 10px;color:var(--kk-texto);font-size:13px;
}

/* ---------- tabela ---------- */
.kk-tabela-wrap{overflow-x:auto;border:1px solid var(--kk-linha);border-radius:var(--raio)}
table.kk-tabela{width:100%;border-collapse:collapse;font-size:13px}
table.kk-tabela th{text-align:left;padding:10px 14px;color:var(--kk-texto-suave);font-size:11px;
  text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--kk-linha);background:var(--kk-superficie-2);white-space:nowrap}
table.kk-tabela td{padding:10px 14px;border-bottom:1px solid var(--kk-linha);vertical-align:middle}
table.kk-tabela tbody tr:hover{background:var(--kk-superficie-2)}
table.kk-tabela tbody tr{cursor:pointer}
table.kk-tabela td.acoes-linha{white-space:nowrap;cursor:default}
.kk-tabela-vazia{padding:34px;text-align:center;color:var(--kk-texto-suave);font-size:13px}
.kk-paginacao{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:10px 14px;font-size:12.5px;color:var(--kk-texto-suave)}
.kk-paginacao button{background:none;border:1px solid var(--kk-linha);border-radius:6px;color:var(--kk-texto);padding:4px 9px;cursor:pointer}
.kk-paginacao button:disabled{opacity:.35;cursor:not-allowed}

/* ---------- chips de estado (usa kk-estado do tema, com extensoes) ---------- */
.kk-chip-cor{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;
  background:color-mix(in srgb, currentColor 16%, transparent)}

/* ---------- modal ---------- */
.kk-modal-fundo{position:fixed;inset:0;background:rgba(6,5,9,.72);display:flex;align-items:center;justify-content:center;
  padding:var(--esp-4);z-index:200;animation:kk-fade .12s ease}
.kk-modal{background:var(--kk-superficie);border:1px solid var(--kk-linha);border-radius:var(--raio-grande);
  width:100%;max-width:560px;max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--sombra)}
.kk-modal--largo{max-width:820px}
.kk-modal-cabecalho{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--kk-linha)}
.kk-modal-cabecalho h3{font-size:15px}
.kk-modal-corpo{padding:20px;overflow-y:auto;flex:1}
.kk-modal-rodape{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--kk-linha)}
@keyframes kk-fade{from{opacity:0}to{opacity:1}}

/* ---------- drawer lateral ---------- */
.kk-drawer-fundo{position:fixed;inset:0;background:rgba(6,5,9,.6);z-index:200;display:flex;justify-content:flex-end}
.kk-drawer{background:var(--kk-superficie);border-left:1px solid var(--kk-linha);width:100%;max-width:460px;
  height:100%;display:flex;flex-direction:column;box-shadow:var(--sombra);animation:kk-deslizar .16s ease}
@keyframes kk-deslizar{from{transform:translateX(24px);opacity:.4}to{transform:translateX(0);opacity:1}}

/* ---------- formularios ---------- */
.kk-campo{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.kk-campo label{font-size:12px;color:var(--kk-texto-suave);font-weight:600}
.kk-campo label .obrigatorio{color:var(--kk-erro)}
.kk-campo input,.kk-campo select,.kk-campo textarea{
  background:var(--kk-superficie-2);border:1px solid var(--kk-linha);border-radius:var(--raio-peq);
  padding:9px 11px;color:var(--kk-texto);font-size:13.5px;width:100%;
}
.kk-campo input:focus,.kk-campo select:focus,.kk-campo textarea:focus{outline:2px solid var(--kk-violeta-claro);outline-offset:1px}
.kk-campo textarea{resize:vertical;min-height:70px}
.kk-campo--check{flex-direction:row;align-items:center;gap:8px}
.kk-campo--check input{width:auto}
.kk-form-grelha{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:560px){.kk-form-grelha{grid-template-columns:1fr}}
.kk-erros-form{background:rgba(212,52,74,.12);border:1px solid rgba(212,52,74,.35);border-radius:var(--raio-peq);
  padding:10px 12px;font-size:12.5px;color:#f27f8c;margin-bottom:12px}

/* ---------- toasts ---------- */
.kk-toasts{position:fixed;bottom:20px;right:20px;z-index:500;display:flex;flex-direction:column;gap:8px;max-width:320px}
.kk-toast{background:var(--kk-superficie-2);border:1px solid var(--kk-linha);border-left:3px solid var(--kk-info);
  border-radius:var(--raio-peq);padding:11px 14px;font-size:13px;box-shadow:var(--sombra);animation:kk-subir .15s ease}
.kk-toast--sucesso{border-left-color:var(--kk-ok)}
.kk-toast--erro{border-left-color:var(--kk-erro)}
.kk-toast--aviso{border-left-color:var(--kk-aviso)}
@keyframes kk-subir{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}

/* ---------- abas ---------- */
.kk-abas{display:flex;gap:4px;border-bottom:1px solid var(--kk-linha);margin-bottom:var(--esp-4);overflow-x:auto}
.kk-abas button{background:none;border:0;color:var(--kk-texto-suave);padding:10px 14px;font-size:13px;font-weight:600;
  cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.kk-abas button.ativo{color:var(--kk-texto);border-bottom-color:var(--kk-dourado)}
.kk-colunas-membros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--esp-4)}
@media(max-width:980px){.kk-colunas-membros{grid-template-columns:1fr}}

/* ---------- estado vazio ---------- */
.kk-estado-vazio{padding:44px 20px;text-align:center;color:var(--kk-texto-suave)}
.kk-estado-vazio svg{width:40px;height:40px;margin-bottom:10px;opacity:.6}

/* ---------- mapa vip ---------- */
.kk-mapa-vip-caixilho{border-radius:var(--raio);overflow:hidden;border:1px solid var(--kk-linha);background:#111419}
.kk-mapa-vip-iframe{width:100%;height:760px;border:0;display:block}
.kk-legenda-mapa{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:10px;font-size:12px;color:var(--kk-texto-suave)}
.kk-legenda-mapa span{display:inline-flex;align-items:center;gap:6px}
.kk-legenda-mapa i{width:11px;height:11px;border-radius:3px;display:inline-block}

/* ---------- impressao ---------- */
@media print{
  .kk-sidebar,.kk-topo,.kk-nav-mobile,.kk-bandeira,.kk-acoes-pagina,.kk-rodape,.nao-imprimir{display:none !important}
  body{background:#fff !important;color:#000 !important}
  .kk-conteudo{padding:0}
}

/* KANOKADA - estrutura da app shell: sidebar, topo, navegacao mobile,
   bandeiras de seguranca, ecra de bloqueio e rodape. */

#app-shell{display:flex;min-height:100vh}
.kk-nav-evento{margin:20px 8px 8px;padding-top:16px;border-top:1px solid var(--kk-linha);display:grid;gap:6px;font-size:12px}
.kk-nav-evento span{font-size:10px;letter-spacing:.14em;color:var(--kk-dourado)}
.kk-nav-evento strong{line-height:1.5;overflow-wrap:anywhere}
.kk-eventos-grelha{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:20px;margin-top:12px}
.kk-evento-cartao{padding:24px;border:1px solid var(--kk-linha);border-radius:18px;background:linear-gradient(130deg,#211328,#130f1b);display:flex;flex-direction:column;align-items:start;gap:14px}
.kk-evento-cartao h2{font-size:21px;line-height:1.35;overflow-wrap:anywhere}
.kk-evento-cartao p{font-size:13px;line-height:1.5}
.kk-evento-estado{font-size:11px;background:#bb86d91c;padding:6px 10px;border-radius:20px;color:#d4a9ed}
.kk-evento-acoes{display:flex;gap:10px;margin-top:auto;padding-top:12px}
.kk-evento-detalhes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.kk-evento-detalhes dt{color:var(--kk-texto-suave);font-size:12px;margin-bottom:7px}
.kk-evento-detalhes dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.kk-prazo{padding:15px 0;border-bottom:1px solid var(--kk-linha);display:flex;align-items:center;justify-content:space-between;gap:15px}
.kk-auditoria-detalhes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:18px}
.kk-auditoria-detalhes pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:420px;overflow:auto;margin-top:10px}

/* ---------- sidebar ---------- */
.kk-sidebar{
  width:var(--sidebar-largura);flex:none;background:var(--kk-superficie);
  border-right:1px solid var(--kk-linha);display:flex;flex-direction:column;
  padding:var(--esp-4) var(--esp-3);position:sticky;top:0;height:100vh;overflow-y:auto;
}
.kk-sidebar .logo-caixa{display:flex;justify-content:center;margin-bottom:20px;padding:18px 8px 10px}
.kk-sidebar .logo-caixa .kk-logo-enquadrado{width:100%;max-width:224px}
.kk-sidebar .logo-caixa img{position:absolute;width:122.168%;max-width:none;height:auto;left:-9.705%;top:-96.655%}
.kk-nav{display:flex;flex-direction:column;gap:2px;flex:1}
.kk-nav a{
  display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--raio-peq);
  color:var(--kk-texto-suave);font-size:13.5px;font-weight:500;transition:background .12s,color .12s;
}
.kk-nav a:hover{background:var(--kk-superficie-2);color:var(--kk-texto)}
.kk-nav a.ativo{background:var(--kk-gradiente-curto);color:#fff}
.kk-nav a.ativo svg{color:#fff}
.kk-nav .separador{margin:var(--esp-3) 8px var(--esp-1);font-size:10.5px;text-transform:uppercase;
  letter-spacing:.12em;color:var(--kk-texto-suave);opacity:.7}

/* ---------- coluna principal ---------- */
.kk-principal{flex:1;display:flex;flex-direction:column;min-width:0}

.kk-topo{
  height:var(--topo-altura);flex:none;display:flex;align-items:center;gap:var(--esp-4);
  padding:0 var(--esp-5);border-bottom:1px solid var(--kk-linha);background:rgba(14,12,18,.7);
  backdrop-filter:blur(6px);position:sticky;top:0;z-index:20;
}
.kk-topo .fio-pao{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--kk-texto-suave);flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.kk-topo .fio-pao b{color:var(--kk-texto);font-weight:600}
.kk-pesquisa{position:relative;width:240px;flex:none}
.kk-pesquisa input{
  width:100%;background:var(--kk-superficie-2);border:1px solid var(--kk-linha);border-radius:999px;
  padding:8px 14px 8px 34px;color:var(--kk-texto);font-size:13px;
}
.kk-pesquisa svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--kk-texto-suave)}
.kk-evento-seletor select{
  background:var(--kk-superficie-2);border:1px solid var(--kk-linha);border-radius:var(--raio-peq);
  color:var(--kk-texto);padding:8px 10px;font-size:13px;max-width:200px;
}
.kk-utilizador{display:flex;align-items:center;gap:8px;position:relative;flex:none}
.kk-utilizador button{
  display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--kk-linha);
  border-radius:999px;padding:5px 12px 5px 5px;color:var(--kk-texto);cursor:pointer;font-size:12.5px;
}
.kk-avatar{width:26px;height:26px;border-radius:50%;background:var(--kk-gradiente-curto);
  display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;flex:none}
.kk-menu-flutuante{
  position:absolute;top:calc(100% + 8px);right:0;background:var(--kk-superficie-2);
  border:1px solid var(--kk-linha);border-radius:var(--raio);box-shadow:var(--sombra);
  min-width:220px;padding:6px;z-index:60;
}
.kk-menu-flutuante a,.kk-menu-flutuante button{
  display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;
  color:var(--kk-texto);font-size:13px;padding:9px 10px;border-radius:var(--raio-peq);cursor:pointer;
}
.kk-menu-flutuante a:hover,.kk-menu-flutuante button:hover{background:var(--kk-superficie)}
.kk-menu-flutuante hr{border:0;border-top:1px solid var(--kk-linha);margin:4px 0}
.botao-hamburguer{display:none;background:none;border:0;color:var(--kk-texto);cursor:pointer}

/* ---------- bandeiras ---------- */
.kk-bandeira{display:flex;align-items:center;gap:8px;padding:8px 20px;font-size:12.5px;font-weight:600}
.kk-bandeira--comunicacoes{background:rgba(212,52,74,.14);color:var(--kk-erro);border-bottom:1px solid rgba(212,52,74,.3)}
.kk-bandeira--teste{background:rgba(217,154,30,.16);color:var(--kk-aviso);border-bottom:1px solid rgba(217,154,30,.32)}
.kk-bandeira--teste button{margin-left:auto;background:var(--kk-aviso);color:#1a1200;border:0;
  padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:700;cursor:pointer}

/* ---------- conteudo ---------- */
.kk-conteudo{flex:1;padding:var(--esp-5);display:flex;flex-direction:column;gap:var(--esp-5);min-width:0}
.kk-rodape{text-align:center;color:var(--kk-texto-suave);font-size:11px;padding:var(--esp-4);opacity:.7}

/* ---------- navegacao mobile ---------- */
.kk-nav-mobile{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--kk-superficie);
  border-top:1px solid var(--kk-linha);padding:6px 4px calc(env(safe-area-inset-bottom) + 4px);
  overflow-x:auto;gap:2px;
}
.kk-nav-mobile a{
  display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:var(--raio-peq);
  color:var(--kk-texto-suave);font-size:10px;flex:none;min-width:64px;
}
.kk-nav-mobile a.ativo{color:var(--kk-dourado)}
.kk-nav-mobile a svg{width:20px;height:20px}
.kk-menu-mais-painel{position:fixed;bottom:var(--mobilenav-altura);left:0;right:0;background:var(--kk-superficie-2);
  border-top:1px solid var(--kk-linha);max-height:60vh;overflow-y:auto;padding:var(--esp-3);z-index:55;
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.kk-menu-mais-painel a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;
  border-radius:var(--raio-peq);background:var(--kk-superficie);color:var(--kk-texto-suave);font-size:11px;text-align:center}

/* ---------- ecra de bloqueio ---------- */
.kk-bloqueio{
  position:fixed;inset:0;background:rgba(10,9,13,.92);backdrop-filter:blur(10px);z-index:1000;
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--esp-4);text-align:center;padding:var(--esp-5);
}
.kk-bloqueio img{max-width:150px;margin-bottom:var(--esp-3)}
.kk-bloqueio h2{font-size:22px}
.kk-bloqueio p{color:var(--kk-texto-suave);max-width:420px}

@media (max-width:900px){
  .kk-sidebar{display:none}
  .kk-nav-mobile{display:flex}
  .kk-conteudo{padding:var(--esp-4);padding-bottom:calc(var(--mobilenav-altura) + var(--esp-4))}
  .kk-pesquisa{display:none}
  .botao-hamburguer{display:inline-flex}
  .kk-evento-seletor select{max-width:120px}
}
@media (min-width:901px){
  .kk-menu-mais-painel{display:none !important}
}
 .kk-entrada{isolation:isolate;background:#000!important;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-content:center;gap:32px;padding:40px clamp(20px,5vw,80px) 60px}
 .kk-entrada-video{display:block;width:100%;height:min(70vh,650px);object-fit:contain;opacity:.85;min-width:0;mix-blend-mode:screen}
 .kk-entrada-media{position:relative;min-width:0;width:100%;align-self:center;flex-shrink:0}
 .kk-video-controlo{position:absolute;bottom:8px;left:12px;right:12px;text-align:center}
 .kk-video-controlo button{min-height:44px;background:#110c19eb;border:1px solid #725288;color:#fff}
 .kk-video-controlo p{margin:8px auto 0;max-width:320px;font-size:12px;line-height:1.5;color:#e2d8ec;background:#000b;border-radius:8px;padding:6px}
 .kk-video-controlo [hidden]{display:none!important}
 .kk-entrada-cartao{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:18px;text-align:left;padding:34px;background:#110c19;border:1px solid #4c3359;border-radius:22px;box-shadow:0 24px 80px #0008}
 .kk-logo-enquadrado{display:block;position:relative;overflow:hidden;width:min(310px,100%);aspect-ratio:2030/807;align-self:center;flex-shrink:0}
 .kk-entrada-cartao .kk-entrada-logo{position:absolute;width:122.168%;max-width:none;height:auto;max-height:none;left:-9.705%;top:-96.655%;margin:0}
 .kk-entrada-cartao h2{font-size:28px}
 .kk-entrada-cartao p{font-size:13px;line-height:1.7;color:var(--kk-texto-suave)}
 .kk-entrada .kk-rodape{position:fixed;right:clamp(24px,5vw,80px);bottom:22px;padding:0;margin:0;font-size:12px;line-height:1.5;color:#b3a6c0;text-align:right;letter-spacing:.1px;z-index:1}
 @media(max-width:850px){.kk-entrada{display:flex;justify-content:flex-start;gap:24px;padding:24px 20px}.kk-entrada-cartao{width:min(440px,100%);padding:28px}.kk-entrada-media{width:min(600px,100%)}.kk-entrada-video{width:100%;height:clamp(140px,30vh,260px)}.kk-entrada .kk-rodape{position:static;align-self:flex-end;padding:8px 0;font-size:11px;max-width:100%}}
 @media(prefers-reduced-motion:reduce){.kk-entrada-video{opacity:1}}
.kk-login-form{display:grid;gap:16px}
.kk-login-form label{display:grid;gap:8px;font-size:13px;color:#e2d8ec}
.kk-login-form input{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #614474;border-radius:9px;color:#fff;background:#09060e;font:inherit;min-width:0}
.kk-login-form input:focus{outline:2px solid #b580dc;outline-offset:2px}
.kk-login-form [role=alert]{color:#ffb5bd;font-size:13px}
.kk-login-form button{justify-content:center;min-height:44px}
.kk-entrada-cartao .kk-login-ajuda{font-size:12px}
.kk-sino-avisos{position:relative;display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid var(--kk-linha);border-radius:50%;background:var(--kk-superficie-2);color:var(--kk-texto);cursor:pointer}
.kk-sino-avisos:hover,.kk-sino-avisos:focus-visible{border-color:var(--kk-dourado);color:var(--kk-dourado)}
.kk-sino-avisos [data-contagem-avisos]{position:absolute;top:-5px;right:-7px;min-width:20px;max-width:35px;padding:2px 4px;border-radius:20px;background:var(--kk-dourado);color:#170e00;font-size:10px;font-weight:750;line-height:1.4;text-align:center}
.kk-sino-avisos [hidden]{display:none}
.kk-avisos-filtros{display:flex;flex-wrap:wrap;gap:16px;max-width:860px}
.kk-avisos-filtros label{display:grid;gap:7px;flex:1 1 220px;font-size:13px;min-width:0}
.kk-avisos-filtros input,.kk-avisos-filtros select{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--kk-linha);border-radius:10px;background:var(--kk-superficie-2);color:var(--kk-texto);font:inherit}
.kk-avisos-lista{display:grid;gap:14px;max-width:1000px}
.kk-aviso{border:1px solid var(--kk-linha);border-radius:15px;padding:20px;background:var(--kk-superficie);min-width:0}
.kk-aviso-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--kk-texto-suave);font-size:12px;margin-bottom:12px}
.kk-aviso-meta span{color:var(--kk-dourado)}
.kk-aviso h2{font-size:17px;line-height:1.4;margin:0 0 8px;overflow-wrap:anywhere}
.kk-aviso p{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}
.kk-avisos-nota{font-size:12px;line-height:1.6}.kk-avisos-total{font-size:13px;color:var(--kk-texto-suave)}
.kk-avisos-vazio{padding:36px 20px;text-align:center;border:1px dashed var(--kk-linha);border-radius:15px;line-height:1.6}.kk-avisos-vazio h2{font-size:18px;margin-bottom:8px}
@media(max-width:1250px){.kk-topo .kk-pesquisa{display:none}}
@media(max-width:700px){.kk-topo{gap:9px;padding:10px 12px;height:auto;min-height:64px}.kk-topo .fio-pao,.kk-topo [data-nome-utilizador]{display:none}.kk-evento-seletor{flex:1;min-width:0}.kk-evento-seletor select{width:100%;max-width:none;min-width:0}.kk-topo [data-atualizar]{font-size:12px;padding:8px 6px;min-width:0}.kk-utilizador button{padding:5px}.kk-sino-avisos{width:36px;height:36px}.kk-sino-avisos [data-contagem-avisos]{right:-4px}.kk-aviso{padding:16px}}
[data-mais-avisos][hidden]{display:none}
@media(max-width:900px){.kk-principal>.kk-rodape{padding-bottom:calc(var(--mobilenav-altura) + var(--esp-4))}}
