:root{
--cnpj-container-bg:#fff;
--cnpj-container-shadow:0 8px 30px rgba(0,0,0,0.1);
--cnpj-container-shadow-hover:0 12px 40px rgba(0,0,0,0.15);
--cnpj-input-border:#e9ecef;
--cnpj-input-bg:#f8f9fa;
--cnpj-input-focus-border:#00a651;
--cnpj-input-focus-shadow:rgba(0,166,81,0.1);
--cnpj-input-valid-border:#00a651;
--cnpj-input-valid-shadow:rgba(0,166,81,0.1);
--cnpj-input-invalid-border:#dc3545;
--cnpj-input-invalid-bg:#fff5f5;
--cnpj-input-invalid-shadow:rgba(220,53,69,0.1);
--cnpj-status-valid-from:#d4edda;
--cnpj-status-valid-to:#c3e6cb;
--cnpj-status-valid-color:#155724;
--cnpj-status-valid-border:#c3e6cb;
--cnpj-status-invalid-from:#f8d7da;
--cnpj-status-invalid-to:#f5c6cb;
--cnpj-status-invalid-color:#721c24;
--cnpj-status-invalid-border:#f5c6cb;
--cnpj-status-empty-bg:#f8f9fa;
--cnpj-status-empty-color:#6c757d;
--cnpj-status-empty-border:#e9ecef;
--cnpj-status-incomplete-from:#fff3cd;
--cnpj-status-incomplete-to:#ffeaa7;
--cnpj-status-incomplete-color:#856404;
--cnpj-status-incomplete-border:#ffeaa7;
--cnpj-info-bg:#f8f9fa;
--cnpj-info-color:#495057;
--cnpj-info-border-left:#0072bc;
--cnpj-info-title-color:#0072bc;
--cnpj-info-border-top:#e9ecef;
}
[data-theme="dark"]{
--cnpj-container-bg:var(--white);
--cnpj-container-shadow:0 8px 30px rgba(0,0,0,0.3);
--cnpj-container-shadow-hover:0 12px 40px rgba(0,0,0,0.4);
--cnpj-input-border:#495057;
--cnpj-input-bg:#2d2d2d;
--cnpj-input-focus-border:#34d399;
--cnpj-input-focus-shadow:rgba(52,211,153,0.15);
--cnpj-input-valid-border:#34d399;
--cnpj-input-valid-shadow:rgba(52,211,153,0.15);
--cnpj-input-invalid-border:#f87171;
--cnpj-input-invalid-bg:#3a1f1f;
--cnpj-input-invalid-shadow:rgba(248,113,113,0.15);
--cnpj-status-valid-from:#064e3b;
--cnpj-status-valid-to:#047857;
--cnpj-status-valid-color:#d1fae5;
--cnpj-status-valid-border:#10b981;
--cnpj-status-invalid-from:#5f2120;
--cnpj-status-invalid-to:#7f2620;
--cnpj-status-invalid-color:#fecaca;
--cnpj-status-invalid-border:#f87171;
--cnpj-status-empty-bg:#374151;
--cnpj-status-empty-color:#d1d5db;
--cnpj-status-empty-border:#4b5563;
--cnpj-status-incomplete-from:#5a4e0f;
--cnpj-status-incomplete-to:#7c6b1a;
--cnpj-status-incomplete-color:#fef3c7;
--cnpj-status-incomplete-border:#fcd34d;
--cnpj-info-bg:#1e3a3a;
--cnpj-info-color:#d1d5db;
--cnpj-info-border-left:#3b82f6;
--cnpj-info-title-color:#60a5fa;
--cnpj-info-border-top:#4b5563;
}
.validador-cnpj-container{max-width:500px;margin:0 auto;background:var(--cnpj-container-bg);border-radius:12px;box-shadow:var(--cnpj-container-shadow);overflow:hidden;transition:all 0.3s ease;position:relative;}
.validador-cnpj-container:hover{transform:translateY(-2px);box-shadow:var(--cnpj-container-shadow-hover);}
.validador-cnpj-content{padding:2rem;}
.validador-cnpj-input{width:100%;padding:1rem 1.25rem;font-size:1.1rem;border:2px solid var(--cnpj-input-border);border-radius:8px;background:var(--cnpj-input-bg);transition:all 0.3s ease;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;margin-bottom:1rem;color:var(--color-text);}
.validador-cnpj-input:focus{outline:none;border-color:var(--cnpj-input-focus-border);background:var(--cnpj-container-bg);box-shadow:0 0 0 3px var(--cnpj-input-focus-shadow);transform:scale(1.02);}
.validador-cnpj-input.valid{border-color:var(--cnpj-input-valid-border);background:var(--cnpj-container-bg);box-shadow:0 0 0 3px var(--cnpj-input-valid-shadow);}
.validador-cnpj-input.invalid{border-color:var(--cnpj-input-invalid-border);background:var(--cnpj-input-invalid-bg);box-shadow:0 0 0 3px var(--cnpj-input-invalid-shadow);}
.validador-cnpj-status{min-height:60px;padding:1rem;border-radius:8px;font-size:1.1rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:0.5rem;transition:all 0.3s ease;opacity:0;transform:translateY(10px);}
.validador-cnpj-status.show{opacity:1;transform:translateY(0);}
.validador-cnpj-status.valid{background:linear-gradient(135deg,var(--cnpj-status-valid-from),var(--cnpj-status-valid-to));color:var(--cnpj-status-valid-color);border:1px solid var(--cnpj-status-valid-border);animation:successPulse 0.6s ease-out;}
.validador-cnpj-status.invalid{background:linear-gradient(135deg,var(--cnpj-status-invalid-from),var(--cnpj-status-invalid-to));color:var(--cnpj-status-invalid-color);border:1px solid var(--cnpj-status-invalid-border);animation:errorShake 0.6s ease-out;}
.validador-cnpj-status.empty{background:var(--cnpj-status-empty-bg);color:var(--cnpj-status-empty-color);border:1px solid var(--cnpj-status-empty-border);font-style:italic;}
.validador-cnpj-status.incomplete{background:linear-gradient(135deg,var(--cnpj-status-incomplete-from),var(--cnpj-status-incomplete-to));color:var(--cnpj-status-incomplete-color);border:1px solid var(--cnpj-status-incomplete-border);font-style:italic;}
.status-icon{flex-shrink:0;transition:transform 0.3s ease;}
.validador-cnpj-status.valid .status-icon{animation:iconBounce 0.6s ease-out;}
.validador-cnpj-status.invalid .status-icon{animation:iconShake 0.6s ease-out;}
@keyframes successPulse{0%{background:#fff;transform:scale(0.95);}50%{transform:scale(1.02);}100%{transform:scale(1);}}
@keyframes errorShake{0%,100%{transform:translateX(0);}25%{transform:translateX(-5px);}75%{transform:translateX(5px);}}
@keyframes iconBounce{0%,100%{transform:scale(1);}50%{transform:scale(1.3);}}
@keyframes iconShake{0%,100%{transform:rotate(0deg);}25%{transform:rotate(-10deg);}75%{transform:rotate(10deg);}}
.validador-info{margin-top:1rem;margin-bottom:0;padding:1rem;background:var(--cnpj-info-bg);border-radius:8px;border-left:4px solid var(--cnpj-info-border-left);font-size:0.9rem;color:var(--cnpj-info-color);line-height:1.5;display:none;}
.validador-info-title{font-weight:600;color:var(--cnpj-info-title-color);margin-bottom:0.5rem;display:flex;align-items:center;gap:0.5rem;}
.validador-info-action{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--cnpj-info-border-top);}
.btn-consulta-cnpj{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;border-radius:6px;font-size:0.9rem;color:var(--btn-text-color)!important;text-decoration:none!important;}
.btn-consulta-cnpj svg{stroke:var(--btn-text-color);}
@media (max-width:768px){
.validador-cnpj-content{padding:1.5rem;}
.validador-cnpj-input{font-size:1rem;padding:0.875rem 1rem;}
.validador-cnpj-status{font-size:1rem;min-height:50px;}
}
@media (max-width:576px){
.validador-cnpj-container{margin:0 0.5rem;}
.validador-cnpj-content{padding:1rem;}
.validador-cnpj-input{font-size:0.95rem;padding:0.75rem;}
.validador-cnpj-status{font-size:0.9rem;padding:0.75rem;}
.validador-info{font-size:0.85rem;padding:0.75rem;}
}
.validador-cnpj-input.loading{background:linear-gradient(-45deg,var(--cnpj-input-bg),var(--cnpj-input-border),var(--cnpj-input-bg),var(--cnpj-input-border));background-size:400% 400%;animation:loadingGradient 2s ease infinite;}
@keyframes loadingGradient{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}