:root{
--cpf-container-bg:#ffffff;
--cpf-container-shadow:rgba(0,0,0,0.1);
--cpf-input-bg:#f8f9fa;
--cpf-input-border:#e9ecef;
--cpf-input-text:#212529;
--cpf-status-valid-from:#d4edda;
--cpf-status-valid-to:#c3e6cb;
--cpf-status-valid-text:#155724;
--cpf-status-invalid-from:#f8d7da;
--cpf-status-invalid-to:#f5c6cb;
--cpf-status-invalid-text:#721c24;
--cpf-status-empty-bg:#f8f9fa;
--cpf-status-empty-text:#6c757d;
--cpf-status-empty-border:#e9ecef;
--cpf-status-incomplete-from:#fff3cd;
--cpf-status-incomplete-to:#ffeaa7;
--cpf-status-incomplete-text:#856404;
--cpf-status-incomplete-border:#ffeaa7;
--cpf-info-bg:#f8f9fa;
--cpf-info-border:#0072bc;
--cpf-info-text:#495057;
}
[data-theme="dark"]{
--cpf-container-bg:#2d2d2d;
--cpf-container-shadow:rgba(0,0,0,0.4);
--cpf-input-bg:#1a1a1a;
--cpf-input-border:#495057;
--cpf-input-text:#e9ecef;
--cpf-status-valid-from:#0d3d2b;
--cpf-status-valid-to:#0d5c38;
--cpf-status-valid-text:#34d399;
--cpf-status-invalid-from:#3f1c1c;
--cpf-status-invalid-to:#4a2020;
--cpf-status-invalid-text:#f87171;
--cpf-status-empty-bg:#1a1a1a;
--cpf-status-empty-text:#adb5bd;
--cpf-status-empty-border:#495057;
--cpf-status-incomplete-from:#3f3a1c;
--cpf-status-incomplete-to:#4a4620;
--cpf-status-incomplete-text:#fbbf24;
--cpf-status-incomplete-border:#4a4620;
--cpf-info-bg:#1e293b;
--cpf-info-border:#3b82f6;
--cpf-info-text:#e5e7eb;
}
/* Estados de loading */
.validador-cpf-container{max-width:500px;margin:0 auto;background:var(--cpf-container-bg);border-radius:12px;box-shadow:0 8px 30px var(--cpf-container-shadow);overflow:hidden;transition:all 0.3s ease;position:relative;}
.validador-cpf-container:hover{transform:translateY(-2px);box-shadow:0 12px 40px var(--cpf-container-shadow);}
[data-theme="dark"] .validador-cpf-container:hover{box-shadow:0 12px 40px rgba(0,0,0,0.3);}
.validador-cpf-content{padding:2rem;}
.validador-cpf-input{width:100%;padding:1rem 1.25rem;font-size:1.1rem;border:2px solid var(--cpf-input-border);border-radius:8px;background:var(--cpf-input-bg);color:var(--cpf-input-text);transition:all 0.3s ease;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;margin-bottom:1rem;}
.validador-cpf-input:focus{outline:none;border-color:var(--primary-green);background:var(--cpf-container-bg);box-shadow:0 0 0 3px rgba(0,166,81,0.1);transform:scale(1.02);}
.validador-cpf-input.valid{border-color:var(--primary-green);background:var(--cpf-container-bg);box-shadow:0 0 0 3px rgba(0,166,81,0.1);}
.validador-cpf-input.invalid{border-color:#dc3545;background:#fff5f5;box-shadow:0 0 0 3px rgba(220,53,69,0.1);}
[data-theme="dark"] .validador-cpf-input.invalid{background:rgba(220,53,69,0.1);}
.validador-cpf-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-cpf-status.show{opacity:1;transform:translateY(0);}
.validador-cpf-status.valid{background:linear-gradient(135deg,var(--cpf-status-valid-from),var(--cpf-status-valid-to));color:var(--cpf-status-valid-text);border:1px solid var(--cpf-status-valid-to);animation:successPulse 0.6s ease-out;}
.validador-cpf-status.invalid{background:linear-gradient(135deg,var(--cpf-status-invalid-from),var(--cpf-status-invalid-to));color:var(--cpf-status-invalid-text);border:1px solid var(--cpf-status-invalid-to);animation:errorShake 0.6s ease-out;}
.validador-cpf-status.empty{background:var(--cpf-status-empty-bg);color:var(--cpf-status-empty-text);border:1px solid var(--cpf-status-empty-border);font-style:italic;}
.validador-cpf-status.incomplete{background:linear-gradient(135deg,var(--cpf-status-incomplete-from),var(--cpf-status-incomplete-to));color:var(--cpf-status-incomplete-text);border:1px solid var(--cpf-status-incomplete-border);font-style:italic;}
.validador-cpf-status.error{background:var(--cpf-info-bg);color:var(--cpf-info-text);border:1px solid var(--cpf-info-border);} 
.status-icon{flex-shrink:0;transition:transform 0.3s ease;}
.validador-cpf-status.valid .status-icon{animation:iconBounce 0.6s ease-out;}
.validador-cpf-status.invalid .status-icon{animation:iconShake 0.6s ease-out;}
@keyframes successPulse{0%{background:var(--cpf-container-bg);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(--cpf-info-bg);border-radius:8px;border-left:4px solid var(--cpf-info-border);font-size:0.9rem;color:var(--cpf-info-text);line-height:1.5;display:none;}
.validador-info-title{font-weight:600;color:var(--cpf-info-border);margin-bottom:0.5rem;display:flex;align-items:center;gap:0.5rem;}
.validador-cpf-input.loading{background:linear-gradient(-45deg,var(--cpf-input-bg),var(--cpf-input-border),var(--cpf-input-bg),var(--cpf-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%;}}
/* Responsividade */
@media (max-width:768px){
.validador-cpf-content{padding:1.5rem;}
.validador-cpf-input{font-size:1rem;padding:0.875rem 1rem;}
.validador-cpf-status{font-size:1rem;min-height:50px;}
}
@media (max-width:576px){
.validador-cpf-container{margin:0 0.5rem;}
.validador-cpf-content{padding:1rem;}
.validador-cpf-input{font-size:0.95rem;padding:0.75rem;}
.validador-cpf-status{font-size:0.9rem;padding:0.75rem;}
.validador-info{font-size:0.85rem;padding:0.75rem;}
}
