/* =====================================================================
   Oxton Lab — modais centralizados (confirmação, erro, sucesso, aviso).
   Identidade institucional: cabeçalho navy OXTON LAB, ícone por tipo,
   minimalista (borda fina, elevação suave). Respeita prefers-reduced-motion.
   ===================================================================== */

/* Barra de progresso da navegação parcial (sidebar estável) */
.ox-navbar{position:fixed;top:0;left:0;height:2px;width:0;background:#1E5EFF;z-index:10000;opacity:0;transition:width .2s ease,opacity .2s ease;pointer-events:none}
.ox-navbar.is-on{opacity:1}

.oxm-overlay{
  position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(10,17,36,.55);backdrop-filter:blur(3px);
  opacity:1;animation:oxm-fade .16s ease;
}
.oxm-overlay.is-closing{opacity:0;animation:oxm-fade .14s ease reverse forwards}

.oxm{
  width:100%;max-width:420px;background:#fff;border:1px solid #e6eaf0;border-radius:16px;overflow:hidden;
  box-shadow:0 20px 60px rgba(10,17,36,.28);animation:oxm-pop .18s cubic-bezier(.2,.8,.3,1);
}

/* cabeçalho institucional */
.oxm__bar{display:flex;align-items:center;justify-content:space-between;background:#0A1124;padding:13px 18px}
.oxm__brand{font-size:14px;font-weight:800;letter-spacing:.04em;color:#fff}
.oxm__brand b{color:#1E5EFF}
.oxm__brand img{max-height:24px;max-width:150px;display:block}
.oxm__x{background:none;border:0;color:#8aa0c6;cursor:pointer;padding:2px;line-height:0;border-radius:6px}
.oxm__x:focus-visible{outline:2px solid #1E5EFF;outline-offset:2px}

/* corpo */
.oxm__body{padding:22px 20px 8px;text-align:center}
.oxm__ico{width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}
.oxm__ico svg{width:26px;height:26px}
.oxm__ico--ok{background:#eaf7ee;color:#1b7a3d}
.oxm__ico--danger{background:#fdecec;color:#b42424}
.oxm__ico--warn{background:#fff5e6;color:#9a6700}
.oxm__ico--info{background:#eaf1ff;color:#1E5EFF}
.oxm__ico--confirm{background:#eaf1ff;color:#1E5EFF}
.oxm__title{font-size:1.02rem;font-weight:700;color:#0f1b33;margin:0 0 4px}
.oxm__msg{font-size:.9rem;line-height:1.55;color:#46566f;margin:0;white-space:pre-line}

/* ações */
.oxm__foot{display:flex;gap:9px;justify-content:center;padding:18px 20px 20px}
.oxm__btn{font-size:.9rem;font-weight:500;padding:.56rem 1.15rem;border-radius:10px;border:1px solid transparent;cursor:pointer;background:#fff}
.oxm__btn--primary{background:#1E5EFF;color:#fff}
.oxm__btn--danger{background:#b42424;color:#fff}
.oxm__btn--ghost{background:#fff;border-color:#e6eaf0;color:#33415c}
.oxm__btn:focus-visible{outline:2px solid #1E5EFF;outline-offset:2px}

/* ---- Modal de formulário institucional (botões "Novo X") ---- */
.oxm--form{max-width:560px}
.oxm__title-bar{font-size:14px;font-weight:700;letter-spacing:.02em;color:#fff}
.oxm__formbody{padding:18px 20px 20px;text-align:left;max-height:78vh;overflow:auto}
/* painel do dropdown renderizado como bloco simples dentro do modal */
.oxm__formbody .adm-pop__panel{position:static;width:auto !important;max-width:none;border:0;box-shadow:none;padding:0;background:transparent;display:flex;flex-direction:column;gap:.45rem}
.oxm__formbody .adm-pop__title{display:none}            /* título já vai na barra */
.oxm__formbody .adm-field{margin-bottom:.7rem}
.oxm__formbody .adm-form__foot,.oxm__formbody .q-submit{position:sticky;bottom:0;background:#fff;padding-top:.6rem;margin-top:.4rem}

@keyframes oxm-fade{from{opacity:0}to{opacity:1}}
@keyframes oxm-pop{from{transform:translateY(8px) scale(.98);opacity:.6}to{transform:none;opacity:1}}

@media (prefers-reduced-motion:reduce){
  .oxm-overlay,.oxm{animation:none;opacity:1;transform:none}
}
