@tailwind base;@tailwind components;@tailwind utilities;body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:all .3s ease}.light-theme{background-color:#fff;color:#1f2937}.dark-theme{background-color:#111827;color:#f9fafb}.app{min-height:100vh;overflow-x:hidden;padding:1rem;transition:all .3s ease}.light-theme.app{background-color:#fff}.dark-theme.app{background-color:#111827}.container{display:flex;flex-direction:column;height:calc(100vh - 2rem);margin:0 auto;max-width:1200px}.header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.header-content{flex:1;text-align:center}.main-title{-webkit-text-stroke:.5px currentColor;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:2.75rem;font-weight:900;letter-spacing:-.025em;margin:0;text-shadow:1px 1px 0 #0000001a,2px 2px 0 #0000000d}.light-theme .main-title{color:#111827}.dark-theme .main-title{color:#f9fafb}.subtitle{font-size:1rem;font-weight:400;margin:.5rem 0 0}.light-theme .subtitle{color:#6b7280}.dark-theme .subtitle{color:#d1d5db}.header-controls{display:flex;flex-shrink:0;gap:.5rem}.settings-button,.theme-toggle{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;height:2.5rem;justify-content:center;transition:all .2s ease;width:2.5rem}.light-theme .settings-button,.light-theme .theme-toggle{background-color:#f3f4f6;color:#6b7280}.light-theme .settings-button:hover,.light-theme .theme-toggle:hover{background-color:#e5e7eb;color:#374151}.dark-theme .settings-button,.dark-theme .theme-toggle{background-color:#374151;color:#d1d5db}.dark-theme .settings-button:hover,.dark-theme .theme-toggle:hover{background-color:#4b5563}.content-wrapper{background-color:#fff;border:2px solid #e5e7eb;border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a;padding:1.5rem}.main-grid{display:grid;flex:1;gap:1.5rem;grid-template-columns:1fr 1fr;min-height:0}.left-column,.right-column{display:flex;flex-direction:column;gap:1rem}.section{border:1px solid;border-radius:.75rem;padding:1.25rem;transition:all .3s ease}.light-theme .section{background-color:#fff;border-color:#e5e7eb;box-shadow:0 10px 15px -3px #0000001a}.dark-theme .section{background-color:#1f2937;border-color:#374151;box-shadow:0 10px 15px -3px #0000004d}.section-header{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.section-header h2{font-size:1.125rem;font-weight:600;margin:0}.locations-section{border-color:#bfdbfe!important}.light-theme .locations-section{background-color:#eff6ff}.dark-theme .locations-section{background-color:#1e3a8a;border-color:#3b82f6!important}.locations-section .section-header{color:#1e3a8a}.dark-theme .locations-section .section-header{color:#bfdbfe}.events-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.event-card{display:flex;flex-direction:column;min-height:180px}.event1-card{border-color:#bbf7d0!important}.light-theme .event1-card{background-color:#f0fdf4}.dark-theme .event1-card{background-color:#14532d;border-color:#16a34a!important}.event1-card .section-header{color:#14532d}.dark-theme .event1-card .section-header{color:#bbf7d0}.event2-card{border-color:#e9d5ff!important}.light-theme .event2-card{background-color:#faf5ff}.dark-theme .event2-card{background-color:#581c87;border-color:#8b5cf6!important}.event2-card .section-header{color:#581c87}.dark-theme .event2-card .section-header{color:#e9d5ff}.input-group{flex:1;margin-bottom:1rem;width:100%}.input-group:last-child{margin-bottom:0}.input-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.light-theme .input-group label{color:#374151}.dark-theme .input-group label{color:#d1d5db}.location-input-container{align-items:stretch;display:flex;gap:.5rem;width:100%}.location-input-container .location-input{flex:1;min-width:0;padding-right:2.5rem}.location-input-wrapper{align-items:center;display:flex;flex:1;position:relative}.location-clear-button{align-items:center;background-color:#e5e7eb;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;height:1.5rem;justify-content:center;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:all .2s ease;width:1.5rem;z-index:5}.location-clear-button:hover{background-color:#d1d5db;color:#374151}.bookmark-buttons{display:flex;gap:.25rem}.bookmark-dropdown{position:relative}.bookmark-button,.save-button{align-items:center;background-color:#fff;border:1px solid;border-radius:.5rem;cursor:pointer;display:flex;height:2.5rem;justify-content:center;transition:all .2s ease;width:2.5rem}.light-theme .bookmark-button,.light-theme .save-button{border-color:#d1d5db;color:#6b7280}.light-theme .bookmark-button:hover,.light-theme .save-button:hover{background-color:#eff6ff;border-color:#3b82f6;color:#3b82f6}.dark-theme .bookmark-button,.dark-theme .save-button{background-color:#374151;border-color:#4b5563;color:#d1d5db}.dark-theme .bookmark-button:hover,.dark-theme .save-button:hover{background-color:#1e3a8a;border-color:#60a5fa;color:#60a5fa}.bookmark-saved{border-color:#fbbf24!important;color:#fbbf24!important}.light-theme .bookmark-saved{background-color:#fef3c7}.dark-theme .bookmark-saved{background-color:#451a03}.bookmark-saved:hover{border-color:#f59e0b!important;color:#f59e0b!important}.light-theme .bookmark-saved:hover{background-color:#fde68a}.dark-theme .bookmark-saved:hover{background-color:#78350f}.bookmark-dropdown-content{background-color:#fff;border:2px solid #bfdbfe;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a;margin-top:.25rem;max-height:400px;max-width:320px;min-width:280px;overflow-x:visible;overflow-y:auto;position:absolute;right:0;top:100%;z-index:20}.no-bookmarks{color:#6b7280;font-size:.875rem;padding:1rem;text-align:center}.bookmark-item{align-items:center;border-bottom:1px solid #e5e7eb;display:flex}.bookmark-item:last-child{border-bottom:none}.bookmark-load-button{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;flex:1;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease}.bookmark-load-button:hover{background-color:#eff6ff;color:#1e40af}.bookmark-load-button span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookmark-edit-button{align-items:center;background:none;border:none;border-radius:.25rem;color:#3b82f6;cursor:pointer;display:flex;height:2rem;justify-content:center;transition:all .2s ease;width:2rem}.bookmark-edit-button:hover{background-color:#eff6ff;color:#1d4ed8}.bookmark-edit-form{overflow:visible;padding:.75rem;width:100%}.bookmark-edit-field{margin-bottom:.75rem}.bookmark-edit-field:last-of-type{margin-bottom:1rem}.bookmark-edit-field label{color:#374151;display:block;font-size:.75rem;font-weight:600;margin-bottom:.25rem}.bookmark-edit-input-container{align-items:center;display:flex;position:relative;width:100%}.bookmark-edit-input{border:1px solid #d1d5db;border-radius:.375rem;box-sizing:border-box;flex:1;font-size:.875rem;outline:none;padding:.5rem 2rem .5rem .5rem;transition:all .2s ease;width:100%}.bookmark-edit-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.bookmark-clear-button{align-items:center;background-color:#e5e7eb;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex!important;flex-shrink:0;height:1.25rem;justify-content:center;position:absolute;right:.25rem;top:50%;transform:translateY(-50%);transition:all .2s ease;width:1.25rem;z-index:10}.bookmark-clear-button:hover{background-color:#d1d5db;color:#374151}.bookmark-edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.bookmark-cancel-button,.bookmark-save-button{border:none;border-radius:.375rem;cursor:pointer;font-size:.75rem;font-weight:600;padding:.375rem .75rem;transition:all .2s ease}.bookmark-cancel-button{background-color:#f3f4f6;color:#374151}.bookmark-cancel-button:hover{background-color:#e5e7eb;color:#1f2937}.bookmark-save-button{background-color:#10b981;color:#fff}.bookmark-save-button:hover{background-color:#059669}.booth-select,.location-input,.time-input{border:1px solid;border-radius:.5rem;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.location-input-container .location-input{flex:1 1 auto;min-width:430px;width:0}.light-theme .booth-select,.light-theme .location-input,.light-theme .time-input{background-color:#fff;border-color:#d1d5db;color:#1f2937}.light-theme .booth-select:focus,.light-theme .location-input:focus,.light-theme .time-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.dark-theme .booth-select,.dark-theme .location-input,.dark-theme .time-input{background-color:#374151;border-color:#4b5563;color:#f9fafb}.dark-theme .booth-select:focus,.dark-theme .location-input:focus,.dark-theme .time-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a;outline:none}.time-selector{align-items:center;display:flex;gap:.5rem}.time-selector .time-input{flex:1;text-align:center}.time-separator{font-size:1.125rem;font-weight:600;padding:0 .25rem}.light-theme .time-separator{color:#374151}.dark-theme .time-separator{color:#d1d5db}.booth-times-container{align-items:center;display:flex;height:2rem}.booth-times{align-items:center;border-radius:.25rem;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .5rem}.light-theme .booth-times{background-color:#3b82f61a;color:#1e40af}.dark-theme .booth-times{background-color:#60a5fa33;color:#93c5fd}.route-info-card{border-color:#a7f3d0!important;display:flex;flex-direction:column;height:125px}.light-theme .route-info-card{background-color:#ecfdf5}.dark-theme .route-info-card{background-color:#064e3b}.route-info-card .section-header{color:#059669;margin-bottom:.75rem}.dark-theme .route-info-card .section-header{color:#34d399}.route-info-content{display:flex;flex:1;flex-direction:column;justify-content:center}.route-info-content p{font-size:.9rem;margin:.25rem 0}.route-info-content strong{font-weight:600}.light-theme .route-info-content p{color:#065f46}.dark-theme .route-info-content p{color:#a7f3d0}.no-route-text{font-style:italic;text-align:center}.light-theme .no-route-text{color:#6b7280!important}.dark-theme .no-route-text{color:#9ca3af!important}.calculate-button{background-color:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease;width:100%}.calculate-button:hover:not(:disabled){background-color:#1d4ed8}.calculate-button:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.5}.map-container{border:1px solid;border-radius:.75rem;flex-shrink:0;height:240px;overflow:hidden}.light-theme .map-container{background-color:#fff;border-color:#e5e7eb;box-shadow:0 10px 15px -3px #0000001a}.dark-theme .map-container{background-color:#1f2937;border-color:#374151;box-shadow:0 10px 15px -3px #0000004d}.result-container{border:2px solid;border-radius:.75rem;min-height:0;overflow-y:auto;padding:1.25rem;transition:all .3s ease}.light-theme .result-container{background-color:#fff;box-shadow:0 10px 15px -3px #0000001a}.dark-theme .result-container{background-color:#1f2937;box-shadow:0 10px 15px -3px #0000004d}.result-status{align-items:center;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;margin-bottom:.75rem}.result-message{font-size:.875rem;margin-bottom:1rem}.light-theme .result-message{color:#6b7280}.dark-theme .result-message{color:#d1d5db}.result-details{border:1px solid;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.light-theme .result-details{background-color:#f9fafb;border-color:#e5e7eb}.dark-theme .result-details{background-color:#374151;border-color:#4b5563}.result-details h4{font-size:1rem;font-weight:600;margin-bottom:.75rem}.light-theme .result-details h4{color:#111827}.dark-theme .result-details h4{color:#f9fafb}.detail-line{align-items:center;border-bottom:1px solid;display:flex;justify-content:space-between;padding:.5rem 0}.detail-line:last-child{border-bottom:none}.detail-header{border-bottom:2px solid!important;font-size:1rem;font-weight:600;margin-bottom:.25rem;padding-bottom:.75rem}.detail-subtotal{border-top:1px solid!important;font-weight:600;margin-top:.25rem;padding-top:.75rem}.detail-total{border-top:2px solid!important;font-size:1.125rem;font-weight:700;margin-top:.5rem;padding-top:.75rem}.light-theme .detail-line{border-color:#e5e7eb;color:#374151}.light-theme .detail-header,.light-theme .detail-subtotal,.light-theme .detail-total{border-color:#d1d5db!important}.dark-theme .detail-line{border-color:#4b5563;color:#d1d5db}.dark-theme .detail-header,.dark-theme .detail-subtotal,.dark-theme .detail-total{border-color:#6b7280!important}.detail-label{align-items:center;display:flex}.detail-icon{flex-shrink:0;margin-right:.5rem}.detail-value{font-weight:500;text-align:right}.traffic-note{font-size:.875rem;font-style:italic;margin:0!important}.empty-state{align-items:center;border:1px solid;border-radius:.75rem;display:flex;flex-direction:column;height:160px;justify-content:center;padding:1.5rem;text-align:center}.light-theme .empty-state{background-color:#f9fafb;border-color:#e5e7eb}.dark-theme .empty-state{background-color:#374151;border-color:#4b5563}.empty-state-icon{margin:0 auto 1rem}.light-theme .empty-state-icon{color:#9ca3af}.dark-theme .empty-state-icon{color:#6b7280}.empty-state p{margin:0}.light-theme .empty-state p{color:#6b7280}.dark-theme .empty-state p{color:#d1d5db}.loading{align-items:center;display:flex;font-size:1.125rem;font-weight:500;height:100vh;justify-content:center}.light-theme .loading{color:#6b7280}.dark-theme .loading{color:#d1d5db}@media (max-width:1024px){.main-grid{gap:1rem}.events-grid,.main-grid{grid-template-columns:1fr}.app{padding:.75rem}.container{height:auto;min-height:calc(100vh - 1.5rem)}.content-wrapper{padding:1.25rem}.map-container{height:200px}.main-title{font-size:2rem}}@media (max-width:640px){.main-title{font-size:1.75rem}.header{align-items:center;flex-direction:column;margin-bottom:1rem;text-align:center}.header-controls{margin-top:.5rem}.content-wrapper,.section{padding:1rem}.left-column,.main-grid,.right-column{gap:.75rem}.map-container{height:180px}.event-card{min-height:160px}.route-info-card{height:110px}.empty-state{height:140px}}
/*# sourceMappingURL=main.a3861999.css.map*/