/* Soroponto Web v0.17.9.1 — férias e afastamentos, somente visualização/interação. */
.vacation-2026,.leaves-2026{--leave-border:rgba(99,191,153,.25);--leave-ink:#eafff3;--leave-muted:#a8cbbb;gap:16px;}
.vacation-2026 .panel,.leaves-2026 .panel{padding:clamp(15px,2.5vw,25px);}
.leave-shortcuts{display:flex;flex-wrap:wrap;gap:9px;}
.leave-shortcut{display:inline-flex;gap:9px;align-items:center;min-height:41px;padding:9px 15px;border:1px solid #37635a;background:linear-gradient(135deg,#163237,#142b30);border-radius:10px;color:#cce5d9;text-decoration:none;font-size:12px;font-weight:730;transition:background .2s,border-color .2s;}
.leave-shortcut svg{width:17px;height:17px;color:#71dca3;}
.leave-shortcut.current,.leave-shortcut:hover{color:#effff5;background:#17533e;border-color:#57cc93;}
.leave-shortcut:focus-visible{outline:2px solid #79efac;outline-offset:3px;}
.leave-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.leave-section-head h2{font-size:clamp(18px,2vw,22px);margin:0 0 7px;letter-spacing:-.025em;color:var(--leave-ink);}
.leave-section-head p{color:var(--leave-muted);margin:0;font-size:12px;line-height:1.55;}
.leave-employee-filter{display:grid;grid-template-columns:minmax(80px,110px) minmax(180px,1fr) auto;align-items:center;gap:12px;padding:14px;border-radius:12px;border:1px solid var(--leave-border);background:#142e32;}
.leave-employee-filter label{font-size:12px;color:#c8e2d4;font-weight:730;}
.leave-employee-filter select{width:100%;min-width:0;}
.leave-employee-filter button{min-height:40px;}
.leave-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:16px;}
.leave-balance-card{background:linear-gradient(145deg,#1a3939,#142d32);border:1px solid var(--leave-border);border-radius:12px;padding:15px;display:grid;gap:6px;min-width:0;}
.leave-balance-card span{color:#b1d2c2;font-size:12px;}
.leave-balance-card strong{color:#ecfff3;font-size:clamp(22px,2vw,30px);line-height:1.2;font-weight:800;font-variant-numeric:tabular-nums;}
.leave-balance-card small{color:#8facab;font-size:11px;line-height:1.5;}
.leave-balance-card.available{border-color:#54b483;background:linear-gradient(145deg,#19543d,#14372f);}
.leave-balance-card.available strong{color:#91f6b8;}
.leave-explain{margin:15px 0 19px;border-left:3px solid #4db985;background:rgba(24,75,61,.28);border-radius:0 8px 8px 0;padding:10px 13px;color:#afc9b7;font-size:12px;line-height:1.65;}
.leave-form-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);gap:14px;margin-top:15px;align-items:stretch;}
.vacation-2026 .leave-form,.leaves-2026 .leave-form{display:grid;gap:15px;padding:20px;background:linear-gradient(145deg,#1a3537,#132b30);border:1px solid var(--leave-border);box-shadow:none;min-width:0;}
.leave-form-title{display:flex;align-items:flex-start;justify-content:space-between;gap:13px;padding-bottom:12px;border-bottom:1px solid rgba(110,176,143,.2);}
.leave-form-title .ops-overline{margin-bottom:5px;}
.leave-form-title h3{color:var(--leave-ink)!important;border:0!important;padding:0!important;margin:0!important;font-size:16px!important;}
.leave-form-title svg{width:23px;height:23px;color:#7de8af;}
.leave-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.leave-form label{display:grid;gap:7px;min-width:0;font-size:12px;line-height:1.5;color:#d1e6d8;font-weight:700;}
.leave-form label :is(input,select){width:100%;max-width:100%;}
.leave-form label :is(input,select):focus-visible,.leave-search-label input:focus-visible{outline:2px solid #58db92;outline-offset:2px;}
.leave-type-panel{padding:13px;border:1px solid rgba(112,192,151,.21);background:rgba(7,36,29,.15);border-radius:11px;display:grid;gap:10px;}
.leave-type-panel[hidden],.leave-empty-filter[hidden],.leave-history-table tr[hidden]{display:none!important;}
.leave-period-preview{font-size:12px;line-height:1.55;color:#b2d8c5;min-width:0;}
.leave-period-preview.is-warning{color:#f5bf8b;}
.leave-field-hint{font-size:12px;line-height:1.65;color:#9fbcb0;margin:0;}
.leave-submit-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:13px;margin-top:4px;padding-top:12px;border-top:1px solid rgba(111,179,145,.19);}
.leave-submit-row>span{font-size:12px;color:#a8cbb9;flex:1 1 210px;line-height:1.55;}
.leave-submit-row button{min-height:41px;}
.leave-balance-adjust>p{font-size:12px;color:#a8cbbb;line-height:1.65;margin:0;}
.leave-balance-adjust button{justify-self:start;}
.leave-privacy-note{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;margin:0 0 16px;border:1px solid rgba(215,160,87,.28);background:rgba(99,72,37,.13);border-radius:11px;color:#e1cfb7;font-size:12px;line-height:1.65;}
.leave-privacy-note svg{width:20px;height:20px;flex:0 0 20px;color:#dfc18c;}
.leave-privacy-note a{color:#a4f5bd;text-decoration:underline;}
.leave-history-filters{display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding:12px;border:1px solid var(--leave-border);background:#152f32;border-radius:12px;margin-bottom:13px;}
.leave-status-tabs{display:flex;flex-wrap:wrap;gap:5px;}
.leave-status-tabs button{appearance:none;padding:9px 12px;min-height:37px;border:1px solid #3d6459;background:#1a3436;border-radius:9px;color:#bfddce;font-size:12px;cursor:pointer;font-weight:690;}
.leave-status-tabs button.is-active{border-color:#63db9a;background:#206446;color:#effff5;}
.leave-status-tabs button:focus-visible{outline:2px solid #77f0ae;outline-offset:2px;}
.leave-search-label{display:grid;gap:6px;flex:1 1 220px;color:#c6e0d1;font-size:11px;font-weight:700;}
.leave-search-label input{min-width:0;width:100%;}
.leave-results-count{margin-left:auto;padding:9px 11px;border:1px solid #387c5b;border-radius:100px;background:rgba(39,125,78,.16);color:#9eebbd;font-size:11px;font-weight:760;white-space:nowrap;}
.leave-table-scroll{border:1px solid #345752;border-radius:11px;}
.leave-history-table{min-width:800px;}
.leave-employee-name{font-weight:730;color:#edfff1;}
.leave-employee-name small{display:block;margin-top:5px;color:#96b8aa;font-size:11px;font-weight:500;}
.leave-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:5px 9px;border-radius:99px;border:1px solid #59866f;color:#c7edd6;background:#254337;font-size:11px;font-weight:750;white-space:nowrap;}
.leave-status-badge[data-state="Solicitada"],.leave-status-badge[data-state="Programado"]{border-color:#b09058;color:#ffe0a8;background:#533c22;}
.leave-status-badge[data-state="Aprovada"],.leave-status-badge[data-state="Vigente"]{border-color:#4eb581;color:#a6f5c1;background:#1b563e;}
.leave-status-badge[data-state="Cancelada"],.leave-status-badge[data-state="Cancelado"]{border-color:#a46872;color:#ffd1d2;background:#573135;}
.leave-status-badge[data-state="Encerrado"]{border-color:#67818c;color:#c4dce3;background:#2b4048;}
.leave-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
.leave-row-actions .win-button{min-height:30px;padding:6px 11px;border-radius:8px;font-size:11px;}
.leave-row-actions .leave-approve{border-color:#54a477;background:#245e40;color:#edfff0;}
.leave-row-actions .leave-cancel{border-color:#8b6463;color:#ffcacc;background:rgba(106,57,52,.22);}
.leave-no-action{color:#819d91;}
.leave-empty-filter{padding:16px;margin-top:12px;border:1px dashed #477c66;border-radius:10px;color:#bbd7c5;font-size:12px;}
@media(max-width:960px){.leave-form-grid{grid-template-columns:1fr;}.leave-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:660px){.leave-employee-filter{grid-template-columns:1fr;}.leave-fields-grid{grid-template-columns:1fr;}.vacation-2026 .leave-form,.leaves-2026 .leave-form{padding:14px;}.leave-shortcuts a{flex:1 1 120px;justify-content:center;}.leave-history-filters{align-items:stretch;}.leave-search-label{flex:1 1 100%;}.leave-results-count{margin-left:0;}.leave-status-tabs{width:100%;}.leave-status-tabs button{flex:1 1 auto;}.leave-submit-row button{width:100%;}.leave-balance-grid{gap:8px;}.leave-balance-card{padding:11px;}.leave-balance-card strong{font-size:22px;}}
@media print{.leave-shortcuts,.leave-history-filters,.leave-form-grid,.leave-employee-filter,.leave-row-actions{display:none!important;}.leave-history-table tr[hidden]{display:table-row!important;}}

/* Campos e ícones em alto contraste, inclusive em navegadores móveis. */
.vacation-2026 :is(.leave-form,.leave-employee-filter) :is(input:not([type=checkbox]),select),
.leaves-2026 .leave-form :is(input:not([type=checkbox]),select),
.vacation-2026 .leave-search-label input,.leaves-2026 .leave-search-label input{
  color-scheme:dark;background-color:#0e282c;color:#ecfff3;border:1px solid #486a60;
  -webkit-text-fill-color:#ecfff3;box-shadow:none;
}
.vacation-2026 :is(input,select)::placeholder,.leaves-2026 :is(input,select)::placeholder{color:#92b5aa;opacity:1;}
.leave-shortcut svg,.leave-form-title svg,.leave-privacy-note svg,.leave-hero-count svg,
.vacation-2026 .ops-hero-count svg,.leaves-2026 .ops-hero-count svg{
  fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.leave-history-table td:first-child{text-align:left;}

/* Sobrescreve a aparência padrão de search no Chrome para alto contraste. */
.vacation-2026 .leave-history-filters .leave-search-label input[type="search"],
.leaves-2026 .leave-history-filters .leave-search-label input[type="search"]{
 background:#10292e !important;color:#ebfff3 !important;-webkit-text-fill-color:#ebfff3 !important;
}

/* v0.17.9.2: garantir que o tipo Gozo nunca exiba Dias de venda, inclusive antes do JS. */
#vacation-request-form [data-vacation-type][hidden]{display:none!important;visibility:hidden!important;}
