:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #eff6ff;--success: #16a34a;--success-light: #f0fdf4;--warning: #f59e0b;--warning-light: #fffbeb;--danger: #dc2626;--danger-light: #fef2f2;--bg: #0f172a;--surface: #1e293b;--surface-hover: #334155;--border: #334155;--text: #f8fafc;--text-muted: #94a3b8;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}#root{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.brand-badge{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.15rem;color:#fff;letter-spacing:-.02em}.brand-badge .logo-icon{background:linear-gradient(135deg,#2563eb,#38bdf8);color:#fff;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center}.header-actions{display:flex;align-items:center;gap:.75rem}.nav-tabs{display:flex;background:var(--surface);border-bottom:1px solid var(--border);padding:0 .5rem;overflow-x:auto}.nav-tab{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem;font-size:.875rem;font-weight:600;color:var(--text-muted);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;background:none;border-top:none;border-left:none;border-right:none;transition:all .2s}.nav-tab.active{color:#38bdf8;border-bottom-color:#38bdf8}.container{max-width:900px;margin:0 auto;padding:1rem;width:100%;flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 4px 6px -1px #0003}.card-title{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:all .15s ease-in-out;text-decoration:none}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#15803d}.btn-warning{background:var(--warning);color:#1c1917}.btn-danger{background:var(--danger);color:#fff}.btn-secondary{background:var(--surface-hover);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:#475569}.btn-sm{padding:.4rem .75rem;font-size:.8rem}.btn-lg{padding:1rem 1.5rem;font-size:1.1rem;font-weight:700;border-radius:10px}.btn-block{width:100%}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-blue{background:#2563eb33;color:#60a5fa;border:1px solid rgba(37,99,235,.4)}.badge-green{background:#16a34a33;color:#4ade80;border:1px solid rgba(22,163,74,.4)}.badge-yellow{background:#f59e0b33;color:#fde047;border:1px solid rgba(245,158,11,.4)}.badge-gray{background:#94a3b833;color:#cbd5e1;border:1px solid rgba(148,163,184,.4)}.stop-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem;transition:border-color .2s}.stop-card.active-stop{border-color:#38bdf8;background:#38bdf80d}.stop-card.delivered-stop{border-color:#16a34a;opacity:.75}.stop-number{width:36px;height:36px;border-radius:50%;background:var(--surface-hover);color:var(--text);font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stop-card.active-stop .stop-number{background:#38bdf8;color:#0f172a}.stop-card.delivered-stop .stop-number{background:#16a34a;color:#fff}.stop-info{flex:1;min-width:0}.stop-address{font-weight:600;font-size:.95rem;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stop-meta{font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.stop-actions{display:flex;align-items:center;gap:.4rem}.nav-hero{background:linear-gradient(145deg,#1e293b,#0f172a);border:2px solid #38bdf8;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.nav-hero-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.nav-hero-address{font-size:1.35rem;font-weight:700;color:#fff;line-height:1.3;margin-bottom:.5rem}.nav-hero-tracking{font-size:.9rem;color:#94a3b8;font-family:monospace}.nav-hero-brand{display:inline-block;background:#38bdf826;color:#38bdf8;padding:.2rem .5rem;border-radius:4px;font-weight:600;font-size:.8rem;margin-bottom:.5rem}.nav-hero-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.25rem}.gate-code-pill{background:#f59e0b26;border:1px solid rgba(245,158,11,.4);color:#fbbf24;padding:.4rem .75rem;border-radius:8px;font-size:.9rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem}.map-view-box{width:100%;height:260px;background:#090d16;border-radius:12px;border:1px solid var(--border);position:relative;overflow:hidden;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:center}.preview-table{width:100%;border-collapse:collapse;font-size:.85rem}.preview-table th,.preview-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.preview-table th{background:#ffffff0d;color:var(--text-muted);font-weight:600}.dropzone{border:2px dashed var(--border);border-radius:12px;padding:2rem 1rem;text-align:center;cursor:pointer;background:#ffffff05;transition:all .2s}.dropzone:hover{border-color:#38bdf8;background:#38bdf808}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}
