/* extracted from base.html block 1 */
:root{--bg:#f5f7fb;--card:#fff;--text:#111827;--muted:#6b7280;--primary:#1877f2;--border:#e5e7eb;--soft:#eef5ff;--good:#16a34a;--warn:#fff7ed;--danger:#b91c1c}
        *{box-sizing:border-box} body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);margin:0;min-height:100vh}.main-wrap{width:min(1180px,100%);margin:0 auto;padding:18px 14px 38px}.grid-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}.card{background:var(--card);border-radius:22px;padding:18px;box-shadow:0 6px 18px rgba(15,23,42,.05);margin-bottom:16px}.side-card{position:sticky;top:78px;align-self:start}h1{margin:0 0 8px;font-size:28px;letter-spacing:-.03em}h2{margin:0 0 12px;font-size:20px}h3{margin:10px 0 8px;font-size:16px}.muted{color:var(--muted);font-size:14px;line-height:1.35}.top-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.nav-pill,.chip{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:999px;background:white;color:#1f2937;text-decoration:none;font-weight:800;border:1px solid var(--border)}.nav-pill.active,.chip.active{background:var(--primary);color:white;border-color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;border-radius:14px;border:0;background:var(--primary);color:white;font-weight:900;text-decoration:none;cursor:pointer;font-size:16px}.btn.secondary{background:#eef2f7;color:#111827}.btn.small{padding:8px 11px;font-size:14px;border-radius:11px}.btn.danger{background:#fee2e2;color:#991b1b}label{display:block;font-weight:850;margin:13px 0 6px}input,textarea,select{width:100%;padding:12px 13px;border-radius:14px;border:1px solid var(--border);font-size:16px;background:white}textarea{min-height:90px;resize:vertical}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.check-item{display:flex;align-items:center;gap:8px;background:#f3f6fb;border-radius:14px;padding:10px 12px;font-weight:750}.check-item input{width:auto}.notice{background:#eff6ff;color:#1d4ed8;padding:12px;border-radius:14px;font-weight:750}.warning{background:var(--warn);color:#9a3412;padding:12px;border-radius:14px;font-weight:750}.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--border);padding:12px 0}.list-row:first-child{border-top:0}.tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:900;margin:2px}.tag.public{background:#dcfce7;color:#166534}.tag.friends{background:#dbeafe;color:#1d4ed8}.tag.private{background:#f3f4f6;color:#374151}.tag.paywall{background:#fef3c7;color:#92400e}.side-list a{display:block;text-decoration:none;color:#1f2937;font-weight:750;padding:6px 0}.side-list a:hover{color:var(--primary)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-inline{display:flex;gap:8px;align-items:end}.form-inline>*{flex:1}.status{font-size:14px;font-weight:800}.empty{padding:22px;border:2px dashed var(--border);border-radius:18px;text-align:center;color:var(--muted);font-weight:700}@media(max-width:820px){.grid-layout{grid-template-columns:1fr}.side-card{position:static}.top-nav{overflow:auto;flex-wrap:nowrap;padding-bottom:3px}.top-nav .nav-pill{white-space:nowrap}.two-col{grid-template-columns:1fr}.main-wrap{padding:10px 10px 30px}.card{border-radius:18px;padding:15px}h1{font-size:24px}}



    
        /* SHENOX DRAWER NAV START */
        .content-shell{
            display:block;
        }

        .main-content{
            min-width:0;
        }

        .top-nav{
            align-items:center;
        }

        .drawer-toggle{
            appearance:none;
            -webkit-appearance:none;
            cursor:pointer;
            font-family:inherit;
            line-height:1;
        }

        .drawer-toggle.nav-pill{
            min-width:44px;
            justify-content:center;
            font-size:22px;
            padding:10px 14px;
        }

        .drawer-toggle.nav-pill[aria-expanded="true"]{
            background:#111827;
            color:#fff;
            border-color:#111827;
        }

        .drawer-backdrop{
            display:none;
            position:fixed;
            inset:0;
            z-index:89;
            background:rgba(15,23,42,.24);
        }

        .drawer-backdrop.open{
            display:block;
        }

        .shenox-drawer{
            display:none;
            position:fixed;
            z-index:90;
            top:132px;
            left:max(14px,calc((100vw - 1180px)/2 + 14px));
            width:min(330px,calc(100vw - 28px));
            max-height:calc(100vh - 155px);
            overflow:auto;
            background:#fff;
            border:1px solid var(--border);
            border-radius:22px;
            padding:16px 18px;
            box-shadow:0 22px 60px rgba(15,23,42,.22);
        }

        .shenox-drawer.open{
            display:block;
        }

        .drawer-head{
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:10px;
            margin-bottom:10px;
        }

        .drawer-title{
            font-size:20px;
            font-weight:950;
            letter-spacing:-.03em;
        }

        .drawer-close{
            border:0;
            background:#eef2f7;
            border-radius:999px;
            width:36px;
            height:36px;
            font-size:22px;
            font-weight:900;
            cursor:pointer;
        }

        .drawer-section-title{
            font-size:15px;
            font-weight:950;
            margin:14px 0 7px;
            color:#111827;
        }

        .drawer-user{
            margin-bottom:10px;
        }

        @media(max-width:820px){
            .drawer-toggle.nav-pill{
                min-width:40px;
                padding:9px 12px;
                font-size:21px;
            }

            .shenox-drawer{
                top:112px;
                left:10px;
                width:calc(100vw - 20px);
                max-height:calc(100vh - 132px);
                border-radius:18px;
            }
        }
        /* SHENOX DRAWER NAV END */

    
/* SHENOX DRAWER LIST NORMAL START */
.shenox-drawer .side-list a{
    font-weight:400 !important;
}

.shenox-drawer .side-list a b{
    font-weight:400 !important;
}

.shenox-drawer .muted{
    font-weight:400 !important;
}
/* SHENOX DRAWER LIST NORMAL END */
/* SHENOX APP AVATAR CIRCLE FIX START */

/* Profilbild der zentralen Kopfzeile in Shenox niemals groß auslaufen lassen */
#shared-app-shell .shu-avatar-btn,
.shu-avatar-btn{
    position:relative !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    max-width:44px !important;
    max-height:44px !important;
    border-radius:999px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    line-height:1 !important;
}

/* Avatar-Wrapper exakt auf den Kreis begrenzen */
#shared-app-shell .shu-avatar-img-wrap,
.shu-avatar-img-wrap{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    border-radius:999px !important;
    overflow:hidden !important;
    display:block !important;
}

/* Das Bild selbst darf nie größer im Layout stehen, sondern nur im Kreis transformiert werden */
#shared-app-shell .shu-avatar-btn img,
#shared-app-shell img.shu-avatar-img,
.shu-avatar-btn img,
img.shu-avatar-img{
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    border-radius:999px !important;
    display:block !important;
    transform-origin:center center !important;
    z-index:1 !important;
}

/* Falls ein Browser das Bild trotzdem als normales Element behandelt */
#shared-app-shell .shu-avatar-btn > img:not(.shu-avatar-img),
.shu-avatar-btn > img:not(.shu-avatar-img){
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:999px !important;
}

/* Mobile etwas größer passend zur bisherigen Shell */
@media(max-width:820px){
    #shared-app-shell .shu-avatar-btn,
    .shu-avatar-btn{
        width:56px !important;
        height:56px !important;
        min-width:56px !important;
        min-height:56px !important;
        max-width:56px !important;
        max-height:56px !important;
    }
}

/* SHENOX APP AVATAR CIRCLE FIX END */

/* SHENOX SHARED HEADER FINAL FIX START */
:root{
    --sx-shared-header-height:72px;
    --sx-shenox-nav-height:58px;
}

.shu-top-nav{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:40000 !important;
    margin:0 !important;
    background:#fff !important;
}

.shu-menu-panel{
    z-index:40100 !important;
}

.top-nav{
    position:fixed !important;
    top:var(--sx-shared-header-height) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:30000 !important;
    margin:0 !important;
    padding:10px max(14px, calc((100vw - 1180px) / 2 + 14px)) !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:8px !important;
    background:#f5f7fb !important;
    border-top:0 !important;
    border-bottom:1px solid rgba(226,232,240,.95) !important;
    box-shadow:0 6px 14px rgba(15,23,42,.06) !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
}

.top-nav > *{
    flex:0 0 auto !important;
}

#shenoxNavCover{
    display:none !important;
    height:0 !important;
}

