@import url(https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter var,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}button{background:#f5f6fa;border:none;border-radius:999px!important;box-shadow:0 2px 8px #3c3c3c0a;color:#222;cursor:pointer;font-family:inherit;font-weight:500;outline:none;padding:.25em .75em;transition:background .2s,box-shadow .2s,color .2s}button:focus,button:hover{background:#e1e3ea;box-shadow:0 4px 16px #3c3c3c14;color:#111}input[type=time]{min-width:8.5rem}input[type=datetime-local]{min-width:13.5rem}img{border-radius:8px!important}.dashboard-action-nav{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:.75rem 3.25rem .25rem .75rem}.dashboard-action-nav>div[style*="width: 1rem"]{display:none!important}.dashboard-action-nav a{margin:0!important}.create-route-page button,.dashboard-action-nav button,.dashboard-date-controls button,.dashboard-view-tabs>div,.routes-dashboard button,.routes-dashboard input,.routes-dashboard select{min-height:40px}.dashboard-chart-grid>div{box-sizing:border-box;max-width:100%}.dashboard-view-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:thin}.route-card-actions button,.route-stop-actions button{min-height:40px}.route-error,.route-loading{align-items:center;background:#0f172a;box-sizing:border-box;color:#e2e8f0;display:flex;justify-content:center;min-height:100vh;padding:24px}.route-error{text-align:left}.route-error>div{width:min(100%,440px)}.route-error h1{font-size:1.5rem;margin:0 0 8px}.route-error p{color:#cbd5e1;margin:0 0 16px;overflow-wrap:anywhere}.route-error-actions{display:flex;flex-wrap:wrap;gap:8px}.routes-dashboard .route-add-stop-back-button{max-width:-webkit-max-content;max-width:max-content;width:auto!important}.routes-dashboard .route-stop-control-row{align-items:center}.routes-dashboard .route-stop-control-row .route-stop-status-select,.routes-dashboard .route-stop-control-row .route-stop-time-input{max-width:100%;width:auto!important}.supported-locations-page{background:#f8fafc;box-sizing:border-box;color:#111827;min-height:100vh;padding:24px;text-align:left}.supported-locations-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin:0 auto 16px;max-width:1280px}.supported-locations-header h1{font-size:2rem;margin:6px 0}.supported-locations-header p{color:#475569;margin:0;max-width:680px}.supported-locations-back{color:#2563eb;font-weight:700;text-decoration:none}.supported-locations-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.supported-locations-actions button{background:#111827;color:#fff;min-height:40px;padding:.55rem .9rem}.supported-locations-alert{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e3a8a;margin:0 auto 12px;max-width:1280px;padding:10px 12px}.supported-locations-alert--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.supported-locations-layout{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 380px;margin:0 auto;max-width:1280px}.supported-locations-map{background:#e2e8f0;border:1px solid #cbd5e1;border-radius:8px;height:min(72vh,720px);min-height:460px;overflow:hidden}.supported-locations-map .leaflet-container{font-family:inherit}.supported-locations-editor{display:flex;flex-direction:column;gap:12px;max-height:min(72vh,720px);overflow:auto;padding-right:4px}.supported-locations-empty,.supported-locations-row{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:12px}.supported-locations-row{grid-gap:10px;cursor:pointer;display:grid;gap:10px}.supported-locations-row--selected{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.supported-locations-row-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.supported-locations-row-header button{background:#fee2e2;color:#991b1b;min-height:34px}.supported-locations-row label{grid-gap:4px;color:#334155;display:grid;font-size:.85rem;font-weight:700;gap:4px}.supported-locations-row input{border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;color:#111827;font:inherit;min-height:38px;padding:.45rem .55rem;width:100%}.pricing-sandbox{grid-gap:16px;color:#0f172a;display:grid;gap:16px;margin:18px auto 0;max-width:1280px}.pricing-sandbox-header{align-items:flex-start;background:linear-gradient(135deg,#0f172a,#172554);border-radius:12px;box-shadow:0 12px 28px #0f172a29;color:#f8fafc;display:flex;gap:24px;justify-content:space-between;padding:22px}.pricing-sandbox-formula-groups h4,.pricing-sandbox-header h2,.pricing-sandbox-section h3{margin:0}.pricing-sandbox-header h2{font-size:clamp(1.4rem,3vw,2rem);margin-top:4px}.pricing-sandbox-chart-heading p,.pricing-sandbox-header p,.pricing-sandbox-section-heading p{color:#475569;line-height:1.45;margin:5px 0 0}.pricing-sandbox-header p{color:#cbd5e1;max-width:720px}.pricing-sandbox-eyebrow{color:#93c5fd;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.pricing-sandbox-status{grid-gap:7px;display:grid;flex:0 0 auto;gap:7px;justify-items:end;text-align:right}.pricing-sandbox-status>span{border-radius:999px;font-size:.78rem;font-weight:800;padding:5px 9px}.pricing-sandbox-dirty{background:#fef3c7;color:#92400e}.pricing-sandbox-synced{background:#dcfce7;color:#166534}.pricing-sandbox-status small{color:#cbd5e1}.pricing-sandbox-status>div{display:flex;gap:8px}.pricing-sandbox-facility-row,.pricing-sandbox-presets button,.pricing-sandbox-remove,.pricing-sandbox-status button,.pricing-sandbox-tabs button{border:0;border-radius:7px;cursor:pointer;font:inherit;font-weight:700}.pricing-sandbox-status button{background:#334155;color:#f8fafc;min-height:38px;padding:0 13px}.pricing-sandbox-status .pricing-sandbox-publish{background:#2563eb}.pricing-sandbox-remove:disabled,.pricing-sandbox-status button:disabled{cursor:not-allowed;opacity:.5}.pricing-sandbox-section{background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-width:0;padding:17px}.pricing-sandbox-chart-heading,.pricing-sandbox-section-heading{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.pricing-sandbox-section-heading{margin-bottom:14px}.pricing-sandbox-chart-heading{align-items:flex-end;margin:20px 0 12px}.pricing-sandbox-presets{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.pricing-sandbox-presets button{background:#eff6ff;color:#1d4ed8;min-height:34px;padding:0 10px}.pricing-sandbox-table-wrap{overflow-x:auto}.pricing-sandbox-items-table{border-collapse:collapse;font-size:.84rem;min-width:940px;width:100%}.pricing-sandbox-items-table th{color:#64748b;font-size:.72rem;letter-spacing:.05em;padding:0 6px 7px;text-align:left;text-transform:uppercase}.pricing-sandbox-items-table td{border-top:1px solid #e2e8f0;padding:9px 6px;vertical-align:middle}.pricing-sandbox-field input,.pricing-sandbox-field select,.pricing-sandbox-items-table input,.pricing-sandbox-items-table select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;color:#0f172a;font:inherit;min-height:38px;padding:.42rem .5rem;width:100%}.pricing-sandbox-items-table td:first-child{min-width:150px}.pricing-sandbox-items-table td:nth-child(2),.pricing-sandbox-items-table td:nth-child(3),.pricing-sandbox-items-table td:nth-child(4){width:76px}.pricing-sandbox-sub-input{color:#64748b!important;font-size:.78rem!important;margin-top:4px}.pricing-sandbox-dimensions{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(3,minmax(48px,1fr))}.pricing-sandbox-remove{background:#fee2e2;color:#991b1b;min-height:34px;padding:0 9px}.pricing-sandbox-tabs{border-bottom:1px solid #cbd5e1;display:flex;gap:5px}.pricing-sandbox-tabs button{background:#0000;border-radius:8px 8px 0 0;color:#64748b;padding:11px 16px}.pricing-sandbox-tabs .pricing-sandbox-tab--active{background:#0f172a;color:#fff}.pricing-sandbox-panel-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.pricing-sandbox-section--wide{grid-column:1/-1}.pricing-sandbox-metrics{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.pricing-sandbox-metric{grid-gap:4px;align-content:start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:4px;min-height:84px;padding:12px}.pricing-sandbox-metric small,.pricing-sandbox-metric>span{color:#64748b;font-size:.78rem}.pricing-sandbox-metric strong{color:#0f172a;font-size:1.2rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.pricing-sandbox-metric--accent{background:#eff6ff;border-color:#93c5fd}.pricing-sandbox-metric--warning{background:#fffbeb;border-color:#fcd34d}.pricing-sandbox-metric--danger{background:#fef2f2;border-color:#fca5a5}.pricing-sandbox-legend{color:#475569;display:flex;font-size:.8rem;gap:12px}.pricing-sandbox-legend span{align-items:center;display:flex;gap:5px}.pricing-sandbox-swatch{border-radius:2px;display:block;height:9px;width:9px}.pricing-sandbox-curve-bar--draft,.pricing-sandbox-swatch--draft{background:#2563eb}.pricing-sandbox-curve-bar--live,.pricing-sandbox-swatch--live{background:#94a3b8}.pricing-sandbox-curve{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(8,minmax(64px,1fr));min-height:240px;overflow-x:auto}.pricing-sandbox-curve-point{grid-gap:5px;color:#64748b;display:grid;font-size:.75rem;gap:5px;grid-template-rows:1fr auto auto;min-height:220px;text-align:center}.pricing-sandbox-curve-point strong{color:#0f172a}.pricing-sandbox-curve-track{align-items:flex-end;background:repeating-linear-gradient(0deg,#f8fafc 0,#f8fafc 39px,#e2e8f0 40px);border-bottom:1px solid #cbd5e1;display:flex;gap:3px;justify-content:center;min-height:170px}.pricing-sandbox-curve-bar{border-radius:4px 4px 0 0;max-width:24px;width:30%}.pricing-sandbox-field-grid{grid-gap:11px;display:grid;gap:11px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.pricing-sandbox-field-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-sandbox-field-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.pricing-sandbox-condition-grid,.pricing-sandbox-field{grid-gap:5px;color:#334155;display:grid;font-size:.82rem;font-weight:700;gap:5px}.pricing-sandbox-field--wide{grid-column:1/-1}.pricing-sandbox-condition-grid small,.pricing-sandbox-field small{color:#64748b;font-weight:400}.pricing-sandbox-check{align-items:center;color:#334155;display:flex;font-size:.84rem;gap:7px;margin-top:12px}.pricing-sandbox-breakdown{grid-gap:0;border-top:1px solid #e2e8f0;display:grid;gap:0;margin-top:16px}.pricing-sandbox-breakdown>div{border-bottom:1px solid #e2e8f0;color:#475569;display:flex;font-size:.86rem;gap:16px;justify-content:space-between;padding:8px 2px}.pricing-sandbox-breakdown .pricing-sandbox-breakdown-total{background:#eff6ff;border:0;border-radius:7px;color:#0f172a;margin-top:5px;padding:10px}.pricing-sandbox-formula-groups{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.pricing-sandbox-section summary{cursor:pointer;font-size:1rem;font-weight:800}.pricing-sandbox-condition-grid{border-top:1px solid #e2e8f0;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;padding-top:13px}.pricing-sandbox-condition-grid>small,.pricing-sandbox-condition-grid>strong{grid-column:1/-1}.pricing-sandbox-condition-grid .pricing-sandbox-check{margin-top:0}.pricing-sandbox-facility-list{grid-gap:7px;display:grid;gap:7px}.pricing-sandbox-facility-row{grid-gap:12px;align-items:center;background:#f8fafc;border:1px solid #0000;color:#0f172a;display:grid;gap:12px;grid-template-columns:minmax(180px,1fr) minmax(140px,2fr) 90px;padding:9px 11px;text-align:left;width:100%}.pricing-sandbox-facility-row--selected{background:#eff6ff;border-color:#60a5fa}.pricing-sandbox-facility-name{grid-gap:3px;display:grid;gap:3px;min-width:0}.pricing-sandbox-facility-name small,.pricing-sandbox-facility-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pricing-sandbox-facility-name small{color:#64748b;font-weight:400}.pricing-sandbox-facility-bar-track{background:#e2e8f0;border-radius:999px;display:block;height:10px;overflow:hidden}.pricing-sandbox-facility-bar-track i{background:#2563eb;border-radius:inherit;display:block;height:100%}.pricing-sandbox-unavailable{background:#fef2f2;border:1px solid #fecaca;border-radius:7px;color:#991b1b;margin-top:16px;padding:12px}@media (max-width:720px){.dashboard-action-nav{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:.75rem 3.25rem .5rem .75rem}.dashboard-action-nav a,.dashboard-action-nav button{width:100%!important}.dashboard-action-nav button{margin-top:0!important;padding:.65rem .75rem;white-space:normal}.dashboard-chart-toggles label,.dashboard-date-controls button,.dashboard-date-controls span{flex:1 1 100%}.dashboard-date-controls span{font-weight:700;order:-1}.dashboard-chart-toggles{padding:0 .75rem;text-align:left!important}.dashboard-chart-grid{overflow-x:hidden;width:100%}.dashboard-chart-grid>div{width:100%}.dashboard-view-tabs>div{border:1px solid #94a3b859;flex:0 0 auto;min-width:-webkit-max-content;min-width:max-content}.create-route-page input,.create-route-page select,.routes-dashboard input,.routes-dashboard select{box-sizing:border-box;max-width:100%;width:100%}.create-route-page input[type=datetime-local],.routes-dashboard input[type=datetime-local]{min-width:0}.route-card-actions button{flex-basis:calc(50% - 4px);flex-grow:1;flex-shrink:1;min-width:0;white-space:normal!important}.route-stop-actions button,.route-stop-actions input{flex:1 1 100%}.routes-dashboard .route-stop-control-row .route-stop-status-select{flex:1 1 8rem!important;min-width:7.5rem!important}.routes-dashboard .route-stop-control-row .route-stop-time-input{flex:1 1 12rem!important;min-width:11rem!important}.create-route-page h1{font-size:1.65rem}.create-route-page h2{font-size:1.35rem}.supported-locations-page{padding:14px}.supported-locations-header,.supported-locations-layout{display:grid;grid-template-columns:1fr}.supported-locations-actions{justify-content:stretch}.supported-locations-actions button{flex:1 1 30%}.supported-locations-map{height:54vh;min-height:340px}.supported-locations-editor{max-height:none}.pricing-sandbox-chart-heading,.pricing-sandbox-header,.pricing-sandbox-section-heading{display:grid}.pricing-sandbox-status{justify-items:start;text-align:left}.pricing-sandbox-presets{justify-content:flex-start}.pricing-sandbox-field-grid,.pricing-sandbox-field-grid--four,.pricing-sandbox-field-grid--three,.pricing-sandbox-formula-groups,.pricing-sandbox-panel-grid{grid-template-columns:1fr}.pricing-sandbox-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-sandbox-field--wide,.pricing-sandbox-section--wide{grid-column:auto}.pricing-sandbox-facility-row{grid-template-columns:minmax(0,1fr) 80px}.pricing-sandbox-facility-bar-track{display:none}}@media (max-width:460px){.pricing-sandbox-condition-grid,.pricing-sandbox-metrics{grid-template-columns:1fr}.pricing-sandbox-status button,.pricing-sandbox-status>div{width:100%}.pricing-sandbox-status button{flex:1 1}}