.loading-cnpj {
  display: none;
  font-size: 13px;
  color: #555;
  margin-bottom: 6px;
  align-items: center;
  gap: 6px;
}

.spinner {
  width: 14px;
  height: 14px;
  border: 2px solid #ccc;
  border-top: 2px solid #333;
  border-radius: 50%;
  display: inline-block;
  animation: girar 0.8s linear infinite;
}

@keyframes girar {
  to {
    transform: rotate(360deg);
  }
}

#erro_email {
    color: red;
    font-size: 14px;
    display: none;
}

.popup-overlay{
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.5);
  justify-content:center;
  align-items:center;
  z-index:9999;
}

.popup-box{
  position:relative;
  background:#fff;
  padding:30px;
  border-radius:8px;
  width:400px;
}

.popup-box-alterar{
  position:relative;
  background:#fff;
  padding:30px;
  border-radius:8px;
  width:500px;
}

#mensagemCertificado{
  margin-bottom:15px;
  padding:10px;
  border-radius:5px;
  //background:#e8f5e9;
  //color:#2e7d32;
  font-weight:bold;
}

.popup-fechar{
  position:absolute;
  top:10px;
  right:15px;
  border:none;
  background:none;
  font-size:18px;
  cursor:pointer;
}

.msg_sucesso{
  background:#e8f5e9;
  color:#2e7d32;
  padding:10px;
  margin-bottom:15px;
  border-radius:5px;
  font-weight:bold;
}

.msg_erro{
  background:#ffebee;
  color:#c62828;
  padding:10px;
  margin-bottom:15px;
  border-radius:5px;
  font-weight:bold;
}

.status-ok{
color:#2e7d32;
font-weight:bold;
}

.status-alerta{
color:#f9a825;
font-weight:bold;
}

.status-vencido{
color:#c62828;
font-weight:bold;
}

.cert-card{
    background:#fff;
    border-radius:8px;
    border:1px solid #e0e0e0;
    padding:20px;
    max-width:520px;
    box-shadow:0 2px 6px rgba(0,0,0,0.08);
}

.cert-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:15px;
}

.cert-title{
    font-size:18px;
    font-weight:bold;
}

.cert-status{
    padding:6px 12px;
    border-radius:20px;
    font-size:13px;
    font-weight:bold;
}

.status-ok{
    background:#e8f5e9;
    color:#2e7d32;
}

.status-alerta{
    background:#fff8e1;
    color:#f9a825;
}

.status-vencido{
    background:#ffebee;
    color:#c62828;
}

.status-desconhecido{
    background:#eceff1;
    color:#546e7a;
}

.cert-row{
    display:flex;
    justify-content:space-between;
    padding:6px 0;
}

.cert-label{
    font-weight:600;
    color:#555;
}

.cert-value{
    color:#222;
}

/* ALERTA DE ASSINATURA - RESPONSIVO */
.app-alert-col { min-width: 0; overflow: hidden; }
.app-alert-subscription {
    font-size: .82rem;
    border-radius: 6px;
    min-width: 0;
    overflow: hidden;
    flex-wrap: nowrap;
}
.app-alert-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1 1 auto;
}
.app-alert-btn { white-space: nowrap; }

@media (max-width: 767.98px) {
    .app-alert-text { display: none; }
    .app-alert-subscription { justify-content: center; gap: .5rem !important; }
    .app-alert-btn { font-size: .75rem; padding: .25rem .5rem; }
}
@media (max-width: 575.98px) {
    .app-alert-btn { display: none; }
    .app-alert-subscription .btn-close { margin-left: auto !important; }
}
