/* ========================================================================
   APP.CSS - Estilos da aplicação (Cards, Widgets e Componentes Específicos)
   ======================================================================== */

/* NOTA: Os estilos de layout base (header, sidebar, footer, navbar) 
   foram movidos para o arquivo base.css */

/* --- Cards --- */
.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #ffffff;
    background-clip: border-box;
    border: 0.0625rem solid rgba(17, 24, 39, 0.125);
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    border-radius: 0.5rem;
    margin-bottom: 24px;
}

.card-header {
    padding: 1.75rem 2.5rem;
    margin-bottom: 0;
    background-color: rgba(17, 24, 39, 0.03);
    border-bottom: 0.0625rem solid rgba(17, 24, 39, 0.125);
}

.header-title {
    font-size: 16px;
}

.card-body {
    padding: 1.75rem 2.5rem;
}

/* --- Graphics --- */
#graphicNps {
    width: 100%;
    height: 100%;
    margin: auto;
}

#npsChart {
    width: 100%;
    height: 100%;
}

/* --- Form Controls --- */
.form-control:focus {
    border-color: #ccc; 
    box-shadow: 0 0 5px rgba(203, 203, 203, 0.5);
    background-color: #efefef; 
}

.form-control:valid {
  background-color: #f8f8f8;
  border-color: #ccc;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #f8f8f8 inset !important;
  box-shadow: 0 0 0px 1000px #f8f8f8 inset !important;
  border-color: #ccc !important;
}

/* --- Widgets --- */
.widget-flat {
  min-height: 130px;
  border: none;
}
.widget-flat .badge {
  background-color: rgba(255,255,255,0.25);
}
.widget-flat h2 {
  color: #fff;
}
.widget-flat h6 {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 14px;
  color: #fff;
}

.widget-icon {
    color: #fff;
    font-size: 42px;
    background-color: rgba(255,255,255,0.35);
    text-align: center;
    border-radius: 0 3px 3px 0;
    position: absolute;
    min-width: 100px;
    right: 0;
    top: 0;
    bottom: 0;
    display: inline-block;
    line-height: 130px;
}

/* --- Background and Text Colors --- */
.text-bg-primary {
  color: #fff !important;
  background-color: RGBA(59, 192, 195, var(--tz-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #fff !important;
  background-color: RGBA(108, 117, 125, var(--tz-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #fff !important;
  background-color: RGBA(25, 135, 84, var(--tz-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #fff !important;
  background-color: RGBA(51, 176, 224, var(--tz-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #fff !important;
  background-color: RGBA(237, 199, 85, var(--tz-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #fff !important;
  background-color: RGBA(208, 63, 63, var(--tz-bg-opacity, 1)) !important;
}

.text-bg-purple {
  color: #fff !important;
  background-color: RGBA(113, 108, 176, var(--tz-bg-opacity, 1)) !important;
}

.text-bg-pink {
  color: #fff !important;
  background-color: RGBA(242, 79, 124, var(--tz-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #212529 !important;
  background-color: RGBA(242, 242, 247, var(--tz-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: RGBA(33, 37, 41, var(--tz-bg-opacity, 1)) !important;
}

.widget-flat.text-bg-01 h6,
.widget-flat.text-bg-01 h2,
.widget-flat.text-bg-01 .badge,
.widget-flat.text-bg-01 .widget-icon {
  color: #000 !important;
}

.text-bg-01 {
  background-color: #FFDC1B !important;
}

.text-bg-02 {
  background-color: #ff8e00 !important;
}


.text-bg-03 {
  background-color: #E60F04 !important;
}

.text-bg-04 {
  background-color: #970a02 !important;
}

/* --- Text Decoration Utilities --- */
.text-decoration-underline {
  text-decoration: underline !important;
}

.link-offset-1 {
  text-underline-offset: .125em !important;
}

.link-offset-2 {
  text-underline-offset: .25em !important;
}

/* --- Info List Items --- */
.info-list-item {
  list-style-type: none;
  margin: 0;
  padding: 12px 16px;
  width: 100%;
  display: block;
  border-bottom: 1px solid #ddd;
  position: relative;
  font-weight: bold;
}

.info-list-item:before {
    content: "";
    width: 5px;
    height: 5px;
    position: absolute;
    background: #cb3725;
    border-radius: 100%;
    top: 50%;
    margin-top: -3px;
    left: 0;
}

/* --- Afiliados List Items --- */
.afiliados-list-item {
  display: inline-block;
  list-style-type: none;
  margin: 8px 0;
  padding: 12px 16px;
  width: 100%;
  border-radius: 16px;
  position: relative;
  font-weight: bold;
  background-color: #f2f2f2;
  border-left: 3px solid #cb3725;
}
.afiliados-list-item-title {
    font-size: 14px;
    font-weight: bold;
    width: 70%;
    color: #333;
}
.afiliados-list-item-time {
  font-size: 12px;
  position: absolute;
  color: #aaa;
  right: 16px;
  top: 14px;
}

.afiliados-list-item-text {
    font-size: 14px;
    font-style: italic;
}

/* --- Avisos e Dúvidas --- */
.aviso-duvidas {
    margin: 24px 0;
    padding: 30px;
    background-color: #FFDC1B;
    font-weight: bold;
    border: 3px dashed #333;
    border-radius: 16px;
    font-size: 16px;
    color: #333;
}

.custom-select {
    width: 180px;
}

.searchParceiro {
    display: flex;
    gap: 12px;
}