/* ==========================================================
   AJ MASSAGEM — HEADER FINAL DEFINITIVO
========================================================== */
.pros-card{
transition:all .2s;
cursor:pointer;
border-radius:14px;
}

.pros-card:hover{
transform:translateY(-4px);
box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

.pros-card .badge{
font-size:12px;
padding:6px 10px;
border-radius:20px;
}


.aj-topbar{
  position:sticky;
  top:0;
  z-index:2000;

  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);

  background:rgba(255,255,255,0.75);
  border-bottom:1px solid rgba(0,0,0,0.06);

  display:flex;
  justify-content:center; /* CENTRALIZA O INNER */
}

.aj-topbar-inner{
  width:100%;
  max-width:1700px;
  padding:0 64px;

  height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}

/* LEFT / RIGHT */
.aj-left,
.aj-right{
  display:flex;
  align-items:center;
  gap:28px;
}

/* BRAND */
.aj-brand{
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:.4px;
  text-decoration:none;
  color:#1f2937;
}

/* NAV LINKS */
.aj-nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;   /* mantém o conteúdo centrado */
  gap:6px;

  padding:10px 18px;
  border-radius:999px;
  font-size:.95rem;
  font-weight:600;
  text-decoration:none;
  color:#374151;
  transition:.2s ease;

  line-height:1;
  white-space:nowrap;       /* impede quebra estranha */
}

/* garante que emoji não salta */
.aj-nav-link > span{
  display:inline-flex;
  align-items:center;
}

/* hover */
.aj-nav-link:hover{
  background:rgba(0,0,0,0.05);
}

/* SEARCH */
.aj-search{
  position:relative;
}

.aj-search input{
  width:440px;
  padding:11px 20px 11px 42px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.08);
  background:rgba(255,255,255,0.9);
  font-size:.95rem;
  transition:.2s ease;
}

.aj-search input:focus{
  outline:none;
  border-color:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,.15);
}

.aj-search span{
  position:absolute;
  left:14px;
  top:10px;
  font-size:.9rem;
  color:#9ca3af;
}

/* DROPDOWN */
.aj-dropdown{
  position:relative;
}

.aj-dropdown-menu{
  position:absolute;
  top:100%;
  left:0;
  margin-top:14px;

  min-width:240px;
  padding:12px;

  border-radius:18px;
  border:1px solid rgba(0,0,0,0.06);

  background:rgba(255,255,255,0.95);
  backdrop-filter: blur(18px);

  box-shadow:0 20px 50px rgba(0,0,0,.12);

  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.18s ease;
  pointer-events:none;
}

.aj-dropdown:hover .aj-dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

/* anti flicker */
.aj-dropdown::after{
  content:"";
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  height:16px;
}

/* dropdown items */
.aj-dropdown-menu a{
  display:block;
  padding:10px 14px;
  border-radius:12px;
  text-decoration:none;
  font-size:.9rem;
  color:#374151;
  transition:.15s ease;
}

.aj-dropdown-menu a:hover{
  background:rgba(0,0,0,0.04);
}

/* ==========================================================
   NOTIFICAÇÕES (ISOLADAS — SEM CONFLITO)
========================================================== */

.aj-notifications{
  position:relative;
  display:flex;
  align-items:center;
}

.aj-bell{
  position:relative;
  font-size:1.1rem;
  cursor:pointer;
}

.aj-badge{
  position:absolute;
  top:-6px;
  right:-8px;
  background:#ef4444;
  color:#fff;
  font-size:.65rem;
  padding:3px 6px;
  border-radius:999px;
  font-weight:bold;
  min-width:18px;
  text-align:center;
}

.aj-notif-menu{
  position:absolute;
  top:100%;
  right:0;
  margin-top:14px;

  width:280px;

  border-radius:18px;
  border:1px solid rgba(0,0,0,0.06);

  background:rgba(255,255,255,0.95);
  backdrop-filter: blur(18px);

  box-shadow:0 20px 50px rgba(0,0,0,.12);

  display:none;
  z-index:3000;
}

.aj-notif-menu.aj-show{
  display:block;
}

.aj-notif-header{
  padding:14px 16px;
  font-weight:700;
  font-size:.9rem;
  border-bottom:1px solid rgba(0,0,0,0.05);
}

.aj-notif-list{
  max-height:300px;
  overflow-y:auto;
}

.aj-notif-empty{
  padding:18px;
  text-align:center;
  font-size:.85rem;
  color:#9ca3af;
}

/* BOTÃO NOVO */
.aj-btn-new{
  padding:10px 22px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;

  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;

  box-shadow:0 8px 25px rgba(34,197,94,.45);
  transition:.2s ease;
}

