
.fade-enter-active[data-v-e62d0ea1],
.fade-leave-active[data-v-e62d0ea1] {
    transition: opacity 0.2s ease;
}
.fade-enter-from[data-v-e62d0ea1],
.fade-leave-to[data-v-e62d0ea1] {
    opacity: 0;
}

.urb-slider[data-v-911cba42] {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
    height: 20px;
}
.urb-slider[data-v-911cba42]::-webkit-slider-runnable-track {
    height: 4px;
    background: #e5e5e5;
    border-radius: 999px;
}
.urb-slider[data-v-911cba42]::-moz-range-track {
    height: 4px;
    background: #e5e5e5;
    border-radius: 999px;
}
.urb-slider[data-v-911cba42]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    margin-top: -7px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #000;
    border: 3px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    transition: transform 0.12s ease;
}
.urb-slider[data-v-911cba42]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #000;
    border: 3px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    transition: transform 0.12s ease;
}
.urb-slider[data-v-911cba42]:active::-webkit-slider-thumb {
    transform: scale(1.08);
}
.urb-slider[data-v-911cba42]:active::-moz-range-thumb {
    transform: scale(1.08);
}

.toast-enter-active,
.toast-leave-active {
    transition: opacity 0.24s ease, transform 0.24s cubic-bezier(0.22, 1, 0.36, 1);
}
.toast-enter-from,
.toast-leave-to {
    opacity: 0;
    transform: translate(-50%, 14px);
}
.easy-checkbox[data-v-e0a0b7f0]{position:relative;width:1.3em;height:1.3em;font-size:var(--easy-table-body-row-font-size);margin:0 auto}.easy-checkbox label[data-v-e0a0b7f0]{cursor:pointer;display:inline;line-height:1.3em;vertical-align:top;clear:both}.easy-checkbox label[data-v-e0a0b7f0]:before,.easy-checkbox label[data-v-e0a0b7f0]:after{content:"";position:absolute;left:0;top:0}.easy-checkbox label[data-v-e0a0b7f0]:before{width:1.3em;height:1.3em;background:#fff;border:1px solid rgba(0,0,0,.54);border-radius:.125em;cursor:pointer;transition:background .3s}.easy-checkbox input[type=checkbox][data-v-e0a0b7f0]{outline:0;visibility:hidden;width:1.3em;margin:0;display:block;float:left;font-size:inherit}.easy-checkbox input[type=checkbox]:checked+label[data-v-e0a0b7f0]:before{border:none}.easy-checkbox input[type=checkbox]:checked+label[data-v-e0a0b7f0]:after{transform:translate(.2em,.3038461538em) rotate(-45deg);width:.9em;height:.45em;border:.13em solid #fff;border-top-style:none;border-right-style:none}.easy-checkbox input[type=checkbox].allSelected+label[data-v-e0a0b7f0]:before{border:none}.easy-checkbox input[type=checkbox].allSelected+label[data-v-e0a0b7f0]:after{transform:translate(.2em,.3038461538em) rotate(-45deg);width:.9em;height:.45em;border:.13em solid #fff;border-top-style:none;border-right-style:none}.easy-checkbox input[type=checkbox].partSelected+label[data-v-e0a0b7f0]:before{border:none}.easy-checkbox input[type=checkbox].partSelected+label[data-v-e0a0b7f0]:after{transform:translate(.2em,.5875em);width:.9em;height:.45em;border:.125em solid #fff;border-bottom-style:none;border-right-style:none;border-left-style:none}*[data-v-e0a0b7f0],*[data-v-e0a0b7f0]:before,*[data-v-e0a0b7f0]:after{box-sizing:border-box}.easy-checkbox input[type=checkbox].allSelected+label[data-v-e0a0b7f0]:before,.easy-checkbox input[type=checkbox].partSelected+label[data-v-e0a0b7f0]:before{background:var(--51ab8a49)}.easy-checkbox[data-v-7e69a276]{position:relative;width:1.3em;height:1.3em;font-size:var(--easy-table-body-row-font-size);margin:0 auto}.easy-checkbox label[data-v-7e69a276]{cursor:pointer;display:inline;line-height:1.3em;vertical-align:top;clear:both}.easy-checkbox label[data-v-7e69a276]:before,.easy-checkbox label[data-v-7e69a276]:after{content:"";position:absolute;left:0;top:0}.easy-checkbox label[data-v-7e69a276]:before{width:1.3em;height:1.3em;background:#fff;border:1px solid rgba(0,0,0,.54);border-radius:.125em;cursor:pointer;transition:background .3s}.easy-checkbox input[type=checkbox][data-v-7e69a276]{outline:0;visibility:hidden;width:1.3em;margin:0;display:block;float:left;font-size:inherit}.easy-checkbox input[type=checkbox]:checked+label[data-v-7e69a276]:before{border:none}.easy-checkbox input[type=checkbox]:checked+label[data-v-7e69a276]:after{transform:translate(.2em,.3038461538em) rotate(-45deg);width:.9em;height:.45em;border:.13em solid #fff;border-top-style:none;border-right-style:none}.easy-checkbox input[type=checkbox].allSelected+label[data-v-7e69a276]:before{border:none}.easy-checkbox input[type=checkbox].allSelected+label[data-v-7e69a276]:after{transform:translate(.2em,.3038461538em) rotate(-45deg);width:.9em;height:.45em;border:.13em solid #fff;border-top-style:none;border-right-style:none}.easy-checkbox input[type=checkbox].partSelected+label[data-v-7e69a276]:before{border:none}.easy-checkbox input[type=checkbox].partSelected+label[data-v-7e69a276]:after{transform:translate(.2em,.5875em);width:.9em;height:.45em;border:.125em solid #fff;border-bottom-style:none;border-right-style:none;border-left-style:none}*[data-v-7e69a276],*[data-v-7e69a276]:before,*[data-v-7e69a276]:after{box-sizing:border-box}.easy-checkbox input[type=checkbox]:checked+label[data-v-7e69a276]:before{background:var(--fdaf7e9e)}.easy-data-table__rows-selector[data-v-4ca5de3a]{display:inline-block;min-width:45px;position:relative;margin:0 10px;width:var(--easy-table-rows-per-page-selector-width)}.easy-data-table__rows-selector .rows-input__wrapper[data-v-4ca5de3a]{height:20px;border-bottom:1px solid var(--easy-table-footer-font-color);display:flex;align-items:center;justify-content:space-between;padding:0 5px;cursor:pointer}.easy-data-table__rows-selector .rows-input__wrapper .triangle[data-v-4ca5de3a]{display:inline-block;vertical-align:middle;width:0px;height:0px;border-top:solid 6px var(--easy-table-footer-font-color);border-left:solid 6px transparent;border-right:solid 6px transparent}.easy-data-table__rows-selector ul.select-items[data-v-4ca5de3a]{position:absolute;top:20px;left:0px;width:100%;display:none;margin:0;padding:0;text-align:left;list-style-type:none;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;z-index:var(--easy-table-rows-per-page-selector-z-index)}.easy-data-table__rows-selector ul.select-items.show[data-v-4ca5de3a]{display:block}.easy-data-table__rows-selector ul.select-items.inside[data-v-4ca5de3a]{bottom:0px;top:auto}.easy-data-table__rows-selector ul.select-items li[data-v-4ca5de3a]{cursor:pointer;padding:var(--easy-table-rows-per-page-selector-option-padding);background-color:var(--easy-table-footer-background-color)}.easy-data-table__rows-selector ul.select-items li.selected[data-v-4ca5de3a]{color:#fff;background-color:var(--1b889342)}.lds-ring[data-v-1fa3a520]{display:inline-block;position:relative;width:60px;height:60px}.lds-ring div[data-v-1fa3a520]{box-sizing:border-box;display:block;position:absolute;width:80%;height:80%;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-1fa3a520 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--26774109) transparent transparent transparent}.lds-ring div[data-v-1fa3a520]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-1fa3a520]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-1fa3a520]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-1fa3a520{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-line[data-v-7d281cac]{width:100%;height:3px;position:relative;overflow:hidden;background-color:#ddd;margin:0x auto}.loader-line[data-v-7d281cac]:before{content:"";position:absolute;left:-50%;height:3px;width:40%;background-color:var(--0d327f57);-webkit-animation:lineAnim-7d281cac 1s linear infinite;-moz-animation:lineAnim-7d281cac 1s linear infinite;animation:lineAnim-7d281cac 1s linear infinite}@keyframes lineAnim-7d281cac{0%{left:-40%}50%{left:20%;width:80%}to{left:100%;width:100%}}.buttons-pagination[data-v-4c681fa2]{box-sizing:border-box;display:flex;padding:0;border-radius:4px}.buttons-pagination .item[data-v-4c681fa2]{box-sizing:border-box;cursor:pointer;min-width:calc(var(--easy-table-footer-font-size) * 1.8);line-height:calc(var(--easy-table-footer-font-size) * 1.8);border-top:var(--easy-table-buttons-pagination-border);border-bottom:var(--easy-table-buttons-pagination-border);border-right:var(--easy-table-buttons-pagination-border);text-align:center}.buttons-pagination .item[data-v-4c681fa2]:first-of-type{border-left:var(--easy-table-buttons-pagination-border);border-top-left-radius:4px;border-bottom-left-radius:4px}.buttons-pagination .item[data-v-4c681fa2]:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}.buttons-pagination .item.button.active[data-v-4c681fa2]{background-color:var(--40dd4f07);border-left:var(--easy-table-buttons-pagination-border);border-color:var(--40dd4f07)!important;color:#fff}.buttons-pagination .item.button.active-prev[data-v-4c681fa2]{border-right:none}.previous-page__click-button[data-v-c9da5286],.next-page__click-button[data-v-c9da5286]{margin:0 5px;cursor:pointer}.previous-page__click-button .arrow[data-v-c9da5286],.next-page__click-button .arrow[data-v-c9da5286]{display:inline-block;width:8px;height:8px;border-top:2px solid #000;border-left:2px solid #000}.previous-page__click-button .arrow.arrow-left[data-v-c9da5286],.next-page__click-button .arrow.arrow-left[data-v-c9da5286]{transform:rotate(135deg)}.previous-page__click-button .arrow.arrow-right[data-v-c9da5286],.next-page__click-button .arrow.arrow-right[data-v-c9da5286]{transform:rotate(-45deg)}.previous-page__click-button.first-page[data-v-c9da5286],.next-page__click-button.last-page[data-v-c9da5286]{cursor:not-allowed}.previous-page__click-button.first-page .arrow[data-v-c9da5286],.next-page__click-button.last-page .arrow[data-v-c9da5286]{border-color:#e0e0e0}:root{--easy-table-border: 1px solid #e0e0e0;--easy-table-row-border: 1px solid #e0e0e0;--easy-table-header-font-size: 12px;--easy-table-header-height: 36px;--easy-table-header-font-color: #373737;--easy-table-header-background-color: #fff;--easy-table-header-item-padding: 0px 10px;--easy-table-body-row-height: 36px;--easy-table-body-row-font-size: 12px;--easy-table-body-row-font-color: #212121;--easy-table-body-row-background-color: #fff;--easy-table-body-row-hover-font-color: #212121;--easy-table-body-row-hover-background-color: #eee;--easy-table-body-even-row-font-color: #212121;--easy-table-body-even-row-background-color: #fafafa;--easy-table-body-item-padding: 0px 10px;--easy-table-footer-background-color: #fff;--easy-table-footer-font-color: #212121;--easy-table-footer-font-size: 12px;--easy-table-footer-padding: 0px 5px;--easy-table-footer-height: 36px;--easy-table-rows-per-page-selector-width: auto;--easy-table-rows-per-page-selector-option-padding: 5px;--easy-table-rows-per-page-selector-z-index: auto;--easy-table-message-font-color: #212121;--easy-table-message-font-size: 12px;--easy-table-message-padding: 20px;--easy-table-loading-mask-background-color: #fff;--easy-table-loading-mask-opacity: .5;--easy-table-scrollbar-track-color: #fff;--easy-table-scrollbar-color: #fff;--easy-table-scrollbar-thumb-color: #c1c1c1;--easy-table-scrollbar-corner-color: #fff;--easy-table-buttons-pagination-border: 1px solid #e0e0e0}.vue3-easy-data-table[data-v-32683533]{border:var(--easy-table-border);position:relative;box-sizing:border-box}.vue3-easy-data-table__main[data-v-32683533]{border:none;width:100%;overflow:auto;background-color:var(--easy-table-body-row-background-color)}.vue3-easy-data-table__main[data-v-32683533]::-webkit-scrollbar-track{border-radius:10px;background-color:var(--easy-table-scrollbar-track-color)}.vue3-easy-data-table__main[data-v-32683533]::-webkit-scrollbar{width:7px;height:7px;background-color:var(--easy-table-scrollbar-color)}.vue3-easy-data-table__main[data-v-32683533]::-webkit-scrollbar-thumb{border-radius:10px;background-color:var(--easy-table-scrollbar-thumb-color)}.vue3-easy-data-table__main[data-v-32683533]::-webkit-scrollbar-corner{background-color:var(--easy-table-scrollbar-corner-color)}.vue3-easy-data-table__main.table-fixed table[data-v-32683533]{table-layout:fixed}.vue3-easy-data-table__main.show-shadow th.shadow[data-v-32683533]:after,.vue3-easy-data-table__main.show-shadow td.shadow[data-v-32683533]:after{box-shadow:inset 6px 0 5px -3px #0003}.vue3-easy-data-table__main.fixed-header th[data-v-32683533]{position:sticky;top:0;z-index:2}.vue3-easy-data-table__main.hoverable tr:hover td[data-v-32683533]{background-color:var(--easy-table-body-row-hover-background-color);color:var(--easy-table-body-row-hover-font-color)}.vue3-easy-data-table__main.hoverable .vue3-easy-data-table__body.row-alternation .even-row:hover td[data-v-32683533]{color:var(--easy-table-body-row-hover-font-color);background-color:var(--easy-table-body-row-hover-background-color)}.vue3-easy-data-table__main.border-cell .vue3-easy-data-table__header th[data-v-32683533]{border-right:var(--easy-table-row-border)}.vue3-easy-data-table__main.border-cell .vue3-easy-data-table__header th[data-v-32683533]:last-of-type{border-right:none}.vue3-easy-data-table__main.border-cell .vue3-easy-data-table__body td[data-v-32683533]{border-right:var(--easy-table-row-border)}.vue3-easy-data-table__main.border-cell .vue3-easy-data-table__body td[data-v-32683533]:last-of-type{border-right:none}.vue3-easy-data-table__body.row-alternation tr.even-row td[data-v-32683533]{color:var(--easy-table-body-even-row-font-color);background-color:var(--easy-table-body-even-row-background-color)}table[data-v-32683533]{border-collapse:initial;display:table;width:100%;border-spacing:0;margin:0}.vue3-easy-data-table__header[data-v-32683533],vue3-easy-data-table__body[data-v-32683533]{position:relative}.vue3-easy-data-table__header tr[data-v-32683533]{font-size:var(--easy-table-header-font-size);border:none;height:var(--easy-table-header-height)}.vue3-easy-data-table__header th[data-v-32683533]{background-color:var(--easy-table-header-background-color);color:var(--easy-table-header-font-color);border:none;border-bottom:var(--easy-table-row-border);padding:var(--easy-table-header-item-padding);position:relative}.vue3-easy-data-table__header th .header[data-v-32683533]{display:flex;align-items:center}.vue3-easy-data-table__header th .header.direction-left[data-v-32683533]{justify-content:flex-start}.vue3-easy-data-table__header th .header.direction-center[data-v-32683533]{justify-content:center}.vue3-easy-data-table__header th .header.direction-right[data-v-32683533]{justify-content:flex-end}.vue3-easy-data-table__header th.sortable[data-v-32683533]{cursor:pointer}.vue3-easy-data-table__header th.sortable .sortType-icon[data-v-32683533]{border:5px solid transparent;margin-top:-3px;margin-left:4px;display:inline-block;height:0;width:0;position:relative;border-bottom-color:var(--easy-table-header-font-color)}.vue3-easy-data-table__header th.sortable .multi-sort__number[data-v-32683533]{border-radius:50%;height:1.5em;width:1.5em;line-height:1.5em;margin-left:4px;background-color:var(--easy-table-header-font-color);color:var(--easy-table-header-background-color)}.vue3-easy-data-table__header th.sortable.none:hover .sortType-icon[data-v-32683533]{opacity:1}.vue3-easy-data-table__header th.sortable.none .sortType-icon[data-v-32683533]{opacity:0;transition:.5s ease}.vue3-easy-data-table__header th.sortable.desc .sortType-icon[data-v-32683533]{margin-top:5px;transform:rotate(180deg)}.vue3-easy-data-table__header th.shadow[data-v-32683533]:after,.vue3-easy-data-table__body td.shadow[data-v-32683533]:after{pointer-events:none;content:"";width:36px;display:inline-block;height:100%;position:absolute;top:0px;right:-36px;box-shadow:none}.vue3-easy-data-table__body tr[data-v-32683533]{height:var(--easy-table-body-row-height);color:var(--easy-table-body-row-font-color);font-size:var(--easy-table-body-row-font-size)}.vue3-easy-data-table__body tr:last-child td[data-v-32683533]{border-bottom:none}.vue3-easy-data-table__body tr:first-child td[data-v-32683533]{border-bottom:var(--easy-table-row-border)}.vue3-easy-data-table__body td[data-v-32683533]{padding:var(--easy-table-body-item-padding);background-color:var(--easy-table-body-row-background-color);border:none;border-bottom:var(--easy-table-row-border);position:relative}.vue3-easy-data-table__body td.direction-left[data-v-32683533]{text-align:left}.vue3-easy-data-table__body td.direction-center[data-v-32683533]{text-align:center}.vue3-easy-data-table__body td.direction-right[data-v-32683533]{text-align:right}.vue3-easy-data-table__body td .expand-icon[data-v-32683533]{border:solid;border-color:var(easy-table-body-row-font-color);border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(-45deg);transition:.2s}.vue3-easy-data-table__body td .expand-icon.expanding[data-v-32683533]{transform:rotate(45deg)}.vue3-easy-data-table__body td.expand[data-v-32683533]{position:relative}.vue3-easy-data-table__body td.expand .expand-loading[data-v-32683533]{position:absolute;top:0px;left:0px}.vue3-easy-data-table__body td.can-expand[data-v-32683533]{cursor:pointer}.vue3-easy-data-table__footer[data-v-32683533]{background-color:var(--easy-table-footer-background-color);color:var(--easy-table-footer-font-color);border-top:var(--easy-table-row-border);font-size:var(--easy-table-footer-font-size);height:var(--easy-table-footer-height);padding:var(--easy-table-footer-padding);box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:flex-end}.vue3-easy-data-table__footer .pagination__rows-per-page[data-v-32683533]{display:flex;align-items:center}.vue3-easy-data-table__footer .pagination__items-index[data-v-32683533]{margin:0 20px 0 10px}.vue3-easy-data-table__message[data-v-32683533]{color:var(--easy-table-message-font-color);font-size:var(--easy-table-message-font-size);padding:var(--easy-table-message-padding);text-align:center}.vue3-easy-data-table__loading[data-v-32683533]{z-index:3;overflow:hidden;position:absolute;width:100%;height:100%;top:0px;left:0px;display:flex;align-items:center;justify-content:center}.vue3-easy-data-table__loading .loading-entity[data-v-32683533]{z-index:1}.vue3-easy-data-table__loading-mask[data-v-32683533]{background-color:var(--easy-table-loading-mask-background-color);opacity:var(--easy-table-loading-mask-opacity);position:absolute;width:100%;height:100%;top:0px;left:0px;z-index:1}.vue3-easy-data-table__main[data-v-32683533]{min-height:var(--da0d4328)}.vue3-easy-data-table__main.fixed-height[data-v-32683533]{height:var(--3037e504)}

/* Urbaniqo styling for vue3-easy-data-table */
.urb-dt {
    --easy-table-border: none;
    --easy-table-row-border: 1px solid #f5f5f5;

    --easy-table-header-font-size: 10px;
    --easy-table-header-height: 44px;
    --easy-table-header-font-color: #737373;
    --easy-table-header-background-color: #fafafa;

    --easy-table-header-item-padding: 12px 16px;

    --easy-table-body-row-height: 52px;
    --easy-table-body-row-font-size: 14px;
    --easy-table-body-row-font-color: #171717;
    --easy-table-body-row-background-color: #ffffff;
    --easy-table-body-row-hover-font-color: #171717;
    --easy-table-body-row-hover-background-color: #fafafa;

    --easy-table-body-item-padding: 12px 16px;

    --easy-table-body-even-row-font-color: #171717;
    --easy-table-body-even-row-background-color: #ffffff;

    --easy-table-loading-mask-background-color: rgba(255, 255, 255, 0.7);

    --easy-table-scrollbar-track-color: transparent;
    --easy-table-scrollbar-color: rgba(0, 0, 0, 0.15);
    --easy-table-scrollbar-thumb-color: rgba(0, 0, 0, 0.3);
    --easy-table-scrollbar-corner-color: transparent;
}
.urb-dt .vue3-easy-data-table__header th {
    font-weight: 600;
    border-bottom: 1px solid #e5e5e5;
}
.urb-dt .vue3-easy-data-table__main {
    border: none;
    border-radius: 0;
}
.urb-dt-clickable tbody tr {
    cursor: pointer;
}

/* Second thead row for column filters */
.urb-dt .urb-filter-row {
    background: #ffffff;
    border-top: 1px solid #f5f5f5;
}
.urb-dt .urb-filter-cell {
    padding: 8px 16px;
    vertical-align: middle;
    background: #ffffff;
    font-weight: 400;
}
.urb-dt .urb-filter-input {
    width: 100%;
    height: 30px;
    padding: 0 8px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    text-align: left;
    color: #171717;
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.12s ease;
    cursor: text;
}
.urb-dt select.urb-filter-input {
    cursor: pointer;
    padding-right: 4px;
}
.urb-dt .urb-filter-input:focus {
    border-color: #000000;
}
.toast-enter-active,
.toast-leave-active {
    transition: opacity 0.24s ease, transform 0.24s cubic-bezier(0.22, 1, 0.36, 1);
}
.toast-enter-from,
.toast-leave-to {
    opacity: 0;
    transform: translate(-50%, 14px);
}

/* Not scoped: Leaflet creates .urb-map-pin / .urb-map-tooltip dynamically,
   so scoped styles wouldn't apply to them. */
.urb-map-pin-wrap {
    background: transparent !important;
    border: 0 !important;
    display: flex !important;
    justify-content: center;
    align-items: flex-end;
}
.urb-map-pin {
    width: 28px;
    height: 38px;
    filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.28));
    transform: translateY(0) scale(1);
    transform-origin: center bottom;
    transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
    animation: urb-map-pin-drop 520ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.urb-map-pin-wrap--lift .urb-map-pin {
    transform: translateY(-6px) scale(1.06);
}
@keyframes urb-map-pin-drop {
0% {
        transform: translateY(-28px) scale(0.85);
        opacity: 0;
}
60% {
        transform: translateY(3px) scale(1.02);
        opacity: 1;
}
100% {
        transform: translateY(0) scale(1);
        opacity: 1;
}
}
.urb-map-pin svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* Leaflet tooltip restyle — Urbaniqo black, uppercase meta vibe */
.leaflet-tooltip.urb-map-tooltip {
    background: #000;
    color: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    padding: 6px 10px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    white-space: nowrap;
}
.leaflet-tooltip.urb-map-tooltip::before {
    display: none;
}
.leaflet-tooltip-top.urb-map-tooltip::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -5px;
    transform: translateX(-50%);
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #000;
}
.leaflet-container {
    background: #f5f5f5;
    font-family: inherit;
}
.leaflet-grab,
.leaflet-dragging .leaflet-grab {
    cursor: grab;
}
.leaflet-dragging .leaflet-grab {
    cursor: grabbing;
}

.step-fwd-enter-active[data-v-bdecfb4e],
.step-fwd-leave-active[data-v-bdecfb4e],
.step-back-enter-active[data-v-bdecfb4e],
.step-back-leave-active[data-v-bdecfb4e] {
    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.24s ease;
}
.step-fwd-enter-from[data-v-bdecfb4e] { transform: translateX(24px); opacity: 0;
}
.step-fwd-leave-to[data-v-bdecfb4e]   { transform: translateX(-24px); opacity: 0;
}
.step-back-enter-from[data-v-bdecfb4e] { transform: translateX(-24px); opacity: 0;
}
.step-back-leave-to[data-v-bdecfb4e]   { transform: translateX(24px); opacity: 0;
}
.urb-stepper-scroll[data-v-bdecfb4e] {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}
.urb-stepper-scroll[data-v-bdecfb4e]::-webkit-scrollbar { height: 4px;
}
.urb-stepper-scroll[data-v-bdecfb4e]::-webkit-scrollbar-track { background: transparent;
}
.urb-stepper-scroll[data-v-bdecfb4e]::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.15);
    border-radius: 2px;
}
.fade-map-enter-active[data-v-bdecfb4e],
.fade-map-leave-active[data-v-bdecfb4e] {
    transition: opacity 0.32s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
.fade-map-enter-from[data-v-bdecfb4e],
.fade-map-leave-to[data-v-bdecfb4e] {
    opacity: 0;
    transform: translateY(-6px);
}

/* Day selector pills */
.urb-day-btn {
    border: 1px solid #e5e5e5;
    background: #fff;
    color: #000;
}
.urb-day-btn:hover { border-color: #000;
}
.urb-day-btn.is-active {
    border-color: #000;
    background: #000;
    color: #fff;
}
html.dark .urb-day-btn {
    border-color: #262626;
    background: #111;
    color: #fafafa;
}
html.dark .urb-day-btn:hover { border-color: #fafafa;
}
html.dark .urb-day-btn.is-active {
    border-color: #fafafa;
    background: #fafafa;
    color: #0a0a0a;
}

/* Time-slot buttons */
.urb-slot-btn {
    border: 1px solid #e5e5e5;
    background: #fff;
    color: #000;
}
.urb-slot-btn:hover { border-color: #000;
}
.urb-slot-btn.is-active {
    border-color: #000;
    background: #000;
    color: #fff;
}
html.dark .urb-slot-btn {
    border-color: #262626;
    background: #111;
    color: #fafafa;
}
html.dark .urb-slot-btn:hover { border-color: #fafafa;
}
html.dark .urb-slot-btn.is-active {
    border-color: #fafafa;
    background: #fafafa;
    color: #0a0a0a;
}

/* Saved-card selector */
.urb-card-option {
    border: 1px solid #e5e5e5;
    background: #fff;
    color: #000;
}
.urb-card-option:not(:disabled):hover { border-color: #000;
}
.urb-card-option.is-active {
    border-color: #000;
    box-shadow: inset 0 0 0 1px #000;
}
html.dark .urb-card-option {
    border-color: #262626;
    background: #111;
    color: #fafafa;
}
html.dark .urb-card-option:not(:disabled):hover { border-color: #fafafa;
}
html.dark .urb-card-option.is-active {
    border-color: #fafafa;
    box-shadow: inset 0 0 0 1px #fafafa;
}

/* Stripe Elements mount target */
.urb-stripe-el {
    border-bottom: 1px solid #e5e5e5;
    padding: 12px 0;
    transition: border-color 200ms ease;
    min-height: 44px;
}
.urb-stripe-el.StripeElement--focus { border-bottom-color: #000;
}
.urb-stripe-el.StripeElement--invalid { border-bottom-color: #dc2626;
}

.step-fwd-enter-active[data-v-12fff969],
.step-fwd-leave-active[data-v-12fff969],
.step-back-enter-active[data-v-12fff969],
.step-back-leave-active[data-v-12fff969] {
    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.24s ease;
}
.step-fwd-enter-from[data-v-12fff969] { transform: translateX(24px); opacity: 0;
}
.step-fwd-leave-to[data-v-12fff969]   { transform: translateX(-24px); opacity: 0;
}
.step-back-enter-from[data-v-12fff969] { transform: translateX(-24px); opacity: 0;
}
.step-back-leave-to[data-v-12fff969]   { transform: translateX(24px); opacity: 0;
}

/* Slim, subtle horizontal scrollbar for the stepper rail. */
.urb-stepper-scroll[data-v-12fff969] {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}
.urb-stepper-scroll[data-v-12fff969]::-webkit-scrollbar { height: 4px;
}
.urb-stepper-scroll[data-v-12fff969]::-webkit-scrollbar-track { background: transparent;
}
.urb-stepper-scroll[data-v-12fff969]::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.15);
    border-radius: 2px;
}

.urb-history-scroll[data-v-5e74bd2e]::-webkit-scrollbar {
    width: 6px;
}
.urb-history-scroll[data-v-5e74bd2e]::-webkit-scrollbar-track {
    background: transparent;
}
.urb-history-scroll[data-v-5e74bd2e]::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.15);
    border-radius: 3px;
}
.urb-history-scroll[data-v-5e74bd2e]::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.3);
}
.urb-history-scroll[data-v-5e74bd2e] {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
}

.bs-backdrop-enter-active[data-v-997b9b4b],
.bs-backdrop-leave-active[data-v-997b9b4b] { transition: opacity 260ms ease;
}
.bs-backdrop-enter-from[data-v-997b9b4b],
.bs-backdrop-leave-to[data-v-997b9b4b] { opacity: 0;
}
.bs-sheet-enter-active[data-v-997b9b4b] { transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
}
.bs-sheet-leave-active[data-v-997b9b4b] { transition: transform 260ms ease-in;
}
.bs-sheet-enter-from[data-v-997b9b4b],
.bs-sheet-leave-to[data-v-997b9b4b] { transform: translateY(100%);
}
@media (min-width: 768px) {
.bs-panel[data-v-997b9b4b] {
        left: 50%;
        right: auto;
        width: 520px;
        max-width: 90vw;
        margin-left: -260px;
        bottom: 24px;
        border-radius: 16px;
        max-height: 80vh;
}
}
@media (min-width: 768px) and (max-width: 580px) {
.bs-panel[data-v-997b9b4b] {
        width: 90vw;
        margin-left: -45vw;
}
}

.debt-alert[data-v-02a2817a] {
    animation: debt-slide-in-02a2817a 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes debt-slide-in-02a2817a {
from { opacity: 0; transform: translateY(-12px);
}
to { opacity: 1; transform: translateY(0);
}
}
.debt-alert-shell[data-v-02a2817a] {
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.35);
    animation: debt-glow-02a2817a 2.8s ease-in-out infinite;
}
@keyframes debt-glow-02a2817a {
0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.28);
}
50% { box-shadow: 0 0 0 6px rgba(220, 38, 38, 0);
}
}
.debt-alert-bar[data-v-02a2817a] {
    animation: debt-bar-shimmer-02a2817a 2.4s ease-in-out infinite;
    transform-origin: top;
}
@keyframes debt-bar-shimmer-02a2817a {
0%, 100% { opacity: 1; transform: scaleY(1);
}
50% { opacity: 0.55; transform: scaleY(0.85);
}
}
.debt-alert-ping[data-v-02a2817a] {
    animation: debt-ping-02a2817a 1.8s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes debt-ping-02a2817a {
0% { transform: scale(1); opacity: 0.65;
}
75%, 100% { transform: scale(1.6); opacity: 0;
}
}
@media (prefers-reduced-motion: reduce) {
.debt-alert[data-v-02a2817a],
    .debt-alert-shell[data-v-02a2817a],
    .debt-alert-bar[data-v-02a2817a],
    .debt-alert-ping[data-v-02a2817a] {
        animation: none;
}
}
.fade-map-enter-active[data-v-02a2817a] { transition: all 420ms cubic-bezier(0.22, 1, 0.36, 1);
}
.fade-map-leave-active[data-v-02a2817a] { transition: all 200ms ease-in;
}
.fade-map-enter-from[data-v-02a2817a] { opacity: 0; transform: translateY(12px);
}
.fade-map-leave-to[data-v-02a2817a] { opacity: 0; transform: translateY(-6px);
}

.step-enter-active[data-v-46fd744c] { transition: all 420ms cubic-bezier(0.22, 1, 0.36, 1);
}
.step-leave-active[data-v-46fd744c] { transition: all 200ms ease-in;
}
.step-enter-from[data-v-46fd744c] { opacity: 0; transform: translateX(30px);
}
.step-leave-to[data-v-46fd744c] { opacity: 0; transform: translateX(-20px);
}
.fade-map-enter-active[data-v-46fd744c] { transition: all 420ms cubic-bezier(0.22, 1, 0.36, 1);
}
.fade-map-leave-active[data-v-46fd744c] { transition: all 200ms ease-in;
}
.fade-map-enter-from[data-v-46fd744c] { opacity: 0; transform: translateY(12px);
}
.fade-map-leave-to[data-v-46fd744c] { opacity: 0; transform: translateY(-6px);
}
.urb-stripe-el[data-v-46fd744c] {
    border-bottom: 1px solid #e5e5e5;
    padding: 12px 0;
    transition: border-color 200ms ease;
    min-height: 44px;
}
.urb-stripe-el.StripeElement--focus[data-v-46fd744c] {
    border-bottom-color: #000;
}
.urb-stripe-el.StripeElement--invalid[data-v-46fd744c] {
    border-bottom-color: #dc2626;
}

@media print {
.no-print[data-v-00e42c15] { display: none !important;
}
.qr-card[data-v-00e42c15] { border: none !important;
}
}

/* Editor content area */
.urb-editor-content {
    padding: 0.75rem 1rem;
    min-height: 6rem;
    max-height: 16rem;
    overflow-y: auto;
    font-size: 0.875rem;
    line-height: 1.625;
    outline: none;
}
.urb-editor-content > * + * {
    margin-top: 0.5em;
}
.urb-editor-content h3 {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.4;
}
.urb-editor-content ul {
    list-style: disc;
    padding-left: 1.25rem;
}
.urb-editor-content ol {
    list-style: decimal;
    padding-left: 1.25rem;
}
.urb-editor-content blockquote {
    border-left: 2px solid #d4d4d4;
    padding-left: 0.75rem;
    color: #737373;
    font-style: italic;
}
.urb-editor-content strong {
    font-weight: 600;
}
.urb-editor-content p.is-editor-empty:first-child::before {
    content: attr(data-placeholder);
    float: left;
    color: #a3a3a3;
    pointer-events: none;
    height: 0;
}

/* Toolbar buttons */
.urb-tb-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.375rem;
    color: #737373;
    transition: all 150ms;
}
.urb-tb-btn:hover {
    color: #0a0a0a;
    background: #f5f5f5;
}
.urb-tb-btn.is-active {
    color: #0a0a0a;
    background: #e5e5e5;
}

/* Dark mode */
.dark .urb-editor-content blockquote {
    border-left-color: #404040;
    color: #a3a3a3;
}
.dark .urb-editor-content p.is-editor-empty:first-child::before {
    color: #525252;
}
.dark .urb-tb-btn {
    color: #a3a3a3;
}
.dark .urb-tb-btn:hover {
    color: #fafafa;
    background: #262626;
}
.dark .urb-tb-btn.is-active {
    color: #fafafa;
    background: #333333;
}

/* Scrollbar for editor */
.urb-editor-content::-webkit-scrollbar { width: 4px;
}
.urb-editor-content::-webkit-scrollbar-thumb { background: #d4d4d4; border-radius: 2px;
}
.dark .urb-editor-content::-webkit-scrollbar-thumb { background: #404040;
}

.citypicker-modal-enter-active .citypicker-modal-backdrop[data-v-b31e5b1f],
.citypicker-modal-leave-active .citypicker-modal-backdrop[data-v-b31e5b1f] {
    transition: opacity 280ms cubic-bezier(0.22, 1, 0.36, 1);
}
.citypicker-modal-enter-active .citypicker-modal-panel[data-v-b31e5b1f],
.citypicker-modal-leave-active .citypicker-modal-panel[data-v-b31e5b1f] {
    transition:
        opacity 320ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}
.citypicker-modal-enter-from .citypicker-modal-backdrop[data-v-b31e5b1f],
.citypicker-modal-leave-to .citypicker-modal-backdrop[data-v-b31e5b1f] {
    opacity: 0;
}
.citypicker-modal-enter-from .citypicker-modal-panel[data-v-b31e5b1f],
.citypicker-modal-leave-to .citypicker-modal-panel[data-v-b31e5b1f] {
    opacity: 0;
    transform: translateY(16px) scale(0.98);
}

.ws-wrap[data-v-1919e231] { transition: background 600ms ease, color 600ms ease;
}
.ws-clear[data-v-1919e231]  { background: linear-gradient(135deg, #FFF7ED, #FEF3C7); color: #92400E;
}
.ws-partly[data-v-1919e231] { background: linear-gradient(135deg, #F0F9FF, #E0F2FE); color: #0C4A6E;
}
.ws-cloudy[data-v-1919e231] { background: linear-gradient(135deg, #F5F5F5, #E5E5E5); color: #404040;
}
.ws-fog[data-v-1919e231]    { background: linear-gradient(135deg, #FAFAFA, #E5E5E5); color: #525252;
}
.ws-rain[data-v-1919e231]   { background: linear-gradient(135deg, #EFF6FF, #DBEAFE); color: #1E3A5F;
}
.ws-snow[data-v-1919e231]   { background: linear-gradient(135deg, #F8FAFC, #E2E8F0); color: #334155;
}
.ws-storm[data-v-1919e231]  { background: linear-gradient(135deg, #1C1917, #292524); color: #E7E5E4;
}

/* Rain / Storm */
.ws-drop[data-v-1919e231] {
    top: -12px; background: currentColor; opacity: 0.12;
    border-radius: 0 0 2px 2px; animation: ws-rain-1919e231 linear infinite;
}
.ws-storm .ws-drop[data-v-1919e231] { opacity: 0.2;
}
@keyframes ws-rain-1919e231 {
0%   { transform: translateY(-10px); opacity: 0;
}
10%  { opacity: 0.15;
}
100% { transform: translateY(120px); opacity: 0;
}
}

/* Snow */
.ws-flake[data-v-1919e231] {
    top: -8px; background: currentColor; opacity: 0.2;
    animation: ws-snow-1919e231 linear infinite;
}
@keyframes ws-snow-1919e231 {
0%   { transform: translateY(-8px) translateX(0); opacity: 0;
}
10%  { opacity: 0.25;
}
50%  { transform: translateY(50px) translateX(8px);
}
100% { transform: translateY(110px) translateX(-4px); opacity: 0;
}
}

/* Fog */
.ws-fog[data-v-1919e231] {
    position: absolute; top: 0; left: -20%; right: -20%; bottom: 0;
    background: currentColor; opacity: 0.04; border-radius: 50%; filter: blur(20px);
}
.ws-fog-1[data-v-1919e231] { animation: ws-fog-d-1919e231 6s ease-in-out infinite alternate;
}
.ws-fog-2[data-v-1919e231] { animation: ws-fog-d-1919e231 8s ease-in-out infinite alternate-reverse; top: 30%; opacity: 0.03;
}
@keyframes ws-fog-d-1919e231 {
0% { transform: translateX(-8%);
}
100% { transform: translateX(8%);
}
}

/* Clouds */
.ws-cloud[data-v-1919e231] {
    position: absolute; width: 80px; height: 28px;
    background: currentColor; opacity: 0.06; border-radius: 14px; filter: blur(4px);
}
.ws-cloud-1[data-v-1919e231] { top: 6px; left: -20px; animation: ws-cl-d-1919e231 10s ease-in-out infinite alternate;
}
.ws-cloud-2[data-v-1919e231] { top: 22px; right: -30px; width: 60px; height: 22px; animation: ws-cl-d-1919e231 14s ease-in-out infinite alternate-reverse;
}
@keyframes ws-cl-d-1919e231 {
0% { transform: translateX(0);
}
100% { transform: translateX(40px);
}
}

/* Sun */
.ws-sun[data-v-1919e231] {
    position: absolute; top: -20px; right: -20px; width: 80px; height: 80px;
    background: radial-gradient(circle, #FCD34D 0%, transparent 70%);
    opacity: 0.3; border-radius: 50%; animation: ws-sun-p-1919e231 4s ease-in-out infinite alternate;
}
@keyframes ws-sun-p-1919e231 {
0% { transform: scale(1); opacity: 0.25;
}
100% { transform: scale(1.2); opacity: 0.4;
}
}

/* Lightning */
.ws-flash[data-v-1919e231] { position: absolute; inset: 0; background: white; opacity: 0; animation: ws-bolt-1919e231 5s ease infinite;
}
@keyframes ws-bolt-1919e231 {
0%, 100% { opacity: 0;
}
92% { opacity: 0;
}
93% { opacity: 0.15;
}
94% { opacity: 0;
}
96% { opacity: 0.1;
}
97% { opacity: 0;
}
}
@media (prefers-reduced-motion: reduce) {
.ws-drop[data-v-1919e231], .ws-flake[data-v-1919e231], .ws-fog[data-v-1919e231], .ws-cloud[data-v-1919e231], .ws-sun[data-v-1919e231], .ws-flash[data-v-1919e231] { animation: none;
}
}

input[type="search"][data-v-893ea4af]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.overlay-enter-active[data-v-3991958b] { transition: opacity 300ms ease;
}
.overlay-leave-active[data-v-3991958b] { transition: opacity 200ms ease;
}
.overlay-enter-from[data-v-3991958b], .overlay-leave-to[data-v-3991958b] { opacity: 0;
}
.add-place-enter-active[data-v-3991958b] { transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1), opacity 300ms ease;
}
.add-place-leave-active[data-v-3991958b] { transition: transform 250ms ease, opacity 200ms ease;
}
.add-place-enter-from[data-v-3991958b] { transform: scale(0.95) translateY(10px); opacity: 0;
}
.add-place-leave-to[data-v-3991958b] { transform: scale(0.97); opacity: 0;
}

.post-content[data-v-223c62e0] p + p,
.post-content[data-v-223c62e0] p + ul,
.post-content[data-v-223c62e0] p + ol,
.post-content[data-v-223c62e0] p + blockquote,
.post-content[data-v-223c62e0] h3 + * { margin-top: 0.5em;
}
.post-content[data-v-223c62e0] h3 { font-size: 1.05rem; font-weight: 600; line-height: 1.4;
}
.post-content[data-v-223c62e0] strong { font-weight: 600;
}
.post-content[data-v-223c62e0] em { font-style: italic;
}
.post-content[data-v-223c62e0] ul { list-style: disc; padding-left: 1.25rem;
}
.post-content[data-v-223c62e0] ol { list-style: decimal; padding-left: 1.25rem;
}
.place-tag[data-v-223c62e0] {
    background: linear-gradient(90deg, #737373 0%, #737373 40%, #0a0a0a 50%, #737373 60%, #737373 100%);
    background-size: 200% 100%;
    background-position: 100% 0;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    transition: background-position 0s;
}
.place-tag[data-v-223c62e0]:hover {
    animation: place-tag-thinking-223c62e0 1.6s linear infinite;
}
@keyframes place-tag-thinking-223c62e0 {
0% { background-position: 100% 0;
}
100% { background-position: -100% 0;
}
}
.post-content[data-v-223c62e0] blockquote {
    border-left: 2px solid #d4d4d4;
    padding-left: 0.75rem;
    color: #737373;
    font-style: italic;
}

@media print {
[data-v-fd8ba8f2] header,[data-v-fd8ba8f2] footer,[data-v-fd8ba8f2] nav {
        display: none !important;
}
}

.legal-body[data-v-6d7805b9] p {
    margin: 0;
}
.legal-body[data-v-6d7805b9] ul {
    list-style: disc;
    padding-left: 1.25rem;
    margin: 0;
}
.legal-body[data-v-6d7805b9] ul > li {
    margin: 0.25rem 0;
}
.legal-body[data-v-6d7805b9] strong {
    color: #000;
    font-weight: 600;
}
.legal-body[data-v-6d7805b9] a {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: #d4d4d4;
    transition: text-decoration-color 200ms;
}
.legal-body[data-v-6d7805b9] a:hover {
    text-decoration-color: #000;
}

/* ── push pulse indicator ── */
.login-push-pulse[data-v-a761a131] {
    position: relative;
    width: 14px;
    height: 14px;
}
.login-push-pulse > span[data-v-a761a131] {
    position: absolute;
    inset: 0;
    background: #000;
    border-radius: 50%;
    transform: scale(0.4);
    animation: push-pulse-a761a131 1400ms ease-out infinite;
}
.login-push-pulse.is-stopped > span[data-v-a761a131] {
    animation: none;
    transform: scale(0.6);
    opacity: 0.25;
}
@keyframes push-pulse-a761a131 {
0%   { transform: scale(0.4); opacity: 0.8;
}
80%  { transform: scale(1.6); opacity: 0;
}
100% { transform: scale(1.6); opacity: 0;
}
}
@media (prefers-reduced-motion: reduce) {
.login-push-pulse > span[data-v-a761a131] { animation: none; transform: scale(0.6); opacity: 0.4;
}
}

/* ── OTP input ── */
.otp-input[data-v-a761a131] {
    letter-spacing: 0.6em;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}
.otp-input[data-v-a761a131]::placeholder {
    letter-spacing: 0.6em;
}

/* ── form step transitions ── */
.phase-forward-enter-active[data-v-a761a131],
.phase-forward-leave-active[data-v-a761a131],
.phase-back-enter-active[data-v-a761a131],
.phase-back-leave-active[data-v-a761a131] {
    transition: opacity 420ms cubic-bezier(0.22, 1, 0.36, 1), transform 560ms cubic-bezier(0.22, 1, 0.36, 1);
}
.phase-forward-enter-from[data-v-a761a131] { opacity: 0; transform: translateX(28px);
}
.phase-forward-leave-to[data-v-a761a131] { opacity: 0; transform: translateX(-28px);
}
.phase-back-enter-from[data-v-a761a131] { opacity: 0; transform: translateX(-28px);
}
.phase-back-leave-to[data-v-a761a131] { opacity: 0; transform: translateX(28px);
}

/* ── city carousel transition ── */
.login-city-enter-active[data-v-a761a131] { transition: opacity 600ms ease, transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}
.login-city-leave-active[data-v-a761a131] { transition: opacity 300ms ease, transform 300ms ease;
}
.login-city-enter-from[data-v-a761a131] { opacity: 0; transform: translateY(20px);
}
.login-city-leave-to[data-v-a761a131] { opacity: 0; transform: translateY(-10px);
}

/* ── city icon ── */
.login-city-icon[data-v-a761a131] {
    opacity: 0.85;
    animation: icon-float-a761a131 7s ease-in-out infinite;
    transform-origin: center;
    will-change: transform;
}
@keyframes icon-float-a761a131 {
0%   { transform: translateY(0)    rotate(-1.2deg) scale(1);
}
25%  { transform: translateY(-4px) rotate(0.6deg)  scale(1.01);
}
50%  { transform: translateY(-8px) rotate(1.2deg)  scale(1.02);
}
75%  { transform: translateY(-3px) rotate(-0.4deg) scale(1.01);
}
100% { transform: translateY(0)    rotate(-1.2deg) scale(1);
}
}

/* Draw-in stroke effect on city change */
.login-city-enter-active .login-city-icon[data-v-a761a131] > * {
    animation: icon-draw-a761a131 1400ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes icon-draw-a761a131 {
0%   { stroke-dasharray: 320; stroke-dashoffset: 320; opacity: 0;
}
30%  { opacity: 1;
}
100% { stroke-dasharray: 320; stroke-dashoffset: 0; opacity: 1;
}
}

/* ── city dots ── */
.login-city-dot[data-v-a761a131] {
    width: 24px; height: 2px; background: rgba(255,255,255,0.2);
    transition: background 300ms ease, width 300ms ease; cursor: pointer; border: none; padding: 0;
}
.login-city-dot[data-v-a761a131]:hover { background: rgba(255,255,255,0.4);
}
.login-city-dot.is-active[data-v-a761a131] { background: #fff; width: 36px;
}

/* ── background grid ── */
.login-bg-grid[data-v-a761a131] {
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 60px 60px;
    animation: grid-drift-a761a131 20s linear infinite;
}
@keyframes grid-drift-a761a131 {
from { background-position: 0 0;
}
to { background-position: 60px 60px;
}
}

/* ── floating circles ── */
.login-circle[data-v-a761a131] {
    position: absolute; border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.06);
}
.login-circle--1[data-v-a761a131] {
    width: 600px; height: 600px; right: -200px; bottom: -200px;
    animation: circle-breathe-a761a131 8s ease-in-out infinite;
}
.login-circle--2[data-v-a761a131] {
    width: 360px; height: 360px; right: -80px; bottom: -80px;
    animation: circle-breathe-a761a131 8s ease-in-out infinite 2s;
}
.login-circle--3[data-v-a761a131] {
    width: 180px; height: 180px; left: -60px; top: 30%;
    border-color: rgba(255,255,255,0.04);
    animation: circle-breathe-a761a131 10s ease-in-out infinite 4s;
}
@keyframes circle-breathe-a761a131 {
0%, 100% { transform: scale(1); opacity: 1;
}
50% { transform: scale(1.06); opacity: 0.6;
}
}

/* ── floating dots ── */
.login-dot[data-v-a761a131] {
    position: absolute; width: 3px; height: 3px; border-radius: 50%;
    background: rgba(255,255,255,0.15);
}
.login-dot--1[data-v-a761a131] { top: 18%; left: 72%; animation: dot-float-a761a131 6s ease-in-out infinite;
}
.login-dot--2[data-v-a761a131] { top: 40%; left: 85%; animation: dot-float-a761a131 7s ease-in-out infinite 1s;
}
.login-dot--3[data-v-a761a131] { top: 65%; left: 15%; animation: dot-float-a761a131 8s ease-in-out infinite 2s;
}
.login-dot--4[data-v-a761a131] { top: 28%; left: 30%; animation: dot-float-a761a131 9s ease-in-out infinite 3s;
}
.login-dot--5[data-v-a761a131] { top: 80%; left: 60%; animation: dot-float-a761a131 7s ease-in-out infinite 4s;
}
@keyframes dot-float-a761a131 {
0%, 100% { transform: translate(0, 0); opacity: 0.15;
}
25% { transform: translate(12px, -18px); opacity: 0.4;
}
50% { transform: translate(-8px, -30px); opacity: 0.2;
}
75% { transform: translate(16px, -12px); opacity: 0.5;
}
}

/* ── scan lines ── */
.login-line[data-v-a761a131] {
    position: absolute; background: rgba(255,255,255,0.04);
}
.login-line--h[data-v-a761a131] {
    height: 1px; width: 100%; left: 0; top: 50%;
    animation: line-scan-h-a761a131 12s ease-in-out infinite;
}
.login-line--v[data-v-a761a131] {
    width: 1px; height: 100%; top: 0; left: 50%;
    animation: line-scan-v-a761a131 14s ease-in-out infinite 3s;
}
@keyframes line-scan-h-a761a131 {
0%   { top: 20%; opacity: 0;
}
10%  { opacity: 1;
}
90%  { opacity: 1;
}
100% { top: 80%; opacity: 0;
}
}
@keyframes line-scan-v-a761a131 {
0%   { left: 20%; opacity: 0;
}
10%  { opacity: 1;
}
90%  { opacity: 1;
}
100% { left: 80%; opacity: 0;
}
}
@media (prefers-reduced-motion: reduce) {
.login-bg-grid[data-v-a761a131],
    .login-circle[data-v-a761a131],
    .login-dot[data-v-a761a131],
    .login-line[data-v-a761a131] { animation: none !important;
}
}

/* Stripe Elements container — styled to match Urbaniqo inputs */
.urb-stripe-el {
    border-bottom: 1px solid #e5e5e5;
    padding: 12px 0;
    transition: border-color 200ms ease;
    min-height: 44px;
}
.urb-stripe-el.StripeElement--focus {
    border-bottom-color: #000;
}
.urb-stripe-el.StripeElement--invalid {
    border-bottom-color: #dc2626;
}
html.dark .urb-stripe-el {
    border-bottom-color: #262626;
}
html.dark .urb-stripe-el.StripeElement--focus {
    border-bottom-color: #fafafa;
}

/* Hide any Stripe badge / branding injected into iframe */
.urb-stripe-el iframe {
    margin: 0 !important;
}

.mini-content[data-v-dea7581b] p + p,
.mini-content[data-v-dea7581b] p + ul,
.mini-content[data-v-dea7581b] p + ol,
.mini-content[data-v-dea7581b] p + blockquote,
.mini-content[data-v-dea7581b] h3 + * { margin-top: 0.4em;
}
.mini-content[data-v-dea7581b] h3 { font-size: 0.95rem; font-weight: 600; line-height: 1.35;
}
.mini-content[data-v-dea7581b] strong { font-weight: 600;
}
.mini-content[data-v-dea7581b] em { font-style: italic;
}
.mini-content[data-v-dea7581b] ul { list-style: disc; padding-left: 1.1rem;
}
.mini-content[data-v-dea7581b] ol { list-style: decimal; padding-left: 1.1rem;
}
.mini-content[data-v-dea7581b] blockquote {
    border-left: 2px solid #d4d4d4;
    padding-left: 0.6rem;
    color: #737373;
    font-style: italic;
}

.overlay-enter-active[data-v-4bbfb7eb] { transition: opacity 300ms ease;
}
.overlay-leave-active[data-v-4bbfb7eb] { transition: opacity 200ms ease;
}
.overlay-enter-from[data-v-4bbfb7eb], .overlay-leave-to[data-v-4bbfb7eb] { opacity: 0;
}
.report-enter-active[data-v-4bbfb7eb] { transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1), opacity 300ms ease;
}
.report-leave-active[data-v-4bbfb7eb] { transition: transform 250ms ease, opacity 200ms ease;
}
.report-enter-from[data-v-4bbfb7eb] { transform: scale(0.95) translateY(10px); opacity: 0;
}
.report-leave-to[data-v-4bbfb7eb] { transform: scale(0.97); opacity: 0;
}
.msh-image[data-v-4bbfb7eb] {
    opacity: 0;
    transform: scale(1.06);
    transform-origin: center top;
    transition: opacity 520ms cubic-bezier(0.22, 1, 0.36, 1), transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}
.msh-image.is-in[data-v-4bbfb7eb] {
    opacity: 1;
    transform: scale(1);
}
.msh-title[data-v-4bbfb7eb], .msh-desc[data-v-4bbfb7eb] {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 420ms cubic-bezier(0.22, 1, 0.36, 1), transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}
.msh-title.is-in[data-v-4bbfb7eb] {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 120ms;
}
.msh-desc.is-in[data-v-4bbfb7eb] {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 200ms;
}
@media (prefers-reduced-motion: reduce) {
.msh-image[data-v-4bbfb7eb], .msh-title[data-v-4bbfb7eb], .msh-desc[data-v-4bbfb7eb] {
        transition: none;
        opacity: 1;
        transform: none;
}
}

/* Approved description rendering */
.urb-description > * + * { margin-top: 0.75em;
}
.urb-description h3 { font-size: 1.25rem; font-weight: 600; line-height: 1.4;
}
.urb-description ul { list-style: disc; padding-left: 1.25rem;
}
.urb-description ol { list-style: decimal; padding-left: 1.25rem;
}
.urb-description li + li { margin-top: 0.25em;
}
.urb-description blockquote {
    border-left: 2px solid #d4d4d4;
    padding-left: 1rem;
    color: #737373;
    font-style: italic;
}
.urb-description strong { font-weight: 600;
}
.dark .urb-description blockquote {
    border-left-color: #404040;
    color: #a3a3a3;
}

/* ── form step transitions ── */
.phase-forward-enter-active[data-v-1d3aef4d],
.phase-forward-leave-active[data-v-1d3aef4d],
.phase-back-enter-active[data-v-1d3aef4d],
.phase-back-leave-active[data-v-1d3aef4d] {
    transition: opacity 420ms cubic-bezier(0.22, 1, 0.36, 1), transform 560ms cubic-bezier(0.22, 1, 0.36, 1);
}
.phase-forward-enter-from[data-v-1d3aef4d] { opacity: 0; transform: translateX(28px);
}
.phase-forward-leave-to[data-v-1d3aef4d] { opacity: 0; transform: translateX(-28px);
}
.phase-back-enter-from[data-v-1d3aef4d] { opacity: 0; transform: translateX(-28px);
}
.phase-back-leave-to[data-v-1d3aef4d] { opacity: 0; transform: translateX(28px);
}

/* ── city carousel transition ── */
.login-city-enter-active[data-v-1d3aef4d] { transition: opacity 600ms ease, transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}
.login-city-leave-active[data-v-1d3aef4d] { transition: opacity 300ms ease, transform 300ms ease;
}
.login-city-enter-from[data-v-1d3aef4d] { opacity: 0; transform: translateY(20px);
}
.login-city-leave-to[data-v-1d3aef4d] { opacity: 0; transform: translateY(-10px);
}

/* ── city dots ── */
.login-city-dot[data-v-1d3aef4d] {
    width: 24px; height: 2px; background: rgba(255,255,255,0.2);
    transition: background 300ms ease, width 300ms ease; cursor: pointer; border: none; padding: 0;
}
.login-city-dot[data-v-1d3aef4d]:hover { background: rgba(255,255,255,0.4);
}
.login-city-dot.is-active[data-v-1d3aef4d] { background: #fff; width: 36px;
}

/* ── background grid ── */
.login-bg-grid[data-v-1d3aef4d] {
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 60px 60px;
    animation: grid-drift-1d3aef4d 20s linear infinite;
}
@keyframes grid-drift-1d3aef4d {
from { background-position: 0 0;
}
to { background-position: 60px 60px;
}
}

/* ── floating circles ── */
.login-circle[data-v-1d3aef4d] {
    position: absolute; border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.06);
}
.login-circle--1[data-v-1d3aef4d] {
    width: 600px; height: 600px; left: -200px; top: -200px;
    animation: circle-breathe-1d3aef4d 8s ease-in-out infinite;
}
.login-circle--2[data-v-1d3aef4d] {
    width: 360px; height: 360px; left: -80px; top: -80px;
    animation: circle-breathe-1d3aef4d 8s ease-in-out infinite 2s;
}
.login-circle--3[data-v-1d3aef4d] {
    width: 180px; height: 180px; right: -60px; bottom: 30%;
    border-color: rgba(255,255,255,0.04);
    animation: circle-breathe-1d3aef4d 10s ease-in-out infinite 4s;
}
@keyframes circle-breathe-1d3aef4d {
0%, 100% { transform: scale(1); opacity: 1;
}
50% { transform: scale(1.06); opacity: 0.6;
}
}

/* ── floating dots ── */
.login-dot[data-v-1d3aef4d] {
    position: absolute; width: 3px; height: 3px; border-radius: 50%;
    background: rgba(255,255,255,0.15);
}
.login-dot--1[data-v-1d3aef4d] { top: 18%; left: 72%; animation: dot-float-1d3aef4d 6s ease-in-out infinite;
}
.login-dot--2[data-v-1d3aef4d] { top: 40%; left: 85%; animation: dot-float-1d3aef4d 7s ease-in-out infinite 1s;
}
.login-dot--3[data-v-1d3aef4d] { top: 65%; left: 15%; animation: dot-float-1d3aef4d 8s ease-in-out infinite 2s;
}
.login-dot--4[data-v-1d3aef4d] { top: 28%; left: 30%; animation: dot-float-1d3aef4d 9s ease-in-out infinite 3s;
}
.login-dot--5[data-v-1d3aef4d] { top: 80%; left: 60%; animation: dot-float-1d3aef4d 7s ease-in-out infinite 4s;
}
@keyframes dot-float-1d3aef4d {
0%, 100% { transform: translate(0, 0); opacity: 0.15;
}
25% { transform: translate(12px, -18px); opacity: 0.4;
}
50% { transform: translate(-8px, -30px); opacity: 0.2;
}
75% { transform: translate(16px, -12px); opacity: 0.5;
}
}

/* ── scan lines ── */
.login-line[data-v-1d3aef4d] {
    position: absolute; background: rgba(255,255,255,0.04);
}
.login-line--h[data-v-1d3aef4d] {
    height: 1px; width: 100%; left: 0; top: 50%;
    animation: line-scan-h-1d3aef4d 12s ease-in-out infinite;
}
.login-line--v[data-v-1d3aef4d] {
    width: 1px; height: 100%; top: 0; left: 50%;
    animation: line-scan-v-1d3aef4d 14s ease-in-out infinite 3s;
}
@keyframes line-scan-h-1d3aef4d {
0%   { top: 20%; opacity: 0;
}
10%  { opacity: 1;
}
90%  { opacity: 1;
}
100% { top: 80%; opacity: 0;
}
}
@keyframes line-scan-v-1d3aef4d {
0%   { left: 20%; opacity: 0;
}
10%  { opacity: 1;
}
90%  { opacity: 1;
}
100% { left: 80%; opacity: 0;
}
}
@media (prefers-reduced-motion: reduce) {
.login-bg-grid[data-v-1d3aef4d],
    .login-circle[data-v-1d3aef4d],
    .login-dot[data-v-1d3aef4d],
    .login-line[data-v-1d3aef4d] { animation: none !important;
}
}

.urb-route-stop {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #000;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
    border: 2px solid #fff;
    animation: urb-pin-pop 380ms cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
@keyframes urb-pin-pop {
0% { transform: scale(0); opacity: 0;
}
60% { transform: scale(1.14); opacity: 1;
}
100% { transform: scale(1);
}
}

/* Mode switch sliding pill. The pill is a sibling overlay under the buttons
   (z-index:0) and slides via translateX. Buttons only swap text color. */
.urb-mode-pill {
    width: 50%;
    z-index: 0;
    transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.urb-mode-btn {
    min-width: 150px;
    transition: color 220ms ease;
}

/* Hint text crossfade/slide on mode switch */
.urb-hint-enter-active,
.urb-hint-leave-active {
    transition:
        opacity 220ms ease,
        transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
}
.urb-hint-enter-from { opacity: 0; transform: translateY(6px);
}
.urb-hint-leave-to { opacity: 0; transform: translateY(-6px);
}
.urb-hint-leave-active { position: absolute;
}

/* Profile chip: scale + shadow on selected, subtle lift on hover */
.urb-profile-chip {
    transition:
        transform 260ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 260ms ease,
        background-color 220ms ease,
        color 220ms ease,
        border-color 220ms ease;
}
.urb-profile-chip:hover { transform: translateY(-1px);
}
.urb-profile-chip:active { transform: translateY(0) scale(0.98);
}
.urb-profile-chip-active {
    transform: scale(1.05);
    box-shadow: 0 12px 28px -16px rgba(0, 0, 0, 0.55);
}
.urb-profile-chip-active:hover { transform: scale(1.05) translateY(-1px);
}
.urb-profile-chip-icon {
    transition: transform 360ms cubic-bezier(0.34, 1.56, 0.64, 1);
    display: inline-block;
}
.urb-profile-chip-active .urb-profile-chip-icon {
    transform: scale(1.15) rotate(-6deg);
}

/* Stops list: slide/fade per row + smooth reorder */
.urb-stop-list { position: relative;
}
.urb-stop-enter-active,
.urb-stop-leave-active {
    transition:
        opacity 280ms ease,
        transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}
.urb-stop-enter-from { opacity: 0; transform: translateX(-12px);
}
.urb-stop-leave-to { opacity: 0; transform: translateX(16px);
}
.urb-stop-leave-active { position: absolute; left: 0; right: 0;
}
.urb-stop-move { transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}
.urb-stop-chip {
    transition: transform 220ms ease;
}
.urb-stop-row:hover .urb-stop-chip { transform: scale(1.1);
}
.urb-empty-enter-active,
.urb-empty-leave-active {
    transition: opacity 240ms ease;
}
.urb-empty-enter-from,
.urb-empty-leave-to { opacity: 0;
}

/* REC pulse ring under the red tracking pill */
.urb-rec-pill { position: relative; overflow: visible;
}
.urb-rec-ring {
    position: absolute;
    inset: -2px;
    border-radius: 2px;
    box-shadow: 0 0 0 0 rgba(225, 29, 72, 0.7);
    animation: urb-rec-pulse 1500ms ease-out infinite;
    pointer-events: none;
}
@keyframes urb-rec-pulse {
0% { box-shadow: 0 0 0 0 rgba(225, 29, 72, 0.55);
}
70% { box-shadow: 0 0 0 14px rgba(225, 29, 72, 0);
}
100% { box-shadow: 0 0 0 0 rgba(225, 29, 72, 0);
}
}
.urb-rec-dot {
    animation: urb-rec-dot 1200ms ease-in-out infinite;
}
@keyframes urb-rec-dot {
0%, 100% { opacity: 1; transform: scale(1);
}
50% { opacity: 0.4; transform: scale(0.6);
}
}

/* Pending stop confirmation card. Vue's transform on enter/leave overrides
   Tailwind's -translate-x-1/2, so we combine the centering into the anim. */
.urb-pending-card { transform: translateX(-50%);
}
.urb-pending-enter-active,
.urb-pending-leave-active {
    transition:
        opacity 280ms ease,
        transform 340ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.urb-pending-enter-from {
    opacity: 0;
    transform: translate(-50%, 32px) scale(0.96);
}
.urb-pending-leave-to {
    opacity: 0;
    transform: translate(-50%, 16px);
}
@media (prefers-reduced-motion: reduce) {
.urb-mode-pill,
    .urb-mode-btn,
    .urb-profile-chip,
    .urb-profile-chip-icon,
    .urb-stop-chip,
    .urb-stop-enter-active,
    .urb-stop-leave-active,
    .urb-stop-move,
    .urb-empty-enter-active,
    .urb-empty-leave-active,
    .urb-hint-enter-active,
    .urb-hint-leave-active,
    .urb-pending-enter-active,
    .urb-pending-leave-active {
        transition: none !important;
}
.urb-route-stop,
    .urb-rec-ring,
    .urb-rec-dot {
        animation: none !important;
}
.urb-profile-chip-active { transform: none;
}
}

.urb-route-card[data-v-37c0d179] {
    /* Using a transform container so the shadow + lift are painted on a
       separate layer — keeps the hover smooth on long lists. */
    will-change: transform;
    transform: translateZ(0);
    transition:
        transform 360ms cubic-bezier(0.22, 1, 0.36, 1),
        filter 360ms ease;
}
.urb-route-card[data-v-37c0d179]:hover {
    transform: translateY(-4px);
}
.urb-route-card[data-v-37c0d179]:active {
    transform: translateY(-1px) scale(0.995);
    transition-duration: 120ms;
}
.urb-route-card-body[data-v-37c0d179] {
    transition:
        border-color 300ms ease,
        box-shadow 300ms ease,
        background-color 300ms ease;
}
.urb-route-card:hover .urb-route-card-body[data-v-37c0d179] {
    border-color: #000;
    box-shadow: 0 14px 34px -20px rgba(0, 0, 0, 0.35);
}
.urb-route-stripe[data-v-37c0d179] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    background: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.45) 100%);
    transition: width 320ms cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 1;
    pointer-events: none;
}
.urb-route-card:hover .urb-route-stripe[data-v-37c0d179] {
    width: 6px;
}
.urb-route-emoji[data-v-37c0d179] {
    display: inline-block;
    transition: transform 420ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.urb-route-card:hover .urb-route-emoji[data-v-37c0d179] {
    transform: scale(1.15) rotate(-6deg);
}
.urb-route-arrow[data-v-37c0d179] {
    display: inline-block;
    transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1), color 300ms ease;
}
.urb-route-card:hover .urb-route-arrow[data-v-37c0d179] {
    transform: translateX(2px);
    color: #000;
}
.urb-route-cta[data-v-37c0d179] {
    opacity: 0;
    transform: translateY(6px);
    transition:
        opacity 280ms ease,
        transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.urb-route-card:hover .urb-route-cta[data-v-37c0d179] {
    opacity: 1;
    transform: translateY(0);
}
.urb-route-cta-arrow[data-v-37c0d179] {
    margin-left: 4px;
    transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.urb-route-card:hover .urb-route-cta-arrow[data-v-37c0d179] {
    transform: translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
.urb-route-card[data-v-37c0d179],
    .urb-route-card-body[data-v-37c0d179],
    .urb-route-stripe[data-v-37c0d179],
    .urb-route-emoji[data-v-37c0d179],
    .urb-route-arrow[data-v-37c0d179],
    .urb-route-cta[data-v-37c0d179],
    .urb-route-cta-arrow[data-v-37c0d179] {
        transition: none !important;
}
.urb-route-card[data-v-37c0d179]:hover {
        transform: none;
}
}

/* Sliding highlight behind the active tab. Width + left are JS-measured
   once the tab set is rendered so the pill always hugs the real button box. */
.urb-main-tabs-pill[data-v-b91df472] {
    transition:
        transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
        width 420ms cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 0;
}
.urb-main-tab[data-v-b91df472] {
    min-width: 110px;
    text-align: center;
    transition:
        color 300ms ease,
        transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}
.urb-main-tab[data-v-b91df472]:active {
    transform: scale(0.97);
}
.urb-main-tab-active[data-v-b91df472] {
    color: #ffffff !important;
}
@media (prefers-reduced-motion: reduce) {
.urb-main-tabs-pill[data-v-b91df472],
    .urb-main-tab[data-v-b91df472] {
        transition: none !important;
}
}

/* Hero emoji pops in with a small overshoot once the data is ready. */
.urb-route-emoji {
    display: inline-block;
    animation: urb-emoji-in 620ms cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
@keyframes urb-emoji-in {
from { opacity: 0; transform: scale(0.4) rotate(-8deg);
}
to   { opacity: 1; transform: scale(1)   rotate(0);
}
}

/* Pin markers on the map pop in when their section of the polyline
   reaches them — see init animation + staggered setTimeout. */
.urb-route-stop-pop {
    animation: urb-pin-pop 380ms cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
@keyframes urb-pin-pop {
from { opacity: 0; transform: scale(0.3);
}
to   { opacity: 1; transform: scale(1);
}
}

/* Timeline stop number scales in when its row reveals. */
.urb-stop-row.is-visible .urb-stop-pin {
    animation: urb-pin-pop 420ms cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

/* Save button pulses when the saved state changes. The inner span is
   re-keyed on toggle so the animation replays. */
.urb-save-pulse {
    animation: urb-save-pulse 380ms cubic-bezier(0.22, 1, 0.36, 1) both;
    display: inline-flex;
}
@keyframes urb-save-pulse {
0%   { transform: scale(1);
}
35%  { transform: scale(1.25);
}
100% { transform: scale(1);
}
}
.urb-btn-hover {
    transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
                background-color 220ms ease,
                border-color 220ms ease;
}
.urb-btn-hover:hover:not(:disabled) {
    transform: translateY(-1px);
}

/* Toast slide-up + fade. */
.urb-toast-enter-from {
    opacity: 0;
    transform: translate(-50%, 12px);
}
.urb-toast-enter-active {
    transition: opacity 260ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.urb-toast-leave-to {
    opacity: 0;
    transform: translate(-50%, 8px);
}
.urb-toast-leave-active {
    transition: opacity 200ms ease, transform 240ms ease;
}
@media (prefers-reduced-motion: reduce) {
.urb-route-emoji,
    .urb-route-stop-pop,
    .urb-stop-row.is-visible .urb-stop-pin,
    .urb-save-pulse {
        animation: none !important;
}
}

.fade-enter-active[data-v-8feb79ae], .fade-leave-active[data-v-8feb79ae] { transition: opacity 220ms ease;
}
.fade-enter-from[data-v-8feb79ae], .fade-leave-to[data-v-8feb79ae] { opacity: 0;
}

.urb-chip {
    font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 500;
    border: 1px solid #e5e5e5; background: transparent; color: #6b7280;
    transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease; cursor: pointer;
}
.urb-chip:hover { border-color: #000; color: #000;
}
.urb-chip.is-active { border-color: #000; background: #000; color: #fff;
}
html.dark .urb-chip { border-color: #262626; color: #a3a3a3; background: transparent;
}
html.dark .urb-chip:hover { border-color: #fafafa; color: #fafafa;
}
html.dark .urb-chip.is-active { border-color: #fafafa; background: #fafafa; color: #0a0a0a;
}

.qr-pulse[data-v-84e01839] {
    animation: qr-breathe-84e01839 2.8s ease-in-out infinite;
}
.qr-pulse-strong[data-v-84e01839] {
    animation: qr-breathe-strong-84e01839 2.4s ease-in-out infinite;
}
@keyframes qr-breathe-84e01839 {
0%, 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(0,0,0,0));
}
50%      { transform: scale(1.03); filter: drop-shadow(0 0 6px rgba(0,0,0,0.15));
}
}
@keyframes qr-breathe-strong-84e01839 {
0%, 100% { transform: scale(1);
}
50%      { transform: scale(1.02);
}
}
.qr-tile .qr-shine[data-v-84e01839] {
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,0.75) 50%, transparent 65%);
    transform: translateX(-120%);
    animation: qr-shine-84e01839 3.6s ease-in-out infinite;
}
@keyframes qr-shine-84e01839 {
0%   { transform: translateX(-120%);
}
60%  { transform: translateX(120%);
}
100% { transform: translateX(120%);
}
}
.qr-fade-enter-active[data-v-84e01839], .qr-fade-leave-active[data-v-84e01839] { transition: opacity 180ms ease;
}
.qr-fade-enter-from[data-v-84e01839], .qr-fade-leave-to[data-v-84e01839] { opacity: 0;
}
.qr-fade-enter-active .qr-pop[data-v-84e01839] { animation: qr-pop-in-84e01839 260ms cubic-bezier(0.2, 0.9, 0.3, 1.2);
}
@keyframes qr-pop-in-84e01839 {
0%   { transform: scale(0.86); opacity: 0;
}
100% { transform: scale(1); opacity: 1;
}
}
@media (prefers-reduced-motion: reduce) {
.qr-pulse[data-v-84e01839], .qr-pulse-strong[data-v-84e01839], .qr-tile .qr-shine[data-v-84e01839], .qr-fade-enter-active .qr-pop[data-v-84e01839] {
        animation: none !important;
}
}

.urb-pref-chip {
    font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500;
    border: 1px solid #e5e5e5; background: transparent; color: #6b7280;
    transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease; cursor: pointer;
}
.urb-pref-chip:hover { border-color: #000; color: #000;
}
.urb-pref-chip.is-active { border-color: #000; background: #000; color: #fff;
}
html.dark .urb-pref-chip { border-color: #262626; color: #a3a3a3; background: transparent;
}
html.dark .urb-pref-chip:hover { border-color: #fafafa; color: #fafafa;
}
html.dark .urb-pref-chip.is-active { border-color: #fafafa; background: #fafafa; color: #0a0a0a;
}

.urb-day-tab {
    border: 1px solid #e5e5e5; background: transparent; color: #737373;
    transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease; cursor: pointer;
}
.urb-day-tab:hover { border-color: #000; color: #000;
}
.urb-day-tab.is-active { border-color: #000; background: #000; color: #fff;
}
html.dark .urb-day-tab { border-color: #262626; color: #a3a3a3; background: transparent;
}
html.dark .urb-day-tab:hover { border-color: #fafafa; color: #fafafa;
}
html.dark .urb-day-tab.is-active { border-color: #fafafa; background: #fafafa; color: #0a0a0a;
}
/* stylelint-disable */
html,
body {
  width: 100%;
  height: 100%;
}
input::-ms-clear,
input::-ms-reveal {
  display: none;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@-ms-viewport {
  width: device-width;
}
body {
  margin: 0;
}
[tabindex='-1']:focus {
  outline: none;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5em;
  font-weight: 500;
}
p {
  margin-top: 0;
  margin-bottom: 1em;
}
abbr[title],
abbr[data-original-title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline;
  text-decoration: underline dotted;
  border-bottom: 0;
  cursor: help;
}
address {
  margin-bottom: 1em;
  font-style: normal;
  line-height: inherit;
}
input[type='text'],
input[type='password'],
input[type='number'],
textarea {
  -webkit-appearance: none;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1em;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 500;
}
dd {
  margin-bottom: 0.5em;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1em;
}
dfn {
  font-style: italic;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
pre,
code,
kbd,
samp {
  font-size: 1em;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
pre {
  margin-top: 0;
  margin-bottom: 1em;
  overflow: auto;
}
figure {
  margin: 0 0 1em;
}
img {
  vertical-align: middle;
  border-style: none;
}
a,
area,
button,
[role='button'],
input:not([type='range']),
label,
select,
summary,
textarea {
  touch-action: manipulation;
}
table {
  border-collapse: collapse;
}
caption {
  padding-top: 0.75em;
  padding-bottom: 0.3em;
  text-align: left;
  caption-side: bottom;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html [type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
input[type='radio'],
input[type='checkbox'] {
  box-sizing: border-box;
  padding: 0;
}
input[type='date'],
input[type='time'],
input[type='datetime-local'],
input[type='month'] {
  -webkit-appearance: listbox;
}
textarea {
  overflow: auto;
  resize: vertical;
}
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0.5em;
  padding: 0;
  color: inherit;
  font-size: 1.5em;
  line-height: inherit;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  outline-offset: -2px;
  -webkit-appearance: none;
}
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none !important;
}
mark {
  padding: 0.2em;
  background-color: #feffe6;
}

.geo-prompt-enter-active[data-v-8f73fef1],
.geo-prompt-leave-active[data-v-8f73fef1] {
    transition: opacity 420ms cubic-bezier(0.22, 1, 0.36, 1), transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}
.geo-prompt-enter-from[data-v-8f73fef1] { opacity: 0; transform: translate(-50%, -14px);
}
.geo-prompt-leave-to[data-v-8f73fef1] { opacity: 0; transform: translate(-50%, -14px);
}

.cookie-card[data-v-c2b70c69] {
    background: white;
    border: 1px solid #e5e5e5;
    border-radius: 16px;
    padding: 20px;
    box-shadow:
        0 4px 24px rgba(0, 0, 0, 0.06),
        0 1px 4px rgba(0, 0, 0, 0.04);
    transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1), opacity 400ms ease;
}
.cookie-card.is-eating[data-v-c2b70c69] {
    transform: scale(0.97);
}

/* ── cookie bite animation ── */
.cookie-bite[data-v-c2b70c69] {
    display: inline-block;
    animation: cookie-wobble-c2b70c69 2.4s ease-in-out infinite;
}
.is-eating .cookie-bite[data-v-c2b70c69] {
    animation: cookie-chomp-c2b70c69 0.4s ease forwards;
}
@keyframes cookie-wobble-c2b70c69 {
0%, 100% { transform: rotate(0deg);
}
25% { transform: rotate(-8deg);
}
75% { transform: rotate(8deg);
}
}
@keyframes cookie-chomp-c2b70c69 {
0% { transform: scale(1) rotate(0deg);
}
40% { transform: scale(1.2) rotate(-10deg);
}
100% { transform: scale(0) rotate(20deg); opacity: 0;
}
}

/* ── buttons ── */
.cookie-btn[data-v-c2b70c69] {
    flex: 1;
    height: 40px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: transform 180ms ease, background-color 200ms ease, color 200ms ease;
    cursor: pointer;
    border: none;
}
.cookie-btn[data-v-c2b70c69]:active {
    transform: scale(0.96);
}
.cookie-btn--primary[data-v-c2b70c69] {
    background: #000;
    color: #fff;
}
.cookie-btn--primary[data-v-c2b70c69]:hover {
    background: #222;
}
.cookie-btn--ghost[data-v-c2b70c69] {
    background: #f5f5f5;
    color: #737373;
}
.cookie-btn--ghost[data-v-c2b70c69]:hover {
    background: #e5e5e5;
    color: #000;
}

/* ── entrance / exit ── */
.cookie-enter-active[data-v-c2b70c69] {
    transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1), opacity 400ms ease;
}
.cookie-leave-active[data-v-c2b70c69] {
    transition: transform 360ms cubic-bezier(0.55, 0, 1, 0.45), opacity 280ms ease;
}
.cookie-enter-from[data-v-c2b70c69] {
    transform: translateY(24px) scale(0.96);
    opacity: 0;
}
.cookie-leave-to[data-v-c2b70c69] {
    transform: translateY(16px) scale(0.94);
    opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
.cookie-bite[data-v-c2b70c69],
    .is-eating .cookie-bite[data-v-c2b70c69] {
        animation: none !important;
}
}

/* ── crumb particles (global because teleported) ── */
.crumb-particle {
    position: fixed;
    border-radius: 50%;
    background: #d4a574;
    pointer-events: none;
    z-index: 9999;
    animation: crumb-fly 600ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes crumb-fly {
0% {
        transform: translate(0, 0) scale(1);
        opacity: 1;
}
100% {
        transform: translate(var(--tx), var(--ty)) scale(0);
        opacity: 0;
}
}

.nav-icon[data-v-b52e0401] {
    transition: transform 240ms cubic-bezier(0.34, 1.56, 0.64, 1);
    transform-origin: 50% 50%;
    overflow: visible;
}

/* Hover lift on parent Link */
[data-v-b52e0401] a:hover .nav-icon,
a:hover > .nav-icon[data-v-b52e0401] {
    transform: translateY(-1px) scale(1.08);
}

/* ---------- explore / compass ---------- */
.nav-icon--explore .compass-needle[data-v-b52e0401] {
    transform-origin: 12px 12px;
    transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
}
.nav-icon--explore.is-active .compass-needle[data-v-b52e0401] {
    animation: compass-spin-b52e0401 3.2s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}
@keyframes compass-spin-b52e0401 {
0%, 100% { transform: rotate(0deg);
}
50% { transform: rotate(22deg);
}
}

/* ---------- map ---------- */
.nav-icon--map .map-body[data-v-b52e0401] {
    transform-origin: 12px 12px;
    transition: transform 300ms ease;
}
.nav-icon--map.is-active .map-body[data-v-b52e0401] {
    animation: map-sway-b52e0401 2.8s ease-in-out infinite;
}
@keyframes map-sway-b52e0401 {
0%, 100% { transform: rotate(-3deg);
}
50% { transform: rotate(3deg);
}
}

/* ---------- feed ---------- */
.nav-icon--feed .feed-line[data-v-b52e0401] {
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 400ms ease;
}
.nav-icon--feed.is-active .feed-line--1[data-v-b52e0401] { animation: feed-draw-b52e0401 2.4s ease-in-out infinite;
}
.nav-icon--feed.is-active .feed-line--2[data-v-b52e0401] { animation: feed-draw-b52e0401 2.4s ease-in-out infinite 0.12s;
}
.nav-icon--feed.is-active .feed-line--3[data-v-b52e0401] { animation: feed-draw-b52e0401 2.4s ease-in-out infinite 0.24s;
}
@keyframes feed-draw-b52e0401 {
0% { stroke-dashoffset: 1;
}
40%, 100% { stroke-dashoffset: 0;
}
}

/* ---------- events ---------- */
.nav-icon--events .cal-tick[data-v-b52e0401] {
    transform-origin: center;
    transition: transform 300ms ease;
}
.nav-icon--events.is-active .cal-tick--l[data-v-b52e0401] { animation: cal-bounce-b52e0401 1.6s ease-in-out infinite;
}
.nav-icon--events.is-active .cal-tick--r[data-v-b52e0401] { animation: cal-bounce-b52e0401 1.6s ease-in-out infinite 0.2s;
}
@keyframes cal-bounce-b52e0401 {
0%, 100% { transform: translateY(0);
}
50% { transform: translateY(-1.2px);
}
}

/* ---------- tickets ---------- */
.nav-icon--tickets .ticket-body[data-v-b52e0401] {
    transform-origin: 12px 12px;
    transition: transform 300ms ease;
}
.nav-icon--tickets.is-active .ticket-body[data-v-b52e0401] {
    animation: ticket-tilt-b52e0401 2.4s ease-in-out infinite;
}
@keyframes ticket-tilt-b52e0401 {
0%, 100% { transform: rotate(-2deg);
}
50% { transform: rotate(2deg);
}
}

/* ---------- routes ---------- */
.nav-icon--routes .route-body[data-v-b52e0401] {
    transform-origin: 12px 12px;
    transition: transform 300ms ease;
}
.nav-icon--routes.is-active .route-body[data-v-b52e0401] {
    animation: route-pulse-b52e0401 2.6s ease-in-out infinite;
}
@keyframes route-pulse-b52e0401 {
0%, 100% { transform: scale(1);
}
50% { transform: scale(1.06);
}
}

/* ---------- planner ---------- */
.nav-icon--planner .planner-body[data-v-b52e0401] {
    transform-origin: 12px 12px;
    transition: transform 300ms ease;
}
.nav-icon--planner.is-active .planner-body[data-v-b52e0401] {
    animation: planner-check-b52e0401 2.4s ease-in-out infinite;
}
@keyframes planner-check-b52e0401 {
0%, 100% { transform: scale(1);
}
50% { transform: scale(1.06) rotate(1deg);
}
}

/* ---------- profile ---------- */
.nav-icon--profile .profile-head[data-v-b52e0401] {
    transform-origin: 12px 8px;
    transition: transform 300ms ease;
}
.nav-icon--profile.is-active .profile-head[data-v-b52e0401] {
    animation: profile-bob-b52e0401 2.2s ease-in-out infinite;
}
@keyframes profile-bob-b52e0401 {
0%, 100% { transform: translateY(0);
}
50% { transform: translateY(-0.8px);
}
}
@media (prefers-reduced-motion: reduce) {
.nav-icon[data-v-b52e0401], .nav-icon[data-v-b52e0401] * {
        animation: none !important;
        transition: none !important;
}
}

/* ── sidebar link ── */
.sidebar-link[data-v-cc75c21b] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    color: #a3a3a3;
    transition: color 200ms ease, background-color 200ms ease;
}
.sidebar-link[data-v-cc75c21b]:hover {
    color: #000;
    background-color: #fafafa;
}
.sidebar-link.is-active[data-v-cc75c21b] {
    color: #000;
    background-color: #f5f5f5;
}

/* ── sidebar transitions ── */
.sidebar-enter-active[data-v-cc75c21b] {
    transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
}
.sidebar-leave-active[data-v-cc75c21b] {
    transition: transform 280ms cubic-bezier(0.55, 0, 1, 0.45);
}
.sidebar-enter-from[data-v-cc75c21b],
.sidebar-leave-to[data-v-cc75c21b] {
    transform: translateX(100%);
}
.overlay-enter-active[data-v-cc75c21b] {
    transition: opacity 300ms ease;
}
.overlay-leave-active[data-v-cc75c21b] {
    transition: opacity 200ms ease;
}
.overlay-enter-from[data-v-cc75c21b],
.overlay-leave-to[data-v-cc75c21b] {
    opacity: 0;
}
