/* Soroponto Web v0.17.8.9 — Camada adicional para cadastros e operação.
   Não modifica controles, estado de edição, rotas ou regras funcionais. */
:root { --ops-border: rgba(100,204,158,.27); --ops-accent:#55e5a0; }
/* Filtros compactos com campos rotulados e respostas visíveis. */
.operation-table-toolbar { display:flex;flex-wrap:wrap;align-items:end;gap:12px; padding:15px 17px;
  margin:12px 0 8px; background:linear-gradient(135deg,#173433,#112c30); border:1px solid var(--ops-border);
  border-radius:14px; }
.operation-search-label,.operation-select-label { display:flex;flex-direction:column;gap:7px;
  color:#cae8d9; font-size:12px; font-weight:680; min-width:0; }
.operation-search-label { flex:1 1 260px;max-width:520px; }
.operation-search-label input { width:100%; min-width:0; }
.operation-select-label { flex:0 1 180px; }
.operation-select-label select { min-width:150px; }
.operation-table-toolbar .win-button { align-self:end; }
.operation-results { margin-left:auto;align-self:center; font-weight:680; font-size:12px; color:#91f0b9;
  background:rgba(31,114,73,.18);border:1px solid rgba(98,205,148,.20);border-radius:100px;padding:7px 11px; }
.operation-scroll-hint { margin:10px 0 12px;color:#9fbfb1;font-size:12px;line-height:1.6; }
.operation-scroll-hint strong {color:#d6f7e5;}
.operation-no-match { padding:20px; margin:12px 0 2px; border:1px dashed #467869;
  background:rgba(23,89,65,.13);border-radius:12px;color:#cbe7d8;font-size:13px; }
.operation-no-match[hidden],.employee-form-progress[hidden],.app-shell tr[hidden] { display:none!important; }
.app-shell .scroll-x:focus-visible,.app-shell .manage-scroll:focus-visible { outline:2px solid #6aefad;outline-offset:3px; }
.app-shell tbody tr[data-employee-row] td:first-child,.app-shell tbody tr[data-daily-row] td:nth-child(2) {
  font-weight:750;color:#f3fff8; }
.app-shell tbody tr[data-employee-row] td:last-child a { display:inline-flex;min-height:30px;align-items:center;
  padding:6px 11px;border-radius:8px;background:rgba(45,170,104,.14);
  border:1px solid rgba(101,219,153,.32);font-weight:680;color:#9bf5c2;text-decoration:none; }
.app-shell tbody tr[data-employee-row] td:last-child a:hover {background:rgba(43,161,103,.28);color:#e6ffef;}
/* Cadastro na tela própria: navegação pelas três seções, sem ocultar campos. */
.employee-step-nav { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
  padding:5px 0 15px;margin:5px 0 5px;border-bottom:1px solid rgba(105,179,148,.20); }
.employee-step-nav a { display:flex;align-items:center;gap:11px;min-height:56px;padding:10px 14px;
  border:1px solid #345d58;border-radius:13px;background:linear-gradient(135deg,#142f32,#10282b);
  color:#bcd7c8;text-decoration:none;font-size:12px;font-weight:710;transition:border-color .18s, background .18s; }
.employee-step-nav a b { flex:0 0 auto;display:grid;place-items:center;width:31px;height:31px;
  border:1px solid #467466;border-radius:10px;background:rgba(47,114,87,.22);
  color:#b0eac8;font-size:11px; }
.employee-step-nav a:hover,.employee-step-nav a.is-current {
  border-color:rgba(108,237,158,.69);color:#edfff3;background:linear-gradient(135deg,#174e3d,#153733); }
.employee-step-nav a.is-current b {background:#1c8758;border-color:#69dba0;color:#fff; }
.employee-step-nav a:focus-visible {outline:2px solid var(--ops-accent);outline-offset:2px;}
.employee-form-progress { display:grid;gap:9px;padding:16px 17px;margin:10px 0 17px;
  border:1px solid rgba(91,182,138,.22);background:rgba(22,82,63,.13);border-radius:12px; }
.employee-form-progress>div {display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  color:#cce4d8;font-size:12px;}
.employee-form-progress strong {color:#ecfff5;}
.employee-form-progress span {color:#9cddba;}
.employee-form-progress progress {height:8px;display:block;width:100%;overflow:hidden;
  border:0;border-radius:999px;background:#314c4d;accent-color:#38d98e;}
.employee-form-progress progress::-webkit-progress-bar {background:#314c4d;border-radius:999px;}
.employee-form-progress progress::-webkit-progress-value {background:linear-gradient(90deg,#228c62,#5ee9a0);border-radius:999px;}
.employee-form-progress progress::-moz-progress-bar {background:linear-gradient(90deg,#228c62,#5ee9a0);border-radius:999px;}
#employee-identification,#employee-employment,#employee-status { scroll-margin-top:90px; }
.employee-section-grid label:focus-within { color:#e9fff0; }
.employee-section-grid label:focus-within small { color:#b4ddc8; }
.employee-section-grid label input:not([type=checkbox]),.employee-section-grid label select { width:100%; }
.employee-active-field select {width:100%;}
.cad-form .cad-actions {display:flex;align-items:center;gap:15px;border-top:1px solid rgba(103,189,156,.2);
  padding-top:19px;flex-wrap:wrap;}
.cad-form .cad-actions button {min-width:180px;}
.employee-personal-details[open] summary {border-bottom:1px solid rgba(120,185,151,.18);margin-bottom:15px;}
/* Gerenciar Pontos: espaço funcional e tabela densa, sem mexer na grade editável. */
.manage-v017 .manage-filters {padding:14px 16px;background:rgba(16,54,49,.42);
  border:1px solid var(--ops-border);border-radius:13px;}
.manage-v017 .manage-toolbar {margin:15px 0;}
.manage-v017 .manage-column-options { padding:10px 12px; margin:12px 0 4px;
  border:1px solid rgba(94,163,137,.18);background:#142d30;border-radius:11px;}
.manage-v017 .manage-view-toggle { margin-left:auto;font-size:11px;min-height:34px;padding:7px 12px; }
.manage-v017 .manage-view-toggle[aria-pressed=true] {background:#195c44;color:#f1fff5;border-color:#58cd92;}
.manage-v017 .manage-status-row {border-left:3px solid #36bb81;padding:12px 14px;
  background:rgba(37,109,76,.13);margin:8px 0 12px;border-radius:0 10px 10px 0; }
.manage-v017 .manage-scroll {border-color:rgba(110,188,164,.37);box-shadow:inset 0 1px 0 rgba(191,255,214,.04);}
.manage-v017 .manage-grid th {font-size:10px;letter-spacing:.035em;}
.manage-v017 .manage-grid .sticky-day {background:#1b3e3b;border-right:1px solid #457468;}
.manage-v017 .manage-grid tr:hover .sticky-day {background:#245447;}
.manage-v017 .manage-grid input[type=time]:focus {background:#164537;box-shadow:0 0 0 2px rgba(71,217,141,.26);}
.manage-v017 .manage-footer {padding:17px 14px;margin-top:15px;border:1px solid rgba(104,182,152,.18);
  background:linear-gradient(135deg,#163232,#12292d);border-radius:13px;}
.manage-v017 .manage-save {flex:1 1 350px;justify-content:flex-end;}
.manage-v017 .manage-save label {flex:1 1 260px;max-width:460px;}
.manage-v017.manage-is-compact .manage-grid td,.manage-v017.manage-is-compact .manage-grid th {padding:5px 6px;}
.manage-v017.manage-is-compact .manage-grid .manage-time-cell {padding:2px;}
.manage-v017.manage-is-compact .manage-grid input.manage-punch {min-height:30px;padding:4px;}
.manage-v017.manage-is-compact .manage-grid {font-size:11px;}
.manage-v017.manage-is-compact .manage-grid .manage-obs {max-width:220px;}
/* Pontos Diário: busca instantânea somente visual. */
.daily-table-toolbar {margin-top:6px;}
/* Impressão continua de todas as linhas; controles extras não saem no papel. */
@media(max-width:800px){
  .employee-step-nav a {padding:8px 10px;min-height:50px;}
  .employee-step-nav a b {width:27px;height:27px;}
  .operation-table-toolbar {padding:13px;gap:10px;}
  .manage-v017 .manage-footer {padding:12px;}
  .manage-v017 .manage-save {justify-content:flex-start;}
}
@media(max-width:560px){
  .employee-step-nav {grid-template-columns:1fr;gap:7px;}
  .employee-step-nav a {min-height:42px;}
  .employee-step-nav a b {width:25px;height:25px;}
  .employee-form-progress {padding:12px;}
  .operation-search-label,.operation-select-label {flex:1 1 100%;max-width:none;}
  .operation-select-label select {width:100%;}
  .operation-table-toolbar .win-button {flex:1 1 auto;}
  .operation-results {margin-left:0;}
  .manage-v017 .manage-view-toggle {margin:0;width:100%;}
  .manage-v017 .manage-column-options {gap:9px;}
  .cad-form .cad-actions button {width:100%;}
}
@media print {
  .operation-table-toolbar,.operation-scroll-hint,.operation-no-match,.employee-step-nav,
  .employee-form-progress,.manage-view-toggle {display:none!important;}
  .app-shell tr[hidden] {display:table-row!important;}
}