.main-wrap{
    padding-top:calc(var(--sx-shared-header-height) + var(--sx-shenox-nav-height) + 12px) !important;
}

.shenox-drawer{
    top:calc(var(--sx-shared-header-height) + var(--sx-shenox-nav-height) + 8px) !important;
    max-height:calc(100vh - var(--sx-shared-header-height) - var(--sx-shenox-nav-height) - 24px) !important;
}

@media(max-width:820px){
    html,body{
        margin:0 !important;
        padding:0 !important;
        overflow-x:hidden !important;
    }

    .shu-top-nav{
        position:fixed !important;
        top:0 !important;
        left:0 !important;
        right:0 !important;
        z-index:40000 !important;
        background:#fff !important;
    }

    .top-nav{
        top:var(--sx-shared-header-height) !important;
        padding:10px 8px !important;
        gap:8px !important;
        border-top:0 !important;
        border-bottom:1px solid rgba(226,232,240,.95) !important;
        box-shadow:0 6px 14px rgba(15,23,42,.06) !important;
    }

    .main-wrap{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        padding-top:calc(var(--sx-shared-header-height) + var(--sx-shenox-nav-height) + 8px) !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .shenox-drawer{
        top:calc(var(--sx-shared-header-height) + var(--sx-shenox-nav-height) + 8px) !important;
        left:10px !important;
        width:calc(100vw - 20px) !important;
    }
}
/* SHENOX SHARED HEADER FINAL FIX END */


/* SHENOX ACTIVE NAV START */
.nav-pill.is-active,
.nav-pill.active{
    background:#1877f2 !important;
    color:#fff !important;
    border-color:#1877f2 !important;
    box-shadow:0 6px 16px rgba(24,119,242,.20) !important;
}

.nav-pill.is-active:hover,
.nav-pill.active:hover{
    background:#166fe5 !important;
    color:#fff !important;
}
/* SHENOX ACTIVE NAV END */




/* SHENOX FRIEND COUNT BADGE START */

/*
 * Schlichte Freundezahl direkt im Button:
 *
 * Freunde 12
 * Freunde 1,1T
 * Freunde 1,1Mio
 *
 * Kein Kreis und keine eigene Hintergrundfarbe.
 */
.nav-pill .nav-friend-count {
    display: inline;
    min-width: 0;
    height: auto;

    margin-left: 3px;
    padding: 0;

    border: 0;
    border-radius: 0;

    background: transparent;
    color: inherit;

    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;

    white-space: nowrap;
    box-shadow: none;
    pointer-events: none;
}

.nav-pill.is-active .nav-friend-count,
.nav-pill.active .nav-friend-count {
    background: transparent;
    color: inherit;
}

/* SHENOX FRIEND COUNT BADGE END */


/* SHENOX MESSAGE UNREAD BADGE START */
.nav-pill{
    position:relative;
}

.nav-pill .nav-unread-badge{
    position:absolute;
    top:-6px;
    right:-6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border:2px solid #fff;
    border-radius:999px;
    background:#ef233c;
    color:#fff;
    font-size:11px;
    font-weight:950;
    line-height:1;
    pointer-events:none;
    box-shadow:0 2px 6px rgba(15,23,42,.22);
}

.nav-pill.is-active .nav-unread-badge,
.nav-pill.active .nav-unread-badge{
    background:#ef233c;
    color:#fff;
}
/* SHENOX MESSAGE UNREAD BADGE END */


/* SHENOX DRAWER DIRECT LINKS START */

.shenox-drawer .drawer-section-link{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;

    margin:12px -8px 5px !important;
    padding:10px 10px !important;

    border-radius:12px !important;
    color:#111827 !important;
    background:#f3f6fb !important;

    text-decoration:none !important;
    font-size:15px !important;
    font-weight:950 !important;
    line-height:1.2 !important;

    transition:
        background .16s ease,
        color .16s ease,
        transform .16s ease;
}

.shenox-drawer .drawer-section-link:hover{
    background:#e8f1ff !important;
    color:#1877f2 !important;
    transform:translateX(2px);
}

.shenox-drawer .drawer-section-link.is-active{
    background:#1877f2 !important;
    color:#fff !important;
}

.shenox-drawer .drawer-section-arrow{
    flex:0 0 auto;
    font-size:22px;
    font-weight:900;
    line-height:1;
}

/* SHENOX DRAWER DIRECT LINKS END */


/* SHENOX GLOBAL FEED MAP FILTER START */

.drawer-toggle{
    position:relative !important;
}

.drawer-filter-badge{
    position:absolute;
    top:-5px;
    right:-5px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:20px;
    height:20px;
    padding:0 5px;

    border:2px solid #fff;
    border-radius:999px;

    background:#1877f2;
    color:#fff;

    font-size:11px;
    font-weight:950;
    line-height:1;

    box-shadow:0 2px 6px rgba(15,23,42,.22);
}

.drawer-filter-badge[hidden]{
    display:none !important;
}

.drawer-group-notification-badge{
    position:absolute;
    top:-6px;
    right:-6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border:2px solid #fff;
    border-radius:999px;
    background:#ef233c;
    color:#fff;
    font-size:11px;
    font-weight:950;
    line-height:1;
    box-shadow:0 2px 6px rgba(15,23,42,.22);
}

.drawer-group-notification-badge + .drawer-filter-badge{
    top:auto;
    bottom:-6px;
}

.drawer-start-view{
    margin-top:12px;
    padding:11px 12px;
    border:1px solid var(--border);
    border-radius:13px;
    background:#f8fafc;
}

.drawer-start-view label{
    margin:0 0 6px;
    font-size:15px;
    font-weight:950;
}

.drawer-start-view select{
    width:100%;
    padding:9px 10px;
    border-radius:10px;
    font-size:14px;
    font-weight:750;
}

.drawer-start-view-help{
    margin-top:5px;
    color:#64748b;
    font-size:12px;
    line-height:1.3;
}

.drawer-filter-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-top:12px;
}

.drawer-filter-title{
    margin:0 0 3px !important;
}

.drawer-filter-summary{
    color:#64748b;
    font-size:12px;
    line-height:1.3;
}

.drawer-filter-clear{
    flex:0 0 auto;

    border:0;
    border-radius:10px;
    padding:7px 9px;

    background:#fee2e2;
    color:#991b1b;

    font-size:12px;
    font-weight:900;
    cursor:pointer;
}

.drawer-filter-clear[hidden]{
    display:none !important;
}

.drawer-scope-list{
    margin-top:7px;
}

.shenox-drawer .drawer-scope-list a.is-filter-scope{
    margin:2px -6px;
    padding:7px 8px !important;

    border-radius:10px;

    background:#eaf2ff;
    color:#155bd7 !important;

    font-weight:850 !important;
}

.drawer-filter-options{
    display:flex;
    flex-direction:column;
    gap:3px;
}


/* SHENOX DRAWER COMPACT LISTS START */

.drawer-collapsible-list:not(.is-expanded)
.drawer-collapsible-extra{
    display:none !important;
}

.drawer-more-toggle{
    display:flex;
    align-items:center;
    justify-content:center;

    width:100%;
    margin:4px 0 7px;
    padding:7px 9px;

    border:0;
    border-radius:10px;

    background:#eef2f7;
    color:#334155;

    font:inherit;
    font-size:12px;
    font-weight:900;

    cursor:pointer;
}

.drawer-more-toggle:hover{
    background:#e5ebf3;
}

.drawer-friend-link{
    text-decoration:none;
}

.drawer-friend-link .drawer-friend-name{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

/* SHENOX DRAWER COMPACT LISTS END */

.drawer-filter-option{
    display:flex;
    align-items:center;
    gap:9px;

    margin:0 !important;
    padding:7px 5px;

    border-radius:10px;

    color:#1f2937;
    font-size:14px;
    font-weight:450 !important;

    cursor:pointer;
    user-select:none;
}

.drawer-filter-option:hover{
    background:#f3f6fb;
}

.drawer-filter-option:has(input:checked){
    background:#e8f1ff;
    color:#155bd7;
    font-weight:800 !important;
}

.drawer-filter-checkbox{
    appearance:none;
    -webkit-appearance:none;

    flex:0 0 auto;

    width:18px !important;
    height:18px !important;
    min-width:18px;

    margin:0 !important;
    padding:0 !important;

    border:1.5px solid #aeb9c8 !important;
    border-radius:5px !important;

    background:#fff !important;

    display:grid;
    place-items:center;

    cursor:pointer;
}

.drawer-filter-checkbox:checked{
    border-color:#1877f2 !important;
    background:#1877f2 !important;
}

.drawer-filter-checkbox:checked::after{
    content:"✓";

    color:#fff;
    font-size:13px;
    font-weight:950;
    line-height:1;
}

.drawer-filter-checkbox:focus-visible{
    outline:3px solid rgba(24,119,242,.22);
    outline-offset:2px;
}

/* SHENOX GLOBAL FEED MAP FILTER END */


/* SHENOX DRAWER ABOVE MAP START */

/*
 * Leaflet verwendet intern Ebenen bis ungefähr z-index 700.
 * Die Karte wird daher in einen eigenen, niedrigen
 * Stapelkontext eingeschlossen.
 */
#map,
.leaflet-container{
    position:relative !important;
    z-index:0 !important;
    isolation:isolate !important;
}

/*
 * Der abgedunkelte Hintergrund liegt über der Karte,
 * aber weiterhin unter der feststehenden Shenox-Navigation.
 */
.drawer-backdrop{
    z-index:29000 !important;
}

/*
 * Das eigentliche Navigationsfenster liegt über Karte,
 * Hintergrund und der unteren Navigationsleiste.
 * Der gemeinsame Shenox-Kopf bleibt mit z-index 40000 darüber.
 */
.shenox-drawer{
    z-index:31000 !important;
}

/*
 * Leaflet-Steuerelemente und Popups bleiben innerhalb
 * des Kartencontainers und können den Drawer nicht überdecken.
 */
.leaflet-control-container,
.leaflet-pane,
.leaflet-top,
.leaflet-bottom{
    max-z-index:none;
}

/* SHENOX DRAWER ABOVE MAP END */


.guest-mode .drawer-backdrop,
.guest-mode .shenox-drawer{
    display:none !important;
}

.guest-mode .top-nav{
    justify-content:center;
}


/* SHENOX GROUP APPROVAL BADGES START */
.drawer-approval-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    background:#ef233c;
    color:#fff;
    font-size:11px;
    font-weight:950;
    line-height:1;
    box-shadow:0 1px 3px rgba(0,0,0,.18);
}

.drawer-group-label{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    width:100%;
}
/* SHENOX GROUP APPROVAL BADGES END */


/* extracted from base.html block 2 */
/* SHENOX LOGIN STYLE BUTTONS START */

/*
 * Einheitlicher, feinerer Stil – angelehnt an Auth,
 * aber bewusst weniger fett.
 *
 * Symbolbuttons bleiben unverändert.
 */
:root{
    --sx-login-button-radius:12px;
    --sx-login-button-font-size:14px;
    --sx-login-button-font-weight:700;
}

.btn,
.group-leave-btn,
.mx-action-btn,
.comment-submit,
.thread-reply-cancel,
.thread-edit-save,
.thread-edit-cancel,
.photo-select-button{
    font-family:inherit !important;
    font-size:var(--sx-login-button-font-size) !important;
    font-weight:var(--sx-login-button-font-weight) !important;
    line-height:1.15 !important;
    letter-spacing:0 !important;

    min-height:38px !important;
    padding:10px 14px !important;

    border-radius:var(--sx-login-button-radius) !important;

    text-transform:none !important;
    box-shadow:none !important;
}

.btn.small,
.mx-action-btn{
    min-height:34px !important;
    padding:8px 12px !important;
    font-size:13px !important;
}

.group-leave-btn,
.photo-select-button{
    width:100%;
}

/*
 * Kleine Navigations-/Tab-/Chip-Elemente ebenfalls feiner.
 */
.nav-pill,
.drawer-section-link,
.gx-section-tab,
.gx-group-nav-link,
.tag,
.gx-approval-chip,
.gx-category-chip,
.gx-approval-group-chip{
    font-weight:700 !important;
}

/*
 * "Mehr anzeigen" im Drawer wie der Kommentar-/Feed-Link:
 * kein pill-artiger Button mehr, sondern ein dezenter Textlink.
 */
.drawer-more-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    margin:6px 0 8px !important;
    padding:0 !important;
    min-height:auto !important;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;
    color:#1877f2 !important;

    font-family:inherit !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.2 !important;

    cursor:pointer !important;
    box-shadow:none !important;
}

.drawer-more-toggle:hover{
    background:transparent !important;
    color:#1459c4 !important;
    text-decoration:underline !important;
}

/* SHENOX LOGIN STYLE BUTTONS END */


/* extracted from base.html block 3 */
/* SHENOX DRAWER MORE LEFT START */

/*
 * Der Text beginnt auf derselben Höhe wie die Namen
 * der Gruppen, Kategorien und Freunde.
 */
.drawer-more-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    width:100% !important;
    min-height:auto !important;

    margin:7px 0 10px !important;
    padding:0 8px 0 32px !important;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;
    color:#1877f2 !important;

    text-align:left !important;

    font-family:inherit !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.3 !important;

    box-shadow:none !important;
    cursor:pointer !important;
}

.drawer-more-toggle:hover{
    background:transparent !important;
    color:#1459c4 !important;
    text-decoration:underline !important;
}

/* SHENOX DRAWER MORE LEFT END */


/* extracted from base.html block 4 */
/* SHENOX MESSAGE NAV POPOVER START */

.sx-message-nav-wrap{
    position:relative;
    display:inline-flex;
    flex:0 0 auto;
}

.sx-message-popover[hidden]{
    display:none !important;
}

.sx-message-popover{
    position:fixed;
    z-index:12000;

    width:min(
        390px,
        calc(100vw - 24px)
    );

    max-height:min(
        640px,
        calc(100vh - 24px)
    );

    overflow:hidden;

    border:1px solid #e5e7eb;
    border-radius:18px;

    background:#fff;

    box-shadow:
        0 20px 55px
        rgba(15,23,42,.24);
}

.sx-message-popover-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;

    padding:16px 16px 11px;
}

.sx-message-popover-title{
    margin:0;

    color:#111827;

    font-size:21px;
    font-weight:700;
    line-height:1.15;
}

.sx-message-popover-all{
    color:#1877f2;

    font-size:13px;
    font-weight:600;

    text-decoration:none;
    white-space:nowrap;
}

.sx-message-popover-all:hover{
    text-decoration:underline;
}

.sx-message-popover-list{
    max-height:min(
        560px,
        calc(100vh - 120px)
    );

    overflow-y:auto;
    overscroll-behavior:contain;

    padding:0 8px 10px;
}

.sx-message-popover-item{
    display:grid;
    grid-template-columns:
        46px
        minmax(0,1fr)
        10px;

    gap:10px;
    align-items:center;

    min-height:66px;
    padding:8px;

    border-radius:12px;

    color:#111827;
    text-decoration:none;
}

.sx-message-popover-item:hover,
.sx-message-popover-item:focus-visible{
    background:#f1f5f9;
    outline:none;
}

.sx-message-popover-item.is-unread{
    background:#f7fbff;
}

.sx-message-popover-item.is-unread:hover,
.sx-message-popover-item.is-unread:focus-visible{
    background:#edf6ff;
}

.sx-message-popover-avatar{
    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;

    width:46px;
    height:46px;

    overflow:hidden;

    border:1px solid #cbdcf3;
    border-radius:50%;

    background:#dbeafe;
    color:#1455d9;

    font-size:14px;
    font-weight:700;
    line-height:1;
}

.sx-message-popover-avatar.is-system{
    border-color:#1877f2;

    background:#1877f2;
    color:#fff;
}

.sx-message-popover-avatar img{
    position:absolute;
    top:50%;
    left:50%;

    width:100%;
    height:100%;
    max-width:none;

    object-fit:cover;
    transform-origin:center center;
}

.sx-message-popover-avatar.is-group img{
    position:static;
    top:auto;
    left:auto;
    transform:none;
}

.sx-message-popover-main{
    min-width:0;
}

.sx-message-popover-name-row{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:8px;
}

.sx-message-popover-name{
    min-width:0;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;

    font-size:14px;
    font-weight:700;
}

.sx-message-popover-time{
    flex:0 0 auto;

    color:#64748b;

    font-size:11px;
    font-weight:600;

    white-space:nowrap;
}

.sx-message-popover-preview{
    display:block;

    margin-top:3px;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;

    color:#64748b;

    font-size:13px;
    line-height:1.25;
}

.sx-message-popover-item.is-unread
.sx-message-popover-preview{
    color:#334155;
    font-weight:600;
}

.sx-message-popover-dot{
    width:8px;
    height:8px;

    border-radius:50%;

    background:#1877f2;
}

.sx-message-popover-empty{
    padding:22px 14px 26px;

    text-align:center;

    color:#64748b;
    font-size:14px;
}

/*
 * Auf Handys und anderen Touch-Geräten wird bewusst kein
 * Nachrichten-Popdown verwendet. Der Navigationspunkt führt dort
 * direkt auf die vollständige Nachrichtenseite.
 */
@media(max-width:760px), (hover:none), (pointer:coarse){

    .sx-message-popover{
        display:none !important;
    }
}

/* SHENOX MESSAGE NAV POPOVER END */


/* extracted from base.html block 5 */
.sx-emoji-field{
    position:relative;
    display:block;
    flex:1 1 auto;
    min-width:0;
    width:100%;
}

.sx-emoji-field > input,
.sx-emoji-field > textarea,
form.mx-form .sx-emoji-field > textarea[name="body"],
.thread-comment-form .sx-emoji-field > .thread-comment-input,
.comment-form .sx-emoji-field > .comment-input{
    padding-right:48px !important;
}

.sx-emoji-toggle{
    appearance:none;
    -webkit-appearance:none;
    position:absolute;
    right:8px;
    bottom:7px;
    z-index:4;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    min-width:34px;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#475569;
    font-size:21px;
    line-height:1;
    cursor:pointer;
}
.sx-emoji-toggle:hover,
.sx-emoji-toggle:focus-visible,
.sx-emoji-toggle[aria-expanded="true"]{background:#eef2f7;outline:none}

.sx-emoji-panel{
    position:absolute;
    right:0;
    bottom:calc(100% + 8px);
    z-index:60000;
    width:min(372px, calc(100vw - 24px));
    max-height:min(520px, 66vh);
    overflow:hidden;
    border:1px solid #dbe2ea;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 48px rgba(15,23,42,.24);
    color:#111827;
}
.sx-emoji-panel[hidden]{display:none !important}

.sx-picker-tabs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px;
    padding:8px 10px 6px;
    border-bottom:1px solid #eef2f7;
    background:#fff;
}
.sx-picker-tab{
    appearance:none;border:0;background:transparent;border-radius:12px;
    padding:8px 6px;font-size:13px;font-weight:800;color:#475569;cursor:pointer;
}
.sx-picker-tab.active{background:#eef2f7;color:#111827}
.sx-picker-tab[hidden]{display:none !important}

.sx-picker-search-wrap{padding:8px 10px 6px;background:#fff}
.sx-picker-search{
    width:100%;height:38px;border:0;border-radius:11px;background:#f1f3f5;
    padding:0 12px 0 36px;font-size:14px;outline:none;box-sizing:border-box;
}
.sx-picker-search-wrap{position:relative}
.sx-picker-search-wrap:before{
    content:'⌕';position:absolute;left:20px;top:15px;font-size:19px;color:#64748b;line-height:1;
}

.sx-picker-content{overflow:auto;max-height:390px;padding:2px 10px 10px;overscroll-behavior:contain}
.sx-picker-pane[hidden]{display:none !important}
.sx-picker-section{margin:7px 0 11px}
.sx-picker-section-title{font-size:13px;font-weight:850;color:#64748b;margin:0 0 7px}
.sx-emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px}
.sx-emoji-choice{
    appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:center;
    min-width:0;width:100%;aspect-ratio:1;padding:0;border:0;border-radius:9px;background:transparent;
    font-size:25px;line-height:1;cursor:pointer;
}
.sx-emoji-choice:hover,.sx-emoji-choice:focus-visible{background:#eef5ff;outline:none}
.sx-emoji-empty{padding:20px 8px;text-align:center;color:#64748b;font-size:14px}

.sx-sticker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:2px 0 4px}
.sx-sticker-choice{
    appearance:none;border:0;background:#f8fafc;border-radius:16px;aspect-ratio:1;
    font-size:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.sx-sticker-choice:hover,.sx-sticker-choice:focus-visible{background:#eaf3ff;outline:none}

.sx-gif-box{padding:12px 4px 16px;text-align:center}
.sx-gif-title{font-weight:900;font-size:15px;margin-bottom:6px}
.sx-gif-copy{font-size:13px;color:#64748b;line-height:1.4;margin-bottom:12px}
.sx-gif-select{
    appearance:none;border:0;border-radius:999px;background:#1877f2;color:#fff;font-weight:850;
    padding:10px 16px;cursor:pointer;
}
.sx-gif-unavailable{padding:18px 8px;color:#64748b;font-size:13px;text-align:center}

.sx-picker-categories{
    display:flex;align-items:center;justify-content:space-between;gap:2px;
    padding:6px 8px;border-top:1px solid #eef2f7;background:#fff;
}
.sx-category-button{
    appearance:none;border:0;background:transparent;border-radius:9px;min-width:32px;height:32px;
    display:inline-flex;align-items:center;justify-content:center;color:#64748b;font-size:18px;cursor:pointer;
}
.sx-category-button:hover,.sx-category-button:focus-visible,.sx-category-button.active{background:#eef5ff;color:#1877f2;outline:none}

form.mx-form > .sx-emoji-field{grid-column:1 !important}
form.mx-form.mx-form-photo > .sx-emoji-field{grid-column:2 !important;grid-row:2 !important}
.thread-comment-form > .sx-emoji-field,.comment-form > .sx-emoji-field{flex:1 1 auto}

/* Handy: Picker wie bei Messenger/Signal als Bottom-Sheet über die Bildschirmbreite. */
@media(max-width:760px), (hover:none) and (pointer:coarse){
    .sx-emoji-panel{
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        top:auto !important;
        width:100vw !important;
        max-width:none !important;
        max-height:min(58vh,540px) !important;
        border-left:0 !important;
        border-right:0 !important;
        border-bottom:0 !important;
        border-radius:22px 22px 0 0 !important;
        box-shadow:0 -12px 36px rgba(15,23,42,.22) !important;
        padding-bottom:max(4px, env(safe-area-inset-bottom)) !important;
    }
    .sx-picker-tabs{padding:9px 12px 6px}
    .sx-picker-search-wrap{padding:8px 14px 7px}
    .sx-picker-search-wrap:before{left:25px;top:15px}
    .sx-picker-content{max-height:calc(min(58vh,540px) - 145px);padding:2px 14px 9px}
    .sx-emoji-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
    .sx-emoji-choice{font-size:29px}
    .sx-sticker-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
    .sx-sticker-choice{font-size:48px}
    .sx-picker-categories{padding:7px 11px max(7px,env(safe-area-inset-bottom))}
    .sx-category-button{min-width:34px;height:34px;font-size:20px}
}


/* extracted from base.html block 6 */
/*
 * Nachrichten und Kommentare erhalten eine klare Dreier-Anordnung:
 * Emoji links, Eingabefeld in der Mitte, Sende-Pfeil rechts.
 * Alle drei Bedienelemente starten mit derselben Höhe.
 */
form.mx-form > .sx-emoji-field,
.thread-comment-form > .sx-emoji-field,
.comment-form > .sx-emoji-field{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) !important;
    grid-template-rows:auto !important;
    align-items:end !important;
    gap:9px !important;
    width:100% !important;
    min-width:0 !important;
}

form.mx-form > .sx-emoji-field > textarea[name="body"],
.thread-comment-form > .sx-emoji-field > .thread-comment-input,
.comment-form > .sx-emoji-field > .comment-input{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding-right:16px !important;
    box-sizing:border-box !important;
}

form.mx-form > .sx-emoji-field > textarea[name="body"],
.thread-comment-form > .sx-emoji-field > .thread-comment-input{
    overflow-y:auto !important;
}

form.mx-form > .sx-emoji-field > .sx-emoji-toggle,
.thread-comment-form > .sx-emoji-field > .sx-emoji-toggle,
.comment-form > .sx-emoji-field > .sx-emoji-toggle{
    position:relative !important;
    inset:auto !important;
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:end !important;
    justify-self:start !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #d1d5db !important;
    border-radius:50% !important;
    background:#ffffff !important;
    box-shadow:0 3px 10px rgba(15,23,42,.06) !important;
    font-size:24px !important;
    line-height:1 !important;
}

form.mx-form > .sx-emoji-field > .sx-emoji-toggle:hover,
form.mx-form > .sx-emoji-field > .sx-emoji-toggle:focus-visible,
form.mx-form > .sx-emoji-field > .sx-emoji-toggle[aria-expanded="true"],
.thread-comment-form > .sx-emoji-field > .sx-emoji-toggle:hover,
.thread-comment-form > .sx-emoji-field > .sx-emoji-toggle:focus-visible,
.thread-comment-form > .sx-emoji-field > .sx-emoji-toggle[aria-expanded="true"],
.comment-form > .sx-emoji-field > .sx-emoji-toggle:hover,
.comment-form > .sx-emoji-field > .sx-emoji-toggle:focus-visible,
.comment-form > .sx-emoji-field > .sx-emoji-toggle[aria-expanded="true"]{
    background:#eef5ff !important;
    border-color:#9ec5ff !important;
}

/* Die Auswahl öffnet sich über dem linken Emoji-Knopf. */
form.mx-form > .sx-emoji-field > .sx-emoji-panel,
.thread-comment-form > .sx-emoji-field > .sx-emoji-panel,
.comment-form > .sx-emoji-field > .sx-emoji-panel{
    left:0 !important;
    right:auto !important;
}

/* Der runde Sende-Pfeil und das neue Emoji-Feld bleiben exakt gleich hoch. */
form.mx-form > .mx-send-button,
.thread-comment-form > .thread-comment-send{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    align-self:end !important;
}

/* Auch das ältere kompakte Kommentarformular bleibt einzeilig. */
.comment-form{
    align-items:end !important;
}

.comment-form > .comment-submit{
    min-height:48px !important;
    height:48px !important;
    align-self:end !important;
}

@media(max-width:560px){
    form.mx-form > .sx-emoji-field,
    .thread-comment-form > .sx-emoji-field,
    .comment-form > .sx-emoji-field{
        grid-template-columns:48px minmax(0,1fr) !important;
        gap:8px !important;
    }
}


/* extracted from base.html block 7 */
/*
 * Nachrichtenfeld mit Foto-Upload:
 * Kamera + Emoji liegen ohne eigenen Kreis direkt IM Texteingabefeld.
 * Kommentare bleiben von dieser Regel unberührt.
 */
form.mx-form.mx-form-photo{
    grid-template-columns:minmax(0,1fr) 48px !important;
    grid-template-rows:auto 48px !important;
    column-gap:10px !important;
    row-gap:8px !important;
    align-items:end !important;
}

form.mx-form.mx-form-photo > .mx-photo-preview{
    grid-column:1 / 3 !important;
    grid-row:1 !important;
}

form.mx-form.mx-form-photo > .sx-emoji-field{
    position:relative !important;
    display:block !important;
    grid-column:1 !important;
    grid-row:2 !important;
    width:100% !important;
    min-width:0 !important;
    height:48px !important;
    margin:0 !important;
}

form.mx-form.mx-form-photo > .sx-emoji-field > textarea[name="body"]{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:48px !important;
    min-height:48px !important;
    max-height:120px !important;
    margin:0 !important;
    padding:12px 14px 12px 84px !important;
    line-height:22px !important;
    box-sizing:border-box !important;
    resize:none !important;
}

/* Kamera liegt als erstes Symbol im linken Innenbereich des Feldes. */
form.mx-form.mx-form-photo > .mx-photo-button{
    grid-column:1 !important;
    grid-row:2 !important;
    align-self:stretch !important;
    justify-self:start !important;
    z-index:8 !important;
    width:38px !important;
    height:48px !important;
    min-width:38px !important;
    min-height:48px !important;
    margin:0 0 0 8px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#1d4ed8 !important;
}

form.mx-form.mx-form-photo > .mx-photo-button:hover,
form.mx-form.mx-form-photo > .mx-photo-button:focus-within{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

form.mx-form.mx-form-photo > .mx-photo-button svg{
    width:22px !important;
    height:22px !important;
}

/* Emoji ist das zweite Symbol – ebenfalls ohne Kreis/Rahmen. */
form.mx-form.mx-form-photo > .sx-emoji-field > .sx-emoji-toggle{
    position:absolute !important;
    left:40px !important;
    top:calc(50% - 3px) !important;
    transform:translateY(-50%) !important;
    right:auto !important;
    bottom:auto !important;
    z-index:9 !important;
    width:38px !important;
    height:48px !important;
    min-width:38px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    font-size:22px !important;
    line-height:1 !important;
}

form.mx-form.mx-form-photo > .sx-emoji-field > .sx-emoji-toggle:hover,
form.mx-form.mx-form-photo > .sx-emoji-field > .sx-emoji-toggle:focus-visible,
form.mx-form.mx-form-photo > .sx-emoji-field > .sx-emoji-toggle[aria-expanded="true"]{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

form.mx-form.mx-form-photo > .sx-emoji-field > .sx-emoji-toggle > span,
form.mx-form.mx-form-photo > .sx-emoji-field > .sx-emoji-toggle > img{
    display:block !important;
    margin:0 auto !important;
}

/* Emoji-Auswahl öffnet über dem Symbol innerhalb des Nachrichtenfeldes. */
form.mx-form.mx-form-photo > .sx-emoji-field > .sx-emoji-panel{
    left:38px !important;
    right:auto !important;
}

form.mx-form.mx-form-photo > .mx-send-button{
    grid-column:2 !important;
    grid-row:2 !important;
    align-self:end !important;
}

@media(max-width:760px){
    body.mx-mobile-chat-open form.mx-form.mx-form-photo{
        grid-template-columns:minmax(0,1fr) 48px !important;
        grid-template-rows:auto 48px !important;
    }
}


/* extracted from base.html block 8 */
/* Finale Mobile-Regel: spätere Nachrichten-Layout-Regeln dürfen das Bottom-Sheet nicht wieder verschieben. */
@media(max-width:760px), (hover:none) and (pointer:coarse){
    form.mx-form.mx-form-photo > .sx-emoji-field > .sx-emoji-panel,
    form.mx-form > .sx-emoji-field > .sx-emoji-panel,
    .thread-comment-form > .sx-emoji-field > .sx-emoji-panel,
    .comment-form > .sx-emoji-field > .sx-emoji-panel{
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        top:auto !important;
        bottom:0 !important;
        width:100vw !important;
        max-width:none !important;
        max-height:min(58vh,540px) !important;
        border-radius:22px 22px 0 0 !important;
    }
}


/* extracted from base.html block 9 */
/*
 * Emoji/Sticker/GIF-Auswahl im Stil einer nativen Handy-Tastatur:
 * - einheitliche Web-Emoji-Grafiken statt herstellerabhängiger Glyphen
 * - kompakte Toolbar: Suche | Emoji | GIF | Sticker | Zurück
 * - auf Handys maximal 45 % der sichtbaren Bildschirmhöhe
 * - Nachrichtenfeld bleibt oberhalb des Pickers sichtbar
 */
.sx-emoji-panel{
    isolation:isolate !important;
    z-index:2147483000 !important;
    background:#fff !important;
}
.sx-picker-toolbar{
    display:flex;
    align-items:center;
    gap:6px;
    padding:8px 10px 6px;
    border-bottom:1px solid #eef2f7;
    background:#fff;
}
.sx-picker-tool,
.sx-picker-tab{
    appearance:none;
    -webkit-appearance:none;
    height:34px;
    min-width:34px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:#334155;
    font:inherit;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 10px;
}
.sx-picker-tool{padding:0 8px;font-size:19px}
.sx-picker-tool:hover,.sx-picker-tool:focus-visible,
.sx-picker-tab:hover,.sx-picker-tab:focus-visible{background:#f1f5f9;outline:none}
.sx-picker-tab.active{background:#eef2f7;color:#111827}
.sx-picker-tool.sx-picker-close{margin-left:auto;font-size:20px}
.sx-picker-search-wrap[hidden]{display:none !important}
.sx-picker-search-wrap{padding:6px 10px 7px !important}
.sx-picker-search{height:36px !important}

/* SVG/PNG-Emoji statt Android-/Samsung-/Apple-Systemschrift. */
.sx-emoji-choice .emoji,
.sx-sticker-choice .emoji,
.sx-category-button .emoji{
    display:block;
    width:1em;
    height:1em;
    margin:0;
    pointer-events:none;
}
.sx-emoji-choice{font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}
.sx-emoji-choice .emoji{width:29px;height:29px}
.sx-sticker-choice .emoji{width:48px;height:48px}
.sx-category-button .emoji{width:21px;height:21px}

/* Solange der Emoji-Picker offen ist, dürfen Reaktions-Controls nicht darüber liegen. */
body.sx-emoji-sheet-open .mx-message-reactions,
body.sx-emoji-sheet-open .mx-reaction-picker{
    visibility:hidden !important;
    pointer-events:none !important;
}

@media(max-width:760px), (hover:none) and (pointer:coarse){
    :root{--sx-emoji-sheet-height:min(45dvh, 430px);}

    form.mx-form.mx-form-photo > .sx-emoji-field > .sx-emoji-panel,
    form.mx-form > .sx-emoji-field > .sx-emoji-panel,
    .thread-comment-form > .sx-emoji-field > .sx-emoji-panel,
    .comment-form > .sx-emoji-field > .sx-emoji-panel,
    .sx-emoji-panel{
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        top:auto !important;
        bottom:0 !important;
        width:100vw !important;
        height:var(--sx-emoji-sheet-height) !important;
        max-height:45dvh !important;
        max-width:none !important;
        overflow:hidden !important;
        border-left:0 !important;
        border-right:0 !important;
        border-bottom:0 !important;
        border-radius:20px 20px 0 0 !important;
        box-shadow:0 -10px 30px rgba(15,23,42,.22) !important;
        padding-bottom:max(2px,env(safe-area-inset-bottom)) !important;
        background:#fff !important;
        z-index:2147483000 !important;
    }

    /* Eingabefeld wie bei WhatsApp direkt oberhalb der Emoji-Fläche. */
    body.mx-mobile-chat-open form.mx-form.mx-form-photo.sx-picker-host-open{
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        bottom:var(--sx-emoji-sheet-height) !important;
        width:100vw !important;
        margin:0 !important;
        z-index:2147483001 !important;
        background:#fff !important;
        border-top:1px solid #e5e7eb !important;
        box-shadow:0 -3px 12px rgba(15,23,42,.08) !important;
    }

    .sx-picker-toolbar{padding:7px 9px 5px;gap:4px}
    .sx-picker-tool,.sx-picker-tab{height:32px;min-width:32px;padding:0 8px;font-size:12px}
    .sx-picker-tool{font-size:18px}
    .sx-picker-search-wrap{padding:5px 10px 6px !important}
    .sx-picker-search-wrap:before{left:20px !important;top:12px !important}
    .sx-picker-search{height:34px !important}
    .sx-picker-content{
        max-height:none !important;
        height:calc(var(--sx-emoji-sheet-height) - 86px - env(safe-area-inset-bottom,0px)) !important;
        padding:2px 10px 7px !important;
        overflow:auto !important;
    }
    .sx-picker-search-wrap:not([hidden]) + .sx-picker-content{
        height:calc(var(--sx-emoji-sheet-height) - 126px - env(safe-area-inset-bottom,0px)) !important;
    }
    .sx-picker-categories{padding:5px 8px max(5px,env(safe-area-inset-bottom)) !important}
    .sx-emoji-grid{grid-template-columns:repeat(7,minmax(0,1fr)) !important;gap:3px !important}
    .sx-emoji-choice{font-size:28px !important}
    .sx-emoji-choice .emoji{width:30px;height:30px}
}


/* extracted from base.html block 10 */
/* Der Profil-Menüpunkt übernimmt bewusst die Typografie des Shared-Menüs. */
#shared-app-shell .sx-pwa-install-menu{
    width:100%;
    cursor:pointer;
}
#shared-app-shell .sx-pwa-install-menu[hidden]{display:none !important}

.sx-pwa-help[hidden]{display:none !important}
.sx-pwa-help{
    position:fixed;
    inset:0;
    z-index:2147483600;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
}
.sx-pwa-help-backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.48);
}
.sx-pwa-help-card{
    position:relative;
    width:min(430px,100%);
    border-radius:22px;
    background:#fff;
    color:#111827;
    padding:20px;
    box-shadow:0 28px 80px rgba(15,23,42,.30);
}
.sx-pwa-help-head{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
}
.sx-pwa-help-icon{
    width:50px;
    height:50px;
    flex:0 0 50px;
    border-radius:14px;
    background:#eff6ff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:27px;
}
.sx-pwa-help-title{font-size:20px;font-weight:900;line-height:1.15}
.sx-pwa-help-text{font-size:15px;line-height:1.45;color:#475569}
.sx-pwa-help-steps{margin:14px 0 0;padding-left:22px;color:#334155;line-height:1.55}
.sx-pwa-help-close{
    margin-top:18px;
    width:100%;
    min-height:46px;
    border:0;
    border-radius:999px;
    background:#1877f2;
    color:#fff;
    font:inherit;
    font-weight:900;
    cursor:pointer;
}
@media(max-width:760px){
    .sx-pwa-help{align-items:flex-end;padding:0}
    .sx-pwa-help-card{
        width:100%;
        border-radius:22px 22px 0 0;
        padding:20px 20px max(20px,env(safe-area-inset-bottom));
    }
}


/* SHENOX ASYNC SHELL BADGE VISIBILITY START */
.nav-pill .nav-unread-badge[hidden],
.drawer-group-notification-badge[hidden],
.drawer-approval-badge[hidden]{
    display:none !important;
}
/* SHENOX ASYNC SHELL BADGE VISIBILITY END */

/* SHENOX LIGHT TYPOGRAPHY 260 START */
/* Die in der UI markierten Navigations- und Drawer-Texte bewusst ohne Fettdruck. */
.top-nav .nav-pill,
.top-nav .nav-pill.active,
.top-nav .nav-pill.is-active{
    font-weight:400 !important;
}

#shenoxDrawer .drawer-title,
#shenoxDrawer .drawer-user b,
#shenoxDrawer .drawer-section-title,
#shenoxDrawer .drawer-section-link,
#shenoxDrawer .drawer-start-view label,
#shenoxDrawer .drawer-start-view select,
#shenoxDrawer .drawer-scope-list a,
#shenoxDrawer .drawer-scope-list a.is-filter-scope,
#shenoxDrawer .drawer-filter-option,
#shenoxDrawer .drawer-filter-option:has(input:checked),
#shenoxDrawer .drawer-more-toggle{
    font-weight:400 !important;
}
/* Badges und Pfeile behalten ihre funktionale Hervorhebung. */
/* SHENOX LIGHT TYPOGRAPHY 260 END */


/* SHENOX FONT CONSISTENCY 262 START */
:root{--sx-font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
[data-message-composer-shell][hidden],
[data-message-system-note][hidden],
[data-message-blocked-note][hidden],
form.mx-form[hidden],
div.mx-form[hidden]{display:none !important}
body[data-shenox-active-conversation-kind="system"] [data-message-composer-shell]{display:none !important}
body[data-shenox-active-conversation-kind="system"] [data-message-system-note]{display:flex !important}
body[data-shenox-active-conversation-kind="system"] [data-message-blocked-note]{display:none !important}
html,body{font-family:var(--sx-font-family);}
button,input,textarea,select,option{font-family:inherit;}
/* Emoji buttons intentionally keep their dedicated color-emoji font stack. */
/* SHENOX FONT CONSISTENCY 262 END */

/* SHENOX TYPOGRAPHY CONTRACT 263 START
 * Gleiche semantische Rollen verwenden in der gesamten Shenox-Oberfläche
 * dieselbe Schriftgröße. Icon-/Emoji-Größen bleiben bewusst außerhalb dieses
 * Textmaßstabs.
 */
:root{
    --sx-type-page-title:28px;
    --sx-type-section-title:20px;
    --sx-type-subheading:16px;
    --sx-type-body:16px;
    --sx-type-ui:14px;
    --sx-type-meta:13px;
    --sx-type-caption:12px;
    --sx-type-badge:11px;
}

html,body{
    font-size:var(--sx-type-body);
}

h1,
.map-head h1{
    font-size:var(--sx-type-page-title) !important;
}
h2{font-size:var(--sx-type-section-title);}
h3{font-size:var(--sx-type-subheading);}
.muted,
.status{font-size:var(--sx-type-ui);}
.btn{font-size:var(--sx-type-body);}
.btn.small{font-size:var(--sx-type-ui);}
input,textarea,select{font-size:var(--sx-type-body);}
.tag{font-size:var(--sx-type-caption);}

/* Feed/Map: Nutzername ist in Post, Kommentar und Karten-Popup dieselbe Rolle. */
.post-author-line,
.thread-comment-top,
.popup-title{
    font-size:var(--sx-type-ui) !important;
}

/* Metadaten und kleine Textaktionen derselben Ebene. */
.post-place-line,
.thread-comment-age,
.thread-comment-link,
.thread-comment-like-count,
.popup-meta,
.post-action-map,
.mini-map-link{
    font-size:var(--sx-type-meta) !important;
}

/* Like/Kommentar/View-Zähler werden im Feed und Karten-Popup gleich groß gezeigt. */
.post-action-count,
.post-view-label,
.popup-like-count{
    font-size:var(--sx-type-ui) !important;
}

/* Feed-Chips: Gruppe/Folgen/Status erhalten dieselbe Größe. */
.post-tags .tag,
.post-tags .group-follow-btn,
.post-tags .follow-state-btn,
.post-tags .user-followed-state{
    font-size:var(--sx-type-caption) !important;
}

/* Kommentartext und Eingabe sind normaler Inhaltstext. */
.thread-comment-text,
.thread-comment-input{
    font-size:var(--sx-type-body) !important;
}

/* Freunde: Name/Username bleiben in Karten und Liste identisch. */
.sx-user-name,
.sx-friend-name-link{
    font-size:var(--sx-type-body) !important;
}
.sx-user-username,
.sx-friend-row .muted{
    font-size:var(--sx-type-meta) !important;
}

/* Nachrichten: wiederkehrende Rollen explizit festschreiben. */
.mx-item-title{font-size:var(--sx-type-body);}
.mx-preview,.mx-sidebar-sub,.mx-chat-sub{font-size:var(--sx-type-meta);}
.mx-time,.mx-meta,.mx-sender{font-size:var(--sx-type-caption);}
.mx-group-chip,.mx-system-chip{font-size:var(--sx-type-badge);}

@media(max-width:820px){
    :root{--sx-type-page-title:24px;}
}
/* SHENOX TYPOGRAPHY CONTRACT 263 END */

/* SHENOX GLOBAL WEBRTC CALL OVERLAY – incoming calls work on every Shenox page */
.mx-call-overlay{position:fixed;inset:0;z-index:12000;background:rgba(15,23,42,.82);display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 16px) 20px calc(env(safe-area-inset-bottom,0px) + 16px)}
.mx-call-overlay[hidden]{display:none!important}
.mx-call-card{width:min(94vw,780px);min-height:min(78vh,760px);border-radius:28px;background:linear-gradient(180deg,#0f172a 0%,#111827 100%);color:#fff;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.mx-call-peer-avatar{width:84px;height:84px;border-radius:50%;background:#1877f2;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:14px}
.mx-call-peer-name{font-size:22px;font-weight:400;text-align:center}
.mx-call-status{margin-top:6px;color:#cbd5e1;font-size:14px;text-align:center}
.mx-call-video-stage{position:relative;width:100%;min-height:260px;aspect-ratio:16/9;background:#020617;border-radius:20px;overflow:hidden;margin:20px 0 8px}
.mx-call-video-stage[hidden]{display:none!important}
.mx-call-remote-video{width:100%;height:100%;object-fit:cover;background:#020617}
.mx-call-local-video{position:absolute;right:14px;bottom:14px;width:min(28%,170px);aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:2px solid rgba(255,255,255,.75);background:#1e293b;box-shadow:0 12px 24px rgba(15,23,42,.28)}
.mx-call-incoming-actions,.mx-call-active-actions{display:flex;gap:14px;align-items:center;justify-content:center;margin-top:24px;flex-wrap:wrap}
.mx-call-incoming-actions[hidden],.mx-call-active-actions[hidden]{display:none!important}
.mx-call-btn{border:0;border-radius:999px;padding:12px 22px;cursor:pointer;font-size:15px;font-weight:400}
.mx-call-accept{background:#22c55e;color:#fff}.mx-call-reject{background:#ef4444;color:#fff}
.mx-call-round{width:56px;height:56px;border-radius:50%;border:0;background:#334155;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 24px rgba(15,23,42,.28)}
.mx-call-round svg{width:24px;height:24px}
.mx-call-round:hover,.mx-call-round:focus-visible{background:#475569;outline:none}
.mx-call-round.is-off{background:#64748b;color:#dbeafe}
.mx-call-hangup{background:#ef4444}
.mx-call-hangup svg{transform:rotate(135deg);transform-origin:center}
.mx-call-hangup:hover,.mx-call-hangup:focus-visible{background:#dc2626}
body.mx-call-open{overflow:hidden}
@media(max-width:760px){.mx-call-overlay{padding:0}.mx-call-card{width:100vw;min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 18px) 16px calc(env(safe-area-inset-bottom,0px) + 20px);border-radius:0;justify-content:flex-start}.mx-call-video-stage{width:100%;min-height:clamp(320px,50vh,560px);aspect-ratio:auto;margin:18px 0 12px}.mx-call-local-video{right:10px;bottom:10px;width:min(34%,132px)}}

/* SHENOX CHAT SEARCH 274: author CSS must not override the HTML hidden state. */
.mx-searchable[hidden],
.mx-friend-row[hidden],
#mx-search-empty[hidden]{display:none !important}
