.trip-tracking-map{--map-surface: var(--color-white, #fff);--map-text: var(--color-gray-900, #111827);--map-muted: var(--color-gray-600, #4b5563);--map-border: var(--color-gray-300, #d1d5db);--map-soft: var(--color-gray-50, #f9fafb);position:relative;color:var(--map-text)}.dark .trip-tracking-map{--map-surface: var(--color-gray-900, #111827);--map-text: var(--color-gray-100, #f3f4f6);--map-muted: var(--color-gray-300, #d1d5db);--map-border: var(--color-gray-600, #4b5563);--map-soft: var(--color-gray-800, #1f2937)}.trip-tracking-map [x-cloak]{display:none!important}.trip-map-toolbar,.trip-map-actions,.trip-map-date-controls,.trip-map-details>div{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.trip-map-toolbar{justify-content:space-between;align-items:flex-end;gap:1rem}.trip-map-date{position:relative;min-width:0}.trip-map-layer-picker{min-width:9rem;max-width:100%}.trip-workspace .trip-tracking-map .trip-map-layer-picker select{margin-top:0;min-height:2.75rem}.trip-workspace .trip-tracking-map .trip-map-date-input{width:8.25rem;min-height:2.75rem;margin-top:0}.trip-map-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.75rem;min-width:2.75rem;padding:.5rem .7rem;border:1px solid var(--map-border);border-radius:.65rem;background:var(--map-surface);color:var(--map-text);font-size:.8125rem;font-weight:600;cursor:pointer}.trip-map-button:hover:not(:disabled),.trip-map-calendar-day:hover:not(:disabled){background:var(--map-soft)}.trip-map-button:disabled,.trip-map-calendar-day:disabled{opacity:.45;cursor:default}.trip-tracking-map :is(button,input,select,a):focus-visible{outline:3px solid #3b82f6;outline-offset:3px}.trip-map-frame{position:relative;min-width:0;border:1px solid var(--map-border);border-radius:.85rem;overflow:hidden;isolation:isolate}.trip-map-canvas{height:clamp(20rem,48vh,34rem);width:100%;background:var(--map-soft);z-index:0}.trip-map-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;background:var(--map-soft);text-align:center;color:var(--map-muted)}.trip-map-overlay[hidden]{display:none}.trip-map-loading{position:absolute;left:.75rem;top:.75rem;max-width:calc(100% - 5rem);padding:.5rem .75rem;border-radius:.5rem;background:var(--map-surface);color:var(--map-text);box-shadow:0 1px 5px #0002;font-size:.8125rem;pointer-events:none}.trip-map-status{display:inline-flex;align-items:center;align-self:flex-start;padding:.35rem .65rem;border-radius:999px;background:var(--map-soft);border:1px solid var(--map-border);color:var(--map-text);font-size:.75rem;font-weight:600}.trip-map-status[data-state=live]{color:#065f46;background:#ecfdf5;border-color:#6ee7b7}.trip-map-status[data-state=delayed]{color:#92400e;background:#fffbeb;border-color:#fcd34d}.trip-map-details{display:grid;gap:.3rem;font-size:.8125rem;color:var(--map-muted)}.trip-map-details strong{color:var(--map-text)}.trip-map-position-key{width:.7rem;height:.7rem;border-radius:100%;background:#047857;outline:2px solid #fff;box-shadow:0 0 0 3px #047857;margin:0 .2rem}.trip-map-notice{padding:.75rem 1rem;border:1px solid #fcd34d;border-radius:.65rem;background:#fffbeb;color:#78350f;font-size:.8125rem}.trip-map-error-text{color:#b91c1c!important}.dark .trip-map-error-text{color:#fca5a5!important}.trip-map-calendar{position:absolute;top:100%;left:0;z-index:20;width:min(21rem,calc(100vw - 3rem));margin-top:.5rem;padding:.75rem;border:1px solid var(--map-border);border-radius:.85rem;background:var(--map-surface);box-shadow:0 8px 24px #0003}.trip-map-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem}.trip-map-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:.5rem 0;gap:2px}.trip-map-weekday,.trip-map-calendar-day{text-align:center;font-size:.8125rem}.trip-map-weekday{color:var(--map-muted);padding:.4rem 0}.trip-map-calendar-day{min-height:2.75rem;border:0;border-radius:.5rem;background:var(--map-surface);color:var(--map-text);cursor:pointer}.trip-map-calendar-day[aria-pressed=true]{background:#1d4ed8;color:#fff;font-weight:700}.trip-map-calendar-day[aria-pressed=true]:hover{background:#1e40af}.trip-map-calendar-outside{color:var(--map-muted)}.trip-map-calendar-close{width:100%}.trip-tracking-map .leaflet-control-attribution{font-size:11px;color:#333;background:#fffffff2}.trip-tracking-map .leaflet-control-attribution a{color:#075985}.trip-tracking-map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}.trip-tracking-map .leaflet-tooltip{color:#111827;background:#fff}@media(max-width:480px){.trip-map-date-controls{gap:.375rem}.trip-workspace .trip-tracking-map .trip-map-date-input{width:7.5rem}.trip-map-date-controls .trip-map-button{padding-inline:.5rem}.trip-map-actions{width:100%}.trip-map-actions .trip-map-button{flex:1}}
