/* ANBITA Profilbereich – modulare Ergänzungen für Profilübersicht und Einstellungen. */
.anbita-profile-side-nav .anbita-profile-button,
.anbita-profile-side-nav .anbita-profile-logout{
    font-family:Arial, Helvetica, sans-serif!important;
    font-size:16px!important;
}

.anbita-profile-password-section{
    width:100%;
    max-width:920px;
    margin:18px auto 20px;
    padding:clamp(14px, 2vw, 20px);
    border:1px solid rgba(31,91,216,.20);
    border-radius:22px;
    background:rgba(255,255,255,.36);
    box-shadow:0 10px 26px rgba(15,23,42,.08);
    box-sizing:border-box;
    scroll-margin-top:20px;
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
}
.anbita-profile-password-head{
    margin:0 0 14px;
    text-align:left;
}
.anbita-profile-password-head h2{
    margin:0 0 6px;
    font-family:Arial, Helvetica, sans-serif;
    font-size:clamp(21px, 3vw, 26px);
    line-height:1.2;
}
.anbita-profile-password-head p{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    line-height:1.45;
}
.anbita-profile-password-form{
    width:100%;
    max-width:760px;
    margin:0;
}
.anbita-profile-password-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}
.anbita-profile-password-grid label{
    display:flex;
    flex-direction:column;
    gap:7px;
    min-width:0;
    padding:12px;
    border:1px solid rgba(31,91,216,.20);
    border-radius:18px;
    background:rgba(255,255,255,.62);
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    line-height:1.3;
    font-weight:700;
}
.anbita-profile-password-grid label.is-current{
    grid-column:1 / -1;
    max-width:373px;
}
.anbita-profile-password-grid input{
    width:100%;
    max-width:100%;
    min-height:46px;
    padding:10px 12px;
    border:1px solid rgba(31,91,216,.36);
    border-radius:14px;
    background:#ffffff;
    color:#111827;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    line-height:1.2;
}
.anbita-profile-password-grid input:focus{
    outline:3px solid rgba(31,91,216,.22);
    outline-offset:2px;
    border-color:#1f5bd8;
}
.anbita-profile-password-status{
    min-height:24px;
    margin:10px 0 0;
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    line-height:1.35;
    font-weight:700;
}
.anbita-profile-password-status.is-error{
    color:#b42318;
}
.anbita-profile-password-status.is-ok{
    color:#08783d;
}
.anbita-profile-password-actions{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    margin-top:10px;
}
.anbita-profile-password-submit{
    width:auto;
    min-width:0;
    min-height:46px;
    padding:10px 20px;
    border:0;
    border-radius:999px;
    background:#b42318;
    color:#ffffff;
    -webkit-text-fill-color:#ffffff;
    cursor:not-allowed;
    opacity:.78;
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    line-height:1.2;
    font-weight:700;
}
.anbita-profile-password-submit.is-ready{
    background:#15803d;
    cursor:pointer;
    opacity:1;
}
.anbita-profile-password-submit:focus-visible{
    outline:3px solid rgba(31,91,216,.28);
    outline-offset:3px;
}
.anbita-profile-password-bot{
    position:absolute!important;
    left:-10000px!important;
    top:auto!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}

html.dark-mode .anbita-profile-password-section,
body.dark-mode .anbita-profile-password-section{
    background:rgba(6,14,27,.36);
    border-color:rgba(147,197,253,.24);
    color:#ffffff;
}
html.dark-mode .anbita-profile-password-grid label,
body.dark-mode .anbita-profile-password-grid label{
    background:rgba(15,23,42,.72);
    border-color:rgba(147,197,253,.28);
    color:#ffffff;
}
html.dark-mode .anbita-profile-password-grid input,
body.dark-mode .anbita-profile-password-grid input{
    background:#0d1728;
    color:#ffffff;
    border-color:rgba(255,255,255,.28);
}
html.dark-mode .anbita-profile-password-status.is-error,
body.dark-mode .anbita-profile-password-status.is-error{
    color:#fda29b;
}
html.dark-mode .anbita-profile-password-status.is-ok,
body.dark-mode .anbita-profile-password-status.is-ok{
    color:#86efac;
}

/* Mobil und App: keine reine Symbolleiste, sondern vollständige Profil-Schaltflächen. */
@media (max-width:760px){
    .anbita-profile-side-nav{
        display:grid!important;
        grid-template-columns:repeat(2, minmax(0, 1fr))!important;
        width:100%!important;
        max-width:560px!important;
        gap:10px!important;
        margin:0 auto 14px!important;
    }
    .anbita-profile-side-nav form{
        width:100%!important;
        display:block!important;
    }
    .anbita-profile-side-nav .anbita-profile-button,
    .anbita-profile-side-nav .anbita-profile-logout{
        display:flex!important;
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        height:auto!important;
        min-height:50px!important;
        padding:10px 12px!important;
        border-radius:16px!important;
        gap:8px!important;
        font-size:16px!important;
        line-height:1.2!important;
        white-space:normal!important;
    }
    .anbita-profile-side-nav .anbita-profile-nav-icon{
        position:static!important;
        display:inline-flex!important;
        width:24px!important;
        min-width:24px!important;
        height:auto!important;
        overflow:visible!important;
        font-size:21px!important;
        line-height:1!important;
    }
    .anbita-profile-side-nav .anbita-profile-nav-text{
        position:static!important;
        display:inline!important;
        width:auto!important;
        height:auto!important;
        overflow:visible!important;
        clip:auto!important;
        white-space:normal!important;
        font-size:16px!important;
        line-height:1.2!important;
    }
    .anbita-profile-password-section{
        padding:12px;
        border-radius:20px;
    }
    .anbita-profile-password-grid{
        grid-template-columns:1fr;
        gap:10px;
    }
    .anbita-profile-password-grid label.is-current{
        grid-column:auto;
        max-width:none;
    }
    .anbita-profile-password-actions{
        justify-content:center;
    }
}

body.anbita-app .anbita-profile-side-nav{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    width:100%!important;
    max-width:560px!important;
    gap:10px!important;
    margin:0 auto 14px!important;
}
body.anbita-app .anbita-profile-side-nav form{
    width:100%!important;
    display:block!important;
}
body.anbita-app .anbita-profile-side-nav .anbita-profile-button,
body.anbita-app .anbita-profile-side-nav .anbita-profile-logout{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:50px!important;
    padding:10px 12px!important;
    border-radius:16px!important;
    gap:8px!important;
    font-size:16px!important;
    line-height:1.2!important;
    white-space:normal!important;
}
body.anbita-app .anbita-profile-side-nav .anbita-profile-nav-icon{
    position:static!important;
    display:inline-flex!important;
    width:24px!important;
    min-width:24px!important;
    height:auto!important;
    overflow:visible!important;
    font-size:21px!important;
    line-height:1!important;
}
body.anbita-app .anbita-profile-side-nav .anbita-profile-nav-text{
    position:static!important;
    display:inline!important;
    width:auto!important;
    height:auto!important;
    overflow:visible!important;
    clip:auto!important;
    white-space:normal!important;
    font-size:16px!important;
    line-height:1.2!important;
}

@media (max-width:430px){
    .anbita-profile-side-nav,
    body.anbita-app .anbita-profile-side-nav{
        grid-template-columns:1fr!important;
        max-width:320px!important;
    }
    .anbita-profile-password-submit{
        width:auto;
        max-width:100%;
    }
}

