/* ============================================================
   Senior Vita v1.11.0
   Identidade visual da sidebar + Dashboard
   Referência: layout navy, logo central e cards clean
   ============================================================ */

:root{
  --sv-dashboard-navy:#111b3a;
  --sv-dashboard-line:#e5e9f1;
  --sv-dashboard-text:#17213d;
  --sv-dashboard-muted:#778097;
  --sv-dashboard-white:#ffffff;
}

/* ---------- SIDEBAR / MARCA ---------- */
.sv-sidebar{
  padding:18px 16px 20px !important;
}

.sv-sidebar .sv-brand{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100%;
  text-align:center !important;
  margin:0 0 24px !important;
  padding:4px 4px 2px !important;
}

.sv-sidebar .sv-brand img[data-company-logo]{
  display:block;
  width:88px !important;
  height:88px !important;
  max-width:88px !important;
  max-height:88px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 auto 12px !important;
  padding:7px !important;
  background:#fff !important;
  border-radius:16px !important;
  box-shadow:0 6px 20px rgba(0,0,0,.16);
}

.sv-sidebar .sv-brand img[data-company-logo].d-none{
  display:none !important;
}

.sv-sidebar .sv-brand-name{
  width:100%;
  max-width:225px;
  margin:0 auto;
  color:#fff;
  font-size:1.03rem !important;
  font-weight:700 !important;
  line-height:1.25;
  text-align:center !important;
  letter-spacing:-.01em;
}

/* O Dashboard destacado como na referência */
.sv-sidebar .sv-nav-dashboard{
  min-height:50px;
  margin-bottom:10px !important;
  border-radius:12px !important;
}

.sv-sidebar .sv-nav-dashboard.active{
  background:rgba(255,255,255,.12) !important;
}

/* ---------- TOPBAR ---------- */
.sv-topbar{
  min-height:72px;
  padding:0 1.5rem !important;
  background:rgba(255,255,255,.96) !important;
  border-bottom:1px solid var(--sv-dashboard-line) !important;
  box-shadow:0 1px 0 rgba(20,32,64,.02);
}

#pageTitle{
  color:var(--sv-dashboard-text);
  font-weight:700;
  font-size:1.35rem;
}

/* ---------- ÁREA PRINCIPAL ---------- */
body{
  background:#f7f8fb !important;
}

.sv-content{
  padding:24px !important;
}

.sv-home-dashboard{
  max-width:1440px;
}

.sv-dashboard-welcome h2{
  color:var(--sv-dashboard-text);
  font-weight:700;
}

.sv-dashboard-welcome p{
  color:var(--sv-dashboard-muted) !important;
}

/* ---------- CARDS DE INDICADORES ---------- */
.sv-dashboard-stat{
  border:1px solid var(--sv-dashboard-line) !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:0 4px 14px rgba(24,39,75,.045) !important;
}

.sv-dashboard-stat .card-body{
  padding:19px 20px !important;
}

.sv-stat-icon{
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 48px;
  color:#fff;
  font-size:1.25rem;
}

.sv-stat-blue{background:#2e5fd2}
.sv-stat-green{background:#54b96a}
.sv-stat-orange{background:#ef8c32}
.sv-stat-purple{background:#7663d8}

.sv-stat-label{
  color:#4a5369;
  font-size:.82rem;
  margin-bottom:1px;
}

.sv-stat-number{
  color:#111b3a;
  font-size:1.65rem;
  line-height:1.05;
  font-weight:750;
}

.sv-stat-caption{
  color:#8a91a4;
  font-size:.73rem;
  margin-top:3px;
}

/* ---------- PAINÉIS ---------- */
.sv-dashboard-panel{
  border:1px solid var(--sv-dashboard-line) !important;
  border-radius:12px !important;
  box-shadow:0 4px 16px rgba(24,39,75,.04) !important;
  background:#fff;
}

.sv-dashboard-panel .card-body{
  padding:22px !important;
}

.sv-dashboard-panel h3{
  color:#1a2644;
  font-weight:700;
}

.sv-quick-action{
  width:100%;
  min-height:78px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid #e7eaf1;
  border-radius:11px;
  background:#fff;
  color:#1d2946;
  text-align:left;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.sv-quick-action:hover{
  border-color:#ccd5e6;
  box-shadow:0 7px 18px rgba(25,41,75,.07);
  transform:translateY(-1px);
}

.sv-quick-action strong{
  display:block;
  font-size:.92rem;
}

.sv-quick-action small{
  display:block;
  color:#7d8598;
  margin-top:2px;
  font-size:.75rem;
}

.sv-quick-icon{
  width:39px;
  height:39px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 39px;
  border-radius:10px;
  background:#eef3ff;
  color:#315fc7;
  font-size:1.05rem;
}

.sv-summary-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid #edf0f5;
}

.sv-summary-row:last-child{
  border-bottom:0;
}

.sv-summary-symbol{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
}

.sv-summary-orange{background:#fff1e4;color:#d66e17}
.sv-summary-purple{background:#f0edff;color:#6754ce}
.sv-summary-blue{background:#edf4ff;color:#3465c7}

.sv-summary-row strong{
  color:#28334d;
  font-size:.88rem;
}

/* ---------- OUTROS CARDS DO SISTEMA ---------- */
.card.stat-card,
.card.sv-card,
.card.table-card{
  border-color:#e7eaf0;
}

/* ---------- MOBILE ---------- */
@media (max-width:991.98px){
  .sv-content{
    padding:16px !important;
  }

  .sv-mobile-offcanvas .offcanvas-header{
    flex-direction:column;
    align-items:center !important;
    text-align:center;
    position:relative;
    padding:20px 16px 14px;
  }

  .sv-mobile-offcanvas .offcanvas-header > .d-flex{
    flex-direction:column;
    align-items:center !important;
  }

  #mobileSidebarLogo{
    width:74px;
    height:74px;
    max-width:74px !important;
    max-height:74px !important;
    object-fit:contain;
    padding:6px;
    border-radius:14px;
    background:#fff;
    box-shadow:0 5px 14px rgba(0,0,0,.12);
  }

  #mobileSidebarCompany{
    text-align:center;
    font-size:1rem;
  }

  .sv-mobile-offcanvas .btn-close{
    position:absolute;
    top:14px;
    right:14px;
  }
}

@media (max-width:575.98px){
  .sv-dashboard-stat .card-body{
    padding:15px !important;
  }

  .sv-stat-icon{
    width:42px;
    height:42px;
    flex-basis:42px;
  }

  .sv-stat-number{
    font-size:1.4rem;
  }

  .sv-quick-action{
    min-height:68px;
  }
}
