:root{--color-primary: #b5304a;--color-primary-dark: #8f2439;--color-bg: #faf7f5;--color-card: #ffffff;--color-text: #2b2320;--color-muted: #766c68;--color-border: #e6ddd8;--color-success: #2e7d4f;--color-warning: #b8860b;--color-danger: #c0392b;--radius: 10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text)}h1,h2,h3{color:var(--color-primary-dark)}a{color:var(--color-primary)}.muted{color:var(--color-muted)}.page-loading{padding:3rem;text-align:center}.btn{display:inline-block;border:none;border-radius:var(--radius);padding:.6rem 1.1rem;font-size:.95rem;cursor:pointer;text-decoration:none;font-weight:600;transition:opacity .15s ease}.btn:hover{opacity:.9}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-secondary{background:#efe6e2;color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.btn-sm{padding:.35rem .7rem;font-size:.85rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-card{background:var(--color-card);border-radius:var(--radius);padding:2rem;width:100%;max-width:380px;box-shadow:0 4px 24px #00000014;text-align:center}.auth-subtitle{margin-top:-.5rem;margin-bottom:1.5rem;color:var(--color-muted)}.form{display:flex;flex-direction:column;gap:1rem;text-align:left}.form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--color-text)}.form input,.form select,.form textarea{padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;font-family:inherit}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem}.form-grid .span-2{grid-column:span 2}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}.form-error{color:var(--color-danger);font-weight:600}.form-success{color:var(--color-success);font-weight:600}.app-shell{min-height:100vh}.navbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;background:var(--color-primary-dark);color:#fff;padding:.75rem 1.5rem}.navbar-brand{font-weight:800;font-size:1.2rem}.navbar-links{display:flex;gap:1rem;flex-wrap:wrap}.navbar-link{color:#f2e5e0;text-decoration:none;padding:.3rem .6rem;border-radius:6px;font-size:.9rem}.navbar-link.active,.navbar-link:hover{background:#ffffff26;color:#fff}.navbar-user{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.app-main{padding:1.5rem;max-width:1200px;margin:0 auto}.filters-bar{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filters-bar label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600}.filters-bar select{padding:.4rem .6rem;border-radius:8px;border:1px solid var(--color-border)}.table-wrap{overflow-x:auto;margin-bottom:2rem}.table{width:100%;border-collapse:collapse;background:var(--color-card);border-radius:var(--radius);overflow:hidden;font-size:.9rem}.table th,.table td{padding:.65rem .8rem;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.table th{background:#f3ebe7;font-weight:700}.table-actions{display:flex;gap:.4rem;flex-wrap:wrap}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700;color:#fff}.badge-status-recibido{background:#8a8a8a}.badge-status-en_proceso{background:#c9891f}.badge-status-listo{background:#2e7d4f}.badge-status-entregado{background:#2b6cb0}.badge-status-cancelado{background:#c0392b}.location-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}.location-list li{background:var(--color-card);border-radius:var(--radius);padding:.75rem 1rem;border:1px solid var(--color-border)}.tracking-page{min-height:100vh;padding:1.5rem 1rem 3rem;display:flex;flex-direction:column;align-items:center}.tracking-header{text-align:center;margin-bottom:1rem}.tracking-card{background:var(--color-card);border-radius:var(--radius);padding:1.5rem;width:100%;max-width:480px;box-shadow:0 4px 24px #0000000f}.tracking-folio{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem}.tracking-folio strong{font-size:1.3rem;color:var(--color-primary-dark)}.tracking-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}.tracking-details p{margin:.2rem 0 0}.tracking-money{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#f8f3f1;border-radius:var(--radius);padding:1rem}.tracking-money strong{display:block;font-size:1.05rem}.on-time-banner{border-radius:8px;padding:.6rem .9rem;font-weight:700;margin-bottom:1.25rem;text-align:center}.on-time-banner.tone-success{background:#e3f3e8;color:var(--color-success)}.on-time-banner.tone-warning{background:#fbf1da;color:var(--color-warning)}.on-time-banner.tone-danger{background:#fbe4e1;color:var(--color-danger)}.on-time-banner.tone-neutral{background:#eee;color:var(--color-muted)}.stepper{margin-bottom:1rem}.stepper-cancelled{background:#fbe4e1;color:var(--color-danger);padding:.5rem;border-radius:8px;text-align:center;font-weight:700;margin-bottom:1rem}.stepper-track{display:flex;align-items:flex-start}.stepper-step{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;width:70px;text-align:center}.stepper-dot{width:18px;height:18px;border-radius:50%;background:#d8cfca;margin-bottom:.4rem}.stepper-step.reached .stepper-dot{background:var(--color-success)}.stepper-step.current .stepper-dot{outline:3px solid #bfe3cc}.stepper-label{font-size:.72rem;color:var(--color-muted)}.stepper-step.reached .stepper-label{color:var(--color-text);font-weight:700}.stepper-line{flex:1 1 auto;height:3px;background:#d8cfca;margin-top:8px}.stepper-line.reached{background:var(--color-success)}.receipt-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem 3rem}.receipt-actions{display:flex;gap:.75rem;margin-bottom:1rem;width:100%;max-width:420px;justify-content:flex-end}.receipt-card{background:var(--color-card);border-radius:var(--radius);padding:2rem;width:100%;max-width:420px;box-shadow:0 4px 24px #0000000f;text-align:center}.receipt-card hr{border:none;border-top:1px dashed var(--color-border);margin:1rem 0}.receipt-row{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;text-align:left;font-size:.92rem}.receipt-qr{display:flex;flex-direction:column;align-items:center;gap:.5rem}.receipt-url{font-size:.75rem;word-break:break-all;color:var(--color-muted)}@media print{.no-print{display:none!important}body{background:#fff}.receipt-card{box-shadow:none;max-width:100%}}
