/* Central de Produção — Agência JB · base visual compartilhada */
@font-face{font-family:"Unbounded";src:url(/assets/fontes/unbounded-latin-wght-normal.woff2) format("woff2");font-weight:200 900;font-display:swap}
@font-face{font-family:"Manrope";src:url(/assets/fontes/manrope-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/assets/fontes/jetbrains-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/assets/fontes/jetbrains-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --preto:#0A0A0A; --fundo:#0A0A0A; --sup:#111211; --sup2:#171917; --sup3:#1E211E;
  --linha:rgba(244,244,240,.08); --linha2:rgba(244,244,240,.14); --linha3:rgba(244,244,240,.24);
  --tx:#F4F4F0; --tx2:rgba(244,244,240,.72); --mut:rgba(244,244,240,.5); --dim:rgba(244,244,240,.32);
  --verde:#45A107; --verde-esc:#217C07; --verde-cl:#5AB303; --lima:#B6F23A; --lima-tx:#0A0A0A;
  --verde-bg:rgba(90,179,3,.10); --erro:#FF6B57; --erro-bg:rgba(255,107,87,.10); --aviso:#F2C94C;
  --display:"Unbounded",system-ui,sans-serif; --sans:"Manrope",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  --r:10px; --r-sm:7px; --pill:999px;
  --sombra:0 24px 60px -20px rgba(0,0,0,.7);
  --ease:cubic-bezier(.2,.7,.1,1);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--fundo);color:var(--tx);font:15px/1.55 var(--sans);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--lima);color:var(--lima-tx)}
:focus-visible{outline:2px solid var(--lima);outline-offset:2px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#262926;border-radius:10px;border:2px solid var(--fundo)}
::-webkit-scrollbar-track{background:transparent}

/* ---------- barra superior comum ---------- */
.jb-barra{position:sticky;top:0;z-index:40;height:60px;display:flex;align-items:center;gap:18px;
  padding:0 28px;background:rgba(10,10,10,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linha)}
.jb-marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tx);flex:none}
.jb-marca img{height:26px;width:auto;display:block}
.jb-marca b{font:700 12.5px/1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.jb-marca b span{color:var(--verde-cl)}
.jb-sep{width:1px;height:22px;background:var(--linha2);flex:none}
.jb-ferr{display:flex;gap:4px}
.jb-ferr a{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:var(--pill);
  color:var(--mut);text-decoration:none;font-weight:600;font-size:13.5px;transition:color .2s,background .2s}
.jb-ferr a i{font:500 10.5px/1 var(--mono);font-style:normal;color:var(--dim)}
.jb-ferr a:hover{color:var(--tx);background:var(--sup2)}
.jb-ferr a.on{color:var(--tx);background:var(--sup3)}
.jb-ferr a.on i{color:var(--lima)}
.jb-esp{flex:1}
.jb-user{position:relative}
.jb-user>button{display:flex;align-items:center;gap:10px;background:none;border:1px solid var(--linha2);
  border-radius:var(--pill);padding:4px 12px 4px 4px;cursor:pointer;color:var(--tx2);font-size:13.5px;font-weight:600}
.jb-user>button:hover{border-color:var(--linha3);color:var(--tx)}
.jb-av{width:28px;height:28px;border-radius:50%;background:var(--verde-esc);color:#fff;display:grid;place-items:center;
  font:700 11px/1 var(--display);text-transform:uppercase}
.jb-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--sup2);border:1px solid var(--linha2);
  border-radius:var(--r);padding:6px;box-shadow:var(--sombra);display:none}
.jb-menu.on{display:block;animation:jbIn .18s var(--ease)}
.jb-menu .quem{padding:8px 10px 10px;border-bottom:1px solid var(--linha);margin-bottom:4px;font-size:12.5px;color:var(--mut)}
.jb-menu .quem b{display:block;color:var(--tx);font-size:14px}
.jb-menu a,.jb-menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:9px 10px;border-radius:6px;
  color:var(--tx2);text-decoration:none;cursor:pointer;font-size:14px}
.jb-menu a:hover,.jb-menu button:hover{background:var(--sup3);color:var(--tx)}
@keyframes jbIn{from{opacity:0;transform:translateY(-4px)}}

/* ---------- componentes ---------- */
.jb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 20px;border-radius:var(--pill);
  border:1px solid var(--linha3);background:transparent;color:var(--tx);font:700 13px/1 var(--sans);letter-spacing:.01em;
  cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s,transform .15s,opacity .2s}
.jb-btn:hover:not(:disabled){border-color:var(--tx);background:rgba(244,244,240,.04)}
.jb-btn:active:not(:disabled){transform:scale(.98)}
.jb-btn:disabled{opacity:.4;cursor:not-allowed}
.jb-btn.pri{background:var(--lima);border-color:var(--lima);color:var(--lima-tx)}
.jb-btn.pri:hover:not(:disabled){background:#c6f75f;border-color:#c6f75f}
.jb-btn.sm{height:34px;padding:0 14px;font-size:12.5px}
.jb-btn.ghost{border-color:transparent;color:var(--mut)}
.jb-btn.ghost:hover:not(:disabled){color:var(--tx);background:var(--sup2);border-color:transparent}

.jb-eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;
  color:var(--verde-cl);border:1px solid rgba(90,179,3,.35);border-radius:var(--pill);padding:7px 12px}
.jb-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--verde-cl)}

.jb-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--sup3);color:var(--tx);
  border:1px solid var(--linha2);padding:12px 18px;border-radius:var(--pill);z-index:90;font-size:14px;box-shadow:var(--sombra);
  transition:opacity .25s,transform .25s var(--ease);pointer-events:none;max-width:90vw}
.jb-toast.on{opacity:1;transform:translate(-50%,0)}
.jb-toast.err{border-color:rgba(255,107,87,.5);color:#ffd2ca}

body:not(.eh-admin) .so-admin{display:none!important}

@media (max-width:820px){
  .jb-barra{padding:0 16px;gap:10px}
  .jb-ferr a span{display:none}
  .jb-ferr a{padding:7px 10px}
  .jb-marca b,.jb-sep{display:none}
  .jb-user>button span.nm{display:none}
  .jb-user>button{padding:4px}
}
