/* Preferences: BustoBus surfaces, deliberate hierarchy, accessible controls. */
.bb-info-overlay{bottom:var(--bb-surface-keyboard,0px);padding:16px max(16px,var(--safe-area-right,0px)) max(16px,var(--safe-area-bottom,0px)) max(16px,var(--safe-area-left,0px))}
.bb-info-sheet{max-height:calc(100% - var(--safe-area-top,0px) - 16px);background:#fafaf8;border-color:#e5e7eb;border-radius:24px}
.bb-info-header{align-items:center;background:#fafaf8;padding:21px 22px 18px;border-color:#e5e7eb}
.bb-info-header-icon{width:40px;height:40px;flex-basis:40px;border-radius:13px;box-shadow:none;background:#fff;color:#475569;border:1px solid #e5e7eb}
.bb-info-header h2{font-size:22px;font-weight:800;letter-spacing:-.035em}.bb-info-header p{font-size:12px;line-height:1.45}
.bb-info-close{width:44px;height:44px;flex-basis:44px;background:#eceeed;color:#475569;border-radius:14px}
.bb-info-body{padding:20px 22px 24px;background:#fafaf8;min-height:0;scrollbar-width:thin}
.bb-pref-section{margin:0 0 22px;padding:0;border:0;min-width:0}.bb-pref-section>legend,.bb-pref-section-title{display:block;margin:0 0 10px;font-size:11px;line-height:1.5;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#64748b}
.bb-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.bb-theme-option{position:relative;cursor:pointer;min-width:0}.bb-theme-option input{position:absolute;width:1px;height:1px;opacity:0}
.bb-theme-option>span{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:104px;padding:16px 8px;border:1px solid #dce1e6;border-radius:16px;background:#fff;color:#475569;font-size:12px;font-weight:750;transition:background-color .15s,border-color .15s}
.bb-theme-option svg{width:25px;height:25px;display:block;stroke-width:1.8}
.bb-theme-option input:checked+span{border-color:#CB0304;background:#fff6f5;color:#b70203;box-shadow:inset 0 0 0 .5px #CB0304}
.bb-theme-option input:focus-visible+span{outline:3px solid #2563eb;outline-offset:3px}
.bb-pref-hint{font-size:11px;line-height:1.55;color:#64748b;margin:10px 1px 0}
.bb-pref-group{overflow:hidden;border:1px solid #e1e5e9;border-radius:18px;background:#fff}
.bb-pref-group .bb-info-menu-button{border:0;border-radius:0;box-shadow:none;min-height:69px;padding:13px 14px;grid-template-columns:32px minmax(0,1fr) 18px;gap:11px;background:transparent;transform:none}
.bb-pref-group .bb-info-menu-button+.bb-info-menu-button{border-top:1px solid #edf0f2}
.bb-pref-group .bb-info-menu-button:hover{background:#f5f6f5;box-shadow:none;transform:none}
.bb-pref-group .bb-info-menu-icon{width:32px;height:32px;border-radius:0;background:transparent;color:#475569}
.bb-pref-group .bb-info-menu-copy strong{font-size:13px;font-weight:750}.bb-pref-group .bb-info-menu-copy span{font-size:11px;margin-top:3px}
.bb-pref-group .bb-info-chevron svg{width:16px;height:16px}
.bb-pref-group .bb-info-menu-button:focus-visible{outline-offset:-3px}
.bb-info-view-head{margin-bottom:17px}.bb-info-view-head h3{font-size:18px;font-weight:800;letter-spacing:-.025em}.bb-info-view-head h3:focus{outline:none}
.bb-info-view-head p{line-height:1.5}
.bb-info-back{width:44px;height:44px;flex:0 0 44px;border-radius:14px}
.bb-favorite-list{display:grid;gap:0;background:#fff;border:1px solid #e1e5e9;border-radius:18px;overflow:hidden;list-style:none;margin:0;padding:0}
.bb-favorite-row{display:grid;grid-template-columns:28px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:12px 13px}
.bb-favorite-row+.bb-favorite-row{border-top:1px solid #edf0f2}.bb-favorite-symbol{color:#b70203;display:grid;place-items:center}.bb-favorite-symbol svg{width:19px;height:19px;stroke-width:1.8}
.bb-favorite-copy{min-width:0}.bb-favorite-copy strong{display:block;overflow-wrap:anywhere;font-size:13px;font-weight:750;color:#0f172a;line-height:1.4}.bb-favorite-copy span{display:block;margin-top:3px;font-size:11px;color:#64748b}
.bb-favorite-remove{width:44px;height:44px;border:0;background:transparent;color:#64748b;border-radius:13px;display:grid;place-items:center;cursor:pointer}.bb-favorite-remove:hover{color:#b70203;background:#fff1f0}.bb-favorite-remove:disabled{opacity:.4;cursor:wait}.bb-favorite-remove svg{width:19px;height:19px;stroke-width:1.8}
.bb-favorite-remove:focus-visible{outline:3px solid #2563eb;outline-offset:-2px}
.bb-favorite-empty{padding:25px 20px;text-align:center;background:#fff;border:1px solid #e1e5e9;border-radius:18px;color:#64748b}.bb-favorite-empty svg{display:block;width:28px;height:28px;margin:0 auto 12px;stroke-width:1.6}.bb-favorite-empty strong{display:block;font-size:14px;color:#0f172a}.bb-favorite-empty p{margin:7px auto 0;max-width:270px;font-size:12px;line-height:1.6}
.bb-pref-feedback{margin-top:12px;padding:11px 12px;border:1px solid #dce1e6;border-radius:13px;background:#fff;display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:12px;color:#475569}.bb-pref-feedback[hidden]{display:none}.bb-pref-feedback button{min-height:44px;border:0;padding:8px;background:transparent;font:inherit;font-weight:750;color:#b70203;cursor:pointer}.bb-pref-feedback[data-error=true]{border-color:#fecaca;color:#b91c1c}
.bb-pref-footer{margin:4px 0 0;text-align:center;color:#64748b;font-size:11px;line-height:1.5}.bb-info-overlay.is-open [data-view=menu]>*{animation:none!important}
.bb-info-card{box-shadow:none}.bb-info-external-link,.bb-info-mini-link{box-shadow:none}.bb-info-external-link>span:last-child svg{width:18px;height:18px;display:block;stroke-width:1.8}.bb-info-card h4{font-weight:750}.bb-info-footer-note{font-size:11px}
html[data-info-open=true] .bb-consent{visibility:hidden;pointer-events:none}
@media(max-width:520px){.bb-info-overlay{padding:0 max(0px,var(--safe-area-right,0px)) 0 max(0px,var(--safe-area-left,0px))}.bb-info-sheet{max-height:calc(100% - var(--safe-area-top,0px) - 16px);border-radius:24px 24px 0 0}.bb-info-header{padding:20px 18px 16px}.bb-info-body{padding:18px 18px calc(22px + var(--safe-area-bottom,0px))}.bb-theme-option>span{min-height:100px;padding:15px 6px}}
@media(prefers-reduced-motion:reduce){.bb-theme-option>span{transition:none}}
/* Neutral colour overrides derived from the active styles; geometry unchanged. */
html[data-bb-theme=dark] input::-moz-placeholder{color:#a1adbc}
html[data-bb-theme=dark] textarea::-moz-placeholder{color:#a1adbc}
html[data-bb-theme=dark] input::placeholder,html[data-bb-theme=dark] textarea::placeholder{color:#a1adbc}
html[data-bb-theme=dark] .border-gray-100{border-color:rgb(32 43 56/var(--tw-border-opacity,1))}
html[data-bb-theme=dark] .border-gray-200{border-color:rgb(61 77 96/var(--tw-border-opacity,1))}
html[data-bb-theme=dark] .border-slate-100{border-color:rgb(32 43 56/var(--tw-border-opacity,1))}
html[data-bb-theme=dark] .border-slate-200{border-color:rgb(61 77 96/var(--tw-border-opacity,1))}
html[data-bb-theme=dark] .bg-gray-100{background-color:rgb(32 43 56/var(--tw-bg-opacity,1))}
html[data-bb-theme=dark] .bg-gray-300{background-color:rgb(61 77 96/var(--tw-bg-opacity,1))}
html[data-bb-theme=dark] .bg-gray-50{background-color:rgb(24 33 45/var(--tw-bg-opacity,1))}
html[data-bb-theme=dark] .bg-slate-100{background-color:rgb(32 43 56/var(--tw-bg-opacity,1))}
html[data-bb-theme=dark] .bg-slate-100\/80{background-color:#202b38cc}
html[data-bb-theme=dark] .bg-slate-200{background-color:rgb(61 77 96/var(--tw-bg-opacity,1))}
html[data-bb-theme=dark] .bg-slate-200\/70{background-color:#3d4d60b3}
html[data-bb-theme=dark] .bg-slate-900{background-color:rgb(32 43 56/var(--tw-bg-opacity,1))}
html[data-bb-theme=dark] .bg-white{background-color:rgb(24 33 45/var(--tw-bg-opacity,1))}
html[data-bb-theme=dark] .text-gray-400{color:rgb(161 173 188/var(--tw-text-opacity,1))}
html[data-bb-theme=dark] .text-gray-500{color:rgb(180 191 204/var(--tw-text-opacity,1))}
html[data-bb-theme=dark] .text-gray-900{color:rgb(238 243 248/var(--tw-text-opacity,1))}
html[data-bb-theme=dark] .text-slate-300{color:rgb(180 191 204/var(--tw-text-opacity,1))}
html[data-bb-theme=dark] .text-slate-400{color:rgb(161 173 188/var(--tw-text-opacity,1))}
html[data-bb-theme=dark] .text-slate-500{color:rgb(180 191 204/var(--tw-text-opacity,1))}
html[data-bb-theme=dark] .text-slate-700{color:rgb(238 243 248/var(--tw-text-opacity,1))}
html[data-bb-theme=dark] .text-slate-800{color:rgb(238 243 248/var(--tw-text-opacity,1))}
html[data-bb-theme=dark] .text-slate-900{color:rgb(238 243 248/var(--tw-text-opacity,1))}
html[data-bb-theme=dark] .pulsante-temporale{color:#b4bfcc;background:#18212df5;border-color:#3d4d60fa}
html[data-bb-theme=dark] .pulsante-temporale[data-state=future]{background:#18212df7}
html[data-bb-theme=dark] .pulsante-temporale[data-state=future]:hover{background:#18212d}
html[data-bb-theme=dark] .icona-temporale{color:#b4bfcc;background:#202b38}
html[data-bb-theme=dark] .reset-temporale{background:#18212df5}
html[data-bb-theme=dark] .popover-temporale{color:#eef3f8;background:#18212df7;border-color:#3d4d60f5}
html[data-bb-theme=dark] .input-temporale{color:#eef3f8;background:#18212d;border-color:#3d4d60}
html[data-bb-theme=dark] .input-temporale:focus{background:#18212d}
html[data-bb-theme=dark] .scelta-rapida-temporale{color:#b4bfcc;background:#18212d;border-color:#3d4d60}
html[data-bb-theme=dark] .calendario-temporale,html[data-bb-theme=dark] .orario-temporale{background:#18212d;border-color:#3d4d60}
html[data-bb-theme=dark] .calendario-temporale-nav{color:#b4bfcc;background:#18212d;border-color:#3d4d60}
html[data-bb-theme=dark] .calendario-temporale-mese{color:#eef3f8}
html[data-bb-theme=dark] .calendario-temporale-weekday{color:#a1adbc}
html[data-bb-theme=dark] .giorno-temporale{color:#eef3f8}
html[data-bb-theme=dark] .giorno-temporale:disabled{color:#b4bfcc}
html[data-bb-theme=dark] .giorno-temporale[data-selected=true]:after{background:#18212d}
html[data-bb-theme=dark] .stepper-temporale-gruppo{background:#18212d;border-color:#3d4d60}
html[data-bb-theme=dark] .stepper-temporale-btn{color:#b4bfcc;background:#18212d}
html[data-bb-theme=dark] .stepper-temporale-valore{color:#eef3f8}
html[data-bb-theme=dark] .stepper-temporale-separatore{color:#a1adbc}
html[data-bb-theme=dark] .posizione-utente-alone-interno{border-color:#18212de6}
html[data-bb-theme=dark] .posizione-utente-core{border-color:#18212d}
html[data-bb-theme=dark] .leaflet-control-attribution{color:#b4bfcc!important;background:#18212df0!important}
html[data-bb-theme=dark] .leaflet-control-attribution a{color:#b4bfcc!important}
html[data-bb-theme=dark] .pulsante-posizione-utente{background:#18212df0;border-color:#3d4d60f5}
html[data-bb-theme=dark] .pulsante-posizione-utente[data-state=error]{background:#18212df5}
html[data-bb-theme=dark] .pulsante-posizione-utente[data-state=unsupported]{color:#a1adbc}
html[data-bb-theme=dark] .mappa-in-focus .fermata-container.fermata-futura-pop .fermata-inner{background-color:#18212d!important}
html[data-bb-theme=dark] .badge-orario-animato{color:#eef3f8;background:#18212df0;border-color:#3d4d60f5}
html[data-bb-theme=dark] .search-shell{color:#eef3f8;background:#18212df7;border-color:#3d4d60fa}
html[data-bb-theme=dark] .search-shell:focus-within{border-color:#3d4d60}
html[data-bb-theme=dark] .search-leading-icon{color:#a1adbc}
html[data-bb-theme=dark] .search-shell:focus-within .search-leading-icon{color:#b4bfcc}
html[data-bb-theme=dark] .search-input{color:#eef3f8}
html[data-bb-theme=dark] .search-input::placeholder{color:#a1adbc}
html[data-bb-theme=dark] .search-clear{color:#b4bfcc;background:#202b38}
html[data-bb-theme=dark] .search-clear:hover{color:#eef3f8;background:#3d4d60}
html[data-bb-theme=dark] .search-submit{background:#202b38}
html[data-bb-theme=dark] .search-submit:hover{background:#202b38}
html[data-bb-theme=dark] .search-results{color:#eef3f8;background:#18212dfb;border-color:#3d4d60fa}
html[data-bb-theme=dark] .search-results::-webkit-scrollbar-thumb{background:#3d4d60}
html[data-bb-theme=dark] .search-results-header{color:#a1adbc}
html[data-bb-theme=dark] .search-results-header-count{color:#b4bfcc;background:#202b38}
html[data-bb-theme=dark] .search-result-item{color:#eef3f8;border-top-color:#202b38}
html[data-bb-theme=dark] .search-result-item:hover,html[data-bb-theme=dark] .search-result-item[data-active=true]{background:#18212d}
html[data-bb-theme=dark] .search-result-item[data-type=fermata] .search-result-icon{color:#eef3f8}
html[data-bb-theme=dark] .search-result-item[data-type=luogo] .search-result-icon{color:#b4bfcc;background:#202b38;border-color:#3d4d60}
html[data-bb-theme=dark] .search-result-item[data-type=evento] .search-result-icon{color:#eef3f8;background:#18212d;border-color:#3d4d60}
html[data-bb-theme=dark] .search-result-title{color:#eef3f8}
html[data-bb-theme=dark] .search-result-subtitle{color:#b4bfcc}
html[data-bb-theme=dark] .search-result-item[data-type=fermata] .search-result-kind{color:#eef3f8}
html[data-bb-theme=dark] .search-result-item[data-type=luogo] .search-result-kind{color:#b4bfcc;background:#202b38}
html[data-bb-theme=dark] .search-result-item[data-type=evento] .search-result-kind{color:#eef3f8;background:#202b38}
html[data-bb-theme=dark] .search-result-origin{color:#a1adbc}
html[data-bb-theme=dark] .search-result-origin[data-origin=recente]{color:#b4bfcc}
html[data-bb-theme=dark] .search-feedback{color:#b4bfcc}
html[data-bb-theme=dark] .search-feedback-dot{background:#53677d}
html[data-bb-theme=dark] .search-place-visual{background:#18212dfa;border-color:#202b38}
html[data-bb-theme=dark] .search-place-core{background:#202b38}
html[data-bb-theme=dark] .search-place-tooltip.leaflet-tooltip{color:#eef3f8;background:#18212df7;border-color:#3d4d60}
html[data-bb-theme=dark] .search-place-tooltip.leaflet-tooltip-top:before{border-top-color:#18212d}
html[data-bb-theme=dark] .app-status-card{color:#eef3f8;background:#18212df7;border-color:#3d4d60fa}
html[data-bb-theme=dark] .app-status-icon{color:#b4bfcc;background:#202b38}
html[data-bb-theme=dark] .app-status-copy strong,html[data-bb-theme=dark] .app-status-card strong{color:#eef3f8}
html[data-bb-theme=dark] .app-status-copy small{color:#b4bfcc}
html[data-bb-theme=dark] .app-status-primary{background:#202b38}
html[data-bb-theme=dark] .app-status-primary:hover{background:#202b38}
html[data-bb-theme=dark] .app-status-close{color:#b4bfcc;background:#202b38}
html[data-bb-theme=dark] .panel-stop-action{color:#b4bfcc;background:#18212d;border-color:#3d4d60}
html[data-bb-theme=dark] .panel-stop-action:hover{color:#eef3f8;background:#202b38}
html[data-bb-theme=dark] .panel-stop-action[data-favorite=true]{color:#eef3f8;background:#3d4d60;border-color:#3d4d60}
html[data-bb-theme=dark] .search-feedback-personal{color:#b4bfcc;background:#18212d}
html[data-bb-theme=dark] .arrival-alert-button{color:#a1adbc}
html[data-bb-theme=dark] .arrival-alert-button:hover{color:#b4bfcc;background:#18212d;border-color:#3d4d60}
html[data-bb-theme=dark] .arrival-alert-overlay{background:#202b3857}
html[data-bb-theme=dark] .arrival-alert-sheet{background:#18212d}
html[data-bb-theme=dark] .arrival-alert-sheet-handle{background:#3d4d60}
html[data-bb-theme=dark] .arrival-alert-sheet h2{color:#eef3f8}
html[data-bb-theme=dark] .arrival-alert-sheet>p,html[data-bb-theme=dark] .arrival-alert-sheet-heading-row p{color:#b4bfcc}
html[data-bb-theme=dark] .arrival-alert-secondary{color:#eef3f8;background:#202b38}
html[data-bb-theme=dark] .arrival-alert-close{color:#b4bfcc;background:#202b38}
html[data-bb-theme=dark] .arrival-alert-setting-row{border-top-color:#202b38}
html[data-bb-theme=dark] .arrival-alert-setting-row strong{color:#eef3f8}
html[data-bb-theme=dark] .arrival-alert-setting-row small{color:#a1adbc}
html[data-bb-theme=dark] .arrival-alert-repeat{background:#18212d}
html[data-bb-theme=dark] .arrival-alert-repeat span{color:#a1adbc}
html[data-bb-theme=dark] .arrival-alert-repeat strong{color:#eef3f8}
html[data-bb-theme=dark] .arrival-alert-snackbar{background:#202b38}
html[data-bb-theme=dark] .arrival-alert-snackbar span{color:#b4bfcc}
html[data-bb-theme=dark] .arrival-alert-snackbar button{background:#18212d14}
html[data-bb-theme=dark] .arrival-alert-list-item{background:#18212d;border-color:#3d4d60}
html[data-bb-theme=dark] .arrival-alert-list-copy strong{color:#eef3f8}
html[data-bb-theme=dark] .arrival-alert-list-copy small{color:#b4bfcc}
html[data-bb-theme=dark] .arrival-alert-empty{color:#b4bfcc;background:#18212d}
html[data-bb-theme=dark] .hover\:bg-slate-200:hover{background-color:rgb(61 77 96/var(--tw-bg-opacity,1))}
html[data-bb-theme=dark] .hover\:bg-slate-800:hover{background-color:rgb(32 43 56/var(--tw-bg-opacity,1))}
html[data-bb-theme=dark] .leaflet-zoom-box{background:#18212d80}
html[data-bb-theme=dark] .leaflet-bar a{background-color:#18212d}
html[data-bb-theme=dark] .leaflet-control-layers{background:#18212d}
html[data-bb-theme=dark] .leaflet-control-layers-expanded{background:#18212d}
html[data-bb-theme=dark] .leaflet-popup-content-wrapper,html[data-bb-theme=dark] .leaflet-popup-tip{background:#18212d}
html[data-bb-theme=dark] .leaflet-div-icon{background:#18212d}
html[data-bb-theme=dark] .leaflet-tooltip{background-color:#18212d;border-color:#18212d}
html[data-bb-theme=dark] .leaflet-tooltip-top:before{border-top-color:#18212d}
html[data-bb-theme=dark] .leaflet-tooltip-bottom:before{border-bottom-color:#18212d}
html[data-bb-theme=dark] .bb-trip-dot{color:#b4bfcc}
html[data-bb-theme=dark] .bb-trip-stop:hover .bb-trip-stop-surface{background:#18212d}
html[data-bb-theme=dark] .bb-trip-stop:focus-visible .bb-trip-stop-surface{border-color:color-mix(in srgb, var(--bb-trip-color) 35%, #3d4d60)}
html[data-bb-theme=dark] .bb-trip-stop--next .bb-trip-stop-surface{border-color:color-mix(in srgb, var(--bb-trip-color) 16%, #18212d);background:color-mix(in srgb, var(--bb-trip-color) 5.5%, #18212d)}
html[data-bb-theme=dark] .bb-trip-stop--next:hover .bb-trip-stop-surface{background:color-mix(in srgb, var(--bb-trip-color) 7%, #18212d)}
html[data-bb-theme=dark] .bb-trip-node{border-color:#18212d}
html[data-bb-theme=dark] .bb-trip-stop--past .bb-trip-node{border-color:#18212d;background:#657c94}
html[data-bb-theme=dark] .bb-trip-segment--past{background:#3d4d60}
html[data-bb-theme=dark] .bb-trip-segment--current{background:linear-gradient(
        to bottom,
        #3d4d60 0 var(--bb-trip-progress, 0%),
        var(--bb-trip-color) var(--bb-trip-progress, 0%) 100%
    )}
html[data-bb-theme=dark] .bb-trip-stop-name{color:#eef3f8}
html[data-bb-theme=dark] .bb-trip-stop-meta{color:#a1adbc}
html[data-bb-theme=dark] .bb-trip-stop--past .bb-trip-stop-name,html[data-bb-theme=dark] .bb-trip-stop--past .bb-trip-stop-time{color:#a1adbc}
html[data-bb-theme=dark] .bb-trip-stop--next .bb-trip-stop-name{color:#eef3f8}
html[data-bb-theme=dark] .bb-trip-stop-time{color:#eef3f8}
html[data-bb-theme=dark] .bb-trip-chip{border-color:#18212d;background:color-mix(in srgb, var(--bb-trip-color) 9%, #18212d)}
html[data-bb-theme=dark] .bb-trip-end{border-color:#3d4d60;background:#18212d;color:#b4bfcc}
html[data-bb-theme=dark] .bb-trip-end svg{color:#a1adbc}
html[data-bb-theme=dark] .fermata-container.bb-trip-map-past .fermata-inner{border-color:#657c94 !important;background:#18212d !important}
html[data-bb-theme=dark] .fermata-container.bb-trip-map-future .fermata-inner{background:#18212d !important}
html[data-bb-theme=dark] .bb-trip-stop--next:hover .bb-trip-stop-surface{background:color-mix(in srgb, var(--bb-trip-color) 5.5%, #18212d)}
html[data-bb-theme=dark] .bb-map-provider-overlay{background:rgba(32,43,56,.22)}
html[data-bb-theme=dark] .bb-map-provider-sheet{border-color:rgba(61,77,96,.92);background:rgba(24,33,45,.985)}
html[data-bb-theme=dark] .bb-map-provider-icon{background:#202b38;color:#eef3f8;border-color:#3d4d60}
html[data-bb-theme=dark] .bb-map-provider-heading h2{color:#eef3f8}
html[data-bb-theme=dark] .bb-map-provider-heading p{color:#b4bfcc}
html[data-bb-theme=dark] .bb-map-provider-close{color:#b4bfcc;background:#18212d;border-color:#3d4d60}
html[data-bb-theme=dark] .bb-map-provider-close:active{background:#202b38}
html[data-bb-theme=dark] .bb-map-provider-option{background:#18212d}
html[data-bb-theme=dark] .bb-map-provider-option-icon{background:#202b38;color:#eef3f8}
html[data-bb-theme=dark] .bb-map-provider-note{color:#a1adbc}
html[data-bb-theme=dark] .pulsante-info-bustobus{border-color:rgba(61,77,96,.96);background:rgba(24,33,45,.94);color:#eef3f8}
html[data-bb-theme=dark] .pulsante-info-bustobus[aria-expanded="true"]{background:#202b38;border-color:#202b38}
html[data-bb-theme=dark] .bb-info-backdrop{background:rgba(32,43,56,.46)}
html[data-bb-theme=dark] .bb-info-sheet{background:#18212d;border-color:rgba(61,77,96,.9)}
html[data-bb-theme=dark] .bb-info-header{border-bottom-color:#3d4d60;background:linear-gradient(180deg,#18212d,#fbfdff)}
html[data-bb-theme=dark] .bb-info-header-icon{background:#202b38}
html[data-bb-theme=dark] .bb-info-header h2{color:#eef3f8}
html[data-bb-theme=dark] .bb-info-header p{color:#b4bfcc}
html[data-bb-theme=dark] .bb-info-close{background:#202b38;color:#b4bfcc}
html[data-bb-theme=dark] .bb-info-close:hover{background:#3d4d60}
html[data-bb-theme=dark] .bb-info-body{background:#18212d}
html[data-bb-theme=dark] .bb-info-hero strong{color:#eef3f8}
html[data-bb-theme=dark] .bb-info-hero span{color:#b4bfcc}
html[data-bb-theme=dark] .bb-info-menu-button{border-color:#3d4d60;background:#18212d;color:#eef3f8}
html[data-bb-theme=dark] .bb-info-menu-button:hover{border-color:#3d4d60}
html[data-bb-theme=dark] .bb-info-menu-copy span{color:#b4bfcc}
html[data-bb-theme=dark] .bb-info-chevron{color:#a1adbc}
html[data-bb-theme=dark] .bb-info-back{border-color:#3d4d60;background:#18212d;color:#b4bfcc}
html[data-bb-theme=dark] .bb-info-view-head h3{color:#eef3f8}
html[data-bb-theme=dark] .bb-info-view-head p{color:#b4bfcc}
html[data-bb-theme=dark] .bb-info-card{background:#18212d;border-color:#3d4d60}
html[data-bb-theme=dark] .bb-info-card h4{color:#eef3f8}
html[data-bb-theme=dark] .bb-info-card p{color:#b4bfcc}
html[data-bb-theme=dark] .bb-info-kicker{color:#a1adbc}
html[data-bb-theme=dark] .bb-info-data-row+.bb-info-data-row{border-top-color:#3d4d60}
html[data-bb-theme=dark] .bb-info-data-icon{background:#202b38;color:#eef3f8}
html[data-bb-theme=dark] .bb-info-data-copy strong{color:#eef3f8}
html[data-bb-theme=dark] .bb-info-data-copy span{color:#b4bfcc}
html[data-bb-theme=dark] .bb-report-form label{color:#eef3f8}
html[data-bb-theme=dark] .bb-report-form select,html[data-bb-theme=dark] .bb-report-form textarea{border-color:#3d4d60;background:#18212d;color:#eef3f8}
html[data-bb-theme=dark] .bb-report-meta{color:#a1adbc}
html[data-bb-theme=dark] .bb-report-success h4{color:#eef3f8}
html[data-bb-theme=dark] .bb-report-success p{color:#b4bfcc}
html[data-bb-theme=dark] .bb-report-code{background:#202b38}
html[data-bb-theme=dark] .bb-info-external-link{background:#202b38}
html[data-bb-theme=dark] .bb-info-external-link small{color:#b4bfcc}
html[data-bb-theme=dark] .bb-credit-person{background:#202b38}
html[data-bb-theme=dark] .bb-info-footer-note{color:#a1adbc}
html[data-bb-theme=dark] .bb-info-version{color:#b4bfcc}
html[data-bb-theme=dark] .bb-consent{border-color:rgba(61,77,96,.92);background:rgba(24,33,45,.97)}
html[data-bb-theme=dark] .bb-consent-dismiss{color:#b4bfcc}
html[data-bb-theme=dark] .bb-consent-dismiss:hover{background:#202b38;color:#eef3f8}
html[data-bb-theme=dark] .bb-consent-copy strong{color:#eef3f8}
html[data-bb-theme=dark] .bb-consent-copy p{color:#b4bfcc}
html[data-bb-theme=dark] .bb-consent-secondary{border-color:#3d4d60;background:#18212d;color:#eef3f8}
html[data-bb-theme=dark] .bb-consent-secondary:hover{border-color:#657c94;background:#18212d}
html[data-bb-theme=dark] .bb-consent-choice{border-color:#657c94;background:#18212d;color:#eef3f8}
html[data-bb-theme=dark] .bb-info-external-link-light{background:#18212d;color:#eef3f8}
html[data-bb-theme=dark] .bb-info-external-link-light small{color:#b4bfcc}
html[data-bb-theme=dark] .bb-info-section-label{color:#a1adbc}
html[data-bb-theme=dark] .bb-info-report-action{border-color:#3d4d60;background:#18212d;color:#eef3f8}
html[data-bb-theme=dark] .bb-info-report-action:hover{border-color:#3d4d60}
html[data-bb-theme=dark] .bb-info-report-action-copy strong{color:#eef3f8}
html[data-bb-theme=dark] .bb-info-report-action-copy span{color:#b4bfcc}
html[data-bb-theme=dark] .bb-info-report-action-go{color:#a1adbc}
html[data-bb-theme=dark] .bb-info-report-action:hover .bb-info-report-action-go{color:#b4bfcc}
html[data-bb-theme=dark] .bb-tone-slate{background:#202b38;color:#b4bfcc}
html[data-bb-theme=dark] .bb-info-mini-link{background:#18212d;border-color:#3d4d60;color:#eef3f8}
html[data-bb-theme=dark] .bb-info-mini-link:hover{border-color:#3d4d60}
html[data-bb-theme=dark] .bb-info-mini-link-icon{background:#18212d;color:#b4bfcc}
html[data-bb-theme=dark] .bb-info-mini-link small{color:#a1adbc}
html[data-bb-theme=dark] .bb-user-position{border-color:#18212d}
html[data-bb-theme=dark] .pulsante-installa-bustobus{border-color:rgba(61,77,96,.96);background:rgba(24,33,45,.94);color:#eef3f8}
html[data-bb-theme=dark] .pulsante-installa-bustobus[aria-expanded="true"]{background:#202b38;border-color:#202b38}
html[data-bb-theme=dark] .bb-install-backdrop{background:rgba(32,43,56,.46)}
html[data-bb-theme=dark] .bb-install-sheet{background:#18212d;border-color:rgba(61,77,96,.9)}
html[data-bb-theme=dark] .bb-install-header{border-bottom-color:#3d4d60;background:linear-gradient(180deg,#18212d,#fbfdff)}
html[data-bb-theme=dark] .bb-install-header-icon{background:#202b38}
html[data-bb-theme=dark] .bb-install-header h2{color:#eef3f8}
html[data-bb-theme=dark] .bb-install-header p{color:#b4bfcc}
html[data-bb-theme=dark] .bb-install-close{background:#202b38;color:#b4bfcc}
html[data-bb-theme=dark] .bb-install-close:hover{background:#3d4d60;color:#eef3f8}
html[data-bb-theme=dark] .bb-install-body{background:#18212d}
html[data-bb-theme=dark] .bb-install-hero strong{color:#eef3f8}
html[data-bb-theme=dark] .bb-install-hero span{color:#b4bfcc}
html[data-bb-theme=dark] .bb-install-card{background:#18212d;border-color:#3d4d60}
html[data-bb-theme=dark] .bb-install-card strong{color:#eef3f8}
html[data-bb-theme=dark] .bb-install-card p{color:#b4bfcc}
html[data-bb-theme=dark] .bb-install-step+.bb-install-step{border-top-color:#3d4d60}
html[data-bb-theme=dark] .bb-install-step-copy strong{color:#eef3f8}
html[data-bb-theme=dark] .bb-install-step-copy span{color:#b4bfcc}
html[data-bb-theme=dark] .bb-install-note{color:#a1adbc}
html[data-bb-theme=dark] #service-status-banner{background:rgba(24,33,45,.97)}
html[data-bb-theme=dark] #service-status-banner .app-status-icon{background:#202b38}
html[data-bb-theme=dark] .line-group-btn{border-color:#3d4d60;background:#18212d;color:#eef3f8}
html[data-bb-theme=dark] .line-group-btn[aria-expanded="true"]{border-color:#657c94}
html[data-bb-theme=dark] .line-group-count{background:#202b38}
html[data-bb-theme=dark] .line-filter-menu{background:rgba(24,33,45,.985);border-color:rgba(101,124,148,.28)}
html[data-bb-theme=dark] .line-filter-option{color:#eef3f8}
html[data-bb-theme=dark] .line-filter-option:hover,html[data-bb-theme=dark] .line-filter-option:focus-visible{background:#18212d}
html[data-bb-theme=dark] .line-filter-option.is-selected{background:#202b38;color:#eef3f8}
html[data-bb-theme=dark] .line-filter-copy small{color:#a1adbc}
html[data-bb-theme=dark] .line-filter-checkmark{color:#eef3f8}
html[data-bb-theme=dark] .bustobus-fermata-focus-ring{background:rgba(24,33,45,.98)}
html[data-bb-theme=dark] #service-notice-card{border-color:color-mix(in srgb,var(--bb-notice) 30%,#3d4d60);background:rgba(24,33,45,.98)}
html[data-bb-theme=dark] .bb-service-notice-meta{color:#b4bfcc}
html[data-bb-theme=dark] .bb-service-notice-dot{background:#3d4d60}
html[data-bb-theme=dark] .bb-notice-chevron{color:#a1adbc}
html[data-bb-theme=dark] .bb-surface-overlay{background:rgba(32,43,56,.28)}
html[data-bb-theme=dark] .bb-surface-sheet{background:#18212d;border-color:rgba(61,77,96,.9)}
html[data-bb-theme=dark] .bb-surface-head-icon{background:#202b38;color:#eef3f8}
html[data-bb-theme=dark] .bb-surface-head-copy h2{color:#eef3f8}
html[data-bb-theme=dark] .bb-surface-head-copy p{color:#b4bfcc}
html[data-bb-theme=dark] .bb-surface-close{background:#202b38;color:#b4bfcc}
html[data-bb-theme=dark] .bb-notice-detail{border-color:#3d4d60;background:#18212d}
html[data-bb-theme=dark] .bb-notice-window{color:#a1adbc}
html[data-bb-theme=dark] .bb-notice-detail h3{color:#eef3f8}
html[data-bb-theme=dark] .bb-notice-detail p{color:#b4bfcc}
html[data-bb-theme=dark] .bb-notice-line{background:#18212d;border-color:#3d4d60;color:#eef3f8}
html[data-bb-theme=dark] .bb-notice-line i{background:var(--line-color,#53677d)}
html[data-bb-theme=dark] .bb-change-hero{background:linear-gradient(145deg,#202b38,#202938)}
html[data-bb-theme=dark] .bb-change-kicker{color:#b4bfcc}
html[data-bb-theme=dark] .bb-change-item-icon{color:#eef3f8}
html[data-bb-theme=dark] .bb-change-item strong{color:#eef3f8}
html[data-bb-theme=dark] .bb-change-item span{color:#b4bfcc}
html[data-bb-theme=dark]{background-color:#10161f}
html[data-bb-theme=dark] body.bg-gray-100{background-color:#10161f}
html[data-bb-theme=dark],html[data-bb-theme=dark] body{background-color:#10161f}
/* Appearance tokens; semantic route/marker colours and image content are preserved. */
html[data-bb-theme=dark]{--bb-bg:#10161f;--bb-surface:#18212d;--bb-raised:#202b38;--bb-border:#3d4d60;--bb-text:#eef3f8;--bb-secondary:#b4bfcc;--bb-muted:#a1adbc;background:#10161f;color:#eef3f8;color-scheme:dark}
html[data-bb-theme=dark] body,html[data-bb-theme=dark] body.bg-gray-100,html[data-bb-theme=dark] #map{background:#10161f;color:#eef3f8}
html[data-bb-theme=dark].bb-launch-enabled,html[data-bb-theme=dark].bb-launch-enabled body{background:#CB0304}
html[data-bb-theme=dark] :is(.bg-white,.bg-gray-50,.bg-slate-50,.bg-gray-100,.bg-slate-100){background-color:#18212d}
html[data-bb-theme=dark] :is([class*="bg-white/"],[class*="bg-slate-100/"]){background-color:rgba(24,33,45,.95)}
html[data-bb-theme=dark] :is(.bg-slate-200,.bg-gray-200,[class*="bg-slate-200/"]){background-color:#293644}
html[data-bb-theme=dark] :is(.text-black,.text-gray-900,.text-gray-800,.text-slate-900,.text-slate-800,.text-slate-700,.text-gray-700){color:#eef3f8}
html[data-bb-theme=dark] :is(.text-gray-600,.text-gray-500,.text-slate-600,.text-slate-500){color:#b4bfcc}
html[data-bb-theme=dark] :is(.text-gray-400,.text-slate-400,.text-slate-300){color:#a1adbc}
html[data-bb-theme=dark] :is(.border-slate-100,.border-slate-200,.border-gray-100,.border-gray-200,.border-slate-300,.border-gray-300){border-color:#3d4d60}
html[data-bb-theme=dark] :is(.bg-emerald-50,.bg-green-50){background-color:#193d34}
html[data-bb-theme=dark] :is(.text-emerald-600,.text-emerald-700,.text-green-700){color:#87e2bd}
html[data-bb-theme=dark] :is(.border-emerald-100,.border-emerald-200,.border-green-100){border-color:#376755}
html[data-bb-theme=dark] :is(.bg-blue-50,.bg-blue-100){background-color:#1c3552}
html[data-bb-theme=dark] :is(.text-blue-600,.text-blue-700,.text-blue-800){color:#8bb9ff}
html[data-bb-theme=dark] :is(.border-blue-100,.border-blue-200){border-color:#3d5b82}
html[data-bb-theme=dark] :is(.bg-orange-50,.bg-amber-50){background-color:#392c1d}
html[data-bb-theme=dark] :is(.text-orange-700,.text-amber-700){color:#efc17d}
html[data-bb-theme=dark] :is(.border-orange-100,.border-amber-100){border-color:#6b5131}
html[data-bb-theme=dark] :is(.bg-red-50,.bg-rose-50){background-color:#40232b}
html[data-bb-theme=dark] :is(.text-red-600,.text-red-700,.text-pink-600){color:#ff9ba7}
html[data-bb-theme=dark] :is(.border-red-100,.border-red-200){border-color:#79414c}
html[data-bb-theme=dark] :is(input,textarea,select){color-scheme:dark}
html[data-bb-theme=dark] :is(input,textarea)::placeholder{color:#a1adbc}
html[data-bb-theme=dark] :is(.bb-info-sheet,.bb-info-header,.bb-info-body){background:#10161f;border-color:#3d4d60;color:#eef3f8}
html[data-bb-theme=dark] :is(.bb-pref-group,.bb-info-card,.bb-info-back,.bb-favorite-list,.bb-favorite-empty,.bb-pref-feedback){background:#18212d;border-color:#3d4d60;color:#eef3f8}
html[data-bb-theme=dark] :is(.bb-info-header-icon,.bb-info-close,.bb-info-data-icon){background:#202b38;color:#b4bfcc;border-color:#3d4d60}
html[data-bb-theme=dark] :is(.bb-info-header h2,.bb-info-view-head h3,.bb-info-card h4,.bb-info-menu-copy strong,.bb-favorite-copy strong,.bb-favorite-empty strong,.bb-report-success h4){color:#eef3f8}
html[data-bb-theme=dark] :is(.bb-info-header p,.bb-info-card p,.bb-info-view-head p,.bb-info-menu-copy span,.bb-pref-hint,.bb-favorite-copy span,.bb-favorite-empty p,.bb-info-data-copy span,.bb-report-success p,.bb-info-footer-note,.bb-pref-footer,.bb-info-version){color:#b4bfcc}
html[data-bb-theme=dark] :is(.bb-info-kicker,.bb-pref-section-title,.bb-pref-section>legend,.bb-info-chevron){color:#a1adbc}
html[data-bb-theme=dark] .bb-pref-group .bb-info-menu-icon{color:#b4bfcc;background:transparent}
html[data-bb-theme=dark] :is(.bb-pref-group .bb-info-menu-button:hover,.bb-favorite-remove:hover){background:#202b38}
html[data-bb-theme=dark] :is(.bb-pref-group .bb-info-menu-button+.bb-info-menu-button,.bb-favorite-row+.bb-favorite-row,.bb-info-data-row+.bb-info-data-row){border-color:#3d4d60}
html[data-bb-theme=dark] :is(.bb-favorite-symbol,.bb-favorite-remove:hover,.bb-pref-feedback button){color:#ff9ba7}
html[data-bb-theme=dark] .bb-favorite-remove{color:#b4bfcc}
html[data-bb-theme=dark] .bb-theme-option>span{background:#18212d;border-color:#3d4d60;color:#b4bfcc}
html[data-bb-theme=dark] .bb-theme-option input:checked+span{background:#40232b;color:#ffc1c7;border-color:#ef7885;box-shadow:inset 0 0 0 .5px #ef7885}
html[data-bb-theme=dark] :is(.bb-info-backdrop){background:rgba(0,0,0,.58)}
html[data-bb-theme=dark] :is(.bb-info-external-link,.bb-info-mini-link){background:#18212d;border-color:#3d4d60;color:#eef3f8}
html[data-bb-theme=dark] :is(.bb-info-external-link small,.bb-info-mini-link small){color:#b4bfcc}
html[data-bb-theme=dark] :is(.bb-info-mini-link-icon){background:#202b38;color:#b4bfcc}
html[data-bb-theme=dark] :is(.bb-info-data-copy strong,.bb-report-form label){color:#eef3f8}
html[data-bb-theme=dark] :is(.bb-info-body a,.bb-pref-footer a){color:#8bb9ff}
html[data-bb-theme=dark] :is(.bb-report-form textarea,.bb-report-form select){background:#18212d;color:#eef3f8;border-color:#3d4d60}
html[data-bb-theme=dark] .bb-report-note{background:#392c1d;color:#efc17d;border-color:#6b5131}
html[data-bb-theme=dark] .bb-report-error{background:#40232b;color:#ff9ba7}
html[data-bb-theme=dark] :is(.bb-report-success-icon){background:#193d34;color:#87e2bd}
html[data-bb-theme=dark] .bb-pref-feedback[data-error=true]{color:#ff9ba7;border-color:#79414c}
html[data-bb-theme=dark] :is(.bb-consent,.bb-consent-secondary,.bb-consent-choice){background:#18212d;color:#eef3f8;border-color:#3d4d60}
html[data-bb-theme=dark] :is(.bb-consent-copy strong,.bb-consent-choice){color:#eef3f8}
html[data-bb-theme=dark] .bb-consent-copy p{color:#b4bfcc}
html[data-bb-theme=dark] .bb-consent-icon{background:#1c3552;color:#8bb9ff}
html[data-bb-theme=dark] .bb-consent-copy a{color:#8bb9ff}
html[data-bb-theme=dark] .bb-consent-choice[aria-pressed=true]{background:#1c3552;color:#b9d3ff;border-color:#8bb9ff}
html[data-bb-theme=dark] :is(.bb-consent-dismiss){color:#b4bfcc}
html[data-bb-theme=dark] .bb-consent-dismiss:hover{background:#202b38;color:#eef3f8}
html[data-bb-theme=dark] :is(.pulsante-info-bustobus,.pulsante-posizione-utente,.pulsante-installa-bustobus){background:rgba(24,33,45,.96);border-color:#3d4d60;color:#eef3f8}
html[data-bb-theme=dark] :is(.leaflet-control-attribution){background:rgba(24,33,45,.92)!important;border-color:#3d4d60!important;color:#b4bfcc!important}
html[data-bb-theme=dark] :is(.leaflet-popup-content-wrapper,.leaflet-popup-tip){background:#18212d;color:#eef3f8}
html[data-bb-theme=dark] :is(.leaflet-popup-close-button){color:#b4bfcc}
html[data-bb-theme=dark] :is(.leaflet-tile-container>div.leaflet-tile){background:#111820!important}
html[data-bb-theme=dark] :is(.app-status-card,.arrival-alert-snackbar,.bb-surface-sheet){background:#18212d;color:#eef3f8;border-color:#3d4d60}
html[data-bb-theme=dark] :is(.app-status-copy strong,.bb-surface-head h2,.bb-notice-detail h3,.bb-change-item strong){color:#eef3f8}
html[data-bb-theme=dark] :is(.app-status-copy small,.bb-surface-head p,.bb-notice-detail p,.bb-change-item span,.bb-change-hero){color:#b4bfcc}
html[data-bb-theme=dark] :is(.bb-surface-head-icon,.bb-surface-close,.app-status-close){background:#202b38;color:#b4bfcc}
html[data-bb-theme=dark] :is(.bb-notice-detail,.bb-change-item,.bb-change-hero){background:#202b38;border-color:#3d4d60}
html[data-bb-theme=dark] :is(.bb-notice-line){background:#18212d;color:#eef3f8;border-color:#3d4d60}
html[data-bb-theme=dark] :is(.bb-trip-panel,.bb-trip-stop-surface,.bb-trip-end,.bb-trip-chip,.bb-trip-cadence){background:#18212d;color:#eef3f8;border-color:#3d4d60}
html[data-bb-theme=dark] :is(.bb-trip-stop-name,.bb-trip-stop-time,.bb-trip-line-title){color:#eef3f8}
html[data-bb-theme=dark] :is(.bb-trip-stop-meta,.bb-trip-stop-side){color:#b4bfcc}
html[data-bb-theme=dark] :is(.bb-install-home-sheet,.bb-map-actions-sheet){background:#18212d;color:#eef3f8;border-color:#3d4d60}
.bb-privacy-details{margin-top:16px;color:#475569}.bb-privacy-details>summary{min-height:44px;cursor:pointer;font-size:12px;font-weight:750;display:list-item;padding:12px 3px}.bb-privacy-details .bb-info-card{margin-top:10px}
html[data-bb-theme=dark] .bb-privacy-details{color:#b4bfcc}
.bb-pref-footer a{color:#475569;text-decoration:underline;text-underline-offset:3px}

/* Map overlays: restrained edge contrast without changing marker geometry. */
html[data-bb-theme=dark] .fermata-inner{background-color:#18212d;border-color:#79a9e8;box-shadow:0 0 0 1px rgba(11,17,25,.78),0 1px 3px rgba(0,0,0,.3)}
html[data-bb-theme=dark] .search-place-visual{border-color:#91a6bf;box-shadow:0 0 0 1px rgba(11,17,25,.75),0 2px 5px rgba(0,0,0,.32)}
html[data-bb-theme=dark] .posizione-utente-core{border-color:#abc0d8}
html[data-bb-theme=dark] .posizione-utente-alone-interno{border-color:rgba(151,175,206,.35)}
html[data-bb-theme=dark] .leaflet-tooltip{border-color:#52647b}
html[data-bb-theme=dark] .pulsante-info-bustobus[aria-expanded=true]{border-color:#52647b}
html[data-bb-theme=dark] .bb-user-position{border-color:#abc0d8;box-shadow:0 0 0 1px rgba(11,17,25,.75),0 2px 6px rgba(0,0,0,.3)}
html[data-bb-theme=dark] .mappa-in-focus .fermata-container.fermata-selezionata .fermata-inner{background-color:#213b5b!important;border-color:#79a9e8!important}
html[data-bb-theme=dark] .bustobus-fermata-focus-ring{border-color:#79a9e8;box-shadow:0 2px 9px rgba(0,0,0,.3),0 0 0 3px rgba(137,171,215,.28)}
html[data-bb-theme=dark] .leaflet-fermate-pane .fermata-container.bb-stop-gps .fermata-inner{box-shadow:0 0 0 2px rgba(137,171,215,.48),0 2px 7px rgba(0,0,0,.24)}
html[data-bb-theme=dark] .bb-install-header{background:#18212d;border-color:#3d4d60}

/* User-approved white centers, preserving coloured stop/event outlines. */
html[data-bb-theme=dark] #map .fermata-container .fermata-inner,html[data-bb-theme=dark] #map .bustobus-fermata-focus-ring{background-color:#fff!important}
html[data-bb-theme=dark] #map .bg-white.border-pink-600{background-color:#fff}
