/* ===== A.B.E Enterprises – Tema Escuro com Alta Legibilidade ===== */
:root{
  --abe-cyan:#00C6C6;
  --bg:#0b0c0d;
  --text:#e9eef2;
  --muted:#a8b0b6;
  --panel:#15171a;
  --panel-border:#21252a;
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  background:var(--bg);
  color:var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  line-height:1.55;
}
a{color:var(--abe-cyan); text-decoration:none}
a:hover{text-decoration:underline}

/* Navbar — tom mais claro + links brancos */
.navbar{
  background:rgba(32,32,32,.95) !important;
  backdrop-filter:saturate(120%) blur(8px);
}
.navbar .navbar-brand{font-weight:700}
.navbar-dark .navbar-nav .nav-link{ color:#f5f7fa; }
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus{ color:var(--abe-cyan); }

/* Logo destacado (sombra + brilho ciano) */
.navbar-brand img{
  height:36px !important; /* força tamanho consistente */
  filter:
    drop-shadow(0 0 6px rgba(0,0,0,.85))
    drop-shadow(0 0 12px rgba(0,198,198,.35));
}

/* Bandeiras no seletor de idioma */
.flag{
  width: 18px;
  height: 12px;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.15), 0 1px 2px rgba(0,0,0,.35);
  object-fit: cover;
}
.dropdown-item .flag{ width: 16px; height: 12px; }


/* HERO (com overlay para legibilidade) */
.hero{
  position:relative;
  background:
    url('/assets/img/bg-circuit.svg') center/cover no-repeat,
    linear-gradient(180deg,var(--bg),var(--bg));
  padding:7rem 0 5rem;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 50% 45%,
      rgba(0,0,0,.58) 0%,
      rgba(0,0,0,.78) 55%,
      rgba(0,0,0,.92) 100%);
  pointer-events:none;
  z-index:0;
}
.hero > .container{ position:relative; z-index:1; }
.hero h1{
  color:var(--abe-cyan);
  text-shadow:0 2px 14px rgba(0,198,198,.22);
}
.hero p.lead{ color:#d3d8de; }

/* Cards / Painéis */
.card{
  background:var(--panel);
  border:1px solid var(--panel-border);
  border-radius:.75rem;
}
.card h3,.card h4{ color:#dfe4ea; }
.text-muted{ color:var(--muted) !important; }

/* Formulários */
.form-control,.form-select{
  background:#0f1112;
  color:var(--text);
  border-color:#253036;
}
.form-control:focus,.form-select:focus{
  border-color:var(--abe-cyan);
  box-shadow:0 0 0 .2rem rgba(0,198,198,.20);
}
.form-label{ color:#cfd6dd; }

/* Botões */
.btn-abe{
  background:var(--abe-cyan);
  color:#002b2b;
}
.btn-abe:hover{ filter:brightness(1.05); border-color:#002b2b; }
.btn-outline-light{
  border-color:#cfd6dd;
  color:#e9eef2;
}
.btn-outline-light:hover{
  background:#e9eef2;
  color:#0a0a0a;
}

/* Rodapé */
footer.bg-black{ background:#000 !important; }
footer a{ color:#cfd6dd; }
footer a:hover{ color:#ffffff; }

/* Utilitários */
.mt-6{ margin-top:4rem; }
.shadow-soft{ box-shadow:0 6px 24px rgba(0,0,0,.25); }

/* Badges de status dos apps */
.badge-soft{
  display:inline-block;
  padding:.35rem .5rem;
  border-radius:.5rem;
  background:rgba(0,198,198,.12);
  color:var(--abe-cyan);
  border:1px solid rgba(0,198,198,.35);
}

/* Foco visível (A11y) */
a:focus,button:focus,.btn:focus,.form-control:focus{
  outline:2px solid var(--abe-cyan);
  outline-offset:2px;
}

/* Responsivo */
@media (max-width: 991.98px){
  .hero{ padding:6rem 0 4rem; }
  .hero h1{ font-size:2rem; }
}

.filter-pill.active{
  background: var(--abe-cyan);
  color: #002b2b;
  border-color: transparent;
}

pre, code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
pre {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: .5rem;
  padding: .75rem 1rem;
  overflow: auto;
}
code {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: .25rem;
  padding: .1rem .3rem;
}


/* Fundo branco e texto escuro no WYSIWYG / Markdown editor */
.abe-editor-holder .toastui-editor-defaultUI,
.abe-editor-holder .toastui-editor-ww-container,
.abe-editor-holder .toastui-editor-md-container,
.abe-editor-holder .toastui-editor-contents {
  background: #ffffff !important;
  color: #111 !important;
}

/* Área de digitação (ProseMirror) */
.abe-editor-holder .toastui-editor-ww-container .ProseMirror {
  background: #ffffff !important;
  color: #111 !important;
}

/* Ajustes de borda para manter contraste no tema escuro */
.abe-editor-holder .toastui-editor-defaultUI,
.abe-editor-holder .toastui-editor-toolbar {
  border-color: rgba(0,0,0,0.12) !important;
}

/* Blocos de código com leve contraste */
.abe-editor-holder .toastui-editor-contents pre {
  background: #f5f7fa !important;
  border: 1px solid #e5e9f2 !important;
  color: #111 !important;
}
.abe-editor-holder .toastui-editor-contents code {
  background: #f5f7fa !important;
  border: 1px solid #e5e9f2 !important;
  color: #111 !important;
}
