.gel-shell.gel-rastreo { margin: 0; min-height: 100%; height: auto; background: #F4F7FB; color: #243447; font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; }
.gel-shell.gel-rastreo-iframe { background: #fff; }
.gel-rastreo .gel-rastreo-page { width: 100%; max-width: 960px; margin: 0 auto; padding: 24px 16px; }
.gel-rastreo-iframe .gel-rastreo-page { padding: 12px; }
.gel-rastreo .gel-rastreo-brand { text-align: center; margin-bottom: 20px; }
.gel-rastreo .gel-rastreo-brand img { max-width: 220px; max-height: 80px; width: auto; height: auto; }
.gel-rastreo .container { width: 100%; padding: 0; }
.gel-rastreo .gel-card { border: 1px solid #E5E7EB; border-radius: 12px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.05); margin-bottom: 20px; }
.gel-rastreo .gel-card-body { padding: 20px; }
.gel-rastreo .gel-rastreo-heading { border-radius: 11px 11px 0 0; padding: 20px; color: #fff; background: linear-gradient(135deg,#1677B8,#007F83); }
.gel-rastreo .gel-rastreo-heading > .glyphicon { float: left; font-size: 24px; margin: 6px 12px 0 0; }
.gel-rastreo .gel-rastreo-heading h1 { margin: 0 0 6px; color: #fff; font-size: 24px; line-height: 1.3; font-weight: 600; }
.gel-rastreo .gel-rastreo-heading p { margin: 0; font-size: 14px; }
.gel-rastreo .gel-rastreo-search-fields { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: end; }
.gel-rastreo label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.gel-rastreo .form-control { min-width: 0; width: 100%; height: 48px; font: inherit; border: 1px solid #CBD5E1; border-radius: 8px; box-shadow: none; }
.gel-rastreo .gel-rastreo-button { min-height: 48px; padding: 12px 20px; border: 1px solid #1677B8; border-radius: 8px; background: #1677B8; color: #fff; font: inherit; font-weight: 600; white-space: normal; }
.gel-rastreo .gel-rastreo-button:hover { color: #fff; background: #125F93; }
.gel-rastreo a:focus-visible, .gel-rastreo button:focus-visible, .gel-rastreo input:focus { outline: 3px solid #00A6A6; outline-offset: 3px; }
.gel-rastreo .gel-rastreo-help { margin: 12px 0 0; font-size: 14px; color: #526477; }
.gel-rastreo .gel-rastreo-section { margin: 0 0 12px; font-size: 18px; font-weight: 600; color: #163A5F; }
.gel-rastreo .gel-rastreo-results { padding: 20px 16px 0; }
.gel-rastreo .gel-rastreo-results .row { margin-right: -8px; margin-left: -8px; }
.gel-rastreo .gel-rastreo-results [class*="col-"] { padding-right: 8px; padding-left: 8px; min-width: 0; }
.gel-rastreo .table { margin-bottom: 20px; width: 100%; table-layout: fixed; }
.gel-rastreo .table > tbody > tr > td { border-top: 1px solid #EDF1F5; padding-top: 16px; padding-bottom: 16px; }
.gel-rastreo .table > tbody > tr:first-child > td { border-top: 0; }
.gel-rastreo .gel-rastreo-timeline td:first-child { width: 76px; }
.gel-rastreo .gel-rastreo-timeline img { max-width: 56px; height: auto; }
.gel-rastreo .fecha { color: #526477; font-size: 13px; font-weight: 500; }
.gel-rastreo .detalle { font-size: 16px; }
.gel-rastreo td, .gel-rastreo th, .gel-rastreo .gel-rastreo-file, .gel-rastreo .gel-rastreo-download { overflow-wrap: anywhere; }
.gel-rastreo .gel-rastreo-delivery { margin-bottom: 20px; }
.gel-rastreo .gel-rastreo-delivery table { width: 100%; }
.gel-rastreo .gel-rastreo-delivery td { padding: 8px 0; }
.gel-rastreo .gel-rastreo-empty { padding: 20px; margin: 0; color: #526477; }
.gel-rastreo .gel-rastreo-error { color: #A61B29; background: #FFF1F2; padding: 12px; border-radius: 8px; }
.gel-rastreo .gel-rastreo-auth { max-width: 580px; margin: 0 auto; }
.gel-rastreo .descargar { text-align: center; margin: 16px 0; }
.gel-rastreo .descargar a { text-decoration: none; color: #DC3545; }
.gel-rastreo .descargar i { font-size: 48px; cursor: pointer; }
.gel-rastreo .descargar p { margin-top: 10px; font-size: 16px; }
.gel-rastreo .modal-dialog { width: auto; max-width: 900px; margin: 20px; }
@media (min-width: 940px) { .gel-rastreo .modal-dialog { margin: 20px auto; } }
@media (max-width: 600px) {
    .gel-rastreo .gel-rastreo-page { padding: 12px; }
    .gel-rastreo .gel-card-body, .gel-rastreo .gel-rastreo-heading { padding: 16px; }
    .gel-rastreo .gel-rastreo-heading h1 { font-size: 21px; }
    .gel-rastreo .gel-rastreo-search-fields { grid-template-columns: minmax(0,1fr); gap: 12px; }
    .gel-rastreo .gel-rastreo-results { padding: 16px 8px 0; }
    .gel-rastreo .gel-rastreo-timeline td:first-child { width: 56px; }
    .gel-rastreo .gel-rastreo-timeline img { max-width: 40px; }
    .gel-rastreo .gel-rastreo-delivery td { display: block; padding: 4px 0; }
    .gel-rastreo .gel-rastreo-auth .gel-rastreo-button { width: 100%; }
    .gel-rastreo .gel-rastreo-novedades th:first-child { width: 100px; }
}
.gel-rastreo #gel-rastreo-auth-modal .modal-dialog { max-width: 480px; }
.gel-rastreo #gel-rastreo-auth-modal .modal-title { font-size: 21px; }
.gel-rastreo #gel-rastreo-auth-modal .form-control { height: 48px; font-size: 16px; }
.gel-rastreo #gel-rastreo-auth-modal .help-block { margin-top: 16px; }
.gel-rastreo #gel-rastreo-auth-modal .gel-rastreo-auth-error { color: #b42318; margin-top: 12px; }
.gel-rastreo .gel-rastreo-guia { display: flex; flex-wrap: wrap; gap: 12px; min-width: 0; }
.gel-rastreo .gel-rastreo-documents { margin-top: 20px; }
.gel-rastreo .gel-rastreo-documents h2 { margin: 0 0 8px; font-size: 20px; color: #163A5F; }
.gel-rastreo .gel-rastreo-documents h3 { margin: 16px 0 10px; font-size: 14px; font-weight: 600; }
.gel-rastreo .gel-rastreo-document-count { display: inline-block; margin-left: 6px; padding: 3px 9px; border-radius: 20px; background: #EAF3FA; color: #125F93; font-size: 12px; }
.gel-rastreo .gel-rastreo-document-grid { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px; min-width: 0; }
.gel-rastreo .gel-rastreo-documents .gel-rastreo-download { display: inline-flex; flex: 0 1 auto; align-items: center; gap: 10px; min-width: 0; max-width: min(280px, 100%); min-height: 48px; margin: 0; padding: 10px 12px; border: 1px solid #DCE7EF; border-radius: 8px; background: #F4F7FB; color: #163A5F; font-size: 14px; line-height: 1.4; text-decoration: none; transition: background-color .15s, border-color .15s, box-shadow .15s; }
.gel-rastreo .gel-rastreo-documents .gel-rastreo-download:hover { background: #EAF3FA; border-color: #1677B8; color: #125F93; text-decoration: none; }
.gel-rastreo .gel-rastreo-documents .gel-rastreo-download:focus { background: #EAF3FA; border-color: #1677B8; outline: 2px solid #007F83; outline-offset: 2px; }
.gel-rastreo .gel-rastreo-download-name { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.gel-rastreo .gel-rastreo-file-icon { flex: 0 0 auto; color: #1677B8; font-size: 17px; }
.gel-rastreo .gel-rastreo-download-icon { flex: 0 0 auto; color: #007F83; font-size: 14px; }
.gel-rastreo .gel-rastreo-documents .gel-rastreo-guia .gel-rastreo-download { background: #EAF3FA; border-color: #B9D5E8; }
@media (max-width: 600px) { .gel-rastreo .gel-rastreo-documents .gel-rastreo-download { max-width: 100%; } }