/* SamCity: persönliche Einstellungen und Raumverwaltung im Profil. */
.anbita-profile-samcity-button{
    background:#276749!important;
    border-color:#276749!important;
    color:#ffffff!important;
}
.anbita-samcity-profile-page,
.anbita-samcity-profile-page button,
.anbita-samcity-profile-page input,
.anbita-samcity-profile-page textarea,
.anbita-samcity-profile-page a{
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
}
.anbita-samcity-profile-heading .anbita-profile-heading-logo{
    object-fit:contain;
}
.anbita-samcity-profile-shell{
    width:100%;
    max-width:1040px;
    margin:0 auto;
    box-sizing:border-box;
}
.anbita-samcity-profile-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:16px 18px;
    border:1px solid rgba(31,91,216,.20);
    border-radius:20px;
    background:rgba(255,255,255,.48);
}
.anbita-samcity-profile-summary h2,
.anbita-samcity-card-head h2{
    margin:0 0 6px;
    font-size:clamp(21px,3vw,27px);
    line-height:1.2;
}
.anbita-samcity-profile-summary p,
.anbita-samcity-card-head p{
    margin:0;
    line-height:1.45;
}
.anbita-samcity-profile-status{
    flex:0 0 auto;
    min-width:130px;
    padding:10px 14px;
    border-radius:16px;
    background:#e7f8ef;
    color:#185c3c;
    text-align:center;
}
.anbita-samcity-profile-status span,
.anbita-samcity-profile-status strong{
    display:block;
}
.anbita-samcity-profile-status span{
    font-weight:800;
}
.anbita-samcity-profile-status strong{
    margin-top:3px;
    font-size:14px;
}
.anbita-samcity-profile-actions{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    flex-wrap:wrap;
    margin:16px 0;
}
.anbita-samcity-primary-button,
.anbita-samcity-open-room,
.anbita-samcity-save-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-height:46px;
    padding:10px 18px;
    border:0;
    border-radius:999px;
    background:#1f5bd8;
    color:#ffffff!important;
    text-decoration:none;
    font-weight:800;
    line-height:1.2;
    cursor:pointer;
}
.anbita-samcity-open-room{
    min-height:42px;
    padding:9px 15px;
    background:#276749;
    white-space:nowrap;
}
.anbita-samcity-save-button{
    background:#15803d;
}
.anbita-samcity-settings-card,
.anbita-samcity-rooms-section{
    margin-top:18px;
    padding:18px;
    border:1px solid rgba(31,91,216,.20);
    border-radius:22px;
    background:rgba(255,255,255,.40);
    box-shadow:0 8px 24px rgba(15,23,42,.06);
    scroll-margin-top:20px;
}
.anbita-samcity-card-head{
    margin-bottom:14px;
}
.anbita-samcity-settings-form{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
}
.anbita-samcity-check{
    display:flex;
    align-items:flex-start;
    gap:11px;
    width:100%;
    max-width:720px;
    padding:12px 14px;
    border:1px solid rgba(31,91,216,.22);
    border-radius:16px;
    background:rgba(255,255,255,.66);
    box-sizing:border-box;
    cursor:pointer;
}
.anbita-samcity-check input{
    width:22px;
    height:22px;
    margin:1px 0 0;
    flex:0 0 22px;
    accent-color:#15803d;
}
.anbita-samcity-check span,
.anbita-samcity-check strong,
.anbita-samcity-check small{
    display:block;
}
.anbita-samcity-check small{
    margin-top:3px;
    line-height:1.4;
    opacity:.78;
}
.anbita-samcity-check.compact{
    max-width:none;
    padding:10px 12px;
}
.anbita-samcity-room-management-list{
    display:grid;
    gap:14px;
}
.anbita-samcity-room-management-card{
    padding:16px;
    border:1px solid rgba(31,91,216,.20);
    border-radius:20px;
    background:rgba(255,255,255,.68);
    scroll-margin-top:20px;
}
.anbita-samcity-room-management-card.is-admin{
    border-color:rgba(21,128,61,.38);
}
.anbita-samcity-room-management-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}
.anbita-samcity-room-title-wrap{
    display:flex;
    align-items:center;
    min-width:0;
    gap:12px;
}
.anbita-samcity-room-title-wrap h3{
    margin:0 0 4px;
    font-size:20px;
    line-height:1.2;
}
.anbita-samcity-room-title-wrap p{
    margin:0;
    opacity:.76;
}
.anbita-samcity-room-thumb{
    width:54px;
    height:54px;
    flex:0 0 54px;
    border-radius:50%;
    object-fit:cover;
    background:#dce4f1;
}
.anbita-samcity-room-thumb.is-placeholder{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:25px;
}
.anbita-samcity-room-form{
    display:grid;
    gap:12px;
    margin-top:15px;
    padding-top:15px;
    border-top:1px solid rgba(31,91,216,.18);
}
.anbita-samcity-room-form>label{
    display:flex;
    flex-direction:column;
    gap:7px;
    font-weight:700;
}
.anbita-samcity-room-form textarea{
    width:100%;
    min-height:100px;
    padding:11px 12px;
    border:1px solid rgba(31,91,216,.34);
    border-radius:14px;
    background:#ffffff;
    color:#111827;
    box-sizing:border-box;
    resize:vertical;
    line-height:1.45;
}
.anbita-samcity-room-form textarea:focus{
    outline:3px solid rgba(31,91,216,.20);
    outline-offset:2px;
    border-color:#1f5bd8;
}
.anbita-samcity-room-checks{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.anbita-samcity-room-readonly{
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid rgba(31,91,216,.18);
}
.anbita-samcity-room-readonly p{
    margin:6px 0;
    line-height:1.45;
}
.anbita-samcity-room-readonly small{
    display:block;
    opacity:.72;
}
.anbita-samcity-empty,
.anbita-samcity-access-box{
    text-align:center;
}
.anbita-samcity-empty{
    padding:22px 12px;
    border-radius:16px;
    background:rgba(148,163,184,.13);
}
.anbita-samcity-profile-bot{
    position:absolute!important;
    left:-10000px!important;
    top:auto!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}
html.dark-mode .anbita-samcity-profile-summary,
body.dark-mode .anbita-samcity-profile-summary,
html.dark-mode .anbita-samcity-settings-card,
body.dark-mode .anbita-samcity-settings-card,
html.dark-mode .anbita-samcity-rooms-section,
body.dark-mode .anbita-samcity-rooms-section,
html.dark-mode .anbita-samcity-room-management-card,
body.dark-mode .anbita-samcity-room-management-card{
    background:rgba(15,23,42,.66);
    border-color:rgba(147,197,253,.24);
    color:#ffffff;
}
html.dark-mode .anbita-samcity-check,
body.dark-mode .anbita-samcity-check{
    background:rgba(15,23,42,.84);
    border-color:rgba(147,197,253,.25);
    color:#ffffff;
}
html.dark-mode .anbita-samcity-room-form textarea,
body.dark-mode .anbita-samcity-room-form textarea{
    background:#0d1728;
    border-color:rgba(255,255,255,.28);
    color:#ffffff;
}
html.dark-mode .anbita-samcity-profile-status,
body.dark-mode .anbita-samcity-profile-status{
    background:#173f2d;
    color:#c6f6d5;
}
@media(max-width:760px){
    .anbita-samcity-profile-summary,
    .anbita-samcity-room-management-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .anbita-samcity-profile-status{
        min-width:0;
        width:auto;
    }
    .anbita-samcity-settings-card,
    .anbita-samcity-rooms-section,
    .anbita-samcity-room-management-card{
        padding:13px;
        border-radius:18px;
    }
    .anbita-samcity-room-checks{
        grid-template-columns:1fr;
    }
    .anbita-samcity-open-room{
        align-self:flex-start;
    }
    .anbita-samcity-profile-actions{
        justify-content:center;
    }
}
