/* VERSÃO DO ARQUIVO: 1.3.2 - Adiciona destaque visual para feriados no calendário */
:root{
--uteis-resultado-bg:rgba(0,166,81,0.05);
--uteis-resultado-border:rgba(0,166,81,0.2);
--uteis-nao-util-bg:rgba(220,53,69,0.05);
--uteis-nao-util-border:rgba(220,53,69,0.2);
--uteis-feriado-bg:rgba(255,193,7,0.2);
--uteis-feriado-color:#856404;
--uteis-fim-semana-bg:rgba(108,117,125,0.2);
--uteis-dia-desabilitado-bg:rgba(255,87,34,0.2);
--uteis-dia-desabilitado-color:#d84315;
--uteis-avancado-bg:rgba(0,166,81,0.02);
--uteis-avancado-border:rgba(0,166,81,0.1);
--uteis-historico-bg:rgba(0,0,0,0.02);
--uteis-historico-item-bg:var(--white);
--uteis-calendar-bg:#fff;
--uteis-calendar-border:#e9ecef;
--uteis-calendar-color:#343a40;
--uteis-calendar-weekday-color:#6c757d;
--uteis-calendar-other-color:#ced4da;
--uteis-calendar-today-border:#b8daff;
}
[data-theme="dark"]{
--uteis-resultado-bg:rgba(0,166,81,0.15);
--uteis-resultado-border:rgba(0,166,81,0.3);
--uteis-nao-util-bg:rgba(220,53,69,0.15);
--uteis-nao-util-border:rgba(220,53,69,0.3);
--uteis-feriado-bg:rgba(255,193,7,0.25);
--uteis-feriado-color:#ffd700;
--uteis-fim-semana-bg:rgba(108,117,125,0.3);
--uteis-dia-desabilitado-bg:rgba(255,87,34,0.25);
--uteis-dia-desabilitado-color:#ff9800;
--uteis-avancado-bg:rgba(0,166,81,0.1);
--uteis-avancado-border:rgba(0,166,81,0.2);
--uteis-historico-bg:rgba(0,166,81,0.05);
--uteis-historico-item-bg:var(--white);
--uteis-calendar-bg:#2d2d2d;
--uteis-calendar-border:#495057;
--uteis-calendar-color:#e9ecef;
--uteis-calendar-weekday-color:#adb5bd;
--uteis-calendar-other-color:#6c757d;
--uteis-calendar-today-border:#1a73e8;
}
.uteis-container{max-width:600px;margin:0 auto;background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow);padding:var(--spacing-xl);position:relative;overflow:hidden;}
[data-theme="dark"] .uteis-container{background:var(--white);}
.uteis-campo{display:flex;flex-direction:column;margin-bottom:var(--spacing-lg);position:relative;}
.uteis-campo label{font-weight:600;color:var(--dark-gray);margin-bottom:var(--spacing-sm);font-size:0.95rem;display:flex;align-items:center;gap:var(--spacing-xs);}
[data-theme="dark"] .uteis-campo label{color:var(--dark-gray);}
.uteis-campo input{padding:var(--spacing-md);font-size:1.1rem;border:2px solid var(--light-gray);border-radius:var(--border-radius-md);transition:all var(--transition-normal);background:var(--white);color:var(--dark-gray);font-weight:500;}
[data-theme="dark"] .uteis-campo input{background:var(--white);color:var(--dark-gray);border-color:var(--light-gray);}
.uteis-campo input:focus{border-color:var(--primary-green);outline:none;box-shadow:0 0 0 3px rgba(0,166,81,0.1);transform:translateY(-1px);}
.uteis-campo input:hover{border-color:var(--primary-blue);}
.uteis-campo input[type="number"]{appearance:textfield;-moz-appearance:textfield;}
.uteis-campo input[type="number"]::-webkit-outer-spin-button,.uteis-campo input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.uteis-resultado{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:var(--uteis-resultado-bg);border:1px solid var(--uteis-resultado-border);border-radius:var(--border-radius-sm);font-weight:600;font-size:1.2rem;text-align:center;min-height:60px;display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);transition:all var(--transition-normal);position:relative;overflow:hidden;margin-bottom:var(--spacing-lg);color:var(--dark-gray);}
.uteis-resultado.show{display:flex !important;animation:slideInResult 0.5s ease-out;}
.uteis-resultado::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,166,81,0.1),transparent);transition:left 0.8s ease;}
.uteis-resultado:not(:empty)::before{left:100%;}
.uteis-resultado:empty{background:var(--light-gray);color:var(--medium-gray);font-style:italic;}
.uteis-resultado:empty::after{content:'Preencha todos os campos e clique em calcular';}
.resultado-texto{font-weight:600;font-size:1.2rem;color:var(--dark-gray);}
.uteis-resultado .btn-copiar{margin-top:var(--spacing-sm);max-width:200px;padding:var(--spacing-sm) var(--spacing-md);font-size:0.9rem;min-height:40px;}
.dias-nao-uteis{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--uteis-nao-util-bg);border:1px solid var(--uteis-nao-util-border);border-radius:var(--border-radius-sm);font-size:0.85rem;color:var(--medium-gray);display:none;}
.dias-nao-uteis.show{display:block;animation:slideInInfo 0.3s ease-out;}
.dias-nao-uteis-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-weight:600;color:var(--dark-gray);}
.dias-nao-uteis-lista{max-height:150px;overflow-y:auto;margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);background:rgba(255,255,255,0.5);border-radius:var(--border-radius-sm);border:1px solid var(--uteis-nao-util-border);}
[data-theme="dark"] .dias-nao-uteis-lista{background:rgba(0,0,0,0.2);}
.dias-nao-uteis-lista.collapsed{max-height:80px;overflow:hidden;}
.dia-nao-util{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid rgba(220,53,69,0.1);font-size:0.8rem;}
.dia-nao-util:last-child{border-bottom:none;}
.dia-nao-util-data{font-weight:500;color:var(--dark-gray);}
.dia-nao-util-tipo{font-size:0.75rem;padding:2px 6px;border-radius:10px;font-weight:500;}
.tipo-feriado{background:var(--uteis-feriado-bg);color:var(--uteis-feriado-color);}
.tipo-fim-semana{background:var(--uteis-fim-semana-bg);color:var(--medium-gray);}
.tipo-dia-desabilitado{background:var(--uteis-dia-desabilitado-bg);color:var(--uteis-dia-desabilitado-color);}
.expandir-btn{background:none;border:none;color:var(--primary-blue);cursor:pointer;font-size:0.75rem;font-weight:600;padding:var(--spacing-xs) 0;text-decoration:underline;transition:color var(--transition-fast);}
.expandir-btn:hover{color:var(--dark-blue);}
.uteis-modo{margin-bottom:var(--spacing-lg);text-align:center;}
.modo-toggle{display:inline-flex;background:var(--light-gray);border-radius:var(--border-radius-md);padding:4px;gap:4px;flex-wrap:wrap;justify-content:center;}
.modo-toggle input[type="radio"]{display:none;}
.modo-toggle label{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-normal);font-weight:500;color:var(--medium-gray);font-size:0.9rem;white-space:nowrap;}
.modo-toggle input[type="radio"]:checked+label{background:linear-gradient(135deg,var(--primary-green),var(--primary-blue));color:var(--white);box-shadow:0 2px 8px rgba(0,0,0,0.1);}
.uteis-avancado{margin-bottom:var(--spacing-lg);}
.btn-avancado{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--light-gray);border-radius:var(--border-radius-sm);color:var(--medium-gray);font-size:0.85rem;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);}
.btn-avancado:hover{border-color:var(--primary-green);color:var(--primary-green);}
.avancado-painel{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--uteis-avancado-bg);border:1px solid var(--uteis-avancado-border);border-radius:var(--border-radius-sm);animation:slideInInfo 0.3s ease-out;}
.avancado-opcao{margin-bottom:var(--spacing-md);}
.avancado-opcao:last-child{margin-bottom:0;}
.avancado-opcao label{font-size:0.85rem;color:var(--dark-gray);font-weight:500;display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);}
.avancado-opcao input[type="checkbox"]{margin:0;transform:scale(1.1);}
.dias-semana{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-xs);}
.dias-semana label{font-size:0.8rem;padding:4px 8px;background:var(--white);border:1px solid var(--light-gray);border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-normal);margin-bottom:0;}
[data-theme="dark"] .dias-semana label{background:var(--white);border-color:var(--light-gray);}
.dias-semana label:has(input:checked){background:var(--primary-green);color:var(--white);border-color:var(--primary-green);}
.dias-semana input[type="checkbox"]{display:none;}
.uteis-consulta{margin:var(--spacing-lg) 0;text-align:center;}
.btn-consultar{width:100%;padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,var(--primary-green),var(--primary-blue));color:var(--white);border:none;border-radius:var(--border-radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:48px;box-shadow:0 4px 15px rgba(0,0,0,0.1);margin:0 auto;}
.btn-consultar:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,166,81,0.3);}
.btn-consultar:active{transform:translateY(0);}
.btn-consultar:disabled{opacity:0.7;cursor:not-allowed;transform:none;}
.btn-consultar.loading{pointer-events:none;}
.loading-spinner{animation:spin 1s linear infinite;}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.uteis-acoes{display:none;gap:var(--spacing-md);margin:var(--spacing-lg) 0;justify-content:center;}
.btn-acao{flex:1;max-width:200px;padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--border-radius-md);cursor:pointer;font-weight:600;font-size:0.95rem;transition:all var(--transition-normal);align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:48px;box-shadow:0 4px 15px rgba(0,0,0,0.1);position:relative;overflow:hidden;}
.btn-acao::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left 0.6s ease;}
.btn-acao:hover::before{left:100%;}
.btn-copiar{background:linear-gradient(135deg,var(--primary-blue),#1a73e8);color:var(--white);}
.btn-copiar:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(26,115,232,0.3);}
.uteis-historico{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--uteis-historico-bg);border:1px solid var(--light-gray);border-radius:var(--border-radius-sm);animation:slideInInfo 0.3s ease-out;}
.historico-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);}
.historico-header h3{font-size:0.9rem;color:var(--dark-gray);margin:0;font-weight:600;}
[data-theme="dark"] .historico-header h3{color:var(--dark-gray);}
.btn-limpar-historico{background:none;border:none;color:var(--danger-color,#dc3545);cursor:pointer;font-size:0.75rem;padding:4px 8px;border-radius:var(--border-radius-sm);transition:all var(--transition-normal);display:flex;align-items:center;gap:4px;}
.btn-limpar-historico:hover{background:rgba(220,53,69,0.1);}
.historico-item{padding:var(--spacing-sm);margin-bottom:var(--spacing-xs);background:var(--uteis-historico-item-bg);border:1px solid rgba(0,0,0,0.05);border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-normal);font-size:0.8rem;}
[data-theme="dark"] .historico-item{background:var(--uteis-historico-item-bg);border-color:rgba(0,0,0,0.2);}
.historico-item:hover{border-color:var(--primary-green);box-shadow:0 2px 8px rgba(0,0,0,0.05);}
.historico-item:last-child{margin-bottom:0;}
.historico-tipo{font-weight:600;color:var(--primary-green);margin-bottom:2px;}
.historico-detalhes{color:var(--medium-gray);line-height:1.3;}
@keyframes slideInResult{from{opacity:0;transform:translateY(20px) scale(0.95);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes slideInInfo{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
/* Layout para campos de data lado a lado */
.uteis-campos-data{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);}
.uteis-campos-data .uteis-campo{flex:1 1 0;min-width:0;margin-bottom:0;}
.uteis-campos-data .uteis-campo input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;}
/* Corrige overflow do input de número no mobile real */
#campo-dias-uteis input[type="number"]{width:100%;min-width:0;max-width:100%;box-sizing:border-box;}
/* Corrige overflow do input de data no mobile real */
#campo-data-final input[type="date"],.uteis-campos-data .uteis-campo input[type="date"]{width:100%;min-width:0;max-width:100%;box-sizing:border-box;}
/* Responsividade */
@media (max-width:768px){
.uteis-container{margin:0 var(--spacing-sm);padding:var(--spacing-lg);}
.uteis-campo input{font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);}
.uteis-resultado{font-size:1.1rem;padding:var(--spacing-md);}
.uteis-campos-data{flex-direction:row;gap:var(--spacing-xs);}
.uteis-campos-data .uteis-campo{flex:1 1 0;min-width:0;margin-bottom:0;}
.uteis-campos-data .uteis-campo input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;}
}
@media (max-width:420px){
.uteis-container{margin:0;border-radius:var(--border-radius-md);}
.uteis-campos-data{flex-direction:row;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);}
.uteis-campos-data .uteis-campo{margin-bottom:0;flex:1 1 0;min-width:0;}
#campo-dias-uteis input[type="number"]{width:100%;min-width:0;max-width:100%;box-sizing:border-box;}
#campo-data-final input[type="date"],.uteis-campos-data .uteis-campo input[type="date"]{width:100%;min-width:0;max-width:100%;box-sizing:border-box;}
.uteis-campo{margin-bottom:var(--spacing-md);}
.uteis-resultado{font-size:1rem;min-height:50px;}
.modo-toggle label{font-size:0.8rem;padding:var(--spacing-xs) var(--spacing-sm);}
}
/* Estilos para lista de dias úteis do mês */
.dias-uteis-mes{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--uteis-resultado-bg);border:1px solid var(--uteis-resultado-border);border-radius:var(--border-radius-sm);font-size:0.85rem;color:var(--medium-gray);display:none;}
.dias-uteis-mes.show{display:block;animation:slideInInfo 0.3s ease-out;}
.dias-uteis-mes-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-weight:600;color:var(--dark-gray);}
.dias-uteis-mes-lista{max-height:400px;overflow-y:auto;padding:var(--spacing-sm);background:rgba(255,255,255,0.5);border-radius:var(--border-radius-sm);border:1px solid var(--uteis-resultado-border);}
[data-theme="dark"] .dias-uteis-mes-lista{background:rgba(0,0,0,0.2);}
.dia-util-mes{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid rgba(0,166,81,0.1);font-size:0.85rem;}
.dia-util-mes:last-child{border-bottom:none;}
.dia-util-mes-mes{font-weight:600;color:var(--dark-gray);}
.dia-util-mes-data{font-weight:500;color:var(--primary-green);}
.dia-util-mes-nao-encontrado{color:var(--danger-color,#dc3545);font-style:italic;font-size:0.8rem;}
/* Estilos do calendário embutido (baseado no calendário da calculadora de idade) */
.calendar-container-idade{background:var(--uteis-calendar-bg);border:1px solid var(--uteis-calendar-border);border-radius:8px;padding:1rem;margin:1rem 0 0 0;box-shadow:0 2px 8px rgba(0,0,0,0.05);display:none;animation:fadeInCalendar 0.3s ease;}
@keyframes fadeInCalendar{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}
.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;gap:0.5rem;}
.calendar-nav-label{flex:1;text-align:center;font-weight:600;color:var(--uteis-calendar-color);font-size:0.9rem;}
.calendar-nav-btn{border:1px solid var(--uteis-calendar-border);background:transparent;border-radius:4px;padding:0.25rem 0.6rem;font-size:0.75rem;cursor:pointer;color:var(--uteis-calendar-color);transition:background-color 0.2s ease,color 0.2s ease;}
.calendar-nav-btn:hover{background:rgba(0,0,0,0.03);}
.calendar-nav-btn:disabled{opacity:0.5;cursor:not-allowed;}
.calendar-month{margin-bottom:1rem;}
.calendar-month-title{font-weight:600;color:var(--uteis-calendar-color);font-size:1rem;margin-bottom:0.5rem;display:flex;align-items:center;justify-content:center;gap:0.5rem;}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:0.25rem;}
.calendar-weekdays span{text-align:center;font-weight:600;color:var(--uteis-calendar-weekday-color);font-size:0.8rem;padding:0.35rem 0.2rem;}
.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:0.85rem;font-weight:500;transition:all 0.2s ease;color:#495057;min-height:34px;cursor:default;}
[data-theme="dark"] .calendar-day{color:#e9ecef;}
.calendar-day.other-month{color:var(--uteis-calendar-other-color);background:transparent;}
.calendar-day.today{border:1px solid var(--uteis-calendar-today-border);}
.calendar-day.weekend{color:#dc3545;}
.calendar-day.util{background:linear-gradient(135deg,#00a651,#0072bc);color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(0,166,81,0.12);}
.calendar-day.nao-util{background:linear-gradient(135deg,#ffdddd,#ffd6d6);color:#9a2b2b;font-weight:700;box-shadow:0 2px 8px rgba(220,53,69,0.06);}
.calendar-day.feriado{background:var(--uteis-feriado-bg);color:var(--uteis-feriado-color);font-weight:700;box-shadow:0 2px 8px rgba(255,193,7,0.15);}
[data-theme="dark"] .calendar-day.nao-util{background:linear-gradient(135deg,#3d1f1f,#4a2626);}
[data-theme="dark"] .calendar-day.feriado{background:linear-gradient(135deg,#806000,#b38b00);color:#fff;}
.calendar-day.selected{outline:2px solid rgba(0,114,188,0.15);}
@media (max-width:576px){
.calendar-month-title{font-size:0.95rem;}
.calendar-day{font-size:0.75rem;min-height:28px;}
}