:root,[data-bs-theme=light]{
  --wine:#7A2540;
  --wine-dark:#5E1B31;
  --rose:#B26478;
  --rose-soft:#F6ECEF;
  --rose-line:#E7D2D9;
  --gold:#B98A2F;
  --cream:#FDFBF9;
  --bs-primary:#7A2540;
  --bs-primary-rgb:122,37,64;
  --vz-primary:#7A2540;
  --vz-primary-rgb:122,37,64;
  --vz-primary-text-emphasis:#5E1B31;
  --vz-primary-bg-subtle:#F6ECEF;
  --vz-primary-border-subtle:#E7D2D9;
  --vz-secondary:#B26478;
  --vz-secondary-rgb:178,100,120;
  --vz-link-color:#7A2540;
  --vz-link-hover-color:#5E1B31;
  --vz-focus-ring-color:rgba(122,37,64,.25);
  --vz-pagination-active-bg:#7A2540;
  --vz-pagination-active-border-color:#7A2540;
  --vz-form-check-input-checked-bg-color:#7A2540;
  --vz-form-check-input-checked-border-color:#7A2540;
  --vz-nav-link-hover-color:#7A2540;
  --vz-navbar-brand-color:#7A2540;
  --vz-vertical-menu-width:0px;
  --vz-header-bg:#fff;
  --vz-header-border:#E7D2D9;
  --vz-topnav-item-active-color:#7A2540;
}

body{
  background:var(--cream);
  --vz-vertical-menu-width:0px;
}

.main-content{margin-left:0 !important;}
[data-layout=vertical] .main-content,
[data-layout=horizontal] .main-content{margin-left:0 !important;}
#page-topbar{
  left:0 !important; right:0; height:auto !important;
  background:#fff; border-bottom:1px solid var(--rose-line); box-shadow:none;
}
.navbar-header{width:100%; height:auto !important; padding:0;}
.page-content{background:var(--cream); padding-top:96px !important;}
.app-menu,.vertical-overlay,.sidebar-background,.customizer-setting,#back-to-top{display:none !important;}

.cc-topnav{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  min-height:72px;
  padding:10px 20px;
}
.cc-brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--wine);
  flex:0 0 auto;
}
.cc-brand-mark{
  width:36px; height:36px; border-radius:50%;
  background:radial-gradient(circle at 32% 30%, #96395A, var(--wine) 70%);
  color:#F7E8DB; display:flex; align-items:center; justify-content:center;
  font-size:16px;
}
.cc-brand-name{
  font-family:Georgia, "Times New Roman", serif;
  font-weight:700; font-size:17px; line-height:1.1; color:var(--wine);
}
.cc-brand-name small{
  display:block; font-family:"Segoe UI", sans-serif; font-weight:400;
  font-size:9px; letter-spacing:1.6px; text-transform:uppercase; color:var(--gold);
}
.cc-nav{
  display:flex; align-items:center; justify-content:center; gap:6px; flex:1;
  flex-wrap:wrap;
}
.cc-nav > a,
.cc-nav > .dropdown > a{
  color:#4a3f42; text-decoration:none; font-size:14.5px; font-weight:500;
  padding:8px 14px; border-radius:999px; transition:background .15s, color .15s;
}
.cc-nav > a:hover,
.cc-nav > .dropdown > a:hover{color:var(--wine); background:var(--rose-soft);}
.cc-nav > a.active,
.cc-nav > .dropdown > a.active{color:var(--wine); background:var(--rose-soft); font-weight:600;}
.cc-nav .dropdown-menu{border:1px solid var(--rose-line); border-radius:12px;}
.cc-user{color:#5C4F53; font-size:14px; white-space:nowrap;}
.cc-user b{color:var(--wine);}
.cc-user .btn{padding:0; border:0; background:none; color:inherit;}
.cc-nav-toggle{
  display:none; border:1.5px solid var(--rose-line); background:#fff; color:var(--wine);
  border-radius:10px; padding:8px 12px;
}

.page-title-box{margin-bottom:18px;}
.page-title-box h4,
h4.mb-sm-0{
  font-family:Georgia, "Times New Roman", serif;
  color:var(--wine) !important;
  font-weight:700;
  font-size:28px;
}
.card-title{
  font-family:Georgia, "Times New Roman", serif;
  color:var(--wine) !important;
  font-weight:700;
}
.page-title-right{display:none;}
.card{border:1px solid var(--rose-line); border-radius:16px; box-shadow:0 3px 14px rgba(122,37,64,.05);}
.card-header{background:#fff; border-bottom-color:var(--rose-line);}
.btn{border-radius:10px;}
.btn-primary{
  background:var(--wine) !important; border-color:var(--wine) !important; color:#fff !important;
}
.btn-primary:hover,.btn-primary:focus{background:var(--wine-dark) !important; border-color:var(--wine-dark) !important;}
.btn-soft-info,.btn-soft-success,.btn-info,.btn-soft-primary{
  background:var(--rose-soft) !important; color:var(--wine) !important; border-color:var(--rose-line) !important;
}
.btn-outline-primary,.btn-outline-primary.add-btn{
  color:var(--wine) !important; border-color:var(--wine) !important; background:#fff !important;
}
.btn-outline-primary:hover{background:var(--rose-soft) !important;}
.text-primary,.page-link,.link-primary{color:var(--wine) !important;}
.page-item.active .page-link,
.pagination .page-item.active .page-link{
  background-color:var(--wine) !important; border-color:var(--wine) !important; color:#fff !important;
}
.bg-primary,.badge.bg-primary{background-color:var(--wine) !important;}
.nav-tabs-custom .nav-link.active,.nav-pills .nav-link.active{color:var(--wine); background:var(--rose-soft);}
.form-check-input:checked{background-color:var(--wine); border-color:var(--wine);}
.form-control,.form-select,.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{
  border-radius:10px; border-color:var(--rose-line);
}
.form-control:focus,.form-select:focus{
  border-color:var(--rose); box-shadow:0 0 0 3px rgba(178,100,120,.15);
}
.table thead.table-light, table.dataTable thead th{background:var(--rose-soft) !important;}
.footer{background:transparent; border-top:1px solid var(--rose-line); color:#8A7A7E; font-size:12.5px;}
.footer a{color:var(--wine);}
.alert-success{background:#2e7d4f !important;}

.cc-home-title{font-family:Georgia, "Times New Roman", serif; color:var(--wine); font-size:32px; font-weight:700;}
.cc-home-sub{color:#5C4F53; font-size:15.5px; margin-bottom:28px;}
.cc-modulos{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.cc-modulo{
  display:block; text-decoration:none; color:inherit; background:#fff;
  border:1px solid var(--rose-line); border-radius:16px; padding:28px 22px; text-align:center;
  box-shadow:0 3px 14px rgba(122,37,64,.05); transition:transform .15s, box-shadow .15s;
}
.cc-modulo:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(122,37,64,.1); color:inherit;}
.cc-modulo .icon{
  width:56px; height:56px; margin:0 auto 14px; border-radius:50%;
  background:var(--rose-soft); color:var(--wine); display:flex; align-items:center; justify-content:center; font-size:24px;
}
.cc-modulo h3{font-size:16px; color:var(--wine); font-weight:700; margin-bottom:6px;}
.cc-modulo p{margin:0; color:#5C4F53; font-size:13.5px;}

.cc-chip-group .form-check{
  display:inline-flex; align-items:center; gap:6px;
  border:1.5px solid var(--rose-line); border-radius:999px;
  padding:6px 14px; margin:0 8px 8px 0; background:#fff;
}
.cc-chip-group .form-check:has(.form-check-input:checked){
  border-color:var(--wine); background:var(--rose-soft);
}
.cc-chip-group .form-check-label{margin:0; color:#5C4F53;}
.cc-chip-group .form-check:has(.form-check-input:checked) .form-check-label{color:var(--wine); font-weight:600;}

.cc-login-page{min-height:100vh; background:var(--cream); display:flex; flex-direction:column;}
.cc-login-wrap{flex:1; display:flex; align-items:center; justify-content:center; padding:32px 16px;}
.cc-login-card{
  width:100%; max-width:440px; background:#fff; border:1px solid var(--rose-line);
  border-radius:20px; padding:40px 36px 28px; box-shadow:0 8px 30px rgba(122,37,64,.08); text-align:center;
}
.cc-login-card .heart{
  width:48px; height:48px; margin:0 auto 16px; border-radius:50%; background:var(--rose-soft);
  color:var(--wine); display:flex; align-items:center; justify-content:center; font-size:22px;
}
.cc-login-card h1{font-family:Georgia, serif; color:var(--wine); font-size:28px; margin-bottom:8px;}
.cc-login-card .lead{color:#5C4F53; margin-bottom:28px; font-size:14.5px;}
.cc-login-card .form-label{text-align:left; display:block; color:#5C4F53; font-weight:600;}
.cc-login-card .form-label span{color:#c0392b;}
.cc-login-card .form-control{border-radius:10px; padding:12px 14px; border:1.5px solid var(--rose-line);}
.cc-login-card .btn-entrar{
  background:var(--wine); color:#fff; width:100%; border:0; border-radius:10px;
  padding:13px; font-weight:600; font-size:15px; margin-top:8px;
}
.cc-login-card .btn-entrar:hover{background:var(--wine-dark); color:#fff;}
.cc-login-card .hint{font-size:12.5px; color:#8A7A7E; margin-top:22px; text-align:left;}
.cc-login-foot{text-align:center; padding:16px; font-size:12.5px; color:#8A7A7E;}

@media (max-width: 991px){
  .cc-nav-toggle{display:inline-flex;}
  .cc-nav{
    display:none; position:absolute; top:72px; left:12px; right:12px;
    background:#fff; border:1px solid var(--rose-line); border-radius:14px;
    flex-direction:column; align-items:stretch; padding:10px; z-index:1030;
  }
  .cc-nav.is-open{display:flex;}
  .cc-modulos{grid-template-columns:1fr;}
  .cc-user{display:none;}
  .page-content{padding-top:88px !important;}
}
@media (min-width: 992px) and (max-width: 1199px){
  .cc-modulos{grid-template-columns:repeat(2,1fr);}
}
