/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.relative{position:relative}.container{width:100%}.mx-auto{margin-inline:auto}.contents{display:contents}.flex{display:flex}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.fill-current{fill:currentColor}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.journey-card{background-color:#fff;border-radius:6px;flex-direction:column;gap:6px;width:100%;max-width:300px;margin-bottom:8px;padding:8px;transition:box-shadow .2s ease-in-out;display:flex;box-shadow:0 1px 3px #0000001a}.journey-card:hover{box-shadow:0 3px 6px #00000026}.color-red{border-left:5px solid #ff4136}.color-amber{border-left:5px solid #ff851b}.color-green{border-left:5px solid #2ecc40}.color-gray{border-left:5px solid #aaa}.card-header{color:#666;font-size:.65rem}.card-route{flex-direction:column;gap:4px;display:flex}.route-item{align-items:center;gap:6px;display:flex}.label{color:#666;text-align:center;margin:auto;font-size:.75rem;font-weight:500}.from,.to{color:#333;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.75rem;overflow:hidden}.card-time{justify-content:center;align-items:baseline;padding:6px 0;display:flex}.time-value{color:#333;font-size:1.75rem;font-weight:700}.time-unit{color:#666;margin-left:3px;font-size:.9rem}.status-message{color:#333;text-align:center;font-size:.9rem;font-weight:700}.color-red .status-message{color:#ff4136}.color-amber .status-message{color:#ff851b}.card-footer{color:#666;text-align:right;font-size:.65rem}@media (max-width:480px){.journey-card{max-width:250px;padding:6px}.time-value{font-size:1.5rem}.time-unit,.status-message{font-size:.8rem}.label,.from,.to{font-size:.7rem}}.dashboard{color:#333;background-color:#f5f7fa;flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex}.dashboard-header{background-color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem;display:flex;box-shadow:0 2px 4px #0000001a}.logo-and-title h1{margin:0;font-size:1.5rem;font-weight:600}.controls{align-items:center;gap:1rem;display:flex}.view-mode-buttons{gap:.25rem;display:flex}.view-button{cursor:pointer;background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.view-button.active{color:#fff;background-color:#333;border-color:#333}.status-bar{color:#666;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.status.loading{color:#0074d9;align-items:center;display:flex}.status.loading:before{content:"";border:2px solid #0074d9;border-top-color:#0000;border-radius:50%;width:.75rem;height:.75rem;margin-right:.5rem;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.refresh-button{cursor:pointer;background-color:#0000;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;font-size:.8rem}.refresh-button:hover{background-color:#f5f5f5}.error-message{color:#9f3a38;background-color:#fff6f6;border:1px solid #e0b4b4;border-radius:4px;margin:1rem;padding:.75rem 1rem}.dashboard-content{flex:1;gap:1rem;min-height:0;padding:1rem;display:flex;overflow:hidden}.filter-sidebar{flex-shrink:0;width:300px}.main-content{flex-direction:column;flex:1;gap:1rem;display:flex;overflow:hidden}.dashboard-content.map .list-container,.dashboard-content.list .map-container{display:none}.dashboard-content.split .main-content{flex-direction:column;height:100%}.map-container,.list-container{background-color:#fff;border-radius:8px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 2px 4px #0000001a}.dashboard-content.split .map-container{flex:0 0 400px;margin-bottom:1rem}.dashboard-content.map .map-container{flex:1}.dashboard-content.split .list-container{flex:auto;max-height:calc(100vh - 600px);overflow-y:auto}.section-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:1rem;display:flex}.section-header h2{margin:0;font-size:1.25rem;font-weight:500}.record-count{color:#666;font-size:.85rem}.list-container{flex-direction:column;flex:1;display:flex;overflow-y:auto}.no-data-message{text-align:center;color:#666;padding:2rem}.location-group{border-bottom:1px solid #eee;width:100%;padding:1rem}.location-heading{border-bottom:1px solid #f0f0f0;align-items:center;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:500;display:flex}.location-heading:before{content:"";background-color:#333;border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.journey-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.dashboard-footer{text-align:center;color:#666;background-color:#fff;border-top:1px solid #eee;flex-shrink:0;margin-top:auto;padding:1rem;font-size:.85rem}.debug-info{color:#999;background-color:#f5f5f5;border-radius:4px;margin-left:.5rem;padding:.25rem .5rem;font-size:.75rem}@media (max-width:1024px){.dashboard-content{flex-direction:column}.filter-sidebar{width:100%;max-width:100%}.controls{flex-direction:column;align-items:flex-start;gap:.75rem}}@media (max-width:768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.journey-cards{grid-template-columns:1fr}}.map-wrapper{width:100%;height:100%;min-height:400px;position:relative}.map-container{width:100%;height:100%;min-height:400px}.map-legend{z-index:1000;background-color:#ffffffe6;border-radius:4px;padding:8px;font-size:12px;position:absolute;bottom:10px;right:10px;box-shadow:0 1px 4px #0003}.legend-title{text-align:center;margin:0 0 4px;font-size:12px;font-weight:600}.legend-item{align-items:center;margin-bottom:4px;display:flex}.legend-marker{border:1px solid #fffc;border-radius:50%;width:12px;height:12px;margin-right:6px;display:inline-block}.legend-marker.red{background-color:#ff4136}.legend-marker.amber{background-color:#ff851b}.legend-marker.green{background-color:#2ecc40}.legend-marker.gray{background-color:#aaa}:global(.leaflet-container){font-family:inherit}:global(.map-container){height:100%;min-height:400px}:global(.maplibregl-map){font-family:inherit}:global(.maplibregl-popup-content){border-radius:6px;box-shadow:0 4px 12px #0003}:global(.maplibregl-popup-tip){border-top-color:#fff}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
