@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";@keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color:#ebebeb;--highlight-color:#f5f5f5;--animation-duration:1.5s;--animation-direction:normal;--pseudo-element-display:block;background-color:var(--base-color);-webkit-user-select:none;user-select:none;border-radius:.25rem;width:100%;line-height:1;display:inline-flex;position:relative;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);background-repeat:no-repeat;background-image:var(--custom-highlight-background,linear-gradient(90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100%));height:100%;animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute;top:0;left:0;right:0;transform:translate(-100%)}@media (prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display:none}}.navbar{background:var(--navy);z-index:100;border-bottom:1px solid #ffffff0d;align-items:center;gap:2rem;height:56px;padding:0 2rem;display:flex;position:sticky;top:0}.navbar-brand{color:#fff;letter-spacing:-.01em;white-space:nowrap;transition:opacity var(--transition);font-size:1rem;font-weight:700;text-decoration:none}.navbar-brand:hover{opacity:.8}.navbar-city{color:var(--text-muted);white-space:nowrap;margin-left:auto;padding-left:1.5rem;font-size:.8125rem}.navbar-links{height:100%;display:flex}.navbar-links a{color:#94a3b8;transition:color var(--transition);white-space:nowrap;align-items:center;padding:0 .875rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;position:relative}.navbar-links a:after{content:"";opacity:0;height:2px;transition:opacity var(--transition);background:#60a5fa;border-radius:2px 2px 0 0;position:absolute;bottom:0;left:.875rem;right:.875rem}.navbar-links a:hover{color:#e2e8f0}.navbar-links a.active{color:#fff;font-weight:600}.navbar-links a.active:after{opacity:1}.toast-container{z-index:200;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1.25rem;right:1.25rem}@keyframes toastIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.toast{border-radius:var(--radius-md);box-shadow:var(--shadow-md);border-left:4px solid var(--border);pointer-events:all;background:#fff;align-items:center;gap:.75rem;min-width:260px;max-width:380px;padding:.75rem 1rem;animation:.18s toastIn;display:flex}.toast-error{border-left-color:var(--expired-color)}.toast-success{border-left-color:var(--delivered-color)}.toast-info{border-left-color:#60a5fa}.toast-message{color:var(--text-primary);flex:1;font-size:.875rem;line-height:1.4}.toast-close{cursor:pointer;color:var(--text-muted);transition:color var(--transition);background:0 0;border:none;flex-shrink:0;padding:0;font-size:1.1rem;line-height:1}.toast-close:hover{color:var(--text-primary)}.dashboard{max-width:1100px;overflow-y:auto}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem;display:grid}.stat-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), transform var(--transition);background:#fff;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card[data-accent=navy] .stat-icon{color:var(--navy-light)}.stat-card[data-accent=received] .stat-icon{color:var(--received-color)}.stat-card[data-accent=delivered] .stat-icon{color:var(--delivered-color)}.stat-card[data-accent=transit] .stat-icon{color:var(--transit-color)}.stat-card[data-accent=redirect] .stat-icon{color:var(--redirect-color)}.stat-card[data-accent=expired] .stat-icon{color:var(--expired-color)}.stat-card[data-accent=pending] .stat-icon{color:var(--pending-color)}.stat-card[data-accent=deliverable] .stat-icon{color:var(--delivered-color)}.stat-icon{opacity:.85}.stat-value{letter-spacing:-.03em;color:var(--text-primary);font-size:2.125rem;font-weight:700;line-height:1}.stat-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.routes-summary-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.routes-summary-header{align-items:center;gap:1rem;margin-bottom:.875rem;display:flex}.routes-summary-icon{color:var(--navy-light);flex-shrink:0}.routes-summary-value{letter-spacing:-.02em;font-size:1.5rem;font-weight:700;line-height:1}.routes-summary-denom{color:var(--text-secondary);font-size:1rem;font-weight:400}.routes-summary-label{color:var(--text-secondary);margin-top:.25rem;font-size:.8125rem}.routes-summary-link{margin-left:auto}.routes-progress-track{background:var(--border);border-radius:999px;height:5px;margin-bottom:.5rem;overflow:hidden}.routes-progress-fill{background:var(--delivered-color);border-radius:999px;height:100%;transition:width .5s}.routes-progress-caption{color:var(--text-muted);font-size:.8rem}.dashboard-actions{justify-content:center;align-items:center;gap:.75rem;display:flex}.packages-toolbar{align-items:flex-start;gap:.75rem;margin-bottom:.875rem;display:flex}.filter-bar{flex-wrap:wrap;flex:1;gap:.375rem;display:flex}.filter-btn{border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:.375rem;padding:.3rem .7rem;font-family:inherit;font-size:.8125rem;font-weight:500;display:inline-flex}.filter-btn:hover{border-color:var(--navy-light);color:var(--text-primary)}.filter-count{background:var(--surface);color:var(--text-muted);transition:all var(--transition);text-align:center;border-radius:999px;min-width:20px;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.filter-btn-all.active{background:var(--navy);border-color:var(--navy);color:#fff}.filter-btn-received.active{background:var(--received-bg);border-color:var(--received-color);color:var(--received-color)}.filter-btn-transit.active{background:var(--transit-bg);border-color:var(--transit-color);color:var(--transit-color)}.filter-btn-transit-redirect.active{background:var(--redirect-bg);border-color:var(--redirect-color);color:var(--redirect-color)}.filter-btn-pending-route.active{background:var(--pending-bg);border-color:var(--pending-color);color:var(--pending-color)}.filter-btn-delivered.active{background:var(--delivered-bg);border-color:var(--delivered-color);color:var(--delivered-color)}.filter-btn-expired.active{background:var(--expired-bg);border-color:var(--expired-color);color:var(--expired-color)}.filter-btn.active .filter-count{color:inherit;background:#0000001a}.col-num{text-align:center;color:var(--text-secondary)}.col-time{color:var(--text-secondary);font-size:.825rem}.city-cell{flex-direction:column;gap:.1rem;display:flex}.city-cell-code{color:var(--text-primary);font-size:.825rem;font-weight:700}.city-cell-name{color:var(--text-muted);font-size:.7rem;line-height:1.2}.uuid-btn{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex;position:relative}.uuid-btn[data-copied]:after{content:"Copiado";background:var(--navy);color:#fff;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;padding:.15rem .45rem;font-size:.7rem;font-weight:600;position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%)}.uuid-text{color:var(--text-secondary);font-family:IBM Plex Mono,Fira Mono,monospace;font-size:.8rem}.badge-arrow{opacity:.9;font-weight:700}.muted-text{color:var(--text-muted);font-size:.875rem}.action-pending{color:var(--text-muted);cursor:default;white-space:nowrap;font-size:.75rem}.action-dash{text-align:center;color:var(--text-muted);display:block}.empty-state{color:var(--text-muted);flex-direction:column;align-items:center;gap:.875rem;padding:3.5rem 2rem;font-size:.875rem;display:flex}.empty-state svg{opacity:.3}.pagination{flex-shrink:0;justify-content:space-between;align-items:center;padding:.625rem 0;display:flex}.pagination-info{color:var(--text-muted);font-size:.8125rem}.pagination-controls{align-items:center;gap:.25rem;display:flex}.pg-btn{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:32px;height:32px;color:var(--text-primary);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);background:#fff;justify-content:center;align-items:center;padding:0 .5rem;font-family:inherit;font-size:.8125rem;font-weight:500;display:inline-flex}.pg-btn:hover:not(:disabled):not(.pg-active){background:var(--surface);border-color:var(--navy-light)}.pg-btn:disabled{opacity:.35;cursor:not-allowed}.pg-btn.pg-active{background:var(--navy);border-color:var(--navy);color:#fff;cursor:default}.pg-ellipsis{color:var(--text-muted);padding:0 .25rem;font-size:.875rem;line-height:32px}.routes .page-header{margin-bottom:.375rem}.routes-meta{align-items:center;gap:1rem;margin-bottom:.875rem;display:flex}.routes-counter{color:var(--text-secondary);white-space:nowrap;font-size:.8125rem}.routes-counter-num{color:var(--text-primary);font-weight:700}.routes-updated{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.cities-grid{flex:1;gap:.5rem;min-height:0;display:grid}.city-card{border:2px solid var(--card-color,var(--border));border-radius:var(--radius-lg);cursor:default;box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;justify-content:space-between;padding:.625rem .75rem;transition:transform .16s,box-shadow .16s;display:flex;overflow:hidden}.city-card:not(.disabled):hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.city-card.disabled{filter:grayscale();opacity:.35}.city-code{letter-spacing:.04em;color:var(--card-color,var(--text-primary));font-family:IBM Plex Mono,monospace;font-size:1.25rem;font-weight:700;line-height:1}.city-footer{flex-direction:column;gap:.2rem;display:flex}.city-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:600;line-height:1.2;overflow:hidden}.city-status{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.65rem;font-weight:500;display:inline-flex}.city-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.city-card:not(.disabled) .city-dot{background:var(--delivered-color)}.city-card.disabled .city-dot{background:var(--expired-color)}[data-city=hel]{--card-color:#1a1a1a}[data-city=hgw]{--card-color:#8b1a1a}[data-city=ree]{--card-color:#7b5e3a}[data-city=rap]{--card-color:#1a4a8c}[data-city=rnc]{--card-color:#cc1515}[data-city=tal]{--card-color:#a05020}[data-city=lsn]{--card-color:#6b1a9a}[data-city=mti]{--card-color:#2a4a8c}[data-city=spr]{--card-color:#c89000}[data-city=nny]{--card-color:#1a7a1a}[data-city=met]{--card-color:#1a1a9a}[data-city=kld]{--card-color:#8c5a00}[data-city=tar]{--card-color:#1a6aaa}[data-city=zin]{--card-color:#0a7a0a}[data-city=tk3]{--card-color:#5a0a9a}[data-city=rom]{--card-color:#3a3a6a}[data-city=tra]{--card-color:#8c5a20}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0f172a;--navy-mid:#1e293b;--navy-light:#334155;--received-color:#1d4ed8;--received-bg:#dbeafe;--delivered-color:#15803d;--delivered-bg:#dcfce7;--transit-color:#b45309;--transit-bg:#fef3c7;--redirect-color:#c2410c;--redirect-bg:#ffedd5;--expired-color:#b91c1c;--expired-bg:#fee2e2;--pending-color:#6b7280;--pending-bg:#f3f4f6;--border:#e2e8f0;--surface:#f8fafc;--bg:#f1f5f9;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--transition:.15s ease;--shadow-sm:0 1px 3px #00000012, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;font-size:.9375rem;line-height:1.5;overflow:hidden}main{height:calc(100vh - 56px);overflow:hidden}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page{flex-direction:column;max-width:1200px;height:100%;margin:0 auto;padding:2rem;animation:.22s backwards pageIn;display:flex;overflow:hidden}.page-header{margin-bottom:1.75rem}.page-header h1{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:.2rem;font-size:1.625rem;font-weight:700}.page-subtitle{color:var(--text-secondary);font-size:.875rem}.btn{border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition), opacity var(--transition), transform var(--transition);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.375rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover:not(:disabled){background:var(--navy-light)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.3rem .7rem;font-size:.8125rem}.table-wrapper{border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);scrollbar-width:thin;scrollbar-color:var(--border) transparent;background:#fff;flex:1;min-height:0;overflow:auto hidden}.table-wrapper::-webkit-scrollbar{width:5px;height:5px}.table-wrapper::-webkit-scrollbar-track{background:0 0}.table-wrapper::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.875rem}thead th{background:var(--navy);color:#fff;text-align:left;letter-spacing:.04em;text-transform:uppercase;white-space:normal;z-index:1;box-shadow:0 1px 0 var(--border);padding:.65rem .6rem;font-size:.7rem;font-weight:600;position:sticky;top:0}tbody tr{height:calc(10vh - 32px)}tbody td{border-bottom:1px solid var(--border);vertical-align:top;padding:.65rem .6rem}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background var(--transition)}tbody tr:hover td{background:var(--surface)}.badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;gap:.2rem;padding:.22rem .65rem;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-flex}.badge-received{background:var(--received-bg);color:var(--received-color)}.badge-transit{background:var(--transit-bg);color:var(--transit-color)}.badge-transit-redirect{background:var(--redirect-bg);color:var(--redirect-color)}.badge-expired{background:var(--expired-bg);color:var(--expired-color)}.badge-delivered{background:var(--delivered-bg);color:var(--delivered-color)}.badge-pending,.badge-pending-route{background:var(--pending-bg);color:var(--pending-color)}.footer{height:46px;color:var(--text-muted);border-top:1px solid var(--border);background:#fff;justify-content:center;align-items:center;font-size:.8rem;display:flex}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.auth-loading{background:var(--bg);flex-direction:column;height:100vh;display:flex}.auth-loading-nav{background:var(--navy);flex-shrink:0;align-items:center;gap:2rem;height:56px;padding:0 2rem;display:flex}.auth-loading-nav-links{gap:1.5rem;display:flex}.auth-loading-body{flex-direction:column;flex:1;gap:1rem;width:100%;max-width:1100px;margin:0 auto;padding:2rem;display:flex;overflow:hidden}.auth-sk-cards{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.auth-sk-actions{justify-content:center;gap:.75rem;display:flex}
