.busbahn-page{
    width:100%;
    padding-top:0!important;
    font-family:Arial,Helvetica,sans-serif;
}
.busbahn-header-wrap{
    display:flex;
    justify-content:center;
    width:100%;
    margin:0 auto 28px;
}
.busbahn-header-image{
    display:block;
    width:min(100%,var(--anbita-content-header-width,1200px));
    height:auto;
    object-fit:contain;
}


@media(min-width:621px){
    .busbahn-page .busbahn-header-wrap{
        margin:0 auto!important;
    }
    .busbahn-page .busbahn-header-wrap + .busbahn-app{
        margin-top:32px!important;
    }
}

/* Chatraumnamen: im hellen Modus schwarz, im Dark Mode weiß. */
.busbahn-room strong{
    color:#000!important;
}
html.dark-mode .busbahn-room strong,
body.dark-mode .busbahn-room strong{
    color:#fff!important;
}

/* Diktieren und Sprachnachricht mit eindeutigem Ein-/Aus-Zustand. */
.busbahn-dictate-button,
.busbahn-record-button{
    position:relative;
    transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.busbahn-dictate-button.is-active,
.busbahn-record-button.is-active,
.busbahn-recording{
    background:#d7192d!important;
    color:#fff!important;
    border-color:#d7192d!important;
    box-shadow:0 0 0 4px rgba(215,25,45,.22),0 0 16px rgba(215,25,45,.38);
    transform:scale(1.05);
}
.busbahn-dictate-button.is-active::after,
.busbahn-record-button.is-active::after,
.busbahn-recording::after{
    content:'';
    position:absolute;
    right:2px;
    top:2px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 0 0 2px rgba(215,25,45,.7);
}
html.dark-mode .busbahn-dictate-button.is-active,
html.dark-mode .busbahn-record-button.is-active,
body.dark-mode .busbahn-dictate-button.is-active,
body.dark-mode .busbahn-record-button.is-active{
    background:#ff334a!important;
    border-color:#ff6b78!important;
    box-shadow:0 0 0 4px rgba(255,107,120,.26),0 0 18px rgba(255,51,74,.5);
}
.busbahn-entry-card{
    max-width:620px;
    margin:18px auto;
    padding:20px;
    border:1px solid #c8d3e6;
    border-radius:16px;
    background:#fff;
}
.busbahn-entry-card h2{margin:0 0 10px;}
.busbahn-entry-actions{display:flex;gap:10px;flex-wrap:wrap;}
.busbahn-button,
.busbahn-small-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-height:40px;
    padding:9px 16px;
    border:1px solid #174ea6;
    border-radius:9px;
    background:#1f5bd8;
    color:#fff!important;
    text-decoration:none;
    font-weight:700;
}
.busbahn-button-secondary{background:#fff;color:#174ea6!important;}
.busbahn-consent{display:flex;gap:9px;align-items:flex-start;margin:16px 0;}

/* PC, Laptop und Tablet: Chat und Headerbild besitzen dieselbe Gesamtbreite. */
.busbahn-app{
    display:grid;
    grid-template-columns:minmax(230px,280px) minmax(0,1fr);
    width:min(100%,var(--anbita-content-header-width,1200px));
    max-width:var(--anbita-content-header-width,1200px);
    height:clamp(620px,calc(100dvh - 250px),800px);
    min-height:620px;
    margin:0 auto;
    border:1px solid #c8d3e6;
    border-radius:16px;
    overflow:hidden;
    background:#fff;
    color:#18263d;
    box-shadow:0 8px 26px rgba(34,55,86,.10);
}
.busbahn-sidebar{
    min-width:0;
    border-right:1px solid #d8dfeb;
    background:#f6f8fc;
    padding:12px;
    overflow:hidden;
}
.busbahn-sidebar-head,
.busbahn-chat-head{display:flex;align-items:center;gap:10px;}
.busbahn-sidebar-head{justify-content:space-between;margin-bottom:10px;}
.busbahn-room-list{
    display:flex;
    flex-direction:column;
    gap:6px;
    max-height:calc(100% - 92px);
    overflow:auto;
    scrollbar-gutter:stable;
}
.busbahn-room{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:9px;
    align-items:center;
    width:100%;
    padding:7px;
    border:1px solid transparent;
    border-radius:12px;
    background:transparent;
    color:#18263d;
    text-align:left;
    cursor:pointer;
}
.busbahn-room:hover,
.busbahn-room:focus-visible,
.busbahn-room.is-active{border-color:#d7192d;background:#fff;outline:none;}
.busbahn-room img,
.busbahn-current-room-image,
.busbahn-avatar{
    width:44px;
    height:44px;
    border-radius:50%;
    object-fit:cover;
    background:#dce4f1;
}
.busbahn-room small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.busbahn-chat{
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto auto;
    min-width:0;
    min-height:0;
    background:#fff;
}
.busbahn-chat-head{
    padding:11px 14px;
    border-bottom:1px solid #d8dfeb;
    background:#fff;
}
.busbahn-chat-head>div{min-width:0;flex:1;}
.busbahn-chat-head span{display:block;font-size:13px;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.busbahn-icon-button,
.busbahn-send{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    flex:0 0 40px;
    border:1px solid #b9c5d8;
    border-radius:50%;
    background:#fff;
    color:#18263d;
    font-size:19px;
    cursor:pointer;
}
.busbahn-icon-button:focus-visible,
.busbahn-send:focus-visible,
.busbahn-attach:focus-within,
.busbahn-composer textarea:focus-visible{
    outline:3px solid rgba(31,91,216,.28);
    outline-offset:2px;
}
.busbahn-messages{
    min-height:0;
    padding:16px;
    overflow:auto;
    overscroll-behavior:contain;
    background:#eef3f8;
    scrollbar-gutter:stable;
}
.busbahn-message{display:flex;gap:8px;align-items:flex-end;margin:0 0 12px;}
.busbahn-message.is-own{flex-direction:row-reverse;}
.busbahn-bubble{
    max-width:min(76%,680px);
    padding:9px 11px;
    border-radius:14px;
    background:#fff;
    color:#18263d;
    box-shadow:0 1px 2px rgba(0,0,0,.08);
    overflow-wrap:anywhere;
}
.busbahn-message.is-own .busbahn-bubble{background:#d8f7c8;}
.busbahn-bubble strong{display:block;font-size:13px;}
.busbahn-bubble time{display:block;text-align:right;font-size:11px;opacity:.65;margin-top:4px;}
.busbahn-bubble a{color:#124ca3;text-decoration:underline;}
.busbahn-bubble img,
.busbahn-bubble video{display:block;max-width:100%;max-height:420px;border-radius:10px;}
.busbahn-bubble audio{max-width:100%;}

/* Zweizeilig auf PC/Tablet, danach automatische Vergrößerung nach oben. */
.busbahn-composer{
    position:relative;
    z-index:3;
    display:flex;
    align-items:flex-end;
    gap:7px;
    padding:10px;
    border-top:1px solid #d8dfeb;
    background:#fff;
}
.busbahn-composer textarea{
    box-sizing:border-box;
    flex:1;
    width:100%;
    min-width:0;
    min-height:66px;
    height:66px;
    max-height:220px;
    padding:10px 12px;
    border:1px solid #b9c5d8;
    border-radius:16px;
    resize:none;
    overflow-y:hidden;
    background:#fff;
    color:#18263d;
    font-family:Arial,Helvetica,sans-serif;
    font-size:16px;
    line-height:22px;
    caret-color:#18263d;
}
.busbahn-composer textarea::placeholder{color:#65738a;opacity:1;}
.busbahn-attach{
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    flex:0 0 40px;
    border:1px solid #b9c5d8;
    border-radius:50%;
    background:#fff;
    color:#18263d;
    font-size:24px;
    cursor:pointer;
}
.busbahn-attach input{display:none;}
.busbahn-send{background:#1f5bd8;color:#fff;border-color:#1f5bd8;}
.busbahn-send:hover{background:#174ea6;}
.busbahn-file-name{
    min-height:0;
    padding:0 12px 8px;
    background:#fff;
    color:#43516a;
    font-size:12px;
}
.busbahn-dialog{
    width:min(92vw,620px);
    max-height:85vh;
    border:1px solid #d8dfeb;
    border-radius:16px;
    padding:18px;
    background:#fff;
    color:#18263d;
}
.busbahn-dialog::backdrop{background:rgba(0,0,0,.55);}
.busbahn-member{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #e1e6ef;}
.busbahn-member .busbahn-avatar{width:42px;height:42px;}
.busbahn-settings-grid{display:grid;gap:12px;}
.busbahn-settings-grid label{display:flex;gap:9px;align-items:flex-start;}
.busbahn-settings-grid textarea,
.busbahn-settings-grid input[type=text],
.busbahn-settings-grid select{
    width:100%;
    padding:9px;
    border:1px solid #b9c5d8;
    border-radius:8px;
    background:#fff;
    color:#18263d;
    font:16px Arial,Helvetica,sans-serif;
}
.busbahn-empty{text-align:center;padding:30px 12px;}
.busbahn-rathaus-intro{
    box-sizing:border-box;
    width:min(760px,100%);
    max-width:100%;
    margin:0 auto 16px;
    padding:16px 18px;
    border:1px solid #9fb8df;
    border-radius:15px;
    background:#f8fbff;
    color:#18263d;
    box-shadow:0 4px 14px rgba(26,55,96,.08);
    overflow:hidden;
    overflow-wrap:anywhere;
    word-break:normal;
    white-space:normal;
}
.busbahn-rathaus-intro strong{display:block;max-width:100%;margin-bottom:7px;font:900 18px/1.35 Arial,Helvetica,sans-serif;overflow-wrap:anywhere;}
.busbahn-rathaus-intro p{display:block;max-width:100%;margin:6px 0;font:700 16px/1.6 Arial,Helvetica,sans-serif;text-align:left;overflow-wrap:anywhere;word-break:normal;white-space:normal;}

/* Vollständige Dark-Mode-Darstellung für Chat, Eingabe und Dialoge. */
.dark-mode .busbahn-app,
.dark-mode .busbahn-entry-card,
.dark-mode .busbahn-dialog{background:#151a22;color:#f3f6fb;border-color:#435064;box-shadow:0 8px 28px rgba(0,0,0,.34);}
.dark-mode .busbahn-sidebar{background:#11161e;border-color:#435064;}
.dark-mode .busbahn-chat,
.dark-mode .busbahn-chat-head,
.dark-mode .busbahn-composer,
.dark-mode .busbahn-file-name{background:#171d27;color:#f3f6fb;border-color:#435064;}
.dark-mode .busbahn-messages{background:#0c1118;}
.dark-mode .busbahn-room{color:#f3f6fb;}
.dark-mode .busbahn-room:hover,
.dark-mode .busbahn-room:focus-visible,
.dark-mode .busbahn-room.is-active{background:#273142;border-color:#ff6b78;color:#fff;}
.dark-mode .busbahn-room small,
.dark-mode .busbahn-chat-head span,
.dark-mode .busbahn-file-name{color:#c7d1df;}
.dark-mode .busbahn-bubble{background:#222b38;color:#f7f9fc;box-shadow:0 1px 3px rgba(0,0,0,.45);}
.dark-mode .busbahn-message.is-own .busbahn-bubble{background:#19543a;color:#fff;}
.dark-mode .busbahn-bubble a{color:#8fc5ff;}
.dark-mode .busbahn-icon-button,
.dark-mode .busbahn-attach{background:#273142;color:#fff;border-color:#5b6a80;}
.dark-mode .busbahn-send{background:#2d6de2;color:#fff;border-color:#2d6de2;}
.dark-mode .busbahn-composer textarea,
.dark-mode .busbahn-settings-grid textarea,
.dark-mode .busbahn-settings-grid input[type=text],
.dark-mode .busbahn-settings-grid select{
    background:#0f151e;
    color:#fff;
    border-color:#5b6a80;
    caret-color:#fff;
    color-scheme:dark;
}
.dark-mode .busbahn-composer textarea::placeholder{color:#aeb9c8;}
.dark-mode .busbahn-member{border-color:#435064;}
.dark-mode .busbahn-rathaus-intro{background:#172132;color:#fff;border-color:#516b91;}

/* Smartphone: einzeilig starten und bei mehr Text nach oben wachsen. */
@media(max-width:620px){
    .busbahn-header-wrap{margin-bottom:18px;}
    .busbahn-app{
        display:block;
        width:100%;
        height:auto;
        min-height:0;
        border-radius:12px;
        box-shadow:none;
    }
    .busbahn-sidebar{border-right:0;border-bottom:1px solid #d8dfeb;padding:9px;}
    .busbahn-room-list{flex-direction:row;max-height:none;overflow-x:auto;padding-bottom:4px;}
    .busbahn-room{min-width:150px;}
    .busbahn-chat{height:calc(100dvh - 245px);min-height:480px;}
    .busbahn-chat-head{padding:8px;}
    .busbahn-messages{padding:10px;}
    .busbahn-bubble{max-width:84%;}
    .busbahn-composer{
        position:sticky;
        bottom:0;
        gap:5px;
        padding:8px 8px max(8px,env(safe-area-inset-bottom));
    }
    .busbahn-icon-button,
    .busbahn-send,
    .busbahn-attach{width:38px;height:38px;flex-basis:38px;}
    .busbahn-composer textarea{
        min-height:42px;
        height:42px;
        max-height:min(220px,36dvh);
        padding:10px 11px;
        line-height:20px;
        scroll-margin-bottom:12px;
    }
    .busbahn-entry-card{margin:12px 0;padding:16px;}
    .busbahn-entry-actions{flex-direction:column;align-items:flex-start;}
    .busbahn-rathaus-intro{padding:14px;margin-bottom:12px;}
    .busbahn-rathaus-intro strong{font-size:17px;}
}

/* Die installierte App verwendet immer das mobile Schreibverhalten. */
body.anbita-app .busbahn-header-wrap{margin-bottom:18px;}
body.anbita-app .busbahn-app{display:block;width:100%;height:auto;min-height:0;border-radius:12px;box-shadow:none;}
body.anbita-app .busbahn-sidebar{border-right:0;border-bottom:1px solid #d8dfeb;padding:9px;}
body.anbita-app .busbahn-room-list{flex-direction:row;max-height:none;overflow-x:auto;padding-bottom:4px;}
body.anbita-app .busbahn-room{min-width:150px;}
body.anbita-app .busbahn-chat{height:calc(100dvh - 245px);min-height:480px;}
body.anbita-app .busbahn-composer{position:sticky;bottom:0;gap:5px;padding:8px 8px max(8px,env(safe-area-inset-bottom));}
body.anbita-app .busbahn-icon-button,
body.anbita-app .busbahn-send,
body.anbita-app .busbahn-attach{width:38px;height:38px;flex-basis:38px;}
body.anbita-app .busbahn-composer textarea{min-height:42px;height:42px;max-height:min(220px,36dvh);padding:10px 11px;line-height:20px;scroll-margin-bottom:12px;}
.busbahn-send:disabled{opacity:.58;cursor:wait;}
.dark-mode .busbahn-dialog select,
.dark-mode .busbahn-dialog input[type=file]{color:#f3f6fb;color-scheme:dark;}
.dark-mode .busbahn-button-secondary{background:#273142;color:#fff!important;border-color:#71819a;}
.dark-mode .busbahn-room-list,
.dark-mode .busbahn-messages{scrollbar-color:#5b6a80 #11161e;}


.busbahn-app,
.busbahn-sidebar,
.busbahn-room,
.busbahn-room strong,
.busbahn-chat,
.busbahn-chat-head,
.busbahn-chat-head strong,
.busbahn-chat-head span,
.busbahn-messages,
.busbahn-message,
.busbahn-bubble,
.busbahn-bubble strong,
.busbahn-bubble time,
.busbahn-composer,
.busbahn-composer textarea{
    color:#000000!important;
    -webkit-text-fill-color:#000000!important;
}
.busbahn-composer textarea{
    caret-color:#000000!important;
}
.busbahn-composer textarea::placeholder{
    color:#65738a!important;
    -webkit-text-fill-color:#65738a!important;
    opacity:1!important;
}

html.dark-mode .busbahn-app,
html.dark-mode .busbahn-sidebar,
html.dark-mode .busbahn-room,
html.dark-mode .busbahn-room strong,
html.dark-mode .busbahn-chat,
html.dark-mode .busbahn-chat-head,
html.dark-mode .busbahn-chat-head strong,
html.dark-mode .busbahn-chat-head span,
html.dark-mode .busbahn-messages,
html.dark-mode .busbahn-message,
html.dark-mode .busbahn-bubble,
html.dark-mode .busbahn-bubble strong,
html.dark-mode .busbahn-bubble time,
html.dark-mode .busbahn-composer,
html.dark-mode .busbahn-composer textarea,
body.dark-mode .busbahn-app,
body.dark-mode .busbahn-sidebar,
body.dark-mode .busbahn-room,
body.dark-mode .busbahn-room strong,
body.dark-mode .busbahn-chat,
body.dark-mode .busbahn-chat-head,
body.dark-mode .busbahn-chat-head strong,
body.dark-mode .busbahn-chat-head span,
body.dark-mode .busbahn-messages,
body.dark-mode .busbahn-message,
body.dark-mode .busbahn-bubble,
body.dark-mode .busbahn-bubble strong,
body.dark-mode .busbahn-bubble time,
body.dark-mode .busbahn-composer,
body.dark-mode .busbahn-composer textarea{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
}
html.dark-mode .busbahn-composer textarea,
body.dark-mode .busbahn-composer textarea{
    caret-color:#ffffff!important;
}
html.dark-mode .busbahn-composer textarea::placeholder,
body.dark-mode .busbahn-composer textarea::placeholder{
    color:#b8c4d4!important;
    -webkit-text-fill-color:#b8c4d4!important;
    opacity:1!important;
}

/* Links bleiben in beiden Modi deutlich erkennbar. */
.busbahn-bubble a{
    color:#124ca3!important;
    -webkit-text-fill-color:#124ca3!important;
}
html.dark-mode .busbahn-bubble a,
body.dark-mode .busbahn-bubble a{
    color:#9dcbff!important;
    -webkit-text-fill-color:#9dcbff!important;
}


.busbahn-avatar-link{
    display:block;
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-radius:50%;
    text-decoration:none;
}
.busbahn-avatar-link .busbahn-avatar{
    display:block;
    width:44px;
    height:44px;
}
.busbahn-avatar-link:hover .busbahn-avatar,
.busbahn-avatar-link:focus-visible .busbahn-avatar{
    outline:3px solid #2d6de2;
    outline-offset:2px;
}
.busbahn-avatar-link:focus-visible{outline:none;}
.busbahn-sound-button span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    font-size:20px;
    line-height:1;
}
.busbahn-sound-button.is-active{
    background:#e9f8ef;
    border-color:#27824e;
    color:#145f35;
}
.busbahn-member-main{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
}
.busbahn-member-name{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.busbahn-member-role{
    display:block;
    width:auto;
    max-width:100%;
    min-height:34px;
    margin:0;
    padding:5px 8px;
    font:14px Arial,Helvetica,sans-serif;
}
html.dark-mode .busbahn-sound-button.is-active,
body.dark-mode .busbahn-sound-button.is-active{
    background:#174b31;
    border-color:#62d092;
    color:#fff;
}


.busbahn-favorites-button span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    color:#d7192d;
    -webkit-text-fill-color:#d7192d;
    font-size:23px;
    line-height:1;
}
.busbahn-favorites-button:hover,
.busbahn-favorites-button:focus-visible{
    border-color:#d7192d;
    background:#fff1f3;
}
.busbahn-favorites-button:disabled{opacity:.58;cursor:wait;}

.busbahn-message-person{
    position:relative;
    width:44px;
    min-width:44px;
    flex:0 0 44px;
    align-self:flex-end;
}
.busbahn-message-favorite{
    position:absolute;
    z-index:3;
    top:-18px;
    left:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    padding:0;
    border:0;
    background:transparent;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    -webkit-text-stroke:1px #263142;
    text-shadow:0 1px 2px rgba(0,0,0,.75);
    font:700 22px/1 Arial,Helvetica,sans-serif;
    cursor:pointer;
    transform:translateX(-50%);
}
.busbahn-message-favorite:hover,
.busbahn-message-favorite:focus-visible{
    outline:2px solid rgba(215,25,45,.35);
    outline-offset:1px;
    border-radius:50%;
}
.busbahn-message-favorite.is-active{
    color:#e00021!important;
    -webkit-text-fill-color:#e00021!important;
    -webkit-text-stroke:1px #7f0013;
    text-shadow:0 1px 2px rgba(255,255,255,.55),0 1px 3px rgba(0,0,0,.45);
}
.busbahn-message:not(.is-own){padding-top:15px;}

.busbahn-profile-name-tooltip{
    position:absolute;
    z-index:8;
    left:52px;
    top:50%;
    max-width:min(240px,62vw);
    padding:6px 9px;
    border-radius:8px;
    background:#111827;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    box-shadow:0 5px 16px rgba(0,0,0,.28);
    font:700 14px/1.2 Arial,Helvetica,sans-serif;
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
    transform:translateY(-50%) translateX(-4px);
    transition:opacity .12s ease,transform .12s ease;
}
.busbahn-message.is-own .busbahn-profile-name-tooltip{
    right:52px;
    left:auto;
    transform:translateY(-50%) translateX(4px);
}
.busbahn-message-person:hover .busbahn-profile-name-tooltip,
.busbahn-message-person:focus-within .busbahn-profile-name-tooltip,
.busbahn-message-person:active .busbahn-profile-name-tooltip{
    opacity:1;
    transform:translateY(-50%) translateX(0);
}

.busbahn-member-favorite{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    -webkit-text-stroke:1px #263142;
    text-shadow:0 1px 2px rgba(0,0,0,.7);
}
.busbahn-member-favorite.is-active{
    color:#e00021!important;
    -webkit-text-fill-color:#e00021!important;
    -webkit-text-stroke:1px #7f0013;
}
.busbahn-favorite-person{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:9px 0;
    border-bottom:1px solid #e1e6ef;
}
.busbahn-favorite-person>a,
.busbahn-favorite-person>span{
    display:flex;
    min-width:0;
    align-items:center;
    gap:10px;
    color:inherit!important;
    text-decoration:none;
}
.busbahn-favorite-person strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

html.dark-mode .busbahn-favorites-button,
body.dark-mode .busbahn-favorites-button{
    background:#273142;
    border-color:#5b6a80;
}
html.dark-mode .busbahn-favorites-button span,
body.dark-mode .busbahn-favorites-button span{
    color:#ff5267;
    -webkit-text-fill-color:#ff5267;
}
html.dark-mode .busbahn-favorite-person,
body.dark-mode .busbahn-favorite-person{border-color:#435064;}

@media(max-width:620px){
    .busbahn-message-favorite{top:-16px;width:26px;height:26px;font-size:21px;}
    .busbahn-message:not(.is-own){padding-top:13px;}
    .busbahn-profile-name-tooltip{max-width:58vw;font-size:13px;}
}
body.anbita-app .busbahn-message-favorite{top:-16px;width:26px;height:26px;font-size:21px;}
body.anbita-app .busbahn-message:not(.is-own){padding-top:13px;}
body.anbita-app .busbahn-profile-name-tooltip{max-width:58vw;font-size:13px;}


.busbahn-group-link-box{
    display:grid;
    gap:7px;
    padding:12px;
    border:1px solid #c8d2e2;
    border-radius:12px;
    background:#f5f8fc;
}
.busbahn-group-link-box strong{font-size:16px;}
.busbahn-group-link-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
}
.busbahn-group-link-row input[data-group-url]{
    width:100%;
    min-width:0;
    padding:9px 10px;
    border:1px solid #b9c5d8;
    border-radius:8px;
    background:#fff;
    color:#18263d;
    font:16px Arial,Helvetica,sans-serif;
}
.busbahn-group-link-box a{color:#124ca3;text-decoration:underline;overflow-wrap:anywhere;}
.busbahn-group-link-status{min-height:19px;color:#1b6f43;font-size:14px;font-weight:700;}
.busbahn-group-link-disabled{margin:0;padding:10px 12px;border-radius:10px;background:#f1f4f8;color:#526078;}
.dark-mode .busbahn-group-link-box{background:#1d2430;border-color:#46546a;color:#fff;}
.dark-mode .busbahn-group-link-row input[data-group-url]{background:#10151d;border-color:#526178;color:#fff;-webkit-text-fill-color:#fff;}
.dark-mode .busbahn-group-link-box a{color:#9fc2ff;}
.dark-mode .busbahn-group-link-status{color:#8ee0b3;}
.dark-mode .busbahn-group-link-disabled{background:#202936;color:#e4ebf5;}
@media(max-width:620px){
    .busbahn-group-link-row{grid-template-columns:1fr;}
    .busbahn-group-link-row .busbahn-small-button{width:100%;}
}

/* Öffnungszeiten: Hinweis, wenn aktuell kein Chatraum geöffnet ist. */
.busbahn-room-empty{
  margin:8px;
  padding:14px 10px;
  border:1px dashed rgba(100,116,139,.45);
  border-radius:12px;
  text-align:center;
  font:700 14px/1.45 Arial,sans-serif;
  color:#334155;
}
.busbahn-room-closed-notice{
  margin:auto;
  max-width:560px;
  padding:18px;
  border:1px solid rgba(100,116,139,.4);
  border-radius:14px;
  text-align:center;
  font:700 16px/1.5 Arial,sans-serif;
  color:#111827;
  background:rgba(255,255,255,.78);
}
.busbahn-composer.is-disabled{opacity:.62}
html.dark-mode .busbahn-room-empty,
body.dark-mode .busbahn-room-empty{color:#fff;border-color:rgba(255,255,255,.36)}
html.dark-mode .busbahn-room-closed-notice,
body.dark-mode .busbahn-room-closed-notice{color:#fff;background:rgba(15,23,42,.82);border-color:rgba(255,255,255,.28)}

/* Rathaus bleibt auch außerhalb seiner Öffnungszeiten sichtbar. */
.busbahn-room.is-closed{
    border-color:#d5a73a;
    background:#fff8e7;
}
.busbahn-room.is-closed small{
    color:#8a5a00;
    font-weight:800;
}
.busbahn-opening-hours-notice{
    box-sizing:border-box;
    width:min(620px,calc(100% - 24px));
    max-width:100%;
    margin:auto;
    padding:24px;
    border:1px solid #d5a73a;
    border-radius:18px;
    background:#fffaf0;
    color:#18263d;
    text-align:center;
    box-shadow:0 10px 28px rgba(15,23,42,.08);
    font-family:Arial,Helvetica,sans-serif;
    overflow:hidden;
    overflow-wrap:anywhere;
    word-break:normal;
}
.busbahn-opening-hours-icon{
    display:block;
    margin-bottom:8px;
    font-size:34px;
    line-height:1;
}
.busbahn-opening-hours-notice h2{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto 10px!important;
    padding:0!important;
    font:900 22px/1.25 Arial,Helvetica,sans-serif!important;
    text-align:center!important;
    align-self:center!important;
}
.busbahn-opening-hours-notice p{
    display:block;
    width:100%;
    margin:0 auto 18px;
    max-width:520px;
    font:700 16px/1.5 Arial,Helvetica,sans-serif;
    text-align:center!important;
}
.busbahn-opening-hours-grid{
    display:grid;
    gap:8px;
    width:100%;
    margin:0;
}
.busbahn-opening-hours-row{
    display:grid;
    grid-template-columns:minmax(120px,1fr) minmax(170px,1.35fr);
    gap:18px;
    align-items:center;
    padding:12px 14px;
    border:1px solid #ead7a7;
    border-radius:13px;
    background:#fff;
    text-align:left;
}
.busbahn-opening-hours-row span,
.busbahn-opening-hours-row strong{
    display:block;
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:normal;
}
.busbahn-opening-hours-row span{
    color:#344054;
    font:900 16px/1.4 Arial,Helvetica,sans-serif;
}
.busbahn-opening-hours-row strong{
    text-align:right;
    font:900 16px/1.4 Arial,Helvetica,sans-serif;
}
html.dark-mode .busbahn-room.is-closed,
body.dark-mode .busbahn-room.is-closed{
    border-color:#d8a93e;
    background:#312a1a;
    color:#fff;
}
html.dark-mode .busbahn-room.is-closed small,
body.dark-mode .busbahn-room.is-closed small{
    color:#ffd777;
}
html.dark-mode .busbahn-opening-hours-notice,
body.dark-mode .busbahn-opening-hours-notice{
    border-color:#d8a93e;
    background:#1b202a;
    color:#fff;
    box-shadow:none;
}
html.dark-mode .busbahn-opening-hours-row,
body.dark-mode .busbahn-opening-hours-row{
    border-color:#5d5134;
    background:#111720;
}
html.dark-mode .busbahn-opening-hours-row span,
body.dark-mode .busbahn-opening-hours-row span{
    color:#d5dbea;
}
@media(max-width:620px){
    .busbahn-opening-hours-notice{padding:18px 14px;}
    .busbahn-opening-hours-notice h2{font-size:20px;}
    .busbahn-opening-hours-row{grid-template-columns:minmax(90px,1fr) minmax(135px,1.25fr);gap:10px;padding:11px 12px;}
    .busbahn-opening-hours-row span,
    .busbahn-opening-hours-row strong{font-size:15px;}
}


.busbahn-current-room-meta{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
}
.busbahn-room-title-button{
    display:inline-flex;
    align-items:center;
    max-width:100%;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    -webkit-text-fill-color:inherit;
    font:900 26px/1.15 Arial,Helvetica,sans-serif;
    text-align:left;
    cursor:pointer;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.busbahn-room-title-button:hover,
.busbahn-room-title-button:focus-visible{
    color:#174ea6;
    -webkit-text-fill-color:#174ea6;
    text-decoration:underline;
    outline:none;
}
.busbahn-room-info-hint{
    display:block;
    max-width:100%;
    color:#607089;
    font:700 13px/1.35 Arial,Helvetica,sans-serif;
    white-space:normal;
}
.busbahn-chat-head [data-busbahn-room-description]{display:none!important;}
.busbahn-visually-hidden{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
.busbahn-room-description-dialog p{
    margin:0;
    font:700 16px/1.6 Arial,Helvetica,sans-serif;
    overflow-wrap:anywhere;
    white-space:normal;
}
.busbahn-messages{
    display:flex;
    flex-direction:column;
    align-items:stretch;
}
.busbahn-messages > .busbahn-rathaus-intro,
.busbahn-messages > .busbahn-opening-hours-notice,
.busbahn-messages > .busbahn-room-closed-notice{
    align-self:center;
}
.busbahn-opening-hours-notice,
.busbahn-room-closed-notice{
    margin-left:auto!important;
    margin-right:auto!important;
}
.busbahn-opening-hours-notice{
    width:min(620px,calc(100% - 32px));
}
.busbahn-rathaus-intro{
    width:min(760px,calc(100% - 32px));
}
.busbahn-dialog [data-busbahn-dialog-close]{margin-top:16px;}
html.dark-mode .busbahn-room-title-button,
body.dark-mode .busbahn-room-title-button{
    color:#ffffff;
    -webkit-text-fill-color:#ffffff;
}
html.dark-mode .busbahn-room-title-button:hover,
html.dark-mode .busbahn-room-title-button:focus-visible,
body.dark-mode .busbahn-room-title-button:hover,
body.dark-mode .busbahn-room-title-button:focus-visible{
    color:#9dcbff;
    -webkit-text-fill-color:#9dcbff;
}
html.dark-mode .busbahn-room-info-hint,
body.dark-mode .busbahn-room-info-hint{
    color:#c5d0de;
}
@media(max-width:620px){
    .busbahn-room-title-button{font-size:22px;}
    .busbahn-room-info-hint{font-size:12px;}
    .busbahn-opening-hours-notice,
    .busbahn-rathaus-intro,
    .busbahn-room-closed-notice{width:min(100%,calc(100% - 16px));}
}


.busbahn-sidebar{
    display:flex;
    flex-direction:column;
    min-height:0;
}
.busbahn-room-list{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scrollbar-gutter:auto;
}
.busbahn-chat{
    min-height:0;
    overflow:hidden;
}
.busbahn-messages{
    min-height:0;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scrollbar-gutter:auto;
}
.busbahn-dialog{
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scrollbar-gutter:auto;
}
.busbahn-room-list::-webkit-scrollbar,
.busbahn-messages::-webkit-scrollbar,
.busbahn-dialog::-webkit-scrollbar{
    width:0;
    height:0;
    display:none;
}
.busbahn-opening-hours-notice,
.busbahn-rathaus-intro,
.busbahn-room-closed-notice{
    flex:0 0 auto;
    margin-top:16px!important;
    margin-bottom:16px!important;
}
@media(max-width:620px){
    .busbahn-room-list{
        flex:0 0 auto;
        overflow-x:auto;
        overflow-y:hidden;
        touch-action:pan-x;
    }
    .busbahn-messages{
        touch-action:pan-y;
    }
}
body.anbita-app .busbahn-room-list{
    flex:0 0 auto;
    overflow-x:auto;
    overflow-y:hidden;
    touch-action:pan-x;
}
body.anbita-app .busbahn-messages{
    touch-action:pan-y;
}


.busbahn-room-title-button{
    color:#17263f!important;
    -webkit-text-fill-color:#17263f!important;
}
html.dark-mode .busbahn-room-title-button,
body.dark-mode .busbahn-room-title-button{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
}
.busbahn-rathaus-intro{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-align:center;
    font-family:Arial,Helvetica,sans-serif;
}
.busbahn-rathaus-intro-text{
    width:100%;
    text-align:center;
}
.busbahn-rathaus-intro-title{
    margin:0 0 8px;
    font:700 18px/1.45 Arial,Helvetica,sans-serif!important;
    text-align:center!important;
}
.busbahn-rathaus-intro p{
    margin:6px 0;
    font:400 16px/1.65 Arial,Helvetica,sans-serif!important;
    text-align:center!important;
}
.busbahn-rathaus-intro-image{
    display:block;
    width:min(280px,72%);
    max-width:100%;
    height:auto;
    margin:6px auto 0;
}
.busbahn-message.is-private .busbahn-bubble{
    border:1px solid #f2c66d;
    background:#fff8e9;
}
.busbahn-private-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0 0 8px;
    padding:4px 10px;
    border-radius:999px;
    background:#f4d485;
    color:#6a4700;
    font:700 12px/1.3 Arial,Helvetica,sans-serif;
    letter-spacing:.01em;
}
.busbahn-private-note{
    margin-top:8px;
    font:400 12px/1.5 Arial,Helvetica,sans-serif;
    color:#6c5730;
}
.busbahn-message.is-private-question-action{
    cursor:pointer;
}
.busbahn-message.is-private-question-action:focus-visible .busbahn-bubble,
.busbahn-message.is-private-question-action:hover .busbahn-bubble{
    outline:3px solid rgba(45,109,226,.22);
    outline-offset:2px;
}
.busbahn-private-reply-dialog{
    display:flex;
    flex-direction:column;
    gap:12px;
    font-family:Arial,Helvetica,sans-serif;
}
.busbahn-private-reply-label,
.busbahn-private-reply-question,
.busbahn-private-reply-history-wrap,
.busbahn-private-reply-entry,
.busbahn-private-reply-empty{
    font:400 16px/1.55 Arial,Helvetica,sans-serif;
}
.busbahn-private-reply-question{
    padding:10px 12px;
    border:1px solid #d7c08a;
    border-radius:12px;
    background:#fff8e9;
}
.busbahn-private-reply-field{
    display:flex;
    flex-direction:column;
    gap:6px;
    font:700 15px/1.4 Arial,Helvetica,sans-serif;
}
.busbahn-private-reply-field textarea{
    width:100%;
    min-height:110px;
    padding:10px 12px;
    border:1px solid #b9c5d8;
    border-radius:10px;
    background:#fff;
    color:#18263d;
    font:16px Arial,Helvetica,sans-serif;
    resize:vertical;
    box-sizing:border-box;
}
.busbahn-private-reply-history-wrap{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.busbahn-private-reply-history{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.busbahn-private-reply-entry{
    padding:10px 12px;
    border:1px solid #d8dfeb;
    border-radius:12px;
    background:#f8fbff;
}
.busbahn-private-reply-entry-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:6px;
}
.busbahn-private-reply-entry-head time{
    font:400 12px/1.4 Arial,Helvetica,sans-serif;
    color:#516179;
}
.busbahn-private-reply-entry p,
.busbahn-private-reply-empty{
    margin:0;
}
html.dark-mode .busbahn-message.is-private .busbahn-bubble,
body.dark-mode .busbahn-message.is-private .busbahn-bubble{
    background:#44361c;
    border-color:#d8aa4b;
}
html.dark-mode .busbahn-private-badge,
body.dark-mode .busbahn-private-badge{
    background:#c28e20;
    color:#231600;
}
html.dark-mode .busbahn-private-note,
body.dark-mode .busbahn-private-note{
    color:#f3ddad;
}
html.dark-mode .busbahn-private-reply-question,
body.dark-mode .busbahn-private-reply-question{
    background:#44361c;
    border-color:#d8aa4b;
}
html.dark-mode .busbahn-private-reply-field textarea,
body.dark-mode .busbahn-private-reply-field textarea,
html.dark-mode .busbahn-private-reply-entry,
body.dark-mode .busbahn-private-reply-entry{
    background:#172132;
    border-color:#516b91;
    color:#ffffff;
}
html.dark-mode .busbahn-private-reply-entry-head time,
body.dark-mode .busbahn-private-reply-entry-head time{
    color:#c9d4e4;
}
@media(max-width:620px){
    .busbahn-rathaus-intro{padding:14px 12px;}
    .busbahn-rathaus-intro-title{font-size:17px!important;}
    .busbahn-rathaus-intro p{font-size:16px!important;}
    .busbahn-rathaus-intro-image{width:min(230px,84%);}
}



.busbahn-rathaus-intro-text{
    width:min(820px,100%);
    max-width:100%;
    margin:0 auto;
}
.busbahn-rathaus-intro-text .busbahn-rathaus-intro-title{
    text-align:center!important;
    text-align-last:center!important;
}
.busbahn-rathaus-intro-text p:not(.busbahn-rathaus-intro-title){
    width:100%;
    margin:12px 0;
    text-align:justify!important;
    text-align-last:left!important;
    hyphens:auto;
    -webkit-hyphens:auto;
    overflow-wrap:normal;
    word-break:normal;
}
@media(max-width:620px){
    .busbahn-rathaus-intro-text{width:100%;}
    .busbahn-rathaus-intro-text p:not(.busbahn-rathaus-intro-title){
        text-align:left!important;
        text-align-last:left!important;
        hyphens:none;
        -webkit-hyphens:none;
    }
}



html.dark-mode .busbahn-room small,
body.dark-mode .busbahn-room small{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    opacity:1!important;
}


.busbahn-message-person{
    width:36px;
    min-width:36px;
    flex-basis:36px;
}
.busbahn-message .busbahn-avatar{
    width:36px;
    height:36px;
}
.busbahn-message-favorite{
    top:-15px;
    width:25px;
    height:25px;
    font-size:19px;
}
.busbahn-profile-name-tooltip{
    left:43px;
}
.busbahn-message.is-own .busbahn-profile-name-tooltip{
    right:43px;
}
.busbahn-bubble time{
    margin-top:3px;
    font-size:9px!important;
    line-height:1.1;
    opacity:.62;
}
.busbahn-messages{
    scroll-behavior:smooth;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    scroll-padding-block:10px;
}
.busbahn-room-list{
    -webkit-overflow-scrolling:touch;
}

@media(max-width:620px){
    .busbahn-chat{
        height:calc(100dvh - 225px);
        min-height:430px;
    }
    .busbahn-messages{
        padding:9px;
        touch-action:pan-y;
    }
    .busbahn-messages .busbahn-message{
        zoom:var(--busbahn-chat-scale,1);
    }
    .busbahn-message{
        gap:6px;
        margin-bottom:9px;
    }
    .busbahn-message-person{
        width:32px;
        min-width:32px;
        flex-basis:32px;
    }
    .busbahn-message .busbahn-avatar{
        width:32px;
        height:32px;
    }
    .busbahn-message-favorite{
        top:-13px;
        width:23px;
        height:23px;
        font-size:18px;
    }
    .busbahn-profile-name-tooltip{
        left:38px;
    }
    .busbahn-message.is-own .busbahn-profile-name-tooltip{
        right:38px;
    }
    .busbahn-bubble{
        max-width:86%;
        padding:8px 10px;
    }
    .busbahn-composer{
        position:sticky;
        bottom:0;
        display:grid!important;
        grid-template-columns:repeat(4,minmax(0,1fr));
        grid-template-areas:
            "message message message message"
            "attach record dictate send";
        align-items:center;
        gap:8px 6px;
        padding:8px 8px max(8px,env(safe-area-inset-bottom));
    }
    .busbahn-composer textarea{
        grid-area:message;
        width:100%;
        min-height:42px;
        height:42px;
        max-height:min(176px,30dvh);
        margin:0;
        padding:10px 11px;
        border-radius:13px;
        line-height:20px;
        align-self:end;
    }
    .busbahn-composer textarea::placeholder{
        color:transparent!important;
        -webkit-text-fill-color:transparent!important;
    }
    .busbahn-composer .busbahn-attach{
        grid-area:attach;
    }
    .busbahn-composer .busbahn-record-button{
        grid-area:record;
    }
    .busbahn-composer .busbahn-dictate-button{
        grid-area:dictate;
    }
    .busbahn-composer .busbahn-send{
        grid-area:send;
    }
    .busbahn-composer .busbahn-attach,
    .busbahn-composer .busbahn-record-button,
    .busbahn-composer .busbahn-dictate-button,
    .busbahn-composer .busbahn-send{
        justify-self:center;
        width:40px;
        height:40px;
        flex-basis:40px;
        margin:0;
    }
    .busbahn-composer input[type="hidden"]{
        display:none;
    }
}

body.anbita-app .busbahn-chat{
    height:calc(100dvh - 225px);
    min-height:430px;
}
body.anbita-app .busbahn-messages{
    padding:9px;
    touch-action:pan-y;
}
body.anbita-app .busbahn-messages .busbahn-message{
    zoom:var(--busbahn-chat-scale,1);
}
body.anbita-app .busbahn-message{
    gap:6px;
    margin-bottom:9px;
}
body.anbita-app .busbahn-message-person{
    width:32px;
    min-width:32px;
    flex-basis:32px;
}
body.anbita-app .busbahn-message .busbahn-avatar{
    width:32px;
    height:32px;
}
body.anbita-app .busbahn-message-favorite{
    top:-13px;
    width:23px;
    height:23px;
    font-size:18px;
}
body.anbita-app .busbahn-profile-name-tooltip{
    left:38px;
}
body.anbita-app .busbahn-message.is-own .busbahn-profile-name-tooltip{
    right:38px;
}
body.anbita-app .busbahn-bubble{
    max-width:86%;
    padding:8px 10px;
}
body.anbita-app .busbahn-composer{
    position:sticky;
    bottom:0;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-template-areas:
        "message message message message"
        "attach record dictate send";
    align-items:center;
    gap:8px 6px;
    padding:8px 8px max(8px,env(safe-area-inset-bottom));
}
body.anbita-app .busbahn-composer textarea{
    grid-area:message;
    width:100%;
    min-height:42px;
    height:42px;
    max-height:min(176px,30dvh);
    margin:0;
    padding:10px 11px;
    border-radius:13px;
    line-height:20px;
    align-self:end;
}
body.anbita-app .busbahn-composer textarea::placeholder{
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
}
body.anbita-app .busbahn-composer .busbahn-attach{
    grid-area:attach;
}
body.anbita-app .busbahn-composer .busbahn-record-button{
    grid-area:record;
}
body.anbita-app .busbahn-composer .busbahn-dictate-button{
    grid-area:dictate;
}
body.anbita-app .busbahn-composer .busbahn-send{
    grid-area:send;
}
body.anbita-app .busbahn-composer .busbahn-attach,
body.anbita-app .busbahn-composer .busbahn-record-button,
body.anbita-app .busbahn-composer .busbahn-dictate-button,
body.anbita-app .busbahn-composer .busbahn-send{
    justify-self:center;
    width:40px;
    height:40px;
    flex-basis:40px;
    margin:0;
}
body.anbita-app .busbahn-composer input[type="hidden"]{
    display:none;
}


@media(max-width:620px){
    body.busbahn-mobile-room-open{
        overflow:hidden!important;
    }
    body.busbahn-mobile-room-open .site-shell>.site-header,
    body.busbahn-mobile-room-open .site-shell>.site-footer,
    body.busbahn-mobile-room-open .layout-grid>.side-menu,
    body.busbahn-mobile-room-open .busbahn-header-wrap{
        display:none!important;
    }
    body.busbahn-mobile-room-open .site-shell,
    body.busbahn-mobile-room-open .layout-grid,
    body.busbahn-mobile-room-open .main-panel,
    body.busbahn-mobile-room-open .busbahn-page{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
    }
    body.busbahn-mobile-room-open .layout-grid{
        display:block!important;
    }
    body.busbahn-mobile-room-open .busbahn-app{
        display:block!important;
        width:100%!important;
        max-width:none!important;
        height:100dvh!important;
        min-height:100dvh!important;
        margin:0!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        overflow:hidden!important;
    }
    body.busbahn-mobile-room-open .busbahn-sidebar{
        display:none!important;
    }
    body.busbahn-mobile-room-open .busbahn-chat{
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr) auto auto!important;
        width:100%!important;
        height:100dvh!important;
        min-height:100dvh!important;
        margin:0!important;
        border:0!important;
        border-radius:0!important;
    }
    body.busbahn-mobile-room-open .busbahn-chat-head{
        padding-top:max(8px,env(safe-area-inset-top))!important;
    }
    body.busbahn-mobile-room-open .busbahn-composer{
        padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
    }

    body.busbahn-mobile-menu-open .busbahn-app{
        display:block!important;
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        overflow:visible!important;
    }
    body.busbahn-mobile-menu-open .busbahn-sidebar{
        display:flex!important;
        width:100%!important;
        min-height:0!important;
        padding:12px!important;
        border-right:0!important;
        border-bottom:0!important;
        box-sizing:border-box!important;
    }
    body.busbahn-mobile-menu-open .busbahn-room-list{
        display:flex!important;
        flex-direction:column!important;
        width:100%!important;
        max-height:none!important;
        overflow:visible!important;
        padding:0!important;
    }
    body.busbahn-mobile-menu-open .busbahn-room{
        width:100%!important;
        min-width:0!important;
    }
    body.busbahn-mobile-menu-open .busbahn-chat{
        display:none!important;
    }
}

body.anbita-app.busbahn-mobile-room-open{
    overflow:hidden!important;
}
body.anbita-app.busbahn-mobile-room-open .site-shell>.site-header,
body.anbita-app.busbahn-mobile-room-open .site-shell>.site-footer,
body.anbita-app.busbahn-mobile-room-open .layout-grid>.side-menu,
body.anbita-app.busbahn-mobile-room-open .busbahn-header-wrap{
    display:none!important;
}
body.anbita-app.busbahn-mobile-room-open .site-shell,
body.anbita-app.busbahn-mobile-room-open .layout-grid,
body.anbita-app.busbahn-mobile-room-open .main-panel,
body.anbita-app.busbahn-mobile-room-open .busbahn-page{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
}
body.anbita-app.busbahn-mobile-room-open .layout-grid{
    display:block!important;
}
body.anbita-app.busbahn-mobile-room-open .busbahn-app{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
}
body.anbita-app.busbahn-mobile-room-open .busbahn-sidebar{
    display:none!important;
}
body.anbita-app.busbahn-mobile-room-open .busbahn-chat{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto auto!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
}
body.anbita-app.busbahn-mobile-room-open .busbahn-chat-head{
    padding-top:max(8px,env(safe-area-inset-top))!important;
}
body.anbita-app.busbahn-mobile-room-open .busbahn-composer{
    padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
}
body.anbita-app.busbahn-mobile-menu-open .busbahn-app{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
}
body.anbita-app.busbahn-mobile-menu-open .busbahn-sidebar{
    display:flex!important;
    width:100%!important;
    min-height:0!important;
    padding:12px!important;
    border-right:0!important;
    border-bottom:0!important;
    box-sizing:border-box!important;
}
body.anbita-app.busbahn-mobile-menu-open .busbahn-room-list{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0!important;
}
body.anbita-app.busbahn-mobile-menu-open .busbahn-room{
    width:100%!important;
    min-width:0!important;
}
body.anbita-app.busbahn-mobile-menu-open .busbahn-chat{
    display:none!important;
}


@media(max-width:620px){
    body.busbahn-mobile-room-open .busbahn-page,
    body.busbahn-mobile-room-open .busbahn-app,
    body.busbahn-mobile-room-open .busbahn-chat,
    body.busbahn-mobile-room-open .busbahn-chat-head,
    body.busbahn-mobile-room-open .busbahn-messages,
    body.busbahn-mobile-room-open .busbahn-composer,
    body.busbahn-mobile-room-open .busbahn-file-name{
        visibility:visible!important;
        opacity:1!important;
    }

    body.busbahn-mobile-room-open .busbahn-page{
        display:block!important;
        width:100%!important;
        height:100vh!important;
        height:100dvh!important;
        min-height:0!important;
        overflow:hidden!important;
    }

    body.busbahn-mobile-room-open .busbahn-app{
        display:block!important;
        width:100%!important;
        height:100vh!important;
        height:100dvh!important;
        min-height:0!important;
        overflow:hidden!important;
    }

    body.busbahn-mobile-room-open .busbahn-chat{
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr) auto auto!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        overflow:hidden!important;
    }

    body.busbahn-mobile-room-open .busbahn-chat-head{
        display:flex!important;
        min-height:56px!important;
        flex:0 0 auto!important;
    }

    body.busbahn-mobile-room-open .busbahn-messages{
        display:block!important;
        width:100%!important;
        min-height:0!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        -webkit-overflow-scrolling:touch!important;
        overscroll-behavior-y:contain!important;
    }

    body.busbahn-mobile-room-open .busbahn-composer{
        display:grid!important;
        position:relative!important;
        bottom:auto!important;
        width:100%!important;
        flex:0 0 auto!important;
    }

    body.busbahn-mobile-room-open .busbahn-file-name{
        display:block!important;
        flex:0 0 auto!important;
    }

    body.busbahn-mobile-room-open .busbahn-file-name:empty{
        display:none!important;
    }
}

body.anbita-app.busbahn-mobile-room-open .busbahn-page,
body.anbita-app.busbahn-mobile-room-open .busbahn-app,
body.anbita-app.busbahn-mobile-room-open .busbahn-chat,
body.anbita-app.busbahn-mobile-room-open .busbahn-chat-head,
body.anbita-app.busbahn-mobile-room-open .busbahn-messages,
body.anbita-app.busbahn-mobile-room-open .busbahn-composer,
body.anbita-app.busbahn-mobile-room-open .busbahn-file-name{
    visibility:visible!important;
    opacity:1!important;
}

body.anbita-app.busbahn-mobile-room-open .busbahn-page,
body.anbita-app.busbahn-mobile-room-open .busbahn-app{
    display:block!important;
    width:100%!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
}

body.anbita-app.busbahn-mobile-room-open .busbahn-chat{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto auto!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
}

body.anbita-app.busbahn-mobile-room-open .busbahn-chat-head{
    display:flex!important;
    min-height:56px!important;
}

body.anbita-app.busbahn-mobile-room-open .busbahn-messages{
    display:block!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
}

body.anbita-app.busbahn-mobile-room-open .busbahn-composer{
    display:grid!important;
    position:relative!important;
    bottom:auto!important;
    width:100%!important;
}

body.anbita-app.busbahn-mobile-room-open .busbahn-file-name:empty{
    display:none!important;
}


.busbahn-overview-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:9px 16px;
    border:1px solid #174ea6;
    border-radius:10px;
    background:#1f5bd8;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
}
.busbahn-overview-button:hover,
.busbahn-overview-button:focus-visible,
.busbahn-overview-button.is-active{
    background:#174ea6;
    outline:2px solid rgba(23,78,166,.25);
    outline-offset:2px;
}
.busbahn-mobile-discover-button{
    display:none;
}
.busbahn-overview-panel[hidden]{
    display:none!important;
}
.busbahn-chat.is-overview{
    display:block;
    min-width:0;
    min-height:0;
    overflow:auto;
    background:#fff;
}
.busbahn-chat.is-overview>.busbahn-chat-head,
.busbahn-chat.is-overview>.busbahn-messages,
.busbahn-chat.is-overview>.busbahn-composer,
.busbahn-chat.is-overview>.busbahn-file-name{
    display:none!important;
}
.busbahn-overview-panel{
    width:100%;
    min-height:100%;
    padding:24px;
    box-sizing:border-box;
}
.busbahn-overview-panel h2{
    margin:0 0 22px;
    text-align:center;
    font-family:Arial,Helvetica,sans-serif;
    font-size:24px;
    color:#18263d;
}
.busbahn-overview-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,220px));
    justify-content:center;
    gap:20px;
    width:100%;
}
.busbahn-overview-room{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    width:100%;
    min-height:205px;
    padding:14px;
    box-sizing:border-box;
    border:1px solid #c8d3e6;
    border-radius:16px;
    background:#fff;
    color:#18263d;
    font-family:Arial,Helvetica,sans-serif;
    font-size:16px;
    text-align:center;
    cursor:pointer;
    box-shadow:0 7px 18px rgba(34,55,86,.10);
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.busbahn-overview-room:hover,
.busbahn-overview-room:focus-visible{
    transform:translateY(-2px);
    border-color:#d7192d;
    box-shadow:0 10px 24px rgba(34,55,86,.16);
    outline:none;
}
.busbahn-overview-room img{
    display:block;
    width:132px;
    height:132px;
    max-width:100%;
    border-radius:16px;
    object-fit:cover;
    background:#dce4f1;
}
.busbahn-overview-room strong{
    display:block;
    width:100%;
    overflow-wrap:anywhere;
    color:#000;
    line-height:1.35;
}
.busbahn-overview-empty{
    grid-column:1/-1;
    max-width:620px;
    margin:30px auto;
    padding:18px;
    border:1px dashed #aebbd0;
    border-radius:14px;
    text-align:center;
    color:#33445e;
}
.busbahn-join-question{
    margin:22px 0 14px;
    font-size:17px;
    font-weight:700;
    text-align:center;
}
.busbahn-join-actions{
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}
.busbahn-small-button-secondary{
    background:#fff;
    color:#174ea6!important;
}

html.dark-mode .busbahn-chat.is-overview,
body.dark-mode .busbahn-chat.is-overview,
html.dark-mode .busbahn-overview-panel,
body.dark-mode .busbahn-overview-panel{
    background:#11161e;
}
html.dark-mode .busbahn-overview-panel h2,
body.dark-mode .busbahn-overview-panel h2,
html.dark-mode .busbahn-overview-room,
body.dark-mode .busbahn-overview-room,
html.dark-mode .busbahn-overview-room strong,
body.dark-mode .busbahn-overview-room strong{
    color:#fff;
}
html.dark-mode .busbahn-overview-room,
body.dark-mode .busbahn-overview-room{
    background:#1b2431;
    border-color:#435064;
}
html.dark-mode .busbahn-overview-empty,
body.dark-mode .busbahn-overview-empty{
    color:#f3f6fb;
    border-color:#5b6a80;
}

@media(max-width:620px){
    .busbahn-mobile-discover-button{
        display:flex;
        align-items:center;
        justify-content:center;
        width:min(92%,420px);
        min-height:52px;
        margin:0 auto 18px;
        padding:11px 22px;
        border:2px solid #000;
        border-radius:13px;
        background:#ffd928;
        color:#000;
        font-family:Arial,Helvetica,sans-serif;
        font-size:20px;
        font-weight:800;
        line-height:1.2;
        text-align:center;
        cursor:pointer;
        box-shadow:0 5px 14px rgba(0,0,0,.16);
    }
    .busbahn-mobile-discover-button:hover,
    .busbahn-mobile-discover-button:focus-visible,
    .busbahn-mobile-discover-button.is-active{
        background:#ffe75f;
        outline:3px solid rgba(0,0,0,.18);
        outline-offset:2px;
    }
    .busbahn-overview-panel{
        min-height:0;
        padding:18px 12px 24px;
    }
    .busbahn-overview-panel h2{
        margin-bottom:18px;
        font-size:22px;
    }
    .busbahn-overview-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
        max-width:520px;
        margin:0 auto;
    }
    .busbahn-overview-room{
        min-height:170px;
        padding:10px;
        border-radius:14px;
    }
    .busbahn-overview-room img{
        width:112px;
        height:112px;
        border-radius:13px;
    }
    body.busbahn-mobile-overview-open .busbahn-app{
        display:block!important;
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        overflow:visible!important;
        border-radius:12px!important;
    }
    body.busbahn-mobile-overview-open .busbahn-sidebar{
        display:none!important;
    }
    body.busbahn-mobile-overview-open .busbahn-chat{
        display:block!important;
        width:100%!important;
        height:auto!important;
        min-height:320px!important;
        overflow:visible!important;
    }
    body.busbahn-mobile-overview-open .busbahn-chat.is-overview{
        display:block!important;
    }
}

@media(max-width:390px){
    .busbahn-overview-list{
        grid-template-columns:1fr;
        max-width:270px;
    }
    .busbahn-overview-room{
        min-height:0;
    }
}

body.anbita-app .busbahn-mobile-discover-button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:min(92%,420px);
    min-height:52px;
    margin:0 auto 18px;
    padding:11px 22px;
    border:2px solid #000;
    border-radius:13px;
    background:#ffd928;
    color:#000;
    font-family:Arial,Helvetica,sans-serif;
    font-size:20px;
    font-weight:800;
    text-align:center;
    cursor:pointer;
}
body.anbita-app.busbahn-mobile-overview-open .busbahn-app{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
}
body.anbita-app.busbahn-mobile-overview-open .busbahn-sidebar{
    display:none!important;
}
body.anbita-app.busbahn-mobile-overview-open .busbahn-chat{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:320px!important;
    overflow:visible!important;
}
body.anbita-app.busbahn-mobile-overview-open .busbahn-overview-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    max-width:520px;
    margin:0 auto;
}
@media(max-width:390px){
    body.anbita-app.busbahn-mobile-overview-open .busbahn-overview-list{
        grid-template-columns:1fr;
        max-width:270px;
    }
}

@media(max-width:620px){
    body.busbahn-mobile-room-open .busbahn-mobile-discover-button{
        display:none!important;
    }
}
body.anbita-app.busbahn-mobile-room-open .busbahn-mobile-discover-button{
    display:none!important;
}


@media(min-width:621px){
    .busbahn-overview-empty-all{
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:flex-start;
        grid-column:1/-1;
        width:100%;
        max-width:760px;
        margin:34px auto 20px;
        padding:28px 34px 30px;
        box-sizing:border-box;
        border:0;
        border-radius:18px;
        background:transparent;
        color:#33445e;
        text-align:center;
    }
    .busbahn-overview-empty-text{
        display:inline-flex;
        flex-direction:column;
        align-items:flex-start;
        max-width:100%;
        margin:0 auto;
        font-family:Arial,Helvetica,sans-serif;
        font-size:18px;
        font-weight:700;
        line-height:1.55;
        text-align:left;
        overflow-wrap:anywhere;
    }
    .busbahn-overview-empty-text span{
        display:block;
        width:100%;
    }
    .busbahn-overview-notice-image{
        display:block;
        width:min(360px,72%);
        max-width:100%;
        height:auto;
        margin:36px auto 0;
        object-fit:contain;
    }
    html.dark-mode .busbahn-overview-empty-all,
    body.dark-mode .busbahn-overview-empty-all{
        color:#f3f6fb;
    }
}

@media(min-width:621px) and (max-width:900px){
    .busbahn-overview-empty-all{
        margin-top:28px;
        padding:24px 26px 28px;
    }
    .busbahn-overview-empty-text{
        font-size:17px;
    }
    .busbahn-overview-notice-image{
        width:min(320px,70%);
        margin-top:32px;
    }
}


.busbahn-page .busbahn-header-wrap{
    margin:0 auto 28px!important;
}

.busbahn-chat.is-overview{
    overflow:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scrollbar-gutter:auto;
}
.busbahn-chat.is-overview::-webkit-scrollbar{
    width:0;
    height:0;
    display:none;
}

@media(max-width:620px){
    .busbahn-page .busbahn-header-wrap{
        margin-bottom:20px!important;
    }
}
body.anbita-app .busbahn-page .busbahn-header-wrap{
    margin-bottom:20px!important;
}



.busbahn-composer-entry{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    min-width:0;
    border:1px solid #b9c5d8;
    border-radius:16px;
    background:#fff;
    overflow:hidden;
}
.busbahn-composer-entry textarea{
    flex:1 1 auto!important;
    width:100%!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}
.anbita-app-file-preview{
    display:grid;
    grid-template-columns:54px minmax(0,1fr) 34px;
    align-items:center;
    gap:10px;
    min-height:64px;
    padding:7px 8px;
    border-bottom:1px solid #d8dfeb;
    background:#eef5ff;
    color:#18263d;
    box-sizing:border-box;
}
.anbita-app-file-preview[hidden]{display:none!important;}
.anbita-app-file-preview-media{
    display:flex;
    align-items:center;
    justify-content:center;
    width:54px;
    height:54px;
    overflow:hidden;
    border-radius:10px;
    background:#dbe8fb;
}
.anbita-app-file-preview-media img,
.anbita-app-file-preview-media video{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.anbita-app-file-preview-icon{
    font-size:28px;
    line-height:1;
}
.anbita-app-file-preview-copy{
    display:flex;
    flex-direction:column;
    min-width:0;
    gap:3px;
    text-align:left;
}
.anbita-app-file-preview-copy strong{
    display:block;
    overflow:hidden;
    color:#18263d;
    font-family:Arial,Helvetica,sans-serif;
    font-size:15px;
    font-weight:800;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.anbita-app-file-preview-copy small{
    display:block;
    color:#53647d;
    font-family:Arial,Helvetica,sans-serif;
    font-size:12px;
    line-height:1.25;
}
.anbita-app-file-preview-remove{
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    padding:0;
    border:1px solid #aab8cc;
    border-radius:50%;
    background:#fff;
    color:#1f2d43;
    font-size:23px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
}
.anbita-app-file-preview-remove:hover,
.anbita-app-file-preview-remove:focus-visible{
    border-color:#c91d2e;
    color:#c91d2e;
    outline:2px solid rgba(201,29,46,.18);
    outline-offset:2px;
}
html.dark-mode .busbahn-composer-entry,
body.dark-mode .busbahn-composer-entry{
    border-color:#5b6a80;
    background:#0f151e;
}
html.dark-mode .anbita-app-file-preview,
body.dark-mode .anbita-app-file-preview{
    border-color:#435064;
    background:#1b2738;
    color:#fff;
}
html.dark-mode .anbita-app-file-preview-media,
body.dark-mode .anbita-app-file-preview-media{
    background:#27374d;
}
html.dark-mode .anbita-app-file-preview-copy strong,
body.dark-mode .anbita-app-file-preview-copy strong{
    color:#fff;
}
html.dark-mode .anbita-app-file-preview-copy small,
body.dark-mode .anbita-app-file-preview-copy small{
    color:#c7d1df;
}
html.dark-mode .anbita-app-file-preview-remove,
body.dark-mode .anbita-app-file-preview-remove{
    border-color:#71819a;
    background:#273142;
    color:#fff;
}

@media(max-width:620px){
    .busbahn-composer-entry{
        grid-area:message;
        width:100%;
        border-radius:13px;
    }
    .busbahn-composer-entry textarea{
        grid-area:auto!important;
    }
    .anbita-app-file-preview{
        grid-template-columns:46px minmax(0,1fr) 32px;
        min-height:56px;
        gap:8px;
        padding:6px;
    }
    .anbita-app-file-preview-media{
        width:46px;
        height:46px;
    }
}
body.anbita-app .busbahn-composer-entry{
    grid-area:message;
    width:100%;
    border-radius:13px;
}
body.anbita-app .busbahn-composer-entry textarea{
    grid-area:auto!important;
}

/* Installierte App auf PC/Tablet/Laptop bleibt im normalen Seitenrahmen. */
@media(min-width:621px){
    body.anbita-app.busbahn-mobile-room-open{
        overflow:auto!important;
    }
    body.anbita-app.busbahn-mobile-room-open .site-shell>.site-header,
    body.anbita-app.busbahn-mobile-room-open .site-shell>.site-footer{
        display:block!important;
    }
    body.anbita-app.busbahn-mobile-room-open .busbahn-header-wrap{
        display:block!important;
    }
    body.anbita-app.busbahn-mobile-room-open .site-shell,
    body.anbita-app.busbahn-mobile-room-open .layout-grid,
    body.anbita-app.busbahn-mobile-room-open .main-panel,
    body.anbita-app.busbahn-mobile-room-open .busbahn-page{
        width:100%!important;
        max-width:100%!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }
    body.anbita-app.busbahn-mobile-room-open .main-panel,
    body.anbita-app.busbahn-mobile-room-open .busbahn-page{
        padding:clamp(10px,1.5vw,22px)!important;
    }
    body.anbita-app.busbahn-mobile-room-open .busbahn-app{
        height:min(760px,calc(100dvh - 260px))!important;
        min-height:520px!important;
        border:1px solid #d8dfeb!important;
        border-radius:14px!important;
        box-shadow:0 8px 28px rgba(26,55,96,.10)!important;
    }
}



body.anbita-app .busbahn-overview-button{
    width:auto!important;
    max-width:max-content!important;
    min-width:0!important;
    min-height:36px!important;
    padding:7px 12px!important;
    border-radius:9px!important;
    font-size:15px!important;
    white-space:nowrap!important;
}
@media(min-width:621px){
    body.anbita-app .busbahn-app{
        display:grid!important;
        grid-template-columns:minmax(230px,280px) minmax(0,1fr)!important;
        width:min(100%,var(--anbita-content-header-width,1200px))!important;
        max-width:var(--anbita-content-header-width,1200px)!important;
        height:clamp(620px,calc(100dvh - 250px),800px)!important;
        min-height:620px!important;
        border-radius:16px!important;
        box-shadow:0 8px 26px rgba(34,55,86,.10)!important;
        overflow:hidden!important;
    }
    body.anbita-app .busbahn-sidebar{
        display:block!important;
        min-width:0!important;
        padding:12px!important;
        border-right:1px solid #d8dfeb!important;
        border-bottom:0!important;
        overflow:hidden!important;
    }
    body.anbita-app .busbahn-room-list{
        display:flex!important;
        flex-direction:column!important;
        width:100%!important;
        max-height:calc(100% - 58px)!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        padding:0!important;
        gap:6px!important;
    }
    body.anbita-app .busbahn-room{
        width:100%!important;
        min-width:0!important;
    }
    body.anbita-app .busbahn-chat{
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr) auto auto!important;
        height:100%!important;
        min-height:0!important;
        overflow:hidden!important;
    }
    body.anbita-app .busbahn-messages{
        min-height:0!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        -webkit-overflow-scrolling:touch!important;
        touch-action:pan-y!important;
        padding:16px!important;
    }
    body.anbita-app .busbahn-composer{
        position:relative!important;
        bottom:auto!important;
        display:grid!important;
        grid-template-columns:40px minmax(0,1fr) 40px 40px!important;
        grid-template-areas:
            "attach message message send"
            ". . dictate record"!important;
        align-items:end!important;
        gap:7px!important;
        width:100%!important;
        padding:10px!important;
        box-sizing:border-box!important;
    }
    body.anbita-app .busbahn-composer-entry{
        grid-area:message!important;
        min-width:0!important;
        width:100%!important;
    }
    body.anbita-app .busbahn-composer textarea{
        width:100%!important;
        min-height:66px!important;
        height:66px!important;
        max-height:220px!important;
        margin:0!important;
        padding:10px 12px!important;
        border-radius:16px!important;
        line-height:22px!important;
    }
    body.anbita-app .busbahn-composer textarea::placeholder{
        color:#65738a!important;
        -webkit-text-fill-color:#65738a!important;
    }
    body.dark-mode.anbita-app .busbahn-composer textarea::placeholder,
    html.dark-mode body.anbita-app .busbahn-composer textarea::placeholder{
        color:#aeb9c8!important;
        -webkit-text-fill-color:#aeb9c8!important;
    }
    body.anbita-app .busbahn-composer .busbahn-attach{
        grid-area:attach!important;
        justify-self:start!important;
        align-self:center!important;
    }
    body.anbita-app .busbahn-composer .busbahn-send{
        grid-area:send!important;
        justify-self:end!important;
        align-self:center!important;
    }
    body.anbita-app .busbahn-composer .busbahn-dictate-button{
        grid-area:dictate!important;
        justify-self:end!important;
    }
    body.anbita-app .busbahn-composer .busbahn-record-button{
        grid-area:record!important;
        justify-self:end!important;
    }
    body.anbita-app .busbahn-composer .busbahn-attach,
    body.anbita-app .busbahn-composer .busbahn-send,
    body.anbita-app .busbahn-composer .busbahn-dictate-button,
    body.anbita-app .busbahn-composer .busbahn-record-button{
        width:40px!important;
        height:40px!important;
        min-width:40px!important;
        flex-basis:40px!important;
        margin:0!important;
    }
}



@media(min-width:621px){
    body.anbita-app .busbahn-sidebar-head{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 40px!important;
        align-items:center!important;
        gap:8px!important;
        width:100%!important;
        min-height:42px!important;
        margin:0 0 12px!important;
    }
    body.anbita-app .busbahn-overview-button{
        display:block!important;
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        min-height:0!important;
        margin:0!important;
        padding:2px 4px!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        color:#111!important;
        -webkit-text-fill-color:#111!important;
        font:900 19px/1.25 Arial,Helvetica,sans-serif!important;
        text-align:center!important;
        cursor:pointer!important;
        white-space:normal!important;
    }
    body.anbita-app .busbahn-overview-button:hover,
    body.anbita-app .busbahn-overview-button:focus-visible,
    body.anbita-app .busbahn-overview-button.is-active{
        border:0!important;
        background:transparent!important;
        color:#111!important;
        -webkit-text-fill-color:#111!important;
        outline:none!important;
        box-shadow:none!important;
        text-decoration:none!important;
    }
    body.anbita-app .busbahn-favorites-button{
        justify-self:end!important;
        margin:0!important;
    }
    html.dark-mode body.anbita-app .busbahn-overview-button,
    html.dark-mode body.anbita-app .busbahn-overview-button:hover,
    html.dark-mode body.anbita-app .busbahn-overview-button:focus-visible,
    html.dark-mode body.anbita-app .busbahn-overview-button.is-active,
    body.dark-mode.anbita-app .busbahn-overview-button,
    body.dark-mode.anbita-app .busbahn-overview-button:hover,
    body.dark-mode.anbita-app .busbahn-overview-button:focus-visible,
    body.dark-mode.anbita-app .busbahn-overview-button.is-active{
        color:#fff!important;
        -webkit-text-fill-color:#fff!important;
        background:transparent!important;
    }
}


@media(min-width:621px){
    body.anbita-app .busbahn-mobile-discover-button{
        display:flex!important;
        width:max-content!important;
        max-width:calc(100% - 24px)!important;
        min-width:0!important;
        min-height:40px!important;
        margin:0 auto 16px!important;
        padding:8px 16px!important;
        border-radius:10px!important;
        font-size:17px!important;
        line-height:1.2!important;
        white-space:nowrap!important;
    }
}
body.anbita-app.anbita-user-authenticated .site-shell>.site-footer,
body.anbita-app.anbita-user-authenticated .site-footer,
body.anbita-app.anbita-user-authenticated.busbahn-mobile-room-open .site-shell>.site-footer{
    display:none!important;
}



@media(max-width:620px){
    html.dark-mode body.anbita-app .busbahn-room,
    html.dark-mode body.anbita-app .busbahn-room strong,
    body.dark-mode.anbita-app .busbahn-room,
    body.dark-mode.anbita-app .busbahn-room strong,
    html.dark-mode.anbita-app-mode body .busbahn-room,
    html.dark-mode.anbita-app-mode body .busbahn-room strong{
        color:#ffffff!important;
        -webkit-text-fill-color:#ffffff!important;
        opacity:1!important;
    }
}


body.anbita-app .busbahn-mobile-discover-button,
html.anbita-app-mode body .busbahn-mobile-discover-button{
    display:inline-flex!important;
    width:max-content!important;
    max-width:calc(100% - 24px)!important;
    min-width:0!important;
    min-height:40px!important;
    margin:0 auto 16px!important;
    padding:8px 15px!important;
    border-radius:10px!important;
    font:800 17px/1.2 Arial,Helvetica,sans-serif!important;
    white-space:nowrap!important;
}

/* Hellmodus: Raumbezeichnungen schwarz. */
body.anbita-app .busbahn-room strong,
body.anbita-app .busbahn-overview-room strong,
html.anbita-app-mode body .busbahn-room strong,
html.anbita-app-mode body .busbahn-overview-room strong{
    color:#000!important;
    -webkit-text-fill-color:#000!important;
    opacity:1!important;
}

/* Dark Mode: Raumbezeichnungen weiß. */
html.dark-mode body.anbita-app .busbahn-room strong,
html.dark-mode body.anbita-app .busbahn-overview-room strong,
body.dark-mode.anbita-app .busbahn-room strong,
body.dark-mode.anbita-app .busbahn-overview-room strong,
html.dark-mode.anbita-app-mode body .busbahn-room strong,
html.dark-mode.anbita-app-mode body .busbahn-overview-room strong{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    opacity:1!important;
}

body.anbita-app [data-busbahn-overview-title]::after,
html.anbita-app-mode body [data-busbahn-overview-title]::after{
    display:none!important;
    content:none!important;
}



.busbahn-sidebar-head{
    display:grid!important;
    grid-template-columns:74px minmax(0,1fr) 74px!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    min-height:42px!important;
    margin:0 0 12px!important;
}
.busbahn-sidebar-title{
    grid-column:2!important;
    display:block!important;
    min-width:0!important;
    margin:0!important;
    color:#111!important;
    -webkit-text-fill-color:#111!important;
    font:900 19px/1.25 Arial,Helvetica,sans-serif!important;
    text-align:center!important;
}
.busbahn-sidebar-actions{
    grid-column:3!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    width:74px!important;
}
.busbahn-overview-icon-button,
.busbahn-favorites-button{
    flex:0 0 34px!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
}
.busbahn-overview-icon-button span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    color:#174ea6!important;
    -webkit-text-fill-color:#174ea6!important;
    font-size:22px!important;
    line-height:1!important;
}
.busbahn-overview-icon-button:hover,
.busbahn-overview-icon-button:focus-visible,
.busbahn-overview-icon-button.is-active{
    border-color:#174ea6!important;
    background:#eef4ff!important;
}
.busbahn-mobile-discover-button{
    display:none!important;
}
.busbahn-room-hours{
    display:none!important;
}
html.dark-mode .busbahn-sidebar-title,
body.dark-mode .busbahn-sidebar-title{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}
html.dark-mode .busbahn-overview-icon-button span,
body.dark-mode .busbahn-overview-icon-button span{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}
html.dark-mode .busbahn-overview-icon-button:hover,
html.dark-mode .busbahn-overview-icon-button:focus-visible,
html.dark-mode .busbahn-overview-icon-button.is-active,
body.dark-mode .busbahn-overview-icon-button:hover,
body.dark-mode .busbahn-overview-icon-button:focus-visible,
body.dark-mode .busbahn-overview-icon-button.is-active{
    border-color:#9fc0ff!important;
    background:#243b62!important;
}
@media(max-width:420px){
    .busbahn-sidebar-head{
        grid-template-columns:68px minmax(0,1fr) 68px!important;
        gap:4px!important;
    }
    .busbahn-sidebar-actions{
        width:68px!important;
        gap:4px!important;
    }
    .busbahn-overview-icon-button,
    .busbahn-favorites-button{
        flex-basis:32px!important;
        width:32px!important;
        min-width:32px!important;
        height:32px!important;
        min-height:32px!important;
    }
    .busbahn-sidebar-title{
        font-size:18px!important;
    }
}


.busbahn-sidebar-head{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    width:100%!important;
    min-height:42px!important;
    margin:0 0 12px!important;
}
.busbahn-sidebar-title{
    display:block!important;
    flex:0 1 auto!important;
    grid-column:auto!important;
    min-width:0!important;
    margin:0!important;
    font-size:clamp(17px,4.8vw,19px)!important;
    white-space:nowrap!important;
    text-align:center!important;
}
.busbahn-sidebar-actions{
    display:flex!important;
    flex:0 0 auto!important;
    grid-column:auto!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
}

/* „Weitere Chats“ rechts ohne rote Zierlinie. */
[data-busbahn-overview-title],
.busbahn-overview-panel h2{
    border-bottom:0!important;
    text-decoration:none!important;
}
[data-busbahn-overview-title]::after,
.busbahn-overview-panel h2::after{
    display:none!important;
    width:0!important;
    height:0!important;
    margin:0!important;
    border:0!important;
    background:none!important;
    content:none!important;
}



@media(max-width:620px){
    .busbahn-overview-empty-all{
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:flex-start!important;
        grid-column:1/-1!important;
        width:100%!important;
        max-width:520px!important;
        margin:22px auto 16px!important;
        padding:18px 14px 22px!important;
        box-sizing:border-box!important;
        border:0!important;
        background:transparent!important;
        text-align:center!important;
    }
    .busbahn-overview-empty-text{
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        gap:4px!important;
        width:100%!important;
        margin:0 auto!important;
        font-family:Arial,Helvetica,sans-serif!important;
        font-size:16px!important;
        font-weight:700!important;
        line-height:1.45!important;
        text-align:center!important;
    }
    .busbahn-overview-notice-image{
        display:block!important;
        width:min(300px,84%)!important;
        max-width:100%!important;
        height:auto!important;
        margin:24px auto 0!important;
        object-fit:contain!important;
    }
    html.dark-mode .busbahn-overview-empty-all,
    body.dark-mode .busbahn-overview-empty-all{
        color:#fff!important;
        -webkit-text-fill-color:#fff!important;
    }
}



.busbahn-overview-room-detail{
    display:grid;
    grid-template-columns:minmax(120px,220px) minmax(0,1fr);
    align-items:start;
    gap:24px;
    width:100%;
    max-width:920px;
    margin:12px auto 24px;
}
.busbahn-overview-room-detail-image{
    display:block;
    width:100%;
    height:auto;
    max-height:240px;
    object-fit:contain;
    border-radius:16px;
}
.busbahn-overview-room-detail-copy{
    min-width:0;
}
.busbahn-overview-room-detail-copy>p{
    margin:0 0 16px;
    line-height:1.55;
}
@media(max-width:620px){
    .busbahn-overview-room-detail{
        grid-template-columns:1fr;
        gap:14px;
        margin-top:4px;
    }
    .busbahn-overview-room-detail-image{
        width:min(220px,72%);
        margin:0 auto;
        max-height:200px;
    }
}


.busbahn-room-status{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:2px!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.35!important;
}
.busbahn-room-opening-summary{
    display:block!important;
    max-width:100%!important;
    font-size:11px!important;
    line-height:1.35!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
}
.busbahn-overview-list{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:22px!important;
    width:100%!important;
    padding:8px 0 20px!important;
    box-sizing:border-box!important;
}
.busbahn-overview-room{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:min(100%,680px)!important;
    margin:0 auto!important;
    padding:18px 22px!important;
    border:1px solid #d8dfeb!important;
    border-radius:16px!important;
    background:#fff!important;
    text-align:center!important;
}
.busbahn-overview-room img{display:none!important;}
.busbahn-overview-room-title,
.busbahn-overview-room strong{
    display:block!important;
    margin:0!important;
    color:#18263d!important;
    font-size:20px!important;
    line-height:1.3!important;
    text-align:center!important;
}
.busbahn-overview-room-description{
    display:block!important;
    width:100%!important;
    max-width:620px!important;
    margin:0 auto!important;
    color:#42516b!important;
    font-size:15px!important;
    line-height:1.55!important;
    white-space:normal!important;
    text-align:center!important;
    overflow-wrap:anywhere!important;
}
.busbahn-overview-empty-all{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:760px!important;
    margin:24px auto 18px!important;
    padding:20px 16px 24px!important;
    border:0!important;
    background:transparent!important;
    text-align:center!important;
}
.busbahn-overview-empty-text{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:460px!important;
    margin:0 auto!important;
    color:#33445e!important;
    font-size:18px!important;
    font-weight:700!important;
    line-height:1.5!important;
    text-align:center!important;
    overflow-wrap:anywhere!important;
}
.busbahn-overview-notice-image{
    display:block!important;
    width:min(340px,82%)!important;
    max-width:100%!important;
    height:auto!important;
    margin:24px auto 0!important;
    object-fit:contain!important;
}
html.dark-mode .busbahn-overview-room,
body.dark-mode .busbahn-overview-room{
    background:#18263d!important;
    border-color:#3a4a66!important;
}
html.dark-mode .busbahn-overview-room-title,
html.dark-mode .busbahn-overview-room strong,
html.dark-mode .busbahn-overview-room-description,
html.dark-mode .busbahn-overview-empty-text,
body.dark-mode .busbahn-overview-room-title,
body.dark-mode .busbahn-overview-room strong,
body.dark-mode .busbahn-overview-room-description,
body.dark-mode .busbahn-overview-empty-text{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}
@media(max-width:620px){
    .busbahn-overview-list{gap:16px!important;}
    .busbahn-overview-room{width:min(100%,96%)!important;padding:16px 14px!important;}
    .busbahn-overview-room-title,
    .busbahn-overview-room strong{font-size:18px!important;}
    .busbahn-overview-room-description{font-size:14px!important;line-height:1.5!important;}
    .busbahn-overview-empty-text{max-width:290px!important;font-size:17px!important;line-height:1.45!important;}
    .busbahn-overview-notice-image{width:min(280px,84%)!important;margin-top:20px!important;}
}



.busbahn-room-status{
    display:block!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.busbahn-room-opening-summary{
    display:none!important;
}
.busbahn-room.is-active{
    box-sizing:border-box!important;
    border-top-color:transparent!important;
    border-right-color:transparent!important;
    border-bottom-color:transparent!important;
    border-left:4px solid #d7192d!important;
    padding-left:4px!important;
    background:#fff!important;
    outline:none!important;
}
html.dark-mode .busbahn-room.is-active,
body.dark-mode .busbahn-room.is-active{
    border-top-color:transparent!important;
    border-right-color:transparent!important;
    border-bottom-color:transparent!important;
    border-left-color:#ff5b6d!important;
    background:#273142!important;
}
.busbahn-overview-list{
    gap:24px!important;
    padding:10px 12px 22px!important;
}
.busbahn-overview-room{
    box-sizing:border-box!important;
    width:min(420px,78%)!important;
    max-width:420px!important;
    min-width:0!important;
    padding:16px 18px 18px!important;
    gap:9px!important;
    border:1px solid #d8dfeb!important;
    border-radius:15px!important;
}
.busbahn-overview-room img,
.busbahn-overview-room-image{
    display:block!important;
    width:78px!important;
    height:78px!important;
    margin:0 auto 2px!important;
    border-radius:50%!important;
    object-fit:cover!important;
    background:#dce4f1!important;
}
.busbahn-overview-room-title,
.busbahn-overview-room strong{
    font-size:19px!important;
    line-height:1.3!important;
}
.busbahn-overview-room-description{
    width:100%!important;
    max-width:360px!important;
    font-size:15px!important;
    line-height:1.5!important;
}
@media(max-width:760px){
    .busbahn-overview-list{
        gap:18px!important;
        padding:8px 8px 18px!important;
    }
    .busbahn-overview-room{
        width:min(340px,calc(100% - 20px))!important;
        max-width:340px!important;
        padding:14px 13px 16px!important;
        border-radius:14px!important;
    }
    .busbahn-overview-room img,
    .busbahn-overview-room-image{
        width:66px!important;
        height:66px!important;
    }
    .busbahn-overview-room-title,
    .busbahn-overview-room strong{
        font-size:18px!important;
    }
    .busbahn-overview-room-description{
        max-width:300px!important;
        font-size:14px!important;
        line-height:1.45!important;
    }
}
@media(max-width:380px){
    .busbahn-overview-room{
        width:calc(100% - 12px)!important;
        padding:13px 11px 15px!important;
    }
    .busbahn-overview-room img,
    .busbahn-overview-room-image{
        width:60px!important;
        height:60px!important;
    }
}



[data-busbahn-overview-title][hidden]{
    display:none!important;
}
.busbahn-chat:not(.is-overview) [data-busbahn-overview-title]{
    display:none!important;
}


.busbahn-dialog [data-busbahn-dialog-close][hidden]{display:none!important;}


.busbahn-sidebar-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:4px!important;
}
.busbahn-profile-icon-button,
.busbahn-overview-icon-button,
.busbahn-favorites-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 32px!important;
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    margin:0!important;
    padding:0!important;
    text-decoration:none!important;
}
.busbahn-profile-icon-button span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    font-size:18px!important;
    line-height:1!important;
}
.busbahn-profile-icon-button:hover,
.busbahn-profile-icon-button:focus-visible{
    border-color:#16833f!important;
    background:#edf9f1!important;
}
.busbahn-room>span{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
}
.busbahn-room>span>strong{
    display:block!important;
    width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.busbahn-room small,
.busbahn-room-status,
.busbahn-room-opening-summary{
    display:none!important;
}
body.busbahn-member-area [data-anbita-view-back-row]{
    display:none!important;
}
body.busbahn-member-area.anbita-app .anbita-app-account-nav,
html.anbita-app-mode body.busbahn-member-area .anbita-app-account-nav{
    display:none!important;
}
body.busbahn-member-area.anbita-app .site-header .welcome-media,
html.anbita-app-mode body.busbahn-member-area .site-header .welcome-media{
    display:none!important;
}
html.dark-mode .busbahn-profile-icon-button,
body.dark-mode .busbahn-profile-icon-button{
    background:#273142!important;
    color:#fff!important;
    border-color:#5b6a80!important;
}
html.dark-mode .busbahn-profile-icon-button:hover,
html.dark-mode .busbahn-profile-icon-button:focus-visible,
body.dark-mode .busbahn-profile-icon-button:hover,
body.dark-mode .busbahn-profile-icon-button:focus-visible{
    border-color:#86efac!important;
    background:#174b31!important;
}
@media(max-width:760px){
    body.busbahn-member-area .site-header .welcome-media,
    body.busbahn-member-area .anbita-mobile-symbol-nav{
        display:none!important;
    }
    .busbahn-sidebar-head{
        gap:6px!important;
    }
    .busbahn-sidebar-title{
        flex:0 1 auto!important;
        font-size:18px!important;
    }
}
@media(max-width:360px){
    .busbahn-sidebar-head{gap:4px!important;}
    .busbahn-sidebar-title{font-size:17px!important;}
    .busbahn-profile-icon-button,
    .busbahn-overview-icon-button,
    .busbahn-favorites-button{
        flex-basis:30px!important;
        width:30px!important;
        min-width:30px!important;
        height:30px!important;
        min-height:30px!important;
    }
}

/* Den kompletten Logo-/Werbebannerbereich ohne leeren Restabstand entfernen. */
body.busbahn-member-area.anbita-app .site-header .welcome-row,
html.anbita-app-mode body.busbahn-member-area .site-header .welcome-row{
    display:none!important;
}
@media(max-width:760px){
    body.busbahn-member-area .site-header .welcome-row{
        display:none!important;
    }
}

/* --------------------------------------------------------------------------
   Bus & Bahn Update 156: zuverlässiger Dialog, klare Startansicht und Touch-Scroll
   -------------------------------------------------------------------------- */

/* Eigener, browser- und WebView-unabhängiger Dialog statt nativem <dialog>. */
.busbahn-dialog-layer[hidden]{
    display:none!important;
}
.busbahn-dialog-layer{
    position:fixed!important;
    z-index:2147483000!important;
    inset:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    width:100vw!important;
    height:100dvh!important;
    padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))!important;
    overflow:auto!important;
    background:rgba(0,0,0,.62)!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-overflow-scrolling:touch!important;
}
.busbahn-dialog-layer .busbahn-dialog{
    position:relative!important;
    z-index:1!important;
    display:block!important;
    box-sizing:border-box!important;
    width:min(92vw,620px)!important;
    max-width:620px!important;
    max-height:min(85dvh,760px)!important;
    margin:auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    pointer-events:auto!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch!important;
}
.busbahn-dialog-layer .busbahn-dialog,
.busbahn-dialog-layer .busbahn-dialog *{
    pointer-events:auto!important;
}
body.busbahn-dialog-open{
    overflow:hidden!important;
}
.busbahn-join-actions{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:16px!important;
    width:100%!important;
}
.busbahn-join-actions .busbahn-small-button{
    position:relative!important;
    z-index:3!important;
    min-width:68px!important;
    min-height:46px!important;
    padding:10px 18px!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-user-select:none!important;
    user-select:none!important;
}
.busbahn-join-actions .busbahn-small-button:disabled{
    opacity:.58!important;
    cursor:wait!important;
}

/* Nach dem Beitritt bleiben nur Bedienleiste und Wetter im Portal-Kopf sichtbar. */
body.busbahn-member-area .site-header .welcome-media{
    display:none!important;
}
body.busbahn-member-area .site-header .welcome-row{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    min-height:0!important;
    padding:8px 14px!important;
    gap:0!important;
}
body.busbahn-member-area .site-header .welcome-row>.weather-box.weather-country-overview{
    margin:0 0 0 auto!important;
}
body.busbahn-member-area .anbita-app-account-nav{
    display:none!important;
}
/* Der alte Profilknopf unter dem ANBITA-Logo wird in Bus & Bahn nicht mehr benötigt. */
body.busbahn-member-area .side-menu .is-profile-green{
    display:none!important;
}

/* Mehr Luft zwischen „Meine Chats“ und den drei Bedien-Symbolen. */
.busbahn-sidebar-head{
    justify-content:center!important;
    gap:18px!important;
}
.busbahn-sidebar-actions{
    gap:8px!important;
}

@media(max-width:760px){
    /* Smartphone-Webbrowser und App: kein Logo-/Werbebereich und keine alte Portalnavigation. */
    body.busbahn-member-area .site-header .welcome-row,
    body.busbahn-member-area .anbita-mobile-symbol-nav,
    body.busbahn-member-area .layout-grid>.side-menu{
        display:none!important;
    }
    body.busbahn-member-area .layout-grid{
        display:block!important;
    }
    body.busbahn-member-area .main-panel{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    .busbahn-sidebar-head{
        flex:0 0 auto!important;
        gap:14px!important;
        padding:2px 2px 8px!important;
        margin-bottom:8px!important;
    }
    .busbahn-sidebar-actions{
        gap:7px!important;
    }

    /* In „Meine Chats“ kann mitten auf der Raumliste vertikal gewischt werden. */
    body.busbahn-member-area.busbahn-mobile-menu-open{
        overflow:hidden!important;
        touch-action:pan-y!important;
        overscroll-behavior-y:none!important;
    }
    body.busbahn-member-area.busbahn-mobile-menu-open .busbahn-app{
        display:block!important;
        height:calc(100dvh - 64px)!important;
        min-height:0!important;
        max-height:calc(100dvh - 64px)!important;
        overflow:hidden!important;
    }
    body.busbahn-member-area.busbahn-mobile-menu-open .busbahn-sidebar{
        display:flex!important;
        flex-direction:column!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        overflow:hidden!important;
    }
    body.busbahn-member-area.busbahn-mobile-menu-open .busbahn-room-list{
        display:flex!important;
        flex:1 1 auto!important;
        flex-direction:column!important;
        width:100%!important;
        min-height:0!important;
        max-height:none!important;
        padding:0 2px calc(24px + env(safe-area-inset-bottom))!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior-x:none!important;
        overscroll-behavior-y:contain!important;
        scrollbar-width:none!important;
        touch-action:pan-y!important;
        -webkit-overflow-scrolling:touch!important;
    }
    body.busbahn-member-area.busbahn-mobile-menu-open .busbahn-room-list::-webkit-scrollbar{
        display:none!important;
        width:0!important;
        height:0!important;
    }
    body.busbahn-member-area.busbahn-mobile-menu-open .busbahn-room{
        flex:0 0 auto!important;
        width:100%!important;
        min-width:0!important;
        touch-action:pan-y!important;
    }
}

/* Die installierte App nutzt dieselbe aufgeräumte Startansicht unabhängig von der Breite. */
body.busbahn-member-area.anbita-app .site-header .welcome-row,
html.anbita-app-mode body.busbahn-member-area .site-header .welcome-row,
body.busbahn-member-area.anbita-app .anbita-app-account-nav,
html.anbita-app-mode body.busbahn-member-area .anbita-app-account-nav{
    display:none!important;
}

@media(max-width:380px){
    .busbahn-sidebar-head{gap:10px!important;}
    .busbahn-sidebar-actions{gap:5px!important;}
}


/* --------------------------------------------------------------------------
   Bus & Bahn Update 166: volle mobile/App-Fläche unter der Bedienleiste
   -------------------------------------------------------------------------- */

/* Die sichtbare Browser-/WebView-Höhe wird vom Bus & Bahn-JavaScript gesetzt. */
html.busbahn-member-html,
html.busbahn-member-html body.busbahn-member-area{
    min-height:var(--busbahn-viewport-height,100dvh)!important;
}

/* Smartphone-Webbrowser: nur die Bedienleiste bleibt oberhalb von Bus & Bahn. */
@media(max-width:760px), (max-height:600px) and (pointer:coarse){
    html.busbahn-member-html,
    body.busbahn-member-area{
        width:100%!important;
        height:var(--busbahn-viewport-height,100dvh)!important;
        max-height:var(--busbahn-viewport-height,100dvh)!important;
        margin:0!important;
        overflow:hidden!important;
        overscroll-behavior:none!important;
    }
    body.busbahn-member-area{
        touch-action:pan-y pinch-zoom!important;
    }
    body.busbahn-member-area .site-shell{
        display:flex!important;
        flex-direction:column!important;
        width:100%!important;
        max-width:none!important;
        height:var(--busbahn-viewport-height,100dvh)!important;
        min-height:0!important;
        max-height:var(--busbahn-viewport-height,100dvh)!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
    }
    body.busbahn-member-area .site-shell>.site-header,
    body.busbahn-member-area.busbahn-mobile-room-open .site-shell>.site-header{
        display:block!important;
        flex:0 0 auto!important;
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        margin:0!important;
        padding:0!important;
        overflow:visible!important;
        z-index:40!important;
    }
    body.busbahn-member-area .site-header .utility-bar{
        position:relative!important;
        inset:auto!important;
        z-index:41!important;
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding-left:max(6px,env(safe-area-inset-left))!important;
        padding-right:max(6px,env(safe-area-inset-right))!important;
        box-sizing:border-box!important;
    }
    body.busbahn-member-area .site-header .utility-bar .weather-mobile-top{
        display:flex!important;
        flex:1 1 auto!important;
        min-width:0!important;
    }
    body.busbahn-member-area .site-header .welcome-row,
    body.busbahn-member-area .anbita-app-account-nav,
    body.busbahn-member-area .anbita-mobile-symbol-nav,
    body.busbahn-member-area .layout-grid>.side-menu,
    body.busbahn-member-area .site-shell>.site-footer,
    body.busbahn-member-area .busbahn-header-wrap{
        display:none!important;
    }
    body.busbahn-member-area .layout-grid{
        display:block!important;
        flex:1 1 auto!important;
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        min-height:0!important;
        height:auto!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
    }
    body.busbahn-member-area .main-panel,
    body.busbahn-member-area .busbahn-page{
        display:block!important;
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        overflow:hidden!important;
        box-sizing:border-box!important;
    }
    body.busbahn-member-area .busbahn-app,
    body.busbahn-member-area.busbahn-mobile-menu-open .busbahn-app,
    body.busbahn-member-area.busbahn-mobile-room-open .busbahn-app,
    body.busbahn-member-area.busbahn-mobile-overview-open .busbahn-app{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        margin:0!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        overflow:hidden!important;
        box-sizing:border-box!important;
    }

    /* Startansicht „Meine Chats“: die gesamte Mitte ist eine Wischfläche. */
    body.busbahn-member-area.busbahn-mobile-menu-open .busbahn-sidebar{
        display:flex!important;
        flex-direction:column!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;
        border:0!important;
        overflow:hidden!important;
        box-sizing:border-box!important;
    }
    body.busbahn-member-area.busbahn-mobile-menu-open .busbahn-room-list{
        display:flex!important;
        flex:1 1 auto!important;
        flex-direction:column!important;
        width:100%!important;
        min-height:0!important;
        max-height:none!important;
        padding:0 2px max(18px,env(safe-area-inset-bottom))!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior-x:none!important;
        overscroll-behavior-y:contain!important;
        scroll-behavior:smooth!important;
        scroll-padding-block:10px 28px!important;
        touch-action:pan-y!important;
        -webkit-overflow-scrolling:touch!important;
        scrollbar-width:none!important;
    }
    body.busbahn-member-area.busbahn-mobile-menu-open .busbahn-room-list::-webkit-scrollbar{
        display:none!important;
        width:0!important;
        height:0!important;
    }
    body.busbahn-member-area.busbahn-mobile-menu-open .busbahn-room{
        flex:0 0 auto!important;
        width:100%!important;
        min-width:0!important;
        touch-action:pan-y!important;
    }
    body.busbahn-member-area.busbahn-mobile-menu-open .busbahn-chat{
        display:none!important;
    }

    /* Chatraum: Kopf und Schreibbereich bleiben stehen, nur der Verlauf wischt. */
    body.busbahn-member-area:not(.busbahn-mobile-menu-open):not(.busbahn-mobile-overview-open) .busbahn-sidebar,
    body.busbahn-member-area.busbahn-mobile-room-open .busbahn-sidebar{
        display:none!important;
    }
    body.busbahn-member-area:not(.busbahn-mobile-menu-open):not(.busbahn-mobile-overview-open) .busbahn-chat,
    body.busbahn-member-area.busbahn-mobile-room-open .busbahn-chat{
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr) auto auto!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        margin:0!important;
        overflow:hidden!important;
    }
    body.busbahn-member-area .busbahn-messages{
        min-height:0!important;
        max-height:none!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior-x:none!important;
        overscroll-behavior-y:contain!important;
        scroll-padding-block:12px 28px!important;
        touch-action:pan-y!important;
        -webkit-overflow-scrolling:touch!important;
        scrollbar-width:none!important;
    }
    body.busbahn-member-area .busbahn-messages::-webkit-scrollbar{
        display:none!important;
        width:0!important;
        height:0!important;
    }
    body.busbahn-member-area .busbahn-composer{
        position:relative!important;
        bottom:auto!important;
        flex:0 0 auto!important;
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
        box-sizing:border-box!important;
    }
    body.busbahn-member-area .busbahn-composer-entry,
    body.busbahn-member-area .busbahn-composer textarea{
        min-width:0!important;
        max-width:100%!important;
    }

    /* Gruppenübersicht/Favoritenansicht scrollt ebenfalls innerhalb der Fläche. */
    body.busbahn-member-area.busbahn-mobile-overview-open .busbahn-sidebar{
        display:none!important;
    }
    body.busbahn-member-area.busbahn-mobile-overview-open .busbahn-chat,
    body.busbahn-member-area.busbahn-mobile-overview-open .busbahn-chat.is-overview{
        display:block!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior-y:contain!important;
        touch-action:pan-y!important;
        -webkit-overflow-scrolling:touch!important;
        scrollbar-width:none!important;
    }
    body.busbahn-member-area.busbahn-mobile-overview-open .busbahn-chat::-webkit-scrollbar{
        display:none!important;
        width:0!important;
        height:0!important;
    }
    body.busbahn-member-area.busbahn-mobile-overview-open .busbahn-overview-panel{
        min-height:100%!important;
        padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
    }
}

/* Installierte App: unabhängig von der Fensterbreite die gesamte Restfläche nutzen. */
body.anbita-app.busbahn-member-area{
    width:100%!important;
    height:var(--busbahn-viewport-height,100dvh)!important;
    max-height:var(--busbahn-viewport-height,100dvh)!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
}
body.anbita-app.busbahn-member-area .site-shell{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    height:var(--busbahn-viewport-height,100dvh)!important;
    min-height:0!important;
    max-height:var(--busbahn-viewport-height,100dvh)!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}
body.anbita-app.busbahn-member-area .site-shell>.site-header,
body.anbita-app.busbahn-member-area.busbahn-mobile-room-open .site-shell>.site-header{
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    z-index:40!important;
}
body.anbita-app.busbahn-member-area .site-header .utility-bar{
    position:relative!important;
    z-index:41!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:max(6px,env(safe-area-inset-left))!important;
    padding-right:max(6px,env(safe-area-inset-right))!important;
    box-sizing:border-box!important;
}
body.anbita-app.busbahn-member-area .site-header .welcome-row,
body.anbita-app.busbahn-member-area .anbita-app-account-nav,
body.anbita-app.busbahn-member-area .anbita-mobile-symbol-nav,
body.anbita-app.busbahn-member-area .layout-grid>.side-menu,
body.anbita-app.busbahn-member-area .site-shell>.site-footer,
body.anbita-app.busbahn-member-area .busbahn-header-wrap{
    display:none!important;
}
body.anbita-app.busbahn-member-area .layout-grid{
    display:block!important;
    flex:1 1 auto!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}
body.anbita-app.busbahn-member-area .main-panel,
body.anbita-app.busbahn-member-area .busbahn-page{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
}
body.anbita-app.busbahn-member-area .busbahn-app{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
}

/* App auf Tablet/PC: zweigeteilt, aber weiterhin über die volle Resthöhe. */
@media(min-width:761px){
    body.anbita-app.busbahn-member-area .busbahn-app{
        display:grid!important;
        grid-template-columns:minmax(230px,280px) minmax(0,1fr)!important;
    }
    body.anbita-app.busbahn-member-area .busbahn-sidebar{
        display:flex!important;
        flex-direction:column!important;
        min-height:0!important;
        max-height:100%!important;
        overflow:hidden!important;
    }
    body.anbita-app.busbahn-member-area .busbahn-room-list{
        flex:1 1 auto!important;
        min-height:0!important;
        max-height:none!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior-y:contain!important;
        touch-action:pan-y!important;
        -webkit-overflow-scrolling:touch!important;
    }
    body.anbita-app.busbahn-member-area .busbahn-chat{
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr) auto auto!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        overflow:hidden!important;
    }
    body.anbita-app.busbahn-member-area .busbahn-chat.is-overview{
        display:block!important;
        overflow-y:auto!important;
        overscroll-behavior-y:contain!important;
        touch-action:pan-y!important;
        -webkit-overflow-scrolling:touch!important;
    }
    body.anbita-app.busbahn-member-area .busbahn-messages{
        min-height:0!important;
        overflow-y:auto!important;
        overscroll-behavior-y:contain!important;
        touch-action:pan-y!important;
        -webkit-overflow-scrolling:touch!important;
    }
}


/* Rathaus-Begrüßung: mittiger, ruhiger Textblock auf allen Geräten. */
.busbahn-rathaus-intro{
    width:min(820px,calc(100% - 32px));
    padding:clamp(18px,2.4vw,28px);
    gap:16px;
}
.busbahn-rathaus-intro-text{
    width:min(690px,100%);
    margin:0 auto;
    text-align:center;
}
.busbahn-rathaus-intro-text .busbahn-rathaus-intro-title{
    max-width:100%;
    margin:0 auto 16px;
    font:700 clamp(18px,2vw,21px)/1.45 Arial,Helvetica,sans-serif!important;
    text-align:center!important;
    text-wrap:balance;
}
.busbahn-rathaus-intro-text p:not(.busbahn-rathaus-intro-title){
    max-width:640px;
    margin:12px auto;
    font:400 clamp(16px,1.55vw,18px)/1.7 Arial,Helvetica,sans-serif!important;
    text-align:center!important;
    text-align-last:center!important;
    text-wrap:pretty;
    hyphens:none!important;
    -webkit-hyphens:none!important;
    overflow-wrap:normal;
    word-break:normal;
}
@media(max-width:620px){
    .busbahn-rathaus-intro{
        width:calc(100% - 16px);
        padding:18px 14px;
        gap:12px;
    }
    .busbahn-rathaus-intro-text{
        width:100%;
    }
    .busbahn-rathaus-intro-text .busbahn-rathaus-intro-title{
        margin-bottom:14px;
        font-size:18px!important;
    }
    .busbahn-rathaus-intro-text p:not(.busbahn-rathaus-intro-title){
        max-width:34rem;
        margin:11px auto;
        font-size:16px!important;
        line-height:1.65!important;
        text-align:center!important;
        text-align-last:center!important;
        text-wrap:pretty;
    }
    .busbahn-rathaus-intro-image{
        width:min(220px,78%);
        margin-top:4px;
    }
}
.busbahn-rathaus-intro-ps{margin-top:16px!important;padding-top:14px;border-top:1px solid rgba(31,91,216,.22);font-size:15px;line-height:1.5}
html.dark-mode .busbahn-rathaus-intro-ps,body.dark-mode .busbahn-rathaus-intro-ps{border-top-color:rgba(255,255,255,.18)}
@media(max-width:620px){.busbahn-rathaus-intro-ps{font-size:14px;line-height:1.48}}


/* Bus & Bahn v3.0: mobile Startseite und mobile Schreibleiste. */
@media(max-width:760px), (max-height:600px) and (pointer:coarse){
    .busbahn-entry-card-intro .busbahn-entry-actions{
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
    }
    .busbahn-entry-card-intro .busbahn-entry-actions .busbahn-button{
        width:min(220px,100%)!important;
        min-width:0!important;
        margin:0 auto!important;
    }
    .busbahn-composer .busbahn-dictate-button,
    .busbahn-composer .busbahn-record-button{
        display:none!important;
    }
    .busbahn-composer{
        grid-template-columns:44px minmax(0,1fr) 44px!important;
        grid-template-areas:
            "message message message"
            "attach . send"!important;
    }
}
body.anbita-app .busbahn-composer .busbahn-dictate-button,
body.anbita-app .busbahn-composer .busbahn-record-button,
html.anbita-app-mode body .busbahn-composer .busbahn-dictate-button,
html.anbita-app-mode body .busbahn-composer .busbahn-record-button{
    display:none!important;
}
body.anbita-app .busbahn-composer,
html.anbita-app-mode body .busbahn-composer{
    grid-template-columns:40px minmax(0,1fr) 40px!important;
    grid-template-areas:"attach message send"!important;
}


/* Bus & Bahn v3.1: sichtbarer Rückweg im mobilen Browser direkt im Chatkopf. */
.busbahn-mobile-chat-back[hidden]{display:none!important;}
.busbahn-mobile-chat-back{
    flex:0 0 40px;
    width:40px;
    height:40px;
    min-width:40px;
    min-height:40px;
    text-decoration:none;
    font-size:1.55rem;
    font-weight:900;
    line-height:1;
}
.busbahn-mobile-chat-back span{
    display:block;
    transform:translateX(-1px) scaleX(1.18);
}
html.dark-mode .busbahn-mobile-chat-back,
body.dark-mode .busbahn-mobile-chat-back{
    border-color:#6d7f98!important;
    color:#fff!important;
    background:#273142!important;
}

/* --------------------------------------------------------------------------
   Bus & Bahn Update 342: klare Raum-/Profileinstellungen und Räume ohne Pflichtbild
   -------------------------------------------------------------------------- */
.busbahn-room.has-no-image{
    grid-template-columns:minmax(0,1fr)!important;
    padding:10px 12px!important;
}
.busbahn-room.has-no-image>span{min-width:0;}
.busbahn-current-room-image[hidden]{display:none!important;}
.busbahn-overview-room.has-no-image{
    padding-top:18px!important;
}
.busbahn-overview-room.has-no-image .busbahn-overview-room-title{
    margin-top:0!important;
}
.busbahn-overview-room-detail.has-no-image{
    grid-template-columns:minmax(0,1fr)!important;
}
.busbahn-avatar-empty{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px dashed #9aa8bb!important;
    background:transparent!important;
}
.busbahn-avatar-empty::before{
    content:'👤';
    font-size:20px;
    line-height:1;
    opacity:.65;
}
.busbahn-profile-open{
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    font:inherit;
    text-align:left;
    cursor:pointer;
}
.busbahn-member-profile{
    display:block;
    width:42px;
    height:42px;
    border-radius:50%;
}
.busbahn-favorite-profile{
    display:flex;
    min-width:0;
    align-items:center;
    gap:10px;
}
.busbahn-profile-open:focus-visible{
    outline:3px solid rgba(31,91,216,.32);
    outline-offset:3px;
    border-radius:10px;
}
.busbahn-birthday-badge{
    display:inline-flex;
    margin-left:5px;
    vertical-align:middle;
    font-size:.9em;
    line-height:1;
}
.busbahn-message-person>.busbahn-birthday-badge{
    position:absolute;
    right:-4px;
    bottom:-4px;
    z-index:4;
    margin:0;
    padding:2px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 4px rgba(0,0,0,.22);
}

.busbahn-dialog-layer .busbahn-dialog{
    width:min(94vw,720px)!important;
    max-width:720px!important;
    padding:22px!important;
}
.busbahn-dialog h2{
    margin:0 0 16px;
    font:900 24px/1.2 Arial,Helvetica,sans-serif;
}
.busbahn-settings-tabs{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 18px;
    padding-bottom:12px;
    border-bottom:1px solid #d8dfeb;
}
.busbahn-settings-tab{
    width:auto!important;
    min-width:0!important;
    min-height:38px;
    padding:7px 14px;
    border:1px solid #b9c5d8;
    border-radius:999px;
    background:#f3f6fb;
    color:#18263d;
    font:800 15px/1.2 Arial,Helvetica,sans-serif;
    cursor:pointer;
}
.busbahn-settings-tab.is-active{
    border-color:#1f5bd8;
    background:#1f5bd8;
    color:#fff;
}
.busbahn-settings-shell,
.busbahn-settings-panel{
    display:grid;
    gap:18px;
}
.busbahn-settings-panel[hidden]{display:none!important;}
.busbahn-settings-field{
    display:grid!important;
    gap:7px!important;
    margin:0!important;
}
.busbahn-settings-label{
    display:block;
    font:800 16px/1.3 Arial,Helvetica,sans-serif;
}
.busbahn-settings-field small{
    display:block;
    color:#65738a;
    font:400 13px/1.45 Arial,Helvetica,sans-serif;
}
.busbahn-settings-field textarea,
.busbahn-settings-field select,
.busbahn-settings-field input[type=text],
.busbahn-settings-field input[type=file]{
    box-sizing:border-box;
    display:block;
    width:100%;
    max-width:100%;
    margin:0;
    padding:10px 11px;
    border:1px solid #b9c5d8;
    border-radius:10px;
    background:#fff;
    color:#18263d;
    font:16px/1.45 Arial,Helvetica,sans-serif;
}
.busbahn-settings-field textarea{
    min-height:96px;
    resize:vertical;
}
.busbahn-settings-field select{
    min-height:44px;
}
.busbahn-settings-checks{
    display:grid;
    gap:10px;
}
.busbahn-settings-check{
    display:flex!important;
    align-items:flex-start!important;
    gap:9px!important;
    margin:0!important;
    font:700 15px/1.45 Arial,Helvetica,sans-serif;
}
.busbahn-settings-check input{
    flex:0 0 auto;
    margin-top:3px;
}
.busbahn-settings-note{
    margin:0;
    padding:11px 12px;
    border-radius:10px;
    background:#f3f6fb;
    font:600 14px/1.5 Arial,Helvetica,sans-serif;
}
.busbahn-settings-actions{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    gap:10px;
}
.busbahn-settings-actions .busbahn-small-button,
.busbahn-group-link-row .busbahn-small-button{
    width:auto!important;
    min-width:0!important;
    max-width:max-content!important;
    white-space:nowrap;
}
.busbahn-settings-image-preview{
    display:flex;
    align-items:center;
    justify-content:center;
    width:112px;
    height:112px;
    margin:0;
    overflow:hidden;
    border:1px solid #c8d3e6;
    border-radius:14px;
    background:#eef3f8;
}
.busbahn-settings-image-preview img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.busbahn-settings-image-preview span{
    padding:10px;
    color:#65738a;
    font:700 13px/1.35 Arial,Helvetica,sans-serif;
    text-align:center;
}
.busbahn-group-link-box{
    display:grid;
    gap:9px;
    margin:0!important;
    padding:13px!important;
}
.busbahn-group-link-row{
    grid-template-columns:minmax(0,1fr) auto!important;
}
.busbahn-group-link-row input[data-group-url]{
    min-width:0;
}

.busbahn-public-profile-head{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:20px;
}
.busbahn-public-profile-head h2{
    margin:0 0 4px;
}
.busbahn-public-profile-image{
    display:flex;
    align-items:center;
    justify-content:center;
    width:92px;
    height:92px;
    flex:0 0 92px;
    overflow:hidden;
    border-radius:50%;
    object-fit:cover;
    background:#dce4f1;
}
.busbahn-birthday-text{
    margin:0;
    font-weight:800;
}
.busbahn-public-profile{
    display:grid;
    gap:14px;
}
.busbahn-public-profile-row,
.busbahn-public-profile-section{
    margin:0;
    padding:12px 13px;
    border:1px solid #d8dfeb;
    border-radius:11px;
    background:#f8fafc;
}
.busbahn-public-profile-row{
    display:grid;
    grid-template-columns:minmax(100px,.45fr) minmax(0,1fr);
    gap:12px;
}
.busbahn-public-profile-section strong{
    display:block;
    margin-bottom:6px;
}
.busbahn-public-profile-section p{
    margin:0;
    line-height:1.55;
    overflow-wrap:anywhere;
}

html.dark-mode .busbahn-settings-tabs,
body.dark-mode .busbahn-settings-tabs{border-color:#435064;}
html.dark-mode .busbahn-settings-tab,
body.dark-mode .busbahn-settings-tab{
    border-color:#5b6a80;
    background:#273142;
    color:#fff;
}
html.dark-mode .busbahn-settings-tab.is-active,
body.dark-mode .busbahn-settings-tab.is-active{
    border-color:#6fa0ff;
    background:#2d6de2;
}
html.dark-mode .busbahn-settings-field textarea,
html.dark-mode .busbahn-settings-field select,
html.dark-mode .busbahn-settings-field input[type=text],
html.dark-mode .busbahn-settings-field input[type=file],
body.dark-mode .busbahn-settings-field textarea,
body.dark-mode .busbahn-settings-field select,
body.dark-mode .busbahn-settings-field input[type=text],
body.dark-mode .busbahn-settings-field input[type=file]{
    border-color:#5b6a80;
    background:#0f151e;
    color:#fff;
    color-scheme:dark;
}
html.dark-mode .busbahn-settings-field small,
body.dark-mode .busbahn-settings-field small{color:#c5d0de;}
html.dark-mode .busbahn-settings-note,
body.dark-mode .busbahn-settings-note,
html.dark-mode .busbahn-public-profile-row,
html.dark-mode .busbahn-public-profile-section,
body.dark-mode .busbahn-public-profile-row,
body.dark-mode .busbahn-public-profile-section{
    border-color:#435064;
    background:#202936;
    color:#fff;
}
html.dark-mode .busbahn-settings-image-preview,
body.dark-mode .busbahn-settings-image-preview{
    border-color:#526178;
    background:#111720;
}
html.dark-mode .busbahn-message-person>.busbahn-birthday-badge,
body.dark-mode .busbahn-message-person>.busbahn-birthday-badge{background:#273142;}

@media(max-width:620px){
    .busbahn-dialog-layer{
        align-items:flex-start!important;
        padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;
    }
    .busbahn-dialog-layer .busbahn-dialog{
        width:100%!important;
        max-width:none!important;
        max-height:calc(100dvh - 16px)!important;
        padding:17px 14px!important;
        border-radius:14px!important;
    }
    .busbahn-dialog h2{font-size:21px;}
    .busbahn-settings-tabs{
        position:sticky;
        top:-17px;
        z-index:6;
        margin:0 -14px 16px;
        padding:10px 14px 12px;
        background:inherit;
    }
    .busbahn-settings-tab{
        min-height:40px;
        padding:8px 15px;
    }
    .busbahn-settings-shell,
    .busbahn-settings-panel{gap:16px;}
    .busbahn-settings-image-preview{
        width:96px;
        height:96px;
    }
    .busbahn-group-link-row{
        grid-template-columns:minmax(0,1fr)!important;
    }
    .busbahn-group-link-row .busbahn-small-button{
        justify-self:start;
    }
    .busbahn-public-profile-head{
        align-items:flex-start;
        gap:12px;
    }
    .busbahn-public-profile-image{
        width:76px;
        height:76px;
        flex-basis:76px;
    }
    .busbahn-public-profile-row{
        grid-template-columns:1fr;
        gap:4px;
    }
    .busbahn-room.has-no-image{min-width:132px!important;}
}
body.anbita-app .busbahn-dialog-layer{
    align-items:flex-start!important;
    padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;
}
body.anbita-app .busbahn-dialog-layer .busbahn-dialog{
    width:100%!important;
    max-width:none!important;
    max-height:calc(100dvh - 16px)!important;
    padding:17px 14px!important;
}

/* Bus & Bahn Update 343: Mitglieder, Favoritenanfragen und blockierte Profile */
.busbahn-city-member-list,
.busbahn-blocked-list{
    display:grid;
    gap:10px;
}
.busbahn-city-member{
    box-sizing:border-box;
    display:flex;
    width:100%;
    min-width:0;
    align-items:center;
    gap:11px;
    padding:10px 12px;
    border:1px solid #d8dfeb;
    border-radius:12px;
    background:#f8fafc;
    color:#18263d;
    font:700 16px/1.35 Arial,Helvetica,sans-serif;
    text-align:left;
    cursor:pointer;
}
.busbahn-city-member:hover,
.busbahn-city-member:focus-visible{
    border-color:#7798d7;
    background:#eef4ff;
}
.busbahn-city-member .busbahn-avatar,
.busbahn-blocked-person .busbahn-avatar{
    width:42px;
    height:42px;
    flex:0 0 42px;
}
.busbahn-city-member-name{
    min-width:0;
    overflow-wrap:anywhere;
}
.busbahn-member-loading{
    margin:0;
    padding:14px;
    border-radius:11px;
    background:#f3f6fb;
}
.busbahn-public-profile-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid #d8dfeb;
}
.busbahn-public-profile-actions .busbahn-small-button{
    width:auto!important;
    min-width:0!important;
    max-width:max-content!important;
    white-space:normal;
}
.busbahn-profile-action-note,
.busbahn-profile-action-status{
    margin:0;
    font:600 14px/1.5 Arial,Helvetica,sans-serif;
}
.busbahn-profile-action-status{
    color:#52647f;
}
.busbahn-message.is-favorite-request .busbahn-bubble{
    width:min(100%,560px);
    max-width:min(88%,560px);
}
.busbahn-favorite-request-card{
    box-sizing:border-box;
    display:grid;
    width:100%;
    min-width:0;
    gap:14px;
    margin-top:12px;
    padding:15px;
    border:1px solid #c8d6ef;
    border-radius:12px;
    background:#f3f7ff;
}
.busbahn-favorite-request-copy{
    display:grid;
    gap:6px;
}
.busbahn-favorite-request-card p,
.busbahn-favorite-request-result{
    margin:0;
    font:600 14px/1.55 Arial,Helvetica,sans-serif;
}
.busbahn-favorite-request-copy p:first-child{
    font-weight:700;
}
.busbahn-favorite-request-copy strong{
    display:inline;
    font-size:inherit;
}
.busbahn-favorite-request-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
    gap:10px;
    margin-top:2px;
}
.busbahn-favorite-request-actions .busbahn-small-button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:42px;
    padding:9px 12px!important;
    white-space:normal;
    line-height:1.3;
}
.busbahn-small-button-danger{
    border-color:#a82c35!important;
    background:#b9343e!important;
    color:#fff!important;
}
.busbahn-small-button-danger:hover,
.busbahn-small-button-danger:focus-visible{
    background:#992832!important;
}
.busbahn-favorite-request-result{
    margin-top:12px;
    padding:9px 10px;
    border-radius:9px;
    background:#eef3f8;
}
.busbahn-blocked-person{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:11px;
    padding:10px 11px;
    border:1px solid #d8dfeb;
    border-radius:12px;
    background:#f8fafc;
}
.busbahn-blocked-person strong{
    min-width:0;
    overflow-wrap:anywhere;
}
.busbahn-blocked-person .busbahn-small-button{
    width:auto!important;
    min-width:0!important;
    max-width:max-content!important;
    white-space:nowrap;
}
.busbahn-blocked-empty{
    margin:0;
    padding:13px;
    border-radius:10px;
    background:#f3f6fb;
}
html.dark-mode .busbahn-city-member,
html.dark-mode .busbahn-blocked-person,
body.dark-mode .busbahn-city-member,
body.dark-mode .busbahn-blocked-person{
    border-color:#435064;
    background:#202936;
    color:#fff;
}
html.dark-mode .busbahn-city-member:hover,
html.dark-mode .busbahn-city-member:focus-visible,
body.dark-mode .busbahn-city-member:hover,
body.dark-mode .busbahn-city-member:focus-visible{
    border-color:#6f91cf;
    background:#27364d;
}
html.dark-mode .busbahn-member-loading,
html.dark-mode .busbahn-blocked-empty,
html.dark-mode .busbahn-favorite-request-result,
body.dark-mode .busbahn-member-loading,
body.dark-mode .busbahn-blocked-empty,
body.dark-mode .busbahn-favorite-request-result{
    background:#202936;
    color:#fff;
}
html.dark-mode .busbahn-favorite-request-card,
body.dark-mode .busbahn-favorite-request-card{
    border-color:#4c6388;
    background:#1c2a40;
}
html.dark-mode .busbahn-public-profile-actions,
body.dark-mode .busbahn-public-profile-actions{
    border-color:#435064;
}
html.dark-mode .busbahn-profile-action-status,
body.dark-mode .busbahn-profile-action-status{
    color:#c5d0de;
}
@media(max-width:620px){
    .busbahn-settings-tabs{
        overflow-x:auto;
        overflow-y:hidden;
        scrollbar-width:none;
    }
    .busbahn-settings-tabs::-webkit-scrollbar{display:none;}
    .busbahn-settings-tab{flex:0 0 auto;}
    .busbahn-city-member-list,
    .busbahn-blocked-list{gap:8px;}
    .busbahn-city-member{
        padding:9px 10px;
        font-size:15px;
    }
    .busbahn-blocked-person{
        grid-template-columns:auto minmax(0,1fr);
        padding:9px 10px;
    }
    .busbahn-blocked-person .busbahn-small-button{
        grid-column:2;
        justify-self:start;
    }
    .busbahn-message.is-favorite-request .busbahn-bubble{
        width:calc(100% - 38px);
        max-width:calc(100% - 38px);
    }
    .busbahn-favorite-request-card{
        gap:13px;
        padding:13px;
    }
    .busbahn-favorite-request-actions{
        grid-template-columns:1fr;
        gap:9px;
    }
    .busbahn-favorite-request-actions .busbahn-small-button{
        min-height:44px;
        padding:10px 12px!important;
    }
    .busbahn-public-profile-actions{
        align-items:flex-start;
    }
}

.busbahn-favorite-request-person{
    box-sizing:border-box;
    display:flex;
    width:100%;
    min-width:0;
    align-items:center;
    gap:10px;
    padding:9px 10px;
    border:1px solid #c8d6ef;
    border-radius:10px;
    background:#fff;
    color:#18263d;
    font:700 15px/1.35 Arial,Helvetica,sans-serif;
    text-align:left;
    cursor:pointer;
}
.busbahn-favorite-request-person:hover,
.busbahn-favorite-request-person:focus-visible{
    border-color:#7798d7;
    background:#eef4ff;
}
.busbahn-favorite-request-person .busbahn-avatar{
    width:40px;
    height:40px;
    flex:0 0 40px;
}
.busbahn-favorite-request-person strong{
    min-width:0;
    overflow-wrap:anywhere;
}
.busbahn-settings-member-section{
    display:grid;
    gap:10px;
    margin-top:20px;
    padding-top:17px;
    border-top:1px solid #d8dfeb;
}
.busbahn-settings-member-section h3{
    margin:0;
    font:700 17px/1.35 Arial,Helvetica,sans-serif;
}
.busbahn-settings-member-list{
    display:grid;
    gap:9px;
}
.busbahn-settings-member{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:9px 10px;
    border:1px solid #d8dfeb;
    border-radius:11px;
    background:#f8fafc;
}
.busbahn-settings-member-profile{
    display:flex;
    min-width:0;
    align-items:center;
    gap:10px;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    font:700 15px/1.35 Arial,Helvetica,sans-serif;
    text-align:left;
    cursor:pointer;
}
.busbahn-settings-member-profile .busbahn-avatar{
    width:38px;
    height:38px;
    flex:0 0 38px;
}
.busbahn-settings-member-profile strong{
    min-width:0;
    overflow-wrap:anywhere;
}
.busbahn-settings-member-role-label{
    color:#52647f;
    font:600 13px/1.35 Arial,Helvetica,sans-serif;
    white-space:nowrap;
}
.busbahn-settings-member .busbahn-member-role{
    width:auto;
    min-width:110px;
    max-width:140px;
}
html.dark-mode .busbahn-favorite-request-person,
body.dark-mode .busbahn-favorite-request-person,
html.dark-mode .busbahn-settings-member,
body.dark-mode .busbahn-settings-member{
    border-color:#435064;
    background:#202936;
    color:#fff;
}
html.dark-mode .busbahn-favorite-request-person:hover,
html.dark-mode .busbahn-favorite-request-person:focus-visible,
body.dark-mode .busbahn-favorite-request-person:hover,
body.dark-mode .busbahn-favorite-request-person:focus-visible{
    border-color:#6f91cf;
    background:#27364d;
}
html.dark-mode .busbahn-settings-member-section,
body.dark-mode .busbahn-settings-member-section{
    border-color:#435064;
}
html.dark-mode .busbahn-settings-member-role-label,
body.dark-mode .busbahn-settings-member-role-label{
    color:#c5d0de;
}
@media(max-width:620px){
    .busbahn-favorite-request-person{
        padding:8px 9px;
    }
    .busbahn-settings-member{
        grid-template-columns:minmax(0,1fr);
        gap:8px;
    }
    .busbahn-settings-member .busbahn-member-role,
    .busbahn-settings-member-role-label{
        justify-self:start;
        margin-left:48px;
    }
}


/* Bus & Bahn Update 344: Ausloggen und Profil löschen in den Profileinstellungen */
.busbahn-settings-toolbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    margin:0 0 18px;
    padding-bottom:12px;
    border-bottom:1px solid #d8dfeb;
}
.busbahn-settings-toolbar .busbahn-settings-tabs{
    min-width:0;
    margin:0;
    padding:0;
    border:0;
}
.busbahn-settings-logout{
    width:auto!important;
    min-width:0!important;
    max-width:max-content!important;
    white-space:nowrap;
}
.busbahn-settings-bottom-actions{
    justify-content:flex-start;
}
.busbahn-profile-settings-actions{
    display:grid!important;
    grid-template-columns:auto auto minmax(8px,1fr) auto;
    align-items:center;
    gap:8px!important;
    width:100%;
}
.busbahn-profile-settings-actions .busbahn-small-button{
    width:auto!important;
    min-width:0!important;
    max-width:max-content!important;
    white-space:nowrap;
}
.busbahn-settings-action-spacer{
    min-width:8px;
}
.busbahn-profile-delete-layer{
    position:fixed;
    inset:0;
    z-index:12000;
    display:grid;
    place-items:center;
    padding:16px;
    background:rgba(5,12,24,.68);
}
.busbahn-profile-delete-confirm{
    box-sizing:border-box;
    width:min(92vw,390px);
    padding:22px;
    border:1px solid #c8d2e2;
    border-radius:15px;
    background:#fff;
    color:#17243a;
    box-shadow:0 22px 70px rgba(0,0,0,.35);
    text-align:center;
}
.busbahn-profile-delete-confirm h3{
    margin:0;
    font:800 20px/1.4 Arial,Helvetica,sans-serif;
}
.busbahn-profile-delete-actions{
    display:flex;
    justify-content:center;
    gap:10px;
    margin-top:20px;
}
.busbahn-profile-delete-actions .busbahn-small-button{
    width:auto!important;
    min-width:72px!important;
    max-width:max-content!important;
}
html.dark-mode .busbahn-settings-toolbar,
body.dark-mode .busbahn-settings-toolbar{
    border-color:#435064;
}
html.dark-mode .busbahn-profile-delete-confirm,
body.dark-mode .busbahn-profile-delete-confirm{
    border-color:#4b5b72;
    background:#171f2b;
    color:#fff;
}
@media(max-width:620px){
    .busbahn-settings-toolbar{
        position:sticky;
        top:-17px;
        z-index:6;
        margin:0 -14px 16px;
        padding:10px 14px 12px;
        background:inherit;
    }
    .busbahn-settings-toolbar .busbahn-settings-tabs{
        position:static;
        margin:0;
        padding:0;
        background:transparent;
    }
    .busbahn-settings-logout{
        padding:8px 11px!important;
        font-size:14px!important;
    }
    .busbahn-profile-settings-actions{
        gap:6px!important;
    }
    .busbahn-profile-settings-actions .busbahn-small-button{
        padding:7px 10px!important;
        font-size:14px!important;
    }
    .busbahn-profile-delete-confirm{
        width:min(94vw,370px);
        padding:20px 16px;
    }
}
@media(max-width:370px){
    .busbahn-settings-toolbar{
        gap:6px;
        padding-left:10px;
        padding-right:10px;
    }
    .busbahn-settings-tab{
        padding:7px 11px!important;
        font-size:14px!important;
    }
    .busbahn-settings-logout{
        padding:7px 9px!important;
        font-size:13px!important;
    }
    .busbahn-profile-settings-actions .busbahn-small-button{
        padding:7px 8px!important;
        font-size:13px!important;
    }
}

/* Bus & Bahn 352: Sprachaufnahme bleibt in jedem Chat sichtbar und steht direkt links vor Senden. */
.busbahn-composer .busbahn-record-button{
    display:inline-flex!important;
    visibility:visible!important;
}
.busbahn-settings-role-help{
    margin:0 0 12px;
    padding:10px 12px;
    border:1px solid #d5deea;
    border-radius:10px;
    background:#f7f9fc;
    color:#34445d;
    font-size:13px;
    line-height:1.45;
}
html.dark-mode .busbahn-settings-role-help,
body.dark-mode .busbahn-settings-role-help{
    border-color:#46546a;
    background:#202a39;
    color:#e8edf5;
}
@media(max-width:760px), (max-height:600px) and (pointer:coarse){
    .busbahn-composer .busbahn-dictate-button{
        display:none!important;
    }
    .busbahn-composer .busbahn-record-button{
        display:inline-flex!important;
        grid-area:record!important;
        justify-self:end!important;
        align-self:center!important;
    }
    .busbahn-composer{
        grid-template-columns:44px minmax(0,1fr) 44px 44px!important;
        grid-template-areas:
            "message message message message"
            "attach . record send"!important;
    }
    .busbahn-composer-entry{
        grid-area:message!important;
    }
    .busbahn-composer .busbahn-send{
        grid-area:send!important;
        justify-self:end!important;
    }
    .busbahn-composer .busbahn-attach{
        grid-area:attach!important;
        justify-self:start!important;
    }
}
body.anbita-app .busbahn-composer .busbahn-record-button,
html.anbita-app-mode body .busbahn-composer .busbahn-record-button{
    display:inline-flex!important;
    grid-area:record!important;
    justify-self:end!important;
    align-self:center!important;
}
body.anbita-app .busbahn-composer .busbahn-dictate-button,
html.anbita-app-mode body .busbahn-composer .busbahn-dictate-button{
    display:none!important;
}
body.anbita-app .busbahn-composer,
html.anbita-app-mode body .busbahn-composer{
    grid-template-columns:40px minmax(0,1fr) 40px 40px!important;
    grid-template-areas:"attach message record send"!important;
}
@media(max-width:760px), (max-height:600px) and (pointer:coarse){
    body.anbita-app .busbahn-composer,
    html.anbita-app-mode body .busbahn-composer{
        grid-template-columns:40px minmax(0,1fr) 40px 40px!important;
        grid-template-areas:
            "message message message message"
            "attach . record send"!important;
    }
}

/* Bus & Bahn Update 353: kompakte Textnachrichten und öffentliche Geburtstagsgrüße im Rathaus. */
.busbahn-message.is-compact-text{
    min-height:0;
    margin:0 0 4px;
    gap:5px;
    align-items:flex-end;
}
.busbahn-message.is-compact-text:not(.is-own){
    padding-top:0;
}
.busbahn-message.is-compact-text .busbahn-message-person{
    width:30px;
    min-width:30px;
    flex-basis:30px;
}
.busbahn-message.is-compact-text .busbahn-avatar{
    width:30px;
    height:30px;
}
.busbahn-message.is-compact-text .busbahn-birthday-badge{
    right:-3px;
    bottom:-3px;
    padding:1px;
    font-size:12px;
}
.busbahn-message.is-compact-text .busbahn-profile-name-tooltip{
    left:36px;
}
.busbahn-message.is-compact-text.is-own .busbahn-profile-name-tooltip{
    right:36px;
    left:auto;
}
.busbahn-message.is-compact-text .busbahn-bubble{
    display:flex;
    align-items:flex-end;
    gap:7px;
    min-height:0;
    padding:5px 8px;
    border-radius:11px;
    line-height:1.28;
}
.busbahn-message.is-compact-text .busbahn-bubble>div:first-child{
    min-width:0;
}
.busbahn-message.is-compact-text .busbahn-bubble time{
    flex:0 0 auto;
    margin:0 0 1px;
    line-height:1;
}
.busbahn-message.is-birthday-announcement{
    align-items:center;
    margin:8px 0 10px;
    padding-top:0!important;
}
.busbahn-message.is-birthday-announcement .busbahn-bubble{
    max-width:min(88%,720px);
    padding:9px 11px;
    border:1px solid #e0b83e;
    border-radius:13px;
    background:#fff7cf;
    color:#352900;
    box-shadow:0 2px 8px rgba(98,70,0,.13);
}
.busbahn-birthday-announcement-title{
    display:flex;
    align-items:center;
    gap:6px;
    margin:0 0 4px;
    font-weight:800;
    font-size:13px;
    line-height:1.25;
}
html.dark-mode .busbahn-message.is-birthday-announcement .busbahn-bubble,
body.dark-mode .busbahn-message.is-birthday-announcement .busbahn-bubble{
    border-color:#9d7d25;
    background:#3a3118;
    color:#fff4c7;
}
@media(max-width:620px){
    .busbahn-message.is-compact-text{
        margin-bottom:3px;
        gap:4px;
    }
    .busbahn-message.is-compact-text .busbahn-message-person{
        width:27px;
        min-width:27px;
        flex-basis:27px;
    }
    .busbahn-message.is-compact-text .busbahn-avatar{
        width:27px;
        height:27px;
    }
    .busbahn-message.is-compact-text .busbahn-profile-name-tooltip{
        left:33px;
    }
    .busbahn-message.is-compact-text.is-own .busbahn-profile-name-tooltip{
        right:33px;
        left:auto;
    }
    .busbahn-message.is-compact-text .busbahn-bubble{
        max-width:88%;
        padding:5px 7px;
        gap:6px;
    }
    .busbahn-message.is-birthday-announcement{
        margin:6px 0 8px;
    }
    .busbahn-message.is-birthday-announcement .busbahn-bubble{
        max-width:calc(100% - 38px);
        padding:8px 9px;
    }
}



/* Bus & Bahn Update 354: sichtbarer Rückweg im mobilen Browser und robuste Sprachnachrichten. */
@media(min-width:761px){
    .busbahn-mobile-chat-back{display:none!important;}
}
@media(max-width:760px){
    .busbahn-chat-head .busbahn-mobile-chat-back{
        display:inline-flex!important;
        order:-10;
        flex:0 0 40px!important;
    }
}

/* Markttag-Hinweis im Rathaus: nur während der tatsächlichen Marktöffnung sichtbar. */
.busbahn-market-day-banner{
    align-self:center;
    width:min(460px,calc(100% - 32px));
    margin:4px auto 14px;
    padding:0;
    text-align:center;
}
.busbahn-market-day-banner img{
    display:block;
    width:min(380px,100%);
    height:auto;
    margin:0 auto;
    border-radius:16px;
    box-shadow:0 4px 18px rgba(19,36,63,.18);
}
@media(max-width:620px){
    .busbahn-market-day-banner{width:min(100%,calc(100% - 16px));margin-bottom:12px;}
    .busbahn-market-day-banner img{width:min(300px,100%);border-radius:13px;}
}


/* Bus & Bahn Update 361: feste mobile Rücktaste und Rollensteuerung der Gruppenmitglieder. */
.busbahn-group-leadership{
    display:grid;
    gap:5px;
    margin:0 0 12px;
    padding:10px 12px;
    border:1px solid #d5deea;
    border-radius:10px;
    background:#f7f9fc;
}
.busbahn-group-leadership p{margin:0;font-size:13px;line-height:1.45;}
.busbahn-settings-member-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    flex-wrap:wrap;
}
.busbahn-member-action{
    display:inline-flex;
    width:34px;
    height:34px;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid #b8c6da;
    border-radius:9px;
    background:#fff;
    color:#23334d;
    font:800 17px/1 Arial,Helvetica,sans-serif;
    cursor:pointer;
}
.busbahn-member-action:hover,
.busbahn-member-action:focus-visible,
.busbahn-member-action.is-active{
    border-color:#0f4fd8;
    background:#e8f0ff;
    color:#0f4fd8;
}
.busbahn-member-action.is-remove{
    border-color:#d8a2a2;
    color:#a91515;
}
.busbahn-member-action.is-remove:hover,
.busbahn-member-action.is-remove:focus-visible{
    border-color:#b31212;
    background:#fff0f0;
    color:#8d0d0d;
}
html.dark-mode .busbahn-group-leadership,
body.dark-mode .busbahn-group-leadership{
    border-color:#46546a;
    background:#202a39;
    color:#e8edf5;
}
html.dark-mode .busbahn-member-action,
body.dark-mode .busbahn-member-action{
    border-color:#52627a;
    background:#273142;
    color:#fff;
}
html.dark-mode .busbahn-member-action.is-active,
body.dark-mode .busbahn-member-action.is-active{
    border-color:#78a0ef;
    background:#183d83;
}
@media(max-width:620px){
    .busbahn-settings-member{
        grid-template-columns:minmax(0,1fr) auto;
    }
    .busbahn-settings-member-actions{
        justify-self:end;
    }
    .busbahn-settings-member-role-label{
        margin-left:0;
    }
}

/* Bus & Bahn Update 363: Touch-Hinweise und barrierefreie Symbolerklärungen. */
.busbahn-touch-help{
    position:fixed;
    z-index:100000;
    max-width:min(88vw,360px);
    padding:8px 11px;
    border:1px solid rgba(0,0,0,.28);
    border-radius:9px;
    background:rgba(20,27,39,.96);
    color:#fff;
    font:700 14px/1.35 Arial,Helvetica,sans-serif;
    text-align:center;
    box-shadow:0 6px 22px rgba(0,0,0,.28);
    pointer-events:none;
    transform:translate(-50%,-100%);
}
.busbahn-touch-help.is-below{transform:translate(-50%,0);}
.busbahn-touch-help[hidden]{display:none!important;}
html.dark-mode .busbahn-touch-help,
body.dark-mode .busbahn-touch-help{
    border-color:rgba(255,255,255,.42);
    background:rgba(255,255,255,.97);
    color:#111827;
}
@media (hover:none),(pointer:coarse){
    .busbahn-icon-button,
    .busbahn-send,
    .busbahn-attach,
    .anbita-app-file-preview-remove,
    .busbahn-member-action,
    .busbahn-birthday-badge{
        -webkit-tap-highlight-color:transparent;
    }
}


/* Bus & Bahn Update 368: unaufdringlicher Rückweg aus „Weitere Chats“. */
.busbahn-overview-head{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:42px;
    margin:0 0 18px;
}
.busbahn-overview-head [data-busbahn-overview-title]{
    min-width:0;
    margin:0!important;
}
.busbahn-overview-back{display:none!important;}
@media(max-width:760px){
    .busbahn-overview-panel{padding-top:10px!important;}
    .busbahn-overview-head{min-height:42px;margin-bottom:12px;}
    .busbahn-overview-back{
        position:absolute;
        top:0;
        left:0;
        z-index:2;
        display:inline-flex!important;
        width:38px!important;
        min-width:38px!important;
        height:38px!important;
        min-height:38px!important;
        padding:0!important;
        border-radius:50%!important;
        font-size:22px!important;
        line-height:1!important;
    }
    .busbahn-overview-head [data-busbahn-overview-title]{
        max-width:100%;
        padding:0 44px;
        box-sizing:border-box;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }
}
body.anbita-app .busbahn-overview-panel{padding-top:10px!important;}
body.anbita-app .busbahn-overview-head{min-height:42px;margin-bottom:12px;}
body.anbita-app .busbahn-overview-back{
    position:absolute;
    top:0;
    left:0;
    z-index:2;
    display:inline-flex!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    border-radius:50%!important;
    font-size:22px!important;
    line-height:1!important;
}
body.anbita-app .busbahn-overview-head [data-busbahn-overview-title]{
    max-width:100%;
    padding:0 44px;
    box-sizing:border-box;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}


/* Bus & Bahn Update 369: Medien ohne farbige Chat-Blase. */
.busbahn-message.is-image-message .busbahn-bubble,
.busbahn-message.is-audio-message .busbahn-bubble,
html.dark-mode .busbahn-message.is-image-message .busbahn-bubble,
html.dark-mode .busbahn-message.is-audio-message .busbahn-bubble,
body.dark-mode .busbahn-message.is-image-message .busbahn-bubble,
body.dark-mode .busbahn-message.is-audio-message .busbahn-bubble{
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.busbahn-message.is-image-message .busbahn-bubble img{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
}
.busbahn-message.is-audio-message .busbahn-bubble audio{
    display:block;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
}
.busbahn-message.is-image-message .busbahn-bubble time,
.busbahn-message.is-audio-message .busbahn-bubble time{
    width:max-content;
    margin:4px 4px 0 auto;
    padding:2px 5px;
    border-radius:999px;
    background:rgba(17,24,39,.66);
    color:#fff;
    opacity:1;
}

/* Bus & Bahn Update 377: Favoritenanfrage im Haus/Wohnungs-Chat */
body.anbita-app .busbahn-message.is-favorite-request .busbahn-bubble{
    width:calc(100% - 38px);
    max-width:calc(100% - 38px);
}
body.anbita-app .busbahn-favorite-request-card{
    gap:13px;
    padding:13px;
}
body.anbita-app .busbahn-favorite-request-actions{
    grid-template-columns:1fr;
    gap:9px;
}
body.anbita-app .busbahn-favorite-request-actions .busbahn-small-button{
    width:100%!important;
    max-width:none!important;
    min-height:44px;
    padding:10px 12px!important;
    white-space:normal;
}


/* Bus & Bahn Update 380: Bedien-Symbole oben, "Meine Chats" mittig darunter. */
.busbahn-sidebar-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:0!important;
    width:100%!important;
    min-height:0!important;
    margin:0 0 14px!important;
    padding:0!important;
}
.busbahn-sidebar-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
}
.busbahn-sidebar-title{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:12px 0 0!important;
    padding:0!important;
    flex:none!important;
    text-align:center!important;
    white-space:nowrap!important;
}
.busbahn-room-list{
    margin-top:0!important;
    padding-top:4px!important;
}
@media(max-width:760px){
    .busbahn-sidebar-head{
        gap:0!important;
        margin:0 0 12px!important;
        padding:0!important;
    }
    .busbahn-sidebar-actions{
        gap:7px!important;
    }
    .busbahn-sidebar-title{
        margin-top:11px!important;
    }
    .busbahn-room-list{
        padding-top:4px!important;
    }
}
body.anbita-app .busbahn-sidebar-head,
html.anbita-app-mode body .busbahn-sidebar-head{
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:0!important;
    margin-bottom:12px!important;
    padding:0!important;
}
body.anbita-app .busbahn-sidebar-title,
html.anbita-app-mode body .busbahn-sidebar-title{
    width:100%!important;
    margin:11px 0 0!important;
    text-align:center!important;
}
body.anbita-app .busbahn-room-list,
html.anbita-app-mode body .busbahn-room-list{
    padding-top:4px!important;
}


/* Bus & Bahn Update 381: Titel ist eine echte eigene Zeile zwischen Symbolen und Raumliste. */
.busbahn-sidebar-head{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
}
.busbahn-sidebar-head .busbahn-sidebar-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
}
.busbahn-sidebar-title-row{
    display:block!important;
    width:100%!important;
    margin:12px 0 14px!important;
    padding:0!important;
    text-align:center!important;
    clear:both!important;
}
.busbahn-sidebar-title-row .busbahn-sidebar-title{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    white-space:nowrap!important;
}
.busbahn-room-list{
    margin-top:0!important;
    padding-top:0!important;
}
@media(max-width:760px){
    .busbahn-sidebar-head .busbahn-sidebar-actions{gap:7px!important;}
    .busbahn-sidebar-title-row{margin:11px 0 13px!important;}
}
body.anbita-app .busbahn-sidebar-title-row,
html.anbita-app-mode body .busbahn-sidebar-title-row{
    margin:11px 0 13px!important;
}


/* Bus & Bahn Update 383: Gruppen-Einstellungen und Abstand der Seitenleisten-Kopfzeile. */
.busbahn-sidebar-title-row{
    margin-top:24px!important;
    margin-bottom:14px!important;
}
.busbahn-group-settings-actions{
    display:inline-flex!important;
    align-items:stretch!important;
    gap:10px!important;
    width:max-content!important;
    max-width:100%!important;
    margin-top:26px!important;
}
.busbahn-group-settings-actions.has-save{
    display:inline-grid!important;
    grid-template-columns:repeat(2,1fr);
}
.busbahn-group-settings-actions .busbahn-small-button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    white-space:nowrap!important;
}
.busbahn-settings-close-button{
    background:#ffd400!important;
    border-color:#d4ad00!important;
    color:#000!important;
}
.busbahn-settings-close-button:hover,
.busbahn-settings-close-button:focus-visible{
    background:#ffe14d!important;
    border-color:#b89400!important;
    color:#000!important;
}
@media(max-width:760px){
    .busbahn-sidebar-title-row{
        margin-top:22px!important;
        margin-bottom:13px!important;
    }
    .busbahn-group-settings-actions{
        gap:9px!important;
        margin-top:24px!important;
    }
}
body.anbita-app .busbahn-sidebar-title-row,
html.anbita-app-mode body .busbahn-sidebar-title-row{
    margin-top:22px!important;
    margin-bottom:13px!important;
}

/* Bus & Bahn Update 388: kompaktes Profil-Aktionsmenü mit Chat-Profilkopf */
.busbahn-dialog-layer .busbahn-dialog.busbahn-profile-action-dialog{
    width:min(92vw,430px)!important;
    max-width:430px!important;
    padding:18px!important;
}
.busbahn-profile-action-shell{
    display:grid;
    gap:15px;
    width:100%;
    min-width:0;
}
.busbahn-profile-action-head{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    padding:2px 2px 12px;
    border-bottom:1px solid #d8dfeb;
}
.busbahn-profile-action-avatar{
    display:block;
    flex:0 0 62px;
    width:62px;
    height:62px;
    object-fit:cover;
    border-radius:50%;
    border:2px solid #fff;
    background:#e8edf5;
    box-shadow:0 1px 6px rgba(20,35,58,.20);
}
.busbahn-profile-action-avatar.busbahn-avatar-empty{
    border-color:#cbd5e3;
}
.busbahn-profile-action-person{
    display:grid;
    gap:3px;
    min-width:0;
}
.busbahn-profile-action-title{
    margin:0!important;
    font:700 20px/1.25 Arial,Helvetica,sans-serif!important;
    overflow-wrap:anywhere;
}
.busbahn-profile-action-subtitle{
    color:#66758b;
    font:400 13px/1.3 Arial,Helvetica,sans-serif;
}
.busbahn-profile-action-menu{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
}
.busbahn-profile-action-button{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    min-width:0;
    width:100%;
    min-height:42px;
    padding:8px 10px;
    border:1px solid #c8d2e1;
    border-radius:10px;
    background:#fff;
    color:#172033;
    font:700 14px/1.2 Arial,Helvetica,sans-serif;
    text-align:left;
    cursor:pointer;
}
.busbahn-profile-action-button:hover,
.busbahn-profile-action-button:focus-visible{
    border-color:#7e9ed0;
    background:#f3f7fd;
}
.busbahn-profile-action-button.is-danger{
    border-color:#e0a1a1;
    color:#a61f1f;
}
.busbahn-profile-action-button:disabled{
    opacity:.48;
    cursor:not-allowed;
}
.busbahn-profile-action-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 24px;
    width:24px;
    height:24px;
    font-size:18px;
    line-height:1;
}
.busbahn-profile-action-label{
    min-width:0;
    overflow-wrap:anywhere;
}
html.dark-mode .busbahn-profile-action-head,
body.dark-mode .busbahn-profile-action-head{
    border-bottom-color:#455267;
}
html.dark-mode .busbahn-profile-action-subtitle,
body.dark-mode .busbahn-profile-action-subtitle{
    color:#b9c4d4;
}
html.dark-mode .busbahn-profile-action-avatar,
body.dark-mode .busbahn-profile-action-avatar{
    border-color:#3d4a60;
    background:#202a3a;
}
html.dark-mode .busbahn-profile-action-button,
body.dark-mode .busbahn-profile-action-button{
    border-color:#4c5a70;
    background:#253044;
    color:#fff;
}
html.dark-mode .busbahn-profile-action-button:hover,
html.dark-mode .busbahn-profile-action-button:focus-visible,
body.dark-mode .busbahn-profile-action-button:hover,
body.dark-mode .busbahn-profile-action-button:focus-visible{
    border-color:#6fa0ff;
    background:#2d3b52;
}
html.dark-mode .busbahn-profile-action-button.is-danger,
body.dark-mode .busbahn-profile-action-button.is-danger{
    border-color:#9e5959;
    color:#ffb5b5;
}
@media(max-width:760px), (max-height:600px) and (pointer:coarse){
    .busbahn-dialog-layer .busbahn-dialog.busbahn-profile-action-dialog{
        width:min(calc(100vw - 28px),360px)!important;
        max-width:360px!important;
        margin:auto!important;
        padding:16px!important;
        border-radius:14px!important;
    }
    .busbahn-profile-action-shell{
        gap:14px;
    }
    .busbahn-profile-action-head{
        gap:11px;
        padding:1px 1px 12px;
    }
    .busbahn-profile-action-avatar{
        flex-basis:56px;
        width:56px;
        height:56px;
    }
    .busbahn-profile-action-title{
        text-align:left!important;
        font-size:18px!important;
    }
    .busbahn-profile-action-menu{
        grid-template-columns:repeat(4,52px);
        justify-content:center;
        gap:10px;
        width:100%;
        padding:2px 0;
    }
    .busbahn-profile-action-button{
        justify-content:center;
        width:52px;
        height:52px;
        min-height:52px;
        padding:0;
        border-radius:12px;
    }
    .busbahn-profile-action-icon{
        width:auto;
        height:auto;
        flex:0 0 auto;
        font-size:23px;
    }
    .busbahn-profile-action-label{
        display:none;
    }
}
body.anbita-app .busbahn-dialog-layer .busbahn-dialog.busbahn-profile-action-dialog,
html.anbita-app-mode body .busbahn-dialog-layer .busbahn-dialog.busbahn-profile-action-dialog{
    width:min(calc(100vw - 28px),360px)!important;
    max-width:360px!important;
    margin:auto!important;
    padding:16px!important;
    border-radius:14px!important;
}
body.anbita-app .busbahn-profile-action-menu,
html.anbita-app-mode body .busbahn-profile-action-menu{
    grid-template-columns:repeat(4,52px);
    justify-content:center;
    gap:10px;
    padding:2px 0;
}
body.anbita-app .busbahn-profile-action-button,
html.anbita-app-mode body .busbahn-profile-action-button{
    justify-content:center;
    width:52px;
    height:52px;
    min-height:52px;
    padding:0;
}
body.anbita-app .busbahn-profile-action-label,
html.anbita-app-mode body .busbahn-profile-action-label{
    display:none;
}
body.anbita-app .busbahn-profile-action-icon,
html.anbita-app-mode body .busbahn-profile-action-icon{
    width:auto;
    height:auto;
    flex:0 0 auto;
    font-size:23px;
}

/* Bus & Bahn: Öffnungszeiten in den Gruppeneinstellungen */
.busbahn-settings-time-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.busbahn-settings-time-row label{
    display:grid;
    gap:6px;
    font:700 14px/1.35 Arial,Helvetica,sans-serif;
}
.busbahn-settings-time-row input[type=time]{
    box-sizing:border-box;
    width:100%;
    min-height:44px;
    padding:9px 10px;
    border:1px solid #b9c5d8;
    border-radius:10px;
    background:#fff;
    color:#18263d;
    font:16px/1.3 Arial,Helvetica,sans-serif;
}
html.dark-mode .busbahn-settings-time-row input[type=time],
body.dark-mode .busbahn-settings-time-row input[type=time]{
    border-color:#536174;
    background:#17202d;
    color:#fff;
}
@media (max-width:520px){
    .busbahn-settings-time-row{grid-template-columns:1fr;}
}
