/* Enjoy Admin — painel do grupo. Mesma linguagem do Enjoy Cash: papel claro, tinta azul, dourado. Só tema claro. */
:root{
  --papel:#f5f4f3; --superficie:#fbfbfa; --cartao:#fff;
  --tinta:#001f35; --tinta-media:color-mix(in oklab,#001f35 72%,#f5f4f3); --tinta-fraca:color-mix(in oklab,#001f35 54%,#f5f4f3);
  --linha:color-mix(in oklab,#001f35 10%,#f5f4f3); --linha-forte:color-mix(in oklab,#001f35 18%,#f5f4f3);
  --dourado:#b9915b; --ouro-claro:#f2d796; --ouro-escuro:#9a6e27;
  --entrada:#1f6b3a; --entrada-fraca:#e6f3ea; --saida:#842e20; --saida-fraca:#f6e7e3;
  --fonte:'Manrope',system-ui,sans-serif; --mono:'JetBrains Mono',ui-monospace,monospace;
  --suave:cubic-bezier(.22,1,.36,1);
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:var(--fonte);background:var(--papel);color:var(--tinta);-webkit-font-smoothing:antialiased;font-size:14px;overflow-x:hidden}
button{font:inherit;color:inherit}
.fundo{position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(900px 520px at 85% -10%,color-mix(in oklab,var(--dourado) 20%,transparent),transparent 70%),
             radial-gradient(800px 600px at -10% 30%,color-mix(in oklab,var(--tinta) 6%,transparent),transparent 70%)}
.fundo::after{content:'';position:absolute;inset:0;opacity:.55;background-image:linear-gradient(color-mix(in oklab,var(--tinta) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklab,var(--tinta) 4%,transparent) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(1000px 560px at 50% 0%,#000,transparent 75%)}

/* topo */
.topo{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;padding:14px clamp(16px,4vw,48px);background:color-mix(in oklab,var(--papel) 75%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in oklab,var(--linha) 70%,transparent)}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.marca-selo{width:34px;height:34px;border-radius:10px;background:var(--tinta);display:grid;place-items:center;flex:none}
.marca-selo span{font:800 17px var(--fonte);color:#e9cf97}
.marca b{font-size:16px;font-weight:800;letter-spacing:-.02em;display:block;line-height:1.1}
.marca small{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-fraca)}
.topo .direita{margin-left:auto;display:flex;align-items:center;gap:12px;position:relative}
.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;border:1px solid var(--linha);background:var(--cartao);font-size:12.5px;color:var(--tinta-media);white-space:nowrap}
.chip i{width:7px;height:7px;border-radius:50%;background:var(--entrada);box-shadow:0 0 0 3px var(--entrada-fraca);flex:none}
.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#184560,#001f35);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;border:none;cursor:pointer;overflow:hidden;padding:0}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar:focus-visible{outline:2px solid var(--dourado);outline-offset:2px}
.menu-conta{position:absolute;top:46px;right:0;min-width:240px;padding:8px;border-radius:14px;background:var(--cartao);border:1px solid var(--linha-forte);box-shadow:0 20px 44px -22px rgba(0,31,53,.55);display:none}
.menu-conta.aberto{display:block}
.menu-conta .quem{padding:8px 10px 10px;border-bottom:1px solid var(--linha);margin-bottom:6px}
.menu-conta .quem b{display:block;font-size:13.5px}.menu-conta .quem small{font-size:12px;color:var(--tinta-fraca)}
.menu-conta button{width:100%;text-align:left;padding:9px 10px;border:none;border-radius:9px;background:none;cursor:pointer;font-size:13.5px}
.menu-conta button:hover{background:color-mix(in oklab,var(--tinta) 6%,transparent)}

/* painel */
.painel{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,4vw,48px) 90px}
.sobre{font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ouro-escuro)}
h1{margin:10px 0 8px;font-size:clamp(30px,4.6vw,50px);line-height:1.05;letter-spacing:-.035em;font-weight:700}
h1 em{font-style:normal;background:linear-gradient(120deg,var(--ouro-escuro),var(--dourado) 45%,var(--ouro-escuro));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{margin:0;color:var(--tinta-media);font-size:16px}
.busca{margin:26px 0 30px;display:flex;align-items:center;gap:12px;max-width:620px;padding:14px 18px;border-radius:16px;background:var(--cartao);border:1px solid var(--linha);box-shadow:0 18px 40px -30px rgba(0,31,53,.5);cursor:text}
.busca:focus-within{border-color:var(--dourado);box-shadow:0 0 0 4px color-mix(in oklab,var(--dourado) 16%,transparent),0 18px 40px -30px rgba(0,31,53,.5)}
.busca input{flex:1;min-width:0;border:none;outline:none;font:500 15px var(--fonte);background:none;color:var(--tinta)}
.busca kbd{font:500 11px var(--mono);border:1px solid var(--linha-forte);border-radius:6px;padding:2px 7px;color:var(--tinta-fraca)}
.titulo-sec{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}
.titulo-sec b{font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-fraca)}
.titulo-sec span{font-size:12.5px;color:var(--tinta-fraca)}

.modulos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1100px){.modulos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.modulos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.modulos{grid-template-columns:minmax(0,1fr)}}
.mod{position:relative;display:flex;flex-direction:column;gap:14px;min-height:212px;padding:20px;border-radius:20px;background:var(--cartao);border:1px solid var(--linha);cursor:pointer;text-align:left;overflow:hidden;min-width:0;
  box-shadow:0 1px 0 rgba(0,31,53,.03),0 22px 44px -36px rgba(0,31,53,.45);transition:transform .35s var(--suave),box-shadow .35s var(--suave),border-color .25s;animation:subir .7s var(--suave) both}
.mod:hover{transform:translateY(-4px);border-color:var(--linha-forte);box-shadow:0 1px 0 rgba(0,31,53,.03),0 30px 60px -34px rgba(0,31,53,.55)}
.mod:focus-visible{outline:2px solid var(--dourado);outline-offset:3px}
.mod::before{content:'';position:absolute;inset:0;background:radial-gradient(360px 180px at 100% 0%,color-mix(in oklab,var(--cor) 14%,transparent),transparent 70%);pointer-events:none}
.mod > *{position:relative}
.mod-topo{display:flex;align-items:flex-start;justify-content:space-between}
.mod-icone{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in oklab,var(--cor) 12%,var(--cartao));color:var(--cor);flex:none}
.mod-icone svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mod-seta{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--linha);color:var(--tinta-fraca);transition:all .3s var(--suave)}
.mod:hover .mod-seta{background:var(--tinta);border-color:var(--tinta);color:#fff;transform:rotate(-45deg)}
.mod h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em}
.mod p{margin:3px 0 0;font-size:12.5px;color:var(--tinta-fraca);line-height:1.45}
.mod-pe{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px dashed var(--linha);font-size:12px;color:var(--tinta-fraca)}
.mod-pe .sso{display:inline-flex;align-items:center;gap:6px;color:var(--entrada);font-weight:600}
.mod-pe .sso i{width:6px;height:6px;border-radius:50%;background:var(--entrada)}
.pendente{position:absolute;top:18px;right:58px;font:700 10.5px var(--fonte);padding:3px 8px;border-radius:999px;background:var(--saida);color:#fff}
.mod.destaque{grid-column:span 2;background:linear-gradient(120deg,var(--cartao) 40%,color-mix(in oklab,var(--dourado) 12%,var(--cartao)));border-color:color-mix(in oklab,var(--dourado) 35%,var(--linha))}
.mod.destaque .mod-icone{background:none;width:auto;height:auto}
.mod.destaque .mod-icone svg{width:56px;height:54px}
.linhas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:auto;padding-top:12px;border-top:1px dashed var(--linha)}
.linhas small{display:block;font:500 9.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-fraca)}
.linhas b{font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}
.linhas.oculto b{filter:blur(6px)}
@media (max-width:540px){.mod.destaque{grid-column:auto}.linhas{grid-template-columns:minmax(0,1fr)}}
@keyframes subir{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.vazio{grid-column:1/-1;padding:40px;text-align:center;color:var(--tinta-fraca);border:1px dashed var(--linha-forte);border-radius:20px}

.recentes{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:34px 0 0}
.recentes > span{font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-fraca);margin-right:4px}
.recentes button{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;border:1px solid var(--linha);background:var(--cartao);font-size:12.5px;color:var(--tinta-media);cursor:pointer}
.recentes button i{width:6px;height:6px;border-radius:50%;background:var(--cor)}

/* abrindo o sistema */
.portal{position:fixed;z-index:30;border-radius:20px;background:var(--cartao);overflow:hidden;transition:all .6s var(--suave);box-shadow:0 40px 90px -30px rgba(0,31,53,.6)}
.portal.cheio{border-radius:0}
.carregando{position:absolute;inset:0;display:grid;place-items:center;text-align:center;gap:14px;align-content:center;padding:20px}
.carregando b{font-size:20px}
.carregando .grande{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:color-mix(in oklab,var(--cor) 12%,#fff);color:var(--cor)}
.carregando .grande svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.trilha-sso{display:inline-flex;align-items:center;gap:8px;font:600 12.5px var(--fonte);color:var(--entrada);background:var(--entrada-fraca);padding:6px 12px;border-radius:999px}
.trilha-sso.neutra{color:var(--tinta-media);background:color-mix(in oklab,var(--tinta) 6%,transparent)}
.anel{width:44px;height:44px;border-radius:50%;border:3px solid var(--linha);border-top-color:var(--dourado);animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}

/* tela de entrada */
.entrar{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;z-index:1}
.entrar-caixa{width:min(420px,100%);text-align:center}
.entrar-caixa .marca{justify-content:center;margin-bottom:26px}
.entrar-cartao{background:var(--cartao);border:1px solid var(--linha);border-radius:20px;padding:30px 26px;box-shadow:0 30px 60px -40px rgba(0,31,53,.5)}
.entrar-cartao h1{font-size:26px;margin:0 0 6px}
.entrar-cartao p{margin:0 0 22px;color:var(--tinta-fraca);font-size:14px;line-height:1.5}
.google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:13px 16px;border-radius:12px;border:1px solid var(--linha-forte);background:#fff;font-weight:700;font-size:15px;color:var(--tinta);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.google:hover{border-color:var(--tinta-fraca);box-shadow:0 10px 24px -18px rgba(0,31,53,.6)}
.aviso{margin:0 0 18px;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.45;color:var(--saida);background:var(--saida-fraca)}
.aviso.ok{color:var(--entrada);background:var(--entrada-fraca)}
.entrar-pe{margin-top:18px;font-size:12px;color:var(--tinta-fraca)}
@media (max-width:640px){.topo .chip{display:none}}
@media (prefers-reduced-motion:reduce){.mod,.portal{animation:none;transition:none}.anel{animation-duration:2s}}