.aj-btn-new:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(34,197,94,.55);
}

/* RESPONSIVIDADE CONTROLADA */
@media (max-width: 1400px){
  .aj-search input{
    width:300px;
  }
}

@media (max-width: 1200px){
  .aj-search input{
    width:220px;
  }
  .aj-left,
  .aj-right{
    gap:16px;
  }
}

.aj-search{
  position:relative;
}

.aj-search-results{
  position:absolute;
  top:110%;
  left:0;
  width:100%;
  background:#fff;
  border-radius:16px;
  box-shadow:0 20px 40px rgba(0,0,0,.12);
  display:none;
  overflow:hidden;
  z-index:5000;
}

.aj-search-item{
  display:block;
  padding:12px 16px;
  text-decoration:none;
  color:#374151;
  font-size:.9rem;
}

.aj-search-item:hover{
  background:rgba(0,0,0,.04);
}

.aj-search-empty{
  padding:14px;
  text-align:center;
  color:#9ca3af;
  font-size:.85rem;
}
/* BADGE PULSANTE */
.aj-badge-pulse{
  animation: ajPulse 1.4s infinite;
}

@keyframes ajPulse{
  0%{
    box-shadow:0 0 0 0 rgba(239,68,68,.7);
  }
  70%{
    box-shadow:0 0 0 10px rgba(239,68,68,0);
  }
  100%{
    box-shadow:0 0 0 0 rgba(239,68,68,0);
  }
}
.aj-notif-item{
  display:block;
  padding:12px 16px;
  text-decoration:none;
  font-size:.9rem;
  border-left:4px solid transparent;
}

.aj-notif-alta{
  background:#fff5f5;
  border-left-color:#ef4444;
}

.aj-notif-media{
  background:#fffbeb;
  border-left-color:#f59e0b;
}

.aj-notif-baixa{
  background:#eff6ff;
  border-left-color:#3b82f6;
}
.aj-notif-critica{
  background:#fff1f2;
  border-left:4px solid #dc2626;
  animation: notifFlash 1.2s infinite;
}

@keyframes notifFlash{
  0% { background:#fff1f2; }
  50% { background:#ffe4e6; }
  100% { background:#fff1f2; }
}

/* ==========================================================
   FIX MODAL SOBRE HEADER
========================================================== */

.modal{
  z-index: 5000 !important;
}

.modal-backdrop{
  z-index: 4900 !important;
}
/* ==========================================================
   COMISSÃO CONFIGURAÇÕES
========================================================== */
.comissao-item{
    padding:20px 0;
    border-bottom:1px solid #f1f1f1;
}

.comissao-item:last-child{
    border-bottom:none;
}

.comissao-input{
    border-radius:50px;
    background:#f8f9fa;
    border:1px solid #e5e5e5;
    transition:.2s ease;
}

.comissao-input:focus{
    background:#fff;
    border-color:#4e73df;
    box-shadow:0 0 0 3px rgba(78,115,223,.1);
}
/* ==========================================================
   WAR ROOM NASA STYLE
========================================================== */

.war-room-bg{
    background: radial-gradient(circle at top, #0f2027, #0a0f1a);
    min-height:100vh;
    color:#e6f1ff;
}

.war-card{
    background: rgba(20,30,50,0.85);
    border:1px solid rgba(0,255,255,0.2);
    box-shadow: 0 0 25px rgba(0,255,255,0.1);
    border-radius:12px;
    padding:25px;
}

.war-metric{
    font-size:28px;
    font-weight:700;
    color:#00ffff;
}

.war-small{
    font-size:13px;
    opacity:0.7;
}

.meta-bar{
    height:10px;
    background:#111;
    border-radius:20px;
    overflow:hidden;
}

.meta-fill{
    height:100%;
    background:linear-gradient(90deg,#00ffcc,#00ffff);
    transition:width 1s ease;
}
/* ===============================
   STATUS AGENDA - CORES SUAVES
================================ */

.tr-pagou        { background-color: #e9f9ef !important; }
.tr-confirmada   { background-color: #eaf3ff !important; }
.tr-cancelada    { background-color: #fdeaea !important; }
.tr-faltou       { background-color: #fff4e5 !important; }
.tr-reagendada   { background-color: #f3eaff !important; }
.tr-aguardar     { background-color: #fffbe6 !important; }

/* Badge visual */
.badge-status {
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 20px;
    font-weight: 600;
}

/* ==========================================================
   SIDEBAR SAAS DEFINITIVA
========================================================== */

.aj-sidebar{
  width:260px;
  background:#ffffff;
  border-right:1px solid #e5e7eb;
  display:flex;
  flex-direction:column;
  position:fixed;
  left:0;
  top:0;
  height:100vh;
  z-index:2000;
}

.aj-sidebar-brand{
  padding:22px 24px;
  font-weight:800;
  font-size:1.1rem;
  letter-spacing:.4px;
  border-bottom:1px solid #f1f1f1;
}

.aj-sidebar-brand a{
  text-decoration:none;
  color:#111827;
}

.aj-sidebar-scroll{
  flex:1;
  overflow-y:auto;
  padding:24px;
}

.aj-menu-group{
  margin-bottom:30px;
}

.aj-menu-title{
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  color:#9ca3af;
  margin-bottom:12px;
  letter-spacing:.5px;
}

.aj-menu-item{
  display:block;
  padding:10px 14px;
  border-radius:10px;
  text-decoration:none;
  font-size:.95rem;
  font-weight:500;
  color:#374151;
  margin-bottom:6px;
  transition:.15s ease;
}

.aj-menu-item:hover{
  background:#f3f4f6;
}

.aj-menu-item.active{
  background:#163a34;
  color:#ffffff;
}

.aj-sidebar-footer{
  padding:20px 24px;
  border-top:1px solid #f1f1f1;
}

.aj-user-info{
  font-weight:600;
  margin-bottom:10px;
  color:#374151;
}

.aj-logout{
  display:block;
  padding:8px 12px;
  border-radius:8px;
  text-decoration:none;
  font-weight:600;
  color:#dc2626;
  transition:.15s ease;
}

.aj-logout:hover{
  background:#fee2e2;
}

.timeline-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(320px,1fr));
    gap:20px;
}

.timeline-card{
    display:block;
    background:#fff;
    padding:18px;
    border-radius:16px;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
    border-left:4px solid #198754;
    text-decoration:none;
    color:inherit;
    transition:all .2s ease;
}

.timeline-card:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.timeline-date{
    font-weight:600;
}
/* ==========================
   MOBILE GLOBAL TRANSFORM
========================== */

@media (max-width: 768px){

    .soft-main {
        padding:0 !important;
    }

    .container-fluid {
        padding-left:15px !important;
        padding-right:15px !important;
    }

    table {
        font-size:14px;
    }

    table thead {
        display:none;
    }

    table tr {
        display:block;
        background:white;
        margin-bottom:15px;
        padding:15px;
        border-radius:16px;
        box-shadow:0 4px 15px rgba(0,0,0,0.05);
    }

    table td {
        display:block;
        padding:5px 0;
        border:none;
    }

    .btn {
        padding:10px 14px;
        font-size:14px;
        border-radius:12px;
    }

}

.mobile-mode .soft-main {
    padding: 0 !important;
}

.mobile-mode .soft-content {
    padding: 15px !important;
}

.mobile-mode .soft-card,
.mobile-mode .card {
    border-radius: 20px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.06);
}

.mobile-mode .btn {
    border-radius: 14px;
    padding: 12px 16px;
    font-weight: 500;
}

.mobile-mode table thead {
    display: none;
}

.mobile-mode table tr {
    display: block;
    background: white;
    margin-bottom: 15px;
    padding: 15px;
    border-radius: 16px;
}
/* BADGE */
#notif-count{
    background: #ff3b30;
    color: white;
    border-radius: 20px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: bold;
}

/* ANIMAÇÃO iPhone */
.notif-bounce{
    animation: bounce .4s ease;
}

@keyframes bounce{
    0%{ transform: scale(1); }
    30%{ transform: scale(1.3); }
    60%{ transform: scale(.9); }
    100%{ transform: scale(1); }
}

/* LISTA */
.notif-item{
    padding: 10px 12px;
    font-size: .85rem;
    border-bottom: 1px solid #eee;
    transition: background .2s;
}

.notif-item:hover{
    background:#f5f5f5;
}

/* EMPTY */
.notif-empty{
    padding:10px;
    opacity:.6;
}

/* DRAWER */
#drawer{
    position:fixed;
    left:-280px;
    top:0;
    width:280px;
    height:100%;
    background:white;
    transition: all .35s cubic-bezier(.25,.8,.25,1); /* spring feel */
    z-index:999;
}

#drawer.open{
    left:0;
}

/* OVERLAY */
#overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.4);
    opacity:0;
    visibility:hidden;
    transition:.3s;
}

#overlay.show{
    opacity:1;
    visibility:visible;
}

/* SUBMENU */
.aj-submenu{
    display:none;
}

.aj-submenu.open{
    display:block;
}