:root{
--vds-bg-container:#fff;
--vds-bg-input:#fff;
--vds-bg-input-hover:#fff;
--vds-bg-result-light:#f8f9fa;
--vds-bg-result:#fff;
--vds-bg-quick-btn:#f8f9fa;
--vds-bg-quick-btn-from:#f8f9fa;
--vds-bg-quick-btn-to:#e9ecef;
--vds-bg-calendar:#fff;
--vds-border-color:#e9ecef;
--vds-border-inactive:#dee2e6;
--vds-text-primary:#343a40;
--vds-text-secondary:#6c757d;
--vds-text-tertiary:#495057;
--vds-text-result-success:#155724;
--vds-text-result-error:#721c24;
--vds-text-result-data:#6c757d;
--vds-border-success:#00a651;
--vds-border-error:#dc3545;
--vds-bg-result-success-from:#d4edda;
--vds-bg-result-error-from:#f8d7da;
--vds-bg-calendar-today-from:#bee5eb;
--vds-bg-calendar-today-to:#d1ecf1;
--vds-text-calendar-today:#0c5460;
--vds-border-calendar-today:#b8daff;
--vds-bg-calendar-day-hover:#f8f9fa;
--vds-text-calendar-other:#ced4da;
--vds-text-calendar-weekend:#dc3545;
--vds-bg-calendar-weekend:#fff5f5;
--vds-box-shadow-sm:0 2px 8px rgba(0,0,0,0.05);
--vds-box-shadow-md:0 4px 12px rgba(0,0,0,0.1);
--vds-box-shadow-lg:0 4px 15px rgba(0,0,0,0.1);
}
[data-theme="dark"]{
--vds-bg-container:var(--white);
--vds-bg-input:var(--white);
--vds-bg-input-hover:var(--white);
--vds-bg-result-light:#374151;
--vds-bg-result:#2d2d2d;
--vds-bg-quick-btn:#4b5563;
--vds-bg-quick-btn-from:#4b5563;
--vds-bg-quick-btn-to:#374151;
--vds-bg-calendar:var(--white);
--vds-border-color:#495057;
--vds-border-inactive:#595959;
--vds-text-primary:var(--black);
--vds-text-secondary:#a0aec0;
--vds-text-tertiary:#cbd5e1;
--vds-text-result-success:#86efac;
--vds-text-result-error:#fca5a5;
--vds-text-result-data:#a0aec0;
--vds-border-success:#10b981;
--vds-border-error:#f87171;
--vds-bg-result-success-from:#064e3b;
--vds-bg-result-error-from:#7f1d1d;
--vds-bg-calendar-today-from:#1e3a8a;
--vds-bg-calendar-today-to:#1f2937;
--vds-text-calendar-today:#e0f2fe;
--vds-border-calendar-today:#7dd3fc;
--vds-bg-calendar-day-hover:#374151;
--vds-text-calendar-other:#6b7280;
--vds-text-calendar-weekend:#f87171;
--vds-bg-calendar-weekend:#400d0d;
--vds-box-shadow-sm:0 2px 8px rgba(0,0,0,0.3);
--vds-box-shadow-md:0 4px 12px rgba(0,0,0,0.3);
--vds-box-shadow-lg:0 4px 15px rgba(0,0,0,0.3);
}
.verificador-dia-container{display:flex;flex-direction:column;gap:1.5rem;max-width:500px;margin:auto;padding:2rem;background:var(--vds-bg-container);border-radius:12px;box-shadow:var(--vds-box-shadow-lg);overflow:hidden;position:relative;}
.input-with-calendar{display:flex;gap:0.5rem;align-items:center;}
.verificador-dia-input{padding:0.75rem 1rem;font-size:1.1rem;border:2px solid var(--vds-border-color);border-radius:8px;transition:all 0.3s ease;background:var(--vds-bg-input);color:var(--vds-text-primary);font-weight:500;text-align:center;letter-spacing:0.5px;box-shadow:var(--vds-box-shadow-sm);flex:1;}
.verificador-dia-input:hover:not(:focus){border-color:var(--primary-blue);box-shadow:var(--vds-box-shadow-md);}
.verificador-dia-input::placeholder{color:var(--vds-text-secondary);font-weight:400;}
.verificador-dia-botao{display:flex;align-items:center;justify-content:center;gap:0.5rem;min-height:48px;position:relative;overflow:hidden;opacity:1;transform:translateY(0);max-height:48px;margin-bottom:0;}
.verificador-dia-botao.hidden{opacity:0;transform:translateY(-10px);pointer-events:none;max-height:0;min-height:0;padding-top:0;padding-bottom:0;margin-bottom:0;overflow:hidden;}
.verificador-dia-botao::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,0.2) 0%,rgba(255,255,255,0) 100%);opacity:0;transition:opacity 0.3s ease;}
.verificador-dia-botao:hover::before{opacity:1;}
.verificador-dia-botao svg{width:16px;height:16px;transition:transform 0.3s ease;}
.verificador-dia-botao:hover svg{transform:scale(1.1);}
.verificador-dia-resultado{padding:1.5rem;background:linear-gradient(135deg,var(--vds-bg-result-light),var(--vds-bg-result));border:1px solid var(--vds-border-color);border-radius:8px;color:var(--vds-text-primary);text-align:center;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:4px solid var(--vds-border-success);box-shadow:var(--vds-box-shadow-sm);transition:all 0.3s ease;position:relative;opacity:0;transform:translateY(10px);gap:0.5rem;}
.verificador-dia-resultado:empty{display:none;}
.verificador-dia-resultado .resultado-data:empty + .resultado-dia-semana:empty{display:none;}
.verificador-dia-resultado:has(.resultado-data:empty):has(.resultado-dia-semana:empty){display:none;}
.verificador-dia-resultado:not(:empty){display:flex;opacity:1;transform:translateY(0);animation:fadeIn 0.3s ease;}
.verificador-dia-resultado:not(:has(.resultado-data:not(:empty))):not(:has(.resultado-dia-semana:not(:empty))){display:none;}
.verificador-dia-resultado.success{border-left-color:var(--vds-border-success);background:linear-gradient(135deg,var(--vds-bg-result-success-from),var(--vds-bg-result));color:var(--vds-text-result-success);}
.verificador-dia-resultado.error{border-left-color:var(--vds-border-error);background:linear-gradient(135deg,var(--vds-bg-result-error-from),var(--vds-bg-result));color:var(--vds-text-result-error);}
.verificador-dia-resultado:hover{border-color:var(--primary-blue);box-shadow:var(--vds-box-shadow-lg);}
.resultado-data{font-size:1rem;font-weight:500;color:var(--vds-text-result-data);margin-bottom:0.25rem;}
.resultado-dia-semana{font-size:1.8rem;font-weight:700;color:var(--vds-text-result-success);line-height:1.2;}
.verificador-dia-resultado.error .resultado-data{color:var(--vds-text-result-error);}
.verificador-dia-resultado.error .resultado-dia-semana{color:var(--vds-text-result-error);}
.verificador-dia-copy{margin-top:1rem;padding:0.5rem 1rem;border-radius:6px;font-size:0.9rem;display:flex;align-items:center;justify-content:center;gap:0.5rem;align-self:center;min-width:140px;}
.verificador-dia-copy svg{width:14px;height:14px;}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.verificador-dia-resultado:not(:empty){animation:fadeIn 0.3s ease;}
.quick-access-buttons{display:flex;gap:0.5rem;justify-content:center;align-items:center;margin-bottom:1rem;display:none;}
.quick-access-buttons.visible{display:flex;}
.quick-btn{padding:0.5rem 1rem;background:linear-gradient(135deg,var(--vds-bg-quick-btn-from),var(--vds-bg-quick-btn-to));border:1px solid var(--vds-border-inactive);border-radius:6px;color:var(--vds-text-tertiary);font-weight:500;font-size:0.9rem;cursor:pointer;transition:all 0.3s ease;min-width:80px;}
.quick-btn:hover{background:linear-gradient(135deg,var(--vds-bg-quick-btn-to),var(--vds-border-inactive));border-color:var(--primary-blue);color:var(--primary-blue);transform:translateY(-1px);box-shadow:var(--vds-box-shadow-md);}
.quick-btn.active{background:linear-gradient(135deg,var(--primary-green),var(--primary-blue));color:var(--white);border-color:var(--primary-green);box-shadow:0 2px 8px rgba(0,166,81,0.3);}
.quick-btn.active:hover{background:linear-gradient(135deg,var(--primary-blue),var(--primary-green));border-color:var(--primary-blue);color:var(--white);}
.calendar-toggle-btn{background:linear-gradient(135deg,var(--vds-bg-quick-btn-from),var(--vds-bg-quick-btn-to));border:1px solid var(--vds-border-inactive);border-radius:8px;padding:0.75rem;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;color:var(--vds-text-tertiary);min-width:48px;min-height:48px;}
.calendar-toggle-btn:hover{background:linear-gradient(135deg,var(--vds-bg-quick-btn-to),var(--vds-border-inactive));border-color:var(--primary-blue);color:var(--primary-blue);transform:translateY(-1px);box-shadow:var(--vds-box-shadow-md);}
.calendar-toggle-btn:active{transform:translateY(0);}
.calendar-container{background:var(--vds-bg-calendar);border:1px solid var(--vds-border-color);border-radius:8px;padding:1rem;margin:0 0 1rem 0;box-shadow:var(--vds-box-shadow-sm);display:none;animation:fadeIn 0.3s ease;}
.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;}
.calendar-nav{background:none;border:none;padding:0.5rem;border-radius:4px;cursor:pointer;color:var(--vds-text-tertiary);transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;}
.calendar-nav:hover{background:var(--vds-bg-calendar-day-hover);color:var(--primary-blue);transform:scale(1.1);}
.calendar-title{font-weight:600;color:var(--vds-text-primary);font-size:1.1rem;}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0.25rem;margin-bottom:0.5rem;}
.calendar-weekdays span{text-align:center;font-weight:600;color:var(--vds-text-secondary);font-size:0.85rem;padding:0.5rem 0.25rem;}
.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:0.25rem;}
.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;font-size:0.9rem;font-weight:500;transition:all 0.3s ease;color:var(--vds-text-tertiary);position:relative;min-height:32px;}
.calendar-day:hover{background:var(--vds-bg-calendar-day-hover);color:var(--primary-blue);transform:scale(1.1);}
.calendar-day.other-month{color:var(--vds-text-calendar-other);cursor:default;}
.calendar-day.other-month:hover{background:none;color:var(--vds-text-calendar-other);transform:none;}
.calendar-day.today{background:linear-gradient(135deg,var(--vds-bg-calendar-today-from),var(--vds-bg-calendar-today-to));color:var(--vds-text-calendar-today);font-weight:600;border:1px solid var(--vds-border-calendar-today);}
.calendar-day.today:hover{background:linear-gradient(135deg,var(--vds-bg-calendar-today-to),var(--vds-bg-calendar-today-from));transform:scale(1.1);}
.calendar-day.selected{background:linear-gradient(135deg,var(--primary-blue),var(--primary-green));color:var(--white);font-weight:600;box-shadow:0 0 0 2px rgba(0,114,188,0.3);}
.calendar-day.selected:hover{background:linear-gradient(135deg,var(--primary-green),var(--primary-blue));transform:scale(1.1);}
.calendar-day.selected-today{background:linear-gradient(135deg,var(--primary-green),var(--primary-blue));color:var(--white);font-weight:600;box-shadow:0 0 0 2px rgba(0,166,81,0.3);border:2px solid var(--white);}
.calendar-day.selected-today:hover{background:linear-gradient(135deg,var(--primary-blue),var(--primary-green));transform:scale(1.1);}
.calendar-day.weekend{color:var(--vds-text-calendar-weekend);}
.calendar-day.weekend:hover{color:var(--vds-text-calendar-weekend);background:var(--vds-bg-calendar-weekend);}
@media (max-width:768px){
.verificador-dia-container{padding:1.5rem;margin:1rem;gap:1.25rem;}
.verificador-dia-input{font-size:1rem;padding:0.75rem;}
.verificador-dia-resultado{font-size:1rem;padding:1.25rem;}
.resultado-dia-semana{font-size:1.6rem;}
.calendar-toggle-btn{min-width:44px;min-height:44px;padding:0.6rem;}
}
@media (max-width:576px){
.verificador-dia-container{padding:1rem;margin:0.5rem;gap:1rem;}
.verificador-dia-input{font-size:16px;min-height:44px;padding:0.75rem;}
.verificador-dia-resultado{font-size:0.95rem;padding:1rem;}
.resultado-data{font-size:0.9rem;}
.resultado-dia-semana{font-size:1.4rem;}
.verificador-dia-copy{font-size:0.85rem;padding:0.5rem 0.75rem;min-width:120px;}
.quick-access-buttons{gap:0.25rem;}
.quick-btn{font-size:0.8rem;padding:0.4rem 0.8rem;min-width:70px;}
.calendar-container{padding:0.75rem;margin:0.75rem 0;}
.calendar-title{font-size:1rem;}
.calendar-weekdays span{font-size:0.75rem;padding:0.4rem 0.2rem;}
.calendar-day{font-size:0.8rem;min-height:28px;}
.calendar-toggle-btn{min-width:44px;min-height:44px;padding:0.6rem;}
.calendar-toggle-btn svg{width:14px;height:14px;}
}
.verificador-dia-input:invalid{border-color:var(--danger);background-color:rgba(220,53,69,0.05);}
.verificador-dia-botao:disabled{background:#6c757d;cursor:not-allowed;transform:none;}
.verificador-dia-botao:disabled:hover{transform:none;box-shadow:var(--vds-box-shadow-lg);}
.verificador-dia-input:focus-visible{outline:2px solid var(--primary-green);outline-offset:2px;}
.verificador-dia-copy:focus-visible{outline:2px solid var(--vds-text-primary);outline-offset:2px;}