.btn-file {
    position: relative;
    overflow: hidden;
  }
  .btn-file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 50%;
    min-height: 50%;
    font-size: 80px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
  }

  .puesto {
    width: 100%
    ;
  }

  .departamento {
    width: 100%;
  }

  .sucursal {
    width: 100%;
  }

  .sexo {
    width:100%;
  }

  .login-box-msg {
    color: white;
  }

  .modal-detalle-fullwidth {
    width: calc(100% - 2rem);
    max-width: none;
    margin: 1rem auto;
  }

  .modal-detalle-fullwidth .modal-content,
  .modal-detalle-fullwidth .modal-body,
  .modal-detalle-fullwidth #table1_wrapper,
  .modal-detalle-fullwidth #table1 {
    width: 100% !important;
  }

  #modalImagenesEmbarque .carousel-item img {
    background: #f4f6f9;
    max-height: 65vh;
    object-fit: contain;
  }

  #modalImagenesEmbarque .carousel-navigation {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-top: 12px;
  }

  #modalImagenesEmbarque .carousel-counter {
    color: #607089;
    font-size: .9rem;
    font-weight: 600;
  }

  .logeo {
    position: relative;
    min-height: 100vh;
    z-index: 0;
  }

  .logeo .login-box {
    position: relative;
    z-index: 1;
  }

  .logeo .login-input {
    position: relative;
    z-index: 2;
    pointer-events: auto;
  }

  .logeo .form-control-feedback {
    pointer-events: none;
  }

  input[type="text"],
  select.form-control {
    background: transparent;
    border: none;
    border-bottom:2px groove;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
  }
  
  input[type="text"]:focus,
  select.form-control:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  input[type="tel"],
  select.form-control {
    background: transparent;
    border: none;
    border-bottom:2px groove;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
  }
  
  input[type="tel"]:focus,
  select.form-control:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .mod {
    font-size: 15px;
  }

  .content-wrapper.dashboard-page {
    background: #f4f7fb;
    min-height: calc(100vh - 57px);
    padding-bottom: 2rem;
  }

  .dashboard-title {
    color: #172b4d;
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0;
  }

  .dashboard-subtitle, .dashboard-card-header span, .metric-card small {
    color: #8292a7;
  }

  .dashboard-subtitle {
    margin: .35rem 0 0;
  }

  .dashboard-date {
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 8px;
    color: #607089;
    display: inline-block;
    padding: .6rem .85rem;
  }

  .dashboard-filters {
    align-items: flex-end;
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 10px;
    display: flex;
    gap: .75rem;
    margin: 1rem 0 1.5rem;
    padding: .75rem;
  }

  .filter-group { min-width: 170px; }
  .filter-group label { color: #607089; display: block; font-size: .72rem; font-weight: 600; margin-bottom: .3rem; }
  .filter-group .form-control { border: 1px solid #dce4ed; border-radius: 6px; height: 36px; }
  .filter-range { display: none; }
  .filter-range.is-visible { display: block; }
  .dashboard-filter-button { height: 36px; white-space: nowrap; }

  .dashboard-card {
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(31, 45, 61, .04);
    margin-bottom: 1.5rem;
    padding: 1.25rem;
  }

  .metric-card {
    align-items: center;
    display: flex;
    gap: 1rem;
    min-height: 126px;
  }

  .metric-icon {
    align-items: center;
    border-radius: 12px;
    display: flex;
    font-size: 1.35rem;
    height: 52px;
    justify-content: center;
    width: 52px;
  }

  .metric-card strong {
    color: #172b4d;
    display: block;
    font-size: 1.85rem;
    line-height: 1.1;
  }

  .metric-label { color: #607089; display: block; font-size: .78rem; font-weight: 600; text-transform: uppercase; }
  .metric-card small { display: block; margin-top: .3rem; }
  .metric-blue .metric-icon { background: #e7f0ff; color: #3478df; }
  .metric-amber .metric-icon { background: #fff4dd; color: #d99816; }
  .metric-purple .metric-icon { background: #f1eaff; color: #825ee8; }
  .metric-green .metric-icon { background: #e3f8ef; color: #20a56c; }
  .metric-red .metric-icon { background: #ffebeb; color: #d94a4a; }
  @media (min-width: 1200px) {
    .dashboard-metrics > [class*="col-"] { flex: 0 0 20%; max-width: 20%; }
  }
  @media (min-width: 768px) and (max-width: 1199.98px) {
    .dashboard-metrics > [class*="col-"] { flex: 0 0 33.333333%; max-width: 33.333333%; }
  }
  @media (max-width: 767.98px) {
    .dashboard-metrics > [class*="col-"] { flex: 0 0 50%; max-width: 50%; }
  }

  .dashboard-card-header { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 1.25rem; }
  .dashboard-card-header h3 { color: #253858; font-size: 1rem; font-weight: 700; margin: 0 0 .25rem; }
  .dashboard-card-header i { color: #a9b7c8; font-size: 1.1rem; }
  .dashboard-link { color: #3478df; font-size: .82rem; }
  .activity-chart { align-items: flex-end; display: flex; gap: 1rem; height: 220px; justify-content: space-around; padding-top: 1rem; }
  .activity-column { align-items: center; display: flex; flex: 1; flex-direction: column; height: 100%; justify-content: flex-end; }
  .activity-value { color: #607089; font-size: .75rem; margin-bottom: .35rem; }
  .activity-track { align-items: flex-end; background: #eef3f8; border-radius: 8px; display: flex; height: 145px; overflow: hidden; width: 22px; }
  .activity-bar { background: linear-gradient(180deg, #4388ed, #275fc1); border-radius: 8px; min-height: 4px; width: 100%; }
  .activity-column strong { color: #607089; font-size: .72rem; margin-top: .55rem; }
  .activity-column small { color: #a6b2c0; font-size: .68rem; }
  .progress-card { min-height: 300px; }
  .progress-ring { align-items: center; background: conic-gradient(#20a56c var(--progress), #edf2f7 0); border-radius: 50%; display: flex; height: 145px; justify-content: center; margin: .5rem auto 1.25rem; position: relative; width: 145px; }
  .progress-ring:after { background: #fff; border-radius: 50%; content: ""; height: 112px; position: absolute; width: 112px; }
  .progress-ring div { position: relative; text-align: center; z-index: 1; }
  .progress-ring strong { color: #253858; display: block; font-size: 1.6rem; }
  .progress-ring span { color: #8292a7; font-size: .72rem; }
  .progress-legend { display: grid; gap: .55rem; }
  .progress-legend span { color: #607089; display: flex; font-size: .78rem; justify-content: space-between; }
  .legend-dot { border-radius: 50%; display: inline-block; height: 8px; margin: 0 .35rem 0 0; width: 8px; }
  .dot-pending { background: #f0ad28; } .dot-progress { background: #825ee8; } .dot-done { background: #20a56c; } .dot-rejected { background: #e35d6a; }
  .client-row { margin-bottom: 1rem; }
  .client-name { color: #607089; display: flex; font-size: .78rem; justify-content: space-between; margin-bottom: .35rem; }
  .client-name span { max-width: 85%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .client-name b { color: #253858; }
  .client-track { background: #edf2f7; border-radius: 5px; height: 6px; overflow: hidden; }
  .client-track div { background: #4388ed; border-radius: 5px; height: 100%; }
  .dashboard-table { color: #607089; font-size: .8rem; margin: 0; }
  .dashboard-table thead th { border-top: 0; color: #a0adbc; font-size: .68rem; font-weight: 700; text-transform: uppercase; }
  .dashboard-table td { border-color: #edf2f7; vertical-align: middle; }
  .dashboard-table strong { color: #253858; }
  .status-pill { border-radius: 20px; display: inline-block; font-size: .72rem; padding: .25rem .55rem; }
  .status-success { background: #e3f8ef; color: #168157; }
  .table-arrow { color: #9aaabc; }
  .empty-dashboard { color: #9aaabc; padding: 1rem 0; text-align: center; }

  .report-heading { align-items: center; display: flex; justify-content: space-between; }
  .report-heading h1 { color: #172b4d; font-size: 1.7rem; font-weight: 700; margin: 0; }
  .report-heading p { color: #8292a7; margin: .35rem 0 0; }
  .report-filters { align-items: flex-end; background: #fff; border: 1px solid #e8edf3; border-radius: 10px; display: grid; gap: .75rem; grid-template-columns: 1fr 1fr 2fr 1.5fr auto auto; margin-bottom: 1rem; padding: 1rem; }
  .report-filters label { color: #607089; display: block; font-size: .72rem; font-weight: 600; margin-bottom: .3rem; }
  .report-filters .form-control { border: 1px solid #dce4ed; border-radius: 6px; height: 36px; }
  .report-summary { display: grid; gap: 1rem; grid-template-columns: repeat(5, 1fr); margin-bottom: 1rem; }
  .report-summary-card { align-items: center; background: #fff; border: 1px solid #e8edf3; border-radius: 10px; display: flex; gap: .8rem; min-height: 82px; padding: .85rem 1rem; }
  .report-summary-card > i { align-items: center; border-radius: 10px; display: flex; flex: 0 0 42px; font-size: 1.05rem; height: 42px; justify-content: center; }
  .report-summary span { color: #8292a7; display: block; font-size: .7rem; font-weight: 600; text-transform: uppercase; }
  .report-summary strong { color: #172b4d; display: block; font-size: 1.45rem; margin-top: .25rem; }
  .report-summary-blue { border-top: 3px solid #3478df !important; }
  .report-summary-blue > i { background: #d9e8ff; color: #2464c5; }
  .report-summary-purple { border-top: 3px solid #825ee8 !important; }
  .report-summary-purple > i { background: #e7dcff; color: #6844cf; }
  .report-summary-amber { border-top: 3px solid #d99816 !important; }
  .report-summary-amber > i { background: #ffedbd; color: #b47700; }
  .report-summary-green { border-top: 3px solid #20a56c !important; }
  .report-summary-green > i { background: #d0f3e2; color: #168157; }
  .report-summary-red { border-top: 3px solid #d94a4a !important; }
  .report-summary-red > i { background: #ffdada; color: #b72f2f; }
  .report-document { background: #fff; border: 1px solid #e8edf3; border-radius: 10px; padding: 1.5rem; }
  .report-document-heading { align-items: flex-start; border-bottom: 2px solid #3478df; display: flex; justify-content: space-between; margin-bottom: 1rem; padding-bottom: .85rem; }
  .report-kicker { color: #3478df; font-size: .7rem; font-weight: 700; letter-spacing: .08em; }
  .report-document h2 { color: #253858; font-size: 1.25rem; margin: .3rem 0; }
  .report-document-heading p, .report-period { color: #8292a7; font-size: .78rem; margin: 0; }
  .report-table { color: #607089; font-size: .78rem; }
  .report-table thead th { background: #f5f8fc; border-top: 0; color: #607089; font-size: .68rem; white-space: nowrap; }
  .report-table td { border-color: #edf2f7; vertical-align: middle; }
  .report-table td strong { color: #253858; }
  .report-status { background: #eef4ff; border-radius: 20px; color: #3478df; display: inline-block; font-size: .7rem; padding: .25rem .5rem; white-space: nowrap; }
  .report-evidence { border: 1px solid #dce4ed; border-radius: 5px; display: block; height: 48px; object-fit: cover; width: 64px; }
  .report-empty { color: #9aaabc; padding: 2rem !important; text-align: center; }
  .detalle-evidencia-miniatura { border: 1px solid #dce4ed; border-radius: 5px; display: block; height: 48px; object-fit: cover; width: 64px; }

  @media print {
    @page { margin: 12mm; size: landscape; }
    body, .content-wrapper, .report-page { background: #fff !important; }
    .main-sidebar, .main-header, .content-header, .main-footer, .report-filters, .report-summary, .report-print-button { display: none !important; }
    .report-page .dt-length, .report-page .dt-search, .report-page .dt-info, .report-page .dt-paging { display: none !important; }
    .content-wrapper { margin-left: 0 !important; }
    .report-page .content { padding: 0 !important; }
    .report-document { border: 0; padding: 0; }
    .report-document-heading { display: flex !important; }
    .report-document .table-responsive { overflow: visible !important; }
    .report-table { font-size: 6.5pt; table-layout: fixed; width: 100% !important; }
    .report-table th, .report-table td { overflow-wrap: anywhere; padding: 3px; white-space: normal; }
    .report-table th:nth-child(1), .report-table td:nth-child(1) { width: 8%; }
    .report-table th:nth-child(2), .report-table td:nth-child(2) { width: 10%; }
    .report-table th:nth-child(3), .report-table td:nth-child(3) { width: 11%; }
    .report-table th:nth-child(4), .report-table td:nth-child(4) { width: 8%; }
    .report-table th:nth-child(5), .report-table td:nth-child(5) { width: 10%; }
    .report-table th:nth-child(6), .report-table td:nth-child(6) { width: 9%; }
    .report-table th:nth-child(7), .report-table td:nth-child(7) { width: 15%; }
    .report-table th:nth-child(8), .report-table td:nth-child(8) { width: 10%; }
    .report-table th:nth-child(9), .report-table td:nth-child(9) { width: 7%; }
    .report-table th:nth-child(10), .report-table td:nth-child(10) { width: 7%; }
    .report-table th:nth-child(11), .report-table td:nth-child(11) { width: 5%; }
    .report-evidence { height: 42px; max-width: 100%; object-fit: cover; width: 54px; }
  }

  @media (max-width: 991.98px) {
    .report-filters { grid-template-columns: 1fr 1fr; }
    .report-summary { grid-template-columns: repeat(3, 1fr); }
  }

  @media (max-width: 767.98px) {
    .report-summary { grid-template-columns: repeat(2, 1fr); }
    .dashboard-title { font-size: 1.4rem; }
    .dashboard-date { margin-top: .75rem; }
    .activity-chart { gap: .35rem; }
    .dashboard-card { padding: 1rem; }
    .dashboard-table { min-width: 520px; }
    .dashboard-filters { align-items: stretch; flex-direction: column; }
    .filter-group { min-width: 0; }
    .dashboard-filter-button { width: 100%; }
  }