:root{
    --bg:#eef4ff;
    --panel:#ffffff;
    --surface:#f8fbff;
    --text:#1b2430;
    --muted:#64748b;
    --accent:#2563eb;
    --accent-soft:#dbeafe;
    --success:#16a34a;
    --danger:#dc2626;
}

*{
    box-sizing:border-box;
    font-family:Inter,Arial,sans-serif;
}

body{
    margin:0;
    background:linear-gradient(135deg,#eef4ff,#f8fbff);
    color:var(--text);
}

.hidden{
    display:none !important;
}

.screen{
    min-height:100vh;
}

.center{
    text-align:center;
}

.muted{
    color:var(--muted);
}

.btn{
    border:none;
    border-radius:14px;
    padding:14px 18px;
    font-weight:700;
    cursor:pointer;
    width:100%;
    margin-top:10px;
}

.btn-primary{
    background:var(--accent);
    color:#fff;
}

.btn-secondary{
    background:var(--accent-soft);
    color:var(--text);
}

.btn-danger{
    background:var(--danger);
    color:#fff;
}

.btn-archive{
    background:#fff4e5;
    color:#9a4d00;
    border:1px solid #f2c98a;
}

.btn-success{
    background:#e8f7ed;
    color:#166534;
    border:1px solid #86d6a2;
}

.input{
    width:100%;
    padding:12px;
    border:1px solid #cbd5e1;
    border-radius:12px;
    background:#fff;
    color:var(--text);
    margin-top:10px;
}

.panel,
.card,
.content,
.sidebar{
    background:#fff;
    border-radius:20px;
    padding:20px;
    box-shadow:0 12px 28px rgba(30,60,120,.10);
}

.login-wrap{
    max-width:580px;
    margin:40px auto;
    padding:24px;
}

.pin-display{
    font-size:44px;
    letter-spacing:12px;
    margin:20px 0;
}

.pin-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.icon-card{
    background:#f8fbff;
    margin:16px 0;
}

.icon-big{
    font-size:52px;
}

.employee-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
    gap:22px;
    padding:30px;
}

.employee{
    cursor:pointer;
    user-select:none;
    border:1px solid #e8e8e8;
    border-left:5px solid var(--success);
}

.shell{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:20px;
    padding:20px;
}

.sidebar{
    height:fit-content;
}

.navbtn{
    display:block;
    width:100%;
    text-align:left;
}

.products{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
    gap:14px;
    margin-top:20px;
}

.product{
    cursor:pointer;
}

.product h3{
    margin-top:10px;
}

.stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:14px;
}

.modal{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.35);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    z-index:999;
}

.modal-box{
    background:#fff;
    border-radius:20px;
    padding:24px;
    max-width:520px;
    width:100%;
    box-shadow:0 12px 28px rgba(0,0,0,.2);
}

body.app-feedback-open{overflow:hidden;}
.modal.app-feedback-modal{
    align-items:center;
    z-index:10020;
    padding:18px;
    background:rgba(13,35,57,.54);
    backdrop-filter:blur(8px);
}
.app-feedback-box{
    position:relative;
    width:min(100%,480px);
    max-width:480px;
    padding:27px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.84);
    border-radius:22px;
    background:#fff;
    box-shadow:0 28px 75px rgba(16,42,71,.30);
}
.app-feedback-box:before{
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:5px;
    background:#315f7b;
    content:"";
}
.app-feedback-heading{display:flex;align-items:center;gap:14px;padding-right:35px;}
.app-feedback-icon{
    display:grid;
    place-items:center;
    flex:0 0 46px;
    width:46px;
    height:46px;
    border-radius:15px;
    background:#e8f0f4;
    color:#315f7b;
    font-size:22px;
    font-weight:900;
}
.app-feedback-heading small{
    display:block;
    margin-bottom:3px;
    color:#718292;
    font-size:10px;
    font-weight:850;
    letter-spacing:.1em;
}
.app-feedback-heading h2{
    margin:0;
    color:#153751;
    font-size:23px;
    line-height:1.16;
    letter-spacing:-.025em;
}
.app-feedback-message{
    margin:18px 0 0;
    color:#526879;
    font-size:14px;
    font-weight:650;
    line-height:1.55;
    white-space:pre-line;
}
.app-feedback-input-wrap{display:block;margin-top:18px;}
.app-feedback-input-wrap>span{
    display:block;
    color:#435d70;
    font-size:12px;
    font-weight:800;
}
.app-feedback-input-wrap .input{
    min-height:48px;
    margin-top:7px;
    border-color:#cbdbe5;
    background:#f9fbfc;
    font-size:15px;
}
.app-feedback-input-wrap .input:focus{
    outline:3px solid rgba(49,95,123,.14);
    border-color:#7595a9;
    background:#fff;
}
.input-feedback-error{
    border-color:#cf7771!important;
    background:#fff7f6!important;
    box-shadow:0 0 0 3px rgba(183,77,72,.10)!important;
}
.login-feedback-error{
    border-color:#d7938f!important;
    background:#fff8f7!important;
    animation:loginFeedbackShake .42s ease;
}
@keyframes loginFeedbackShake{
    0%,100%{transform:translateX(0);}
    25%{transform:translateX(-5px);}
    50%{transform:translateX(5px);}
    75%{transform:translateX(-3px);}
}
.app-feedback-actions{
    display:flex;
    justify-content:flex-end;
    gap:9px;
    margin-top:23px;
}
.app-feedback-actions .btn{
    width:auto;
    min-width:125px;
    min-height:45px;
    margin:0;
    padding:10px 15px;
}
.app-feedback-actions .btn-primary{background:#315f7b;color:#fff;}
.app-feedback-actions .btn-secondary{border:1px solid #d2dfe7;background:#f2f6f8;color:#3f596b;}
.app-feedback-close{
    position:absolute;
    top:17px;
    right:17px;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid #d9e4ea;
    border-radius:11px;
    background:#f5f8fa;
    color:#607687;
    font-size:21px;
    line-height:1;
    cursor:pointer;
}
.app-feedback-close:hover{border-color:#bfcfd9;background:#edf3f6;color:#274e68;}
.app-feedback-box[data-feedback-type="success"]:before{background:#39845c;}
.app-feedback-box[data-feedback-type="success"] .app-feedback-icon{background:#e5f3eb;color:#28734d;}
.app-feedback-box[data-feedback-type="error"]:before{background:#b74d48;}
.app-feedback-box[data-feedback-type="error"] .app-feedback-icon{background:#f8e8e7;color:#a33e39;}
.app-feedback-box[data-feedback-type="warning"]:before{background:#c58433;}
.app-feedback-box[data-feedback-type="warning"] .app-feedback-icon{background:#fbefdf;color:#a66520;}
.app-feedback-box[data-feedback-type="question"]:before{background:#7357a6;}
.app-feedback-box[data-feedback-type="question"] .app-feedback-icon{background:#eee8f7;color:#674d98;}
.app-feedback-box[data-feedback-type="warning"] .app-feedback-actions .btn-primary{
    background:#9a6228;
}

#toast{
    position:fixed;
    bottom:max(22px,env(safe-area-inset-bottom));
    left:50%;
    display:flex;
    align-items:center;
    gap:11px;
    width:max-content;
    max-width:min(520px,calc(100vw - 32px));
    padding:13px 17px;
    transform:translateX(-50%);
    border:1px solid rgba(255,255,255,.34);
    border-radius:15px;
    background:#315f7b;
    color:#fff;
    box-shadow:0 16px 38px rgba(17,43,65,.25);
    font-size:14px;
    font-weight:750;
    line-height:1.4;
    white-space:pre-line;
    z-index:10010;
}
.toast-icon{
    display:grid;
    place-items:center;
    flex:0 0 26px;
    width:26px;
    height:26px;
    border-radius:9px;
    background:rgba(255,255,255,.18);
    font-size:14px;
    font-weight:900;
}
#toast.toast-success{background:#28734d;}
#toast.toast-error{background:#a33e39;}
#toast.toast-warning{background:#9a6228;}
#toast.toast-info{background:#315f7b;}

@media(max-width:520px){
    .app-feedback-box{padding:23px 18px 18px;border-radius:19px;}
    .app-feedback-heading{padding-right:30px;}
    .app-feedback-icon{flex-basis:42px;width:42px;height:42px;border-radius:13px;}
    .app-feedback-heading h2{font-size:21px;}
    .app-feedback-actions{display:grid;grid-template-columns:1fr;}
    .app-feedback-actions .btn{width:100%;}
    .app-feedback-actions .btn-primary{order:-1;}
    #toast{bottom:max(14px,env(safe-area-inset-bottom));width:calc(100vw - 28px);}
}

.qty{
    display:flex;
    justify-content:center;
    gap:18px;
    align-items:center;
    margin:18px 0;
}

.qty button{
    width:70px;
    height:70px;
    font-size:28px;
}

.history-item{
    margin-bottom:10px;
}

@media(max-width:900px){
    .shell{
        grid-template-columns:1fr;
    }

    .sidebar{
        order:2;
    }

    .content{
        order:1;
    }
}

.legal-links{
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
    margin-top:20px;
}

.linkbtn{
    border:none;
    background:none;
    color:var(--accent);
    cursor:pointer;
    font-size:14px;
    text-decoration:underline;
    padding:4px;
}

.legal-note{
    margin-top:18px;
    font-size:13px;
    color:var(--muted);
    line-height:1.5;
    text-align:center;
}

.history-item.sponsored {
    opacity: 0.65;
}

.history-sponsored-note {
    text-decoration: line-through;
    font-style: italic;
}

.quick-sections {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}

.category-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.quick-sections .product {
    padding: 6px 0;
}

.quick-item {
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    padding: 10px 12px;
    margin-bottom: 8px;
    cursor: pointer;
    font-weight: 600;
    transition: all .15s ease;
}

.quick-item:hover {
    background: #dbeafe;
    transform: translateY(-1px);
}

.quick-sections .card {
    min-height: 0;
}

.quick-sections h2 {
    margin-top: 0;
    margin-bottom: 12px;
}

.category-grid .product {
    padding: 14px;
    display: flex;
    align-items: center;
    min-height: 70px;
}

.category-grid .product h3 {
    margin: 0;
    font-size: 1.1rem;
}

#userInfo {
    margin-bottom: 4px;
}

#employeeNav,
#adminNav {
    margin-top: 8px;
}

.sidebar-title {
    margin-bottom: 20px;
    font-size: 1.8rem;
    color: #1e293b;
}

.employee-open{
    border-left:8px solid #bdbdbd;
}

.employee-done{
    border-left:8px solid #2e7d32;
}

.employee{

    min-height:150px;

    display:flex;
    flex-direction:column;

    padding:18px;

    transition:.15s;

    border-radius:18px;

    box-shadow:
    0 4px 18px rgba(0,0,0,.08);

   transition:
   transform .15s,
   box-shadow .15s;
}

.employee:hover{

    transform:translateY(-3px);

    box-shadow:
    0 10px 28px rgba(0,0,0,.15);

}

.employee-name{

    font-size:24px;

    font-weight:700;

    line-height:1.25;

    text-align:center;

    margin-bottom:12px;

}

.employee-status{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:34px;

    letter-spacing:10px;

    min-height:56px;

}

.employee-balance{

    text-align:center;

    font-size:15px;

    font-weight:600;

    margin-top:10px;

}

.employee:active{

    transform:scale(.98);

}

#finishOrderBtn{

    position:fixed;

    right:30px;
    bottom:30px;

    z-index:9999;

    width:auto !important;
    min-width:180px;

    padding:16px 24px;

    background:#2e7d32;
    color:#fff;

    border:none;
    border-radius:16px;

    font-size:18px;
    font-weight:700;

    cursor:pointer;

    box-shadow:0 14px 35px rgba(0,0,0,.25);

    transform:translateY(80px);

    opacity:0;

    transition:
        transform .25s ease,
        opacity .25s ease;

}

#finishOrderBtn.show{

    transform:translateY(0);

    opacity:1;

}

.balance-positive{

    color:#2e7d32;

    font-weight:700;

}

.balance-negative{

    color:#c62828;

    font-weight:700;

}

.balance-zero{

    color:#777;

}

.employee-stats{

    display:flex;

    gap:20px;

    margin:25px 0 30px;

}

.employee-stat{

    flex:1;

    background:#fff;

    border-radius:14px;

    padding:18px;

    text-align:center;

    box-shadow:0 4px 15px rgba(0,0,0,.08);

}

.stat-icon{

    font-size:30px;

}

.stat-value{

    font-size:30px;

    font-weight:700;

    margin-top:8px;

}

.stat-label{

    color:#666;

    margin-top:6px;

}

.employee-stats-bar{

    display:flex;

    align-items:center;

    gap:14px;

    margin:8px 0 10px;

    padding:12px 18px;

    background:#f5f7fa;

    border-radius:14px;

    color:#444;

    font-size:17px;

    font-weight:600;

    flex-wrap:wrap;

}

.employee-group-btn,
.employee-helper-select{
    border:1px solid #cbdcf2;
    background:#fff;
    color:#1e3a5f;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    min-height:38px;
    padding:7px 12px;
    border-radius:10px;
    box-shadow:0 1px 2px rgba(15, 23, 42, .05);
    transition:background .15s ease, border-color .15s ease, transform .15s ease;
}

.employee-group-btn:hover,
.employee-group-btn:focus,
.employee-helper-select:hover,
.employee-helper-select:focus{
    background:#eaf2ff;
    border-color:#60a5fa;
    outline:none;
}

.employee-group-btn:active{
    transform:scale(.98);
}

.employee-helper-select{
    min-width:215px;
    max-width:260px;
    color:#1e293b;
    font-weight:600;
}

.employee-department-btn{
    border:0;
    background:transparent;
    color:#1e3a5f;
    font:inherit;
    font-weight:800;
    cursor:pointer;
    padding:2px 0;
}

.employee-selection-bar{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 12px;
    padding:10px 12px;
    background:#eaf2ff;
    border:1px solid #d6e5fb;
    border-radius:14px;
}

.employee-selection-inline{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin-left:0;
    padding-left:0;
    border-left:0;
}

.employee-selection-divider{margin:0 2px;}

.employee-selection-inline .employee-group-btn,
.employee-selection-inline .employee-helper-select{
    min-height:34px;
    padding:6px 10px;
    font-size:14px;
}

.employee-selection-inline .employee-helper-select{
    flex:0 1 190px;
    min-width:180px;
    width:195px;
    max-width:220px;
}

.return-to-department-btn{
    min-height:34px;
    padding:6px 10px;
    font-size:14px;
}

.employee-kitchen-btn{
    min-height:34px;
    padding:6px 10px;
    border:1px solid #fdba74;
    border-radius:9px;
    background:#fff7ed;
    color:#9a3412;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
    white-space:nowrap;
}

.employee-kitchen-btn:hover{
    background:#ffedd5;
}

.employee-ideas-btn{
    border-color:#c4b5fd;
    background:#f5f3ff;
    color:#5b21b6;
}
.employee-ideas-btn:hover{background:#ede9fe;}


.employee-subline{
    min-height:16px;
    color:#64748b;
    font-size:12px;
    font-weight:600;
    line-height:1.2;
    text-align:center;
    margin-top:-2px;
    margin-bottom:4px;
}

.admin-profile-divider{
    grid-column:1 / -1;
    margin:10px 0 0;
    padding:12px 14px;
    color:#475569;
    background:#f1f5f9;
    border:1px solid #dbe4ef;
    border-radius:12px;
    font-weight:800;
}

.admin-archive-intro{
    grid-column:1 / -1;
    margin:0 0 4px;
    padding:12px 14px;
    color:#92400e;
    background:#fff7ed;
    border:1px solid #fed7aa;
    border-radius:12px;
    font-weight:800;
}

.admin-person-profile-note{
    color:#64748b;
    font-size:13px;
    font-weight:700;
    margin-bottom:8px;
}

.employee-account-scope{
    margin:10px 0;
    padding:10px 12px;
    color:#475569;
    background:#f8fafc;
    border-left:3px solid #94a3b8;
    border-radius:8px;
    font-size:13px;
    font-weight:650;
    line-height:1.4;
}

.admin-employee-principles{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:0 0 18px;
}
.admin-employee-principles>div{
    background:#f4f8ff;
    border:1px solid #d8e5f8;
    border-radius:12px;
    padding:12px;
    display:flex;
    flex-direction:column;
    gap:5px;
}
.admin-employee-principles strong{color:#173c69;font-size:14px;}
.admin-employee-principles span{font-size:12px;line-height:1.35;color:#49627f;}
@media (max-width:900px){.admin-employee-principles{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:520px){.admin-employee-principles{grid-template-columns:1fr;}}

.catalog-wizard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;}
.catalog-step{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start;}
.catalog-step>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#dceaff;color:#1d57b8;font-weight:800;}
.catalog-step label{font-size:13px;font-weight:700;color:#294664;}
.catalog-step .input{margin-top:5px;}
.catalog-action{align-items:center;}.catalog-action strong{font-size:13px;color:#45627d;}.catalog-action .btn{grid-column:2;}
.catalog-category-list{display:grid;gap:10px;}
.catalog-category-card{display:grid;grid-template-columns:24px minmax(160px,1fr) minmax(220px,360px);gap:12px;align-items:center;padding:14px 16px;background:#fff;border:1px solid #dce7f6;border-radius:14px;box-shadow:0 5px 14px rgba(24,60,105,.05);}
.catalog-category-card input[type="checkbox"]{width:18px;height:18px;}
.catalog-category-card span{display:grid;gap:3px;}.catalog-category-card small{color:#647b93;font-size:12px;line-height:1.35;}
@media(max-width:900px){.catalog-wizard{grid-template-columns:1fr;}.catalog-category-card{grid-template-columns:24px 1fr;}.catalog-category-card select{grid-column:2;}}

.admin-employee-filter{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    align-items:end;
}

.admin-employee-filter h2{
    grid-column:1 / -1;
    margin:0;
}

.admin-employee-filter .input,
.admin-employee-filter .btn{
    margin:0;
}

@media(max-width:700px){
    .admin-employee-filter{
        grid-template-columns:1fr;
    }
}

.employee-stat-divider{

    color:#bbb;

    font-weight:400;

}

.meal-signup-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

@media(max-width:560px){
    .meal-signup-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:700px){
    .employee-selection-bar{
        align-items:stretch;
    }

    .employee-group-btn,
    .employee-helper-select{
        flex:1 1 145px;
        max-width:none;
    }
}

/* Frühstücksvorbereitung: großzügig lesbar für Küchen-Tablets */
.breakfast-layout{
    display:grid;
    grid-template-columns:280px minmax(0, 1fr);
    gap:20px;
    align-items:start;
}

.breakfast-order-groups{
    display:grid;
    gap:12px;
}

.breakfast-order-group{
    border:1px solid #dbeafe;
    border-radius:14px;
    overflow:hidden;
    background:#f8fbff;
}

.breakfast-order-heading,
.breakfast-order-variant{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.breakfast-order-heading{
    padding:14px 18px;
    background:#eaf2ff;
    color:#1e3a5f;
    font-size:24px;
    font-weight:700;
}

.breakfast-order-heading strong{
    color:#2563eb;
    white-space:nowrap;
}

.breakfast-order-variants{
    padding:4px 18px;
}

.breakfast-order-variant{
    min-height:44px;
    border-top:1px solid #dbeafe;
    font-size:20px;
    font-weight:600;
}

.breakfast-order-variant:first-child{
    border-top:none;
}

.breakfast-order-variant strong{
    color:#2563eb;
    font-size:22px;
    white-space:nowrap;
}

@media(max-width:700px){
    .breakfast-layout{
        grid-template-columns:1fr;
    }

    #breakfastSummary > div{
        grid-template-columns:repeat(3, 1fr) !important;
    }
}

@media(max-width:560px){
    #breakfastSummary > div{
        grid-template-columns:1fr !important;
    }

    .breakfast-order-heading{
        font-size:21px;
    }

    .breakfast-order-variant{
        font-size:18px;
    }
}

/* Kompakte Mitarbeiterauswahl für Tablets und große Abteilungen */
.employee-grid{
    grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));
    gap:14px;
    padding:14px 6px;
}

.employee{
    min-height:118px;
    padding:12px 10px;
    border-left-width:6px;
    border-radius:14px;
}

.employee-name{
    font-size:18px;
    line-height:1.2;
    margin-bottom:6px;
}

.employee-status{
    min-height:34px;
    font-size:22px;
    letter-spacing:4px;
}

.employee-balance{
    font-size:12px;
    margin-top:6px;
}

.meal-closed-note{
    color:#1d4ed8;
    font-weight:600;
    background:#eff6ff;
    border-left:4px solid #2563eb;
    border-radius:8px;
    padding:10px 12px;
    line-height:1.45;
}

.btn:disabled{
    cursor:not-allowed;
    opacity:.65;
}

@media(max-width:560px){
    .employee-grid{
        grid-template-columns:repeat(auto-fill, minmax(112px, 1fr));
        gap:10px;
        padding:10px 0;
    }

    .employee{
        min-height:108px;
        padding:10px 8px;
    }

    .employee-name{
        font-size:16px;
    }
}

/* Mahlzeit-Symbole auch bei drei Anmeldungen in einer Zeile halten */
.employee-status{
    flex-wrap:nowrap;
    white-space:nowrap;
    font-size:18px;
    letter-spacing:1px;
    gap:2px;
}

/* Küchenansicht: Informationen schnell erfassbar und tabletfreundlich */
.breakfast-kitchen-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:8px 4px 4px}
.breakfast-kitchen-kicker,.breakfast-panel-kicker{color:#64748b;font-size:12px;font-weight:800;letter-spacing:.09em}
.breakfast-header-actions{display:flex;align-items:center;gap:8px}.breakfast-refresh,.breakfast-back,.breakfast-view-toggle{width:auto;margin:0;white-space:nowrap}
.breakfast-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.breakfast-stat{display:flex;align-items:center;gap:14px;padding:15px 18px;border-radius:14px;color:#0f2744;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.07);border:1px solid #e3edf9}
.breakfast-stat-icon{font-size:30px}.breakfast-stat strong{display:block;font-size:29px;line-height:1}.breakfast-stat span:last-child{display:block;margin-top:4px;color:#64748b;font-size:14px;font-weight:700}.breakfast-stat-persons strong{color:#2563eb}.breakfast-stat-orders strong{color:#15803d}.breakfast-stat-ingredients strong{color:#c2410c}
.breakfast-kitchen-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,360px);gap:16px;align-items:start}
.breakfast-orders-panel,.breakfast-ingredients-panel{margin:0;padding:18px}.breakfast-ingredients-panel{position:sticky;top:14px}
.breakfast-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:13px;margin-bottom:14px;border-bottom:1px solid #dbe7f6}.breakfast-panel-heading h2{margin:2px 0 0;font-size:22px;color:#0f2744}
.breakfast-panel-count{padding:8px 11px;border-radius:999px;color:#1d4ed8;background:#eaf2ff;font-size:16px;font-weight:800;white-space:nowrap}
.breakfast-order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.breakfast-order-card{min-height:108px;padding:14px;border:1px solid #cfe0f7;border-radius:13px;background:linear-gradient(145deg,#fafdff,#edf5ff)}
.breakfast-order-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.breakfast-order-name{color:#163b64;font-size:18px;font-weight:800;line-height:1.25}.breakfast-order-total{flex:0 0 auto;color:#fff;background:#2563eb;padding:5px 9px;border-radius:9px;font-size:20px;line-height:1}
.breakfast-variant-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.breakfast-variant-chip{padding:5px 8px;border-radius:7px;color:#334155;background:#fff;border:1px solid #d7e4f5;font-size:14px;font-weight:700}.breakfast-variant-chip strong{color:#1d4ed8;margin-left:4px}.breakfast-standard-note{margin-top:17px;color:#64748b;font-size:14px;font-weight:700}
.breakfast-ingredient-list{display:grid;gap:7px}.breakfast-ingredient-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:9px 10px;border-bottom:1px solid #e6edf5}.breakfast-ingredient-row:last-child{border-bottom:0}.breakfast-ingredient-name{color:#1e293b;font-size:17px;font-weight:750}.breakfast-ingredient-row strong{color:#15803d;font-size:21px;white-space:nowrap}.breakfast-ingredient-row small{font-size:13px}.breakfast-empty-state{padding:34px 16px;color:#64748b;text-align:center;font-weight:700}
.breakfast-ingredient-group+.breakfast-ingredient-group{margin-top:16px;padding-top:15px;border-top:1px solid #dfe8ee;}.breakfast-ingredient-group h3{margin:0 0 6px;padding:0 2px;color:#315f7b;font-size:13px;font-weight:850;letter-spacing:.045em;text-transform:uppercase;}.ingredient-preparation-fields{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px;margin-top:8px;}.ingredient-preparation-fields label{display:grid;gap:4px;color:#64748b;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;}.ingredient-preparation-fields .input{margin:0!important;min-height:37px!important;padding:7px 9px!important;font-size:13px!important;text-transform:none;letter-spacing:normal;}@media(max-width:560px){.ingredient-preparation-fields{grid-template-columns:1fr;}.breakfast-ingredient-group+.breakfast-ingredient-group{margin-top:13px;padding-top:13px;}}
@media(max-width:900px){.breakfast-kitchen-layout{grid-template-columns:1fr}.breakfast-ingredients-panel{position:static}}
@media(max-width:560px){.breakfast-kitchen-header{align-items:flex-start;flex-direction:column}.breakfast-header-actions{width:100%;flex-direction:column}.breakfast-summary,.breakfast-order-grid{grid-template-columns:1fr}.breakfast-refresh,.breakfast-back,.breakfast-view-toggle{width:100%}}

.breakfast-focus-mode .sidebar{display:none;}
.breakfast-focus-mode .shell{grid-template-columns:minmax(0,1fr);}

/* Tabellarische Frühstücksvorbereitung */
.breakfast-table-panel{
    overflow:hidden;
    border:1px solid #dbe7f6;
    border-radius:18px;
    background:#fff;
    box-shadow:0 7px 20px rgba(15,23,42,.06);
}
.breakfast-table-scroll{overflow:auto;}
.breakfast-order-table{width:100%;min-width:620px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:15px;}
.breakfast-order-table th,.breakfast-order-table td{padding:14px 13px;border-bottom:1px solid #e7eef7;text-align:center;}
.breakfast-order-table thead th{position:sticky;top:0;background:#eff6ff;color:#1e3a5f;font-size:13px;font-weight:850;line-height:1.15;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none;z-index:1;}
.breakfast-order-table th:first-child{position:sticky;left:0;text-align:left;z-index:2;}
.breakfast-order-table thead th:first-child{z-index:3;background:#eff6ff;}
.breakfast-order-table tbody th{width:130px;min-width:130px;background:#fff;color:#1e293b;font-weight:800;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none;}
.breakfast-long-name{font-size:12px;line-height:1.15;}
.breakfast-order-table tbody td{color:#64748b;font-weight:700;}
.breakfast-order-table tbody td:not(:last-child){color:#1d4ed8;}
.breakfast-order-table .breakfast-person-total{background:#f8fbff;color:#0f2744;font-weight:850;}
.breakfast-order-table tfoot th,.breakfast-order-table tfoot td{border-bottom:0;background:#eaf2ff;color:#163b64;font-size:16px;font-weight:850;}
.breakfast-order-table-dense{min-width:0;font-size:12px;}
.breakfast-order-table-dense th,.breakfast-order-table-dense td{padding:9px 5px;}
.breakfast-order-table-dense thead th{font-size:11px;}
.breakfast-order-table-dense tbody th{width:130px;min-width:130px;font-size:12px;}
.breakfast-order-table-dense .breakfast-long-name{font-size:11px;}
.breakfast-order-table-dense tfoot th,.breakfast-order-table-dense tfoot td{font-size:13px;}

/* Mitarbeitenden-Shop: klare Auswahl statt leerer Listen */
.shop-intro{margin:2px 0 18px}.shop-eyebrow{display:block;color:#64748b;font-size:12px;font-weight:800;letter-spacing:.1em}.shop-intro h2{margin:5px 0 0;font-size:28px;color:#0f2744}
.shop-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.shop-quick-card,.shop-categories-section{background:#fff;border:1px solid #e4ecf6;border-radius:18px;padding:18px;box-shadow:0 6px 20px rgba(15,23,42,.05)}
.shop-section-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.shop-section-heading>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf5ff;font-size:21px}.shop-section-heading h3{margin:0;color:#102a47;font-size:20px}.shop-section-heading p{margin:2px 0 0;color:#64748b;font-size:13px;font-weight:600}
.shop-quick-list{display:grid;gap:8px}.shop-quick-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 12px;border:1px solid #dbe8f8;border-radius:11px;background:#f8fbff;color:#1e293b;text-align:left;font:inherit;font-weight:750;cursor:pointer;transition:.15s}.shop-quick-item b{color:#2563eb;font-size:21px;line-height:1}.shop-quick-item:hover{background:#eaf2ff;border-color:#93c5fd;transform:translateY(-1px)}.shop-empty-note{padding:16px 4px;color:#94a3b8;font-size:14px;font-weight:600}
.shop-favorite-empty{display:grid;gap:5px;padding:13px 3px;color:#6c7e8f;line-height:1.4;}.shop-favorite-empty strong{color:#806600;font-size:14px;}.shop-favorite-empty span{font-size:13px;font-weight:600;}
.shop-categories-section{padding:20px}.shop-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.shop-category-card{display:flex;align-items:center;gap:12px;min-height:100px;padding:14px;border:1px solid #dfeaf7;border-radius:15px;background:linear-gradient(145deg,#fff,#f5f9ff);color:#102a47;text-align:left;cursor:pointer;transition:.16s}.shop-category-card:hover{border-color:#7db3f3;box-shadow:0 8px 20px rgba(37,99,235,.12);transform:translateY(-2px)}.shop-category-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:#eaf2ff;font-size:23px}.shop-category-card span:nth-child(2){min-width:0}.shop-category-card strong,.shop-category-card small{display:block}.shop-category-card strong{font-size:17px}.shop-category-card small{margin-top:3px;color:#64748b;font-size:12px;font-weight:600}.shop-category-card>b{margin-left:auto;color:#2563eb;font-size:24px}
.shop-category-top{display:flex;align-items:center;gap:14px;margin:0 0 16px}.shop-category-top h2{margin:3px 0 0;color:#102a47;font-size:27px}.shop-back-btn{width:auto;margin:0;white-space:nowrap}.shop-category-top .shop-eyebrow{font-size:11px}
#productGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.shop-product-card{display:flex;flex-direction:column;aspect-ratio:1/1;padding:14px;border:1px solid #dfeaf7;border-radius:16px;background:#fff;color:#102a47;text-align:left;cursor:pointer;box-shadow:0 5px 16px rgba(15,23,42,.05);transition:.16s}.shop-product-card:hover{border-color:#7db3f3;box-shadow:0 10px 24px rgba(37,99,235,.13);transform:translateY(-2px)}.shop-product-card:disabled{cursor:not-allowed;opacity:.58;transform:none}.shop-product-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.shop-product-card h3{margin:0;font-size:17px;line-height:1.25}.shop-product-card p{margin:9px 0;color:#64748b;font-size:13px;line-height:1.35}.shop-product-card-bottom{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-top:auto}.shop-product-card-bottom strong{color:#1d4ed8;font-size:21px}.shop-product-card-bottom span{color:#b91c1c;font-size:12px;font-weight:800}.shop-stock{padding:4px 6px;border-radius:7px;background:#ecfdf5;color:#15803d;font-size:11px;font-weight:800;white-space:nowrap}.shop-stock-low{background:#fff7ed;color:#c2410c}.shop-stock-out{background:#fef2f2;color:#b91c1c}.shop-empty-products{padding:35px;background:#fff;border:1px dashed #cbd5e1;border-radius:16px;color:#64748b;text-align:center;font-weight:700}
.modal:has(.shop-order-modal){background:rgba(15,23,42,.52);backdrop-filter:blur(5px)}.modal-box:has(.shop-order-modal){max-width:480px;padding:0;overflow:hidden}.shop-order-modal{padding:25px}.shop-order-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.shop-order-product{min-width:0;}.shop-order-header h2{margin:5px 0 0;color:#102a47;font-size:25px}.shop-order-description{margin:8px 0 0;color:#5d6d80;font-size:14px;font-weight:600;line-height:1.45;overflow-wrap:anywhere;white-space:pre-line;}.shop-favorite-toggle{flex:0 0 46px;width:46px;height:46px;border:1px solid #d7e4f5;border-radius:12px;background:#fff;color:#eab308;font-size:30px;line-height:1;cursor:pointer}.shop-order-price{margin:16px 0;color:#334155;font-size:17px;font-weight:800}.shop-order-price span{color:#64748b;font-size:14px;font-weight:600}.shop-quantity-control{display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:14px;margin:22px 0}.shop-quantity-control button{height:58px;border:0;border-radius:14px;background:#eaf2ff;color:#1d4ed8;font-size:31px;font-weight:800;cursor:pointer}.shop-quantity-control strong{text-align:center;color:#102a47;font-size:38px}.shop-order-total{display:flex;align-items:center;justify-content:space-between;margin:12px 0 18px;padding:14px;border-radius:13px;background:#f1f7ff;color:#475569;font-weight:700}.shop-order-total strong{color:#102a47;font-size:24px}.shop-order-submit{margin:0;width:100%;min-height:52px;font-size:17px}.shop-order-cancel{display:block;width:100%;margin:11px 0 0;padding:8px;border:0;background:none;color:#64748b;font:inherit;font-weight:700;cursor:pointer}
@media(max-width:1050px){.shop-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.shop-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.shop-quick-grid,.shop-category-grid{grid-template-columns:1fr}.shop-category-top{align-items:flex-start;flex-direction:column}.shop-back-btn{width:100%}.shop-product-card{min-height:0}.shop-order-modal{padding:20px}}

/* Zwei Mahlzeiten passen auf ein Tablet im Querformat nebeneinander. */
#adminLunchParticipants{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
    align-items:start;
}

#adminLunchParticipants > .card{
    margin:0;
}

.history-note{
    margin-top:6px;
    color:#666;
    line-height:1.5;
    white-space:pre-line;
}

.history-actor{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:4px 7px;
    width:max-content;
    max-width:100%;
    margin-top:7px;
    padding:4px 9px;
    border:1px solid #d8e4ef;
    border-radius:999px;
    background:#f3f7fb;
    color:#49647d;
    font-size:12px;
    line-height:1.2;
}

.history-actor strong{
    color:#183b5b;
    font-weight:700;
}

.history-sponsorship-total{
    margin-top:8px;
    color:#1e3a5f;
    font-weight:700;
}

/* Persönliche Historie: einheitlicher, schnell erfassbarer Verlauf. */
#historyTab>h1{
    margin-bottom:16px;
}
#historyList{
    width:100%;
    max-width:1120px;
}
.employee-history-list{
    display:grid;
    gap:9px;
}
.history-entry{
    position:relative;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:13px;
    min-width:0;
    padding:14px 16px;
    overflow:hidden;
    border:1px solid #dce6ec;
    border-radius:16px;
    background:#fff;
    box-shadow:0 5px 15px rgba(32,67,91,.045);
}
.history-entry:before{
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    width:4px;
    background:#91a7b5;
    content:"";
}
.history-entry-icon{
    display:grid;
    place-items:center;
    align-self:start;
    width:40px;
    height:40px;
    border-radius:12px;
    background:#edf3f6;
    color:#315f7b;
    font-size:18px;
    font-weight:850;
}
.history-entry-body,
.history-entry-title{
    min-width:0;
}
.history-entry-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}
.history-entry-title{
    display:grid;
    gap:3px;
}
.history-entry-kind{
    color:#71838e;
    font-size:10px;
    font-weight:850;
    letter-spacing:.055em;
    line-height:1.1;
    text-transform:uppercase;
}
.history-entry-title>strong{
    color:#173753;
    font-size:16px;
    line-height:1.25;
    overflow-wrap:anywhere;
}
.history-entry-amount{
    flex:0 0 auto;
    padding:6px 9px;
    border-radius:10px;
    background:#f0f4f6;
    color:#38566b;
    font-size:15px;
    font-weight:850;
    line-height:1;
    white-space:nowrap;
}
.history-entry-note{
    margin-top:8px;
    padding:8px 10px;
    border-radius:10px;
    background:#f7f9fa;
    color:#536a79;
    font-size:13px;
    line-height:1.4;
    white-space:pre-line;
}
.history-entry-details{
    margin-top:7px;
    color:#6f818c;
    font-size:12px;
    font-weight:750;
}
.history-entry-footer{
    display:flex;
    align-items:center;
    gap:7px 13px;
    flex-wrap:wrap;
    margin-top:9px;
    color:#778892;
    font-size:11px;
    line-height:1.25;
}
.history-entry-footer time{
    white-space:nowrap;
}
.history-entry-actor{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding-left:12px;
    border-left:1px solid #d9e3e8;
}
.history-entry-actor strong{
    color:#3c5b70;
}
.history-entry--credit{
    border-color:#d2e6da;
    background:linear-gradient(105deg,#fbfefc,#fff 34%);
}
.history-entry--credit:before{background:#4c966b;}
.history-entry--credit .history-entry-icon{background:#e7f3eb;color:#2f7650;}
.history-entry--credit .history-entry-amount{background:#e8f5ed;color:#28704a;}
.history-entry--debit:before{background:#c68756;}
.history-entry--debit .history-entry-icon{background:#f8eee5;color:#925b32;}
.history-entry--debit .history-entry-amount{background:#fbefe8;color:#a14d38;}
.history-entry--meal:before{background:#6d8fc0;}
.history-entry--meal .history-entry-icon{background:#eaf0f8;color:#456d9e;}
.history-entry--meal .history-entry-amount{background:#eaf0f8;color:#456d9e;}
.history-entry--correction{
    border-color:#ead7bd;
    background:linear-gradient(105deg,#fffaf3,#fff 36%);
}
.history-entry--correction:before{background:#b67b37;}
.history-entry--correction .history-entry-icon,
.history-entry--correction .history-entry-amount{background:#f8ecd9;color:#8b5b26;}
.history-entry--sponsored{
    border-color:#d8e2e7;
    background:#f9fbfc;
}
.history-entry--sponsored:before{background:#7c929f;}
.history-entry--sponsored .history-entry-icon,
.history-entry--sponsored .history-entry-amount{background:#eaf0f3;color:#58707e;}
.history-empty-state{
    display:grid;
    place-items:center;
    min-height:220px;
    padding:30px;
    border:1px dashed #cbd9e1;
    border-radius:18px;
    background:rgba(255,255,255,.68);
    color:#607582;
    text-align:center;
}
.history-empty-state>span{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    margin-bottom:10px;
    border-radius:14px;
    background:#eaf1f5;
    font-size:23px;
}
.history-empty-state strong{color:#294e68;font-size:17px;}
.history-empty-state p{max-width:440px;margin:5px 0 0;font-size:13px;line-height:1.4;}
@media(max-width:600px){
    .history-entry{
        grid-template-columns:36px minmax(0,1fr);
        gap:10px;
        padding:12px;
        border-radius:14px;
    }
    .history-entry-icon{
        width:34px;
        height:34px;
        border-radius:10px;
        font-size:16px;
    }
    .history-entry-heading{
        gap:8px;
    }
    .history-entry-title>strong{
        font-size:15px;
    }
    .history-entry-amount{
        padding:5px 7px;
        font-size:13px;
    }
    .history-entry-actor{
        width:100%;
        padding:0;
        border-left:0;
    }
}

.sponsorship-filter{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.sponsorship-filter .input{
    width:auto;
    min-width:180px;
    margin-top:0;
}

.sponsorship-filter .btn{
    width:auto;
    margin-top:0;
    white-space:nowrap;
}

#sponsorshipArea .card{
    max-width:900px;
    margin-top:18px;
}

#sponsorshipArea .card h3{
    margin-top:0;
    font-size:20px;
}

.product-admin-title{display:flex;justify-content:space-between;align-items:center;gap:12px;}

@media(max-width:900px){
    #adminLunchParticipants{
        grid-template-columns:1fr;
    }

    .sponsorship-filter{
        justify-content:stretch;
    }

    .sponsorship-filter .input,
    .sponsorship-filter .btn{
        width:100%;
    }
}

@media(max-width:900px){
    #adminLunchParticipants{
        grid-template-columns:1fr;
    }
}

/* Einheitliche, kompakte Verwaltungskarten für 10-Zoll-Tablets */
#adminProducts,
#adminIngredients,
#adminCategories,
#adminEmployees,
#adminDepartments,
#adminPersonGroups,
#adminUsers{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(290px, 1fr));
    gap:16px;
    margin-top:26px;
}

#adminProducts > .card,
#adminIngredients > .card,
#adminCategories > .card,
#adminEmployees > .card,
#adminDepartments > .card,
#adminPersonGroups > .card,
#adminUsers > .card{
    margin:0;
    padding:16px;
    border:1px solid #dbeafe;
    box-shadow:0 6px 16px rgba(30,60,120,.08);
}

#adminProducts h3,
#adminIngredients h3,
#adminCategories h3,
#adminEmployees h3,
#adminDepartments h3,
#adminPersonGroups h3,
#adminUsers h3{
    margin:0 0 10px;
    font-size:18px;
}

#adminProducts h3{
    display:none;
}

#adminIngredients h3,
#adminCategories h3,
#adminEmployees h3,
#adminDepartments h3,
#adminPersonGroups h3,
#adminUsers h3{
    display:none;
}

.admin-inactive-divider{
    grid-column:1 / -1;
    margin:10px 0 -2px;
    padding:10px 12px;
    border-top:2px solid #cbd5e1;
    color:#64748b;
    font-size:14px;
    font-weight:700;
}

.admin-inactive-card{
    opacity:.72;
    background:#f8fafc !important;
    box-shadow:none !important;
}

#adminProducts .input,
#adminIngredients .input,
#adminCategories .input,
#adminEmployees .input,
#adminDepartments .input,
#adminPersonGroups .input,
#adminUsers .input{
    padding:10px 12px;
    margin-top:8px;
}

#adminProducts .btn,
#adminIngredients .btn,
#adminCategories .btn,
#adminEmployees .btn,
#adminDepartments .btn,
#adminPersonGroups .btn,
#adminUsers .btn{
    width:auto;
    min-height:42px;
    padding:10px 12px;
    margin-top:8px;
}

.admin-section-gap{height:22px;}
.admin-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
#adminPersonGroups .muted{min-height:38px;margin:10px 0 0;line-height:1.4;}

#adminBilling .card,
#adminLunchParticipants .card,
#sponsorshipArea .card{
    padding:16px;
}

#adminBilling .table{
    font-size:14px;
}

#adminBilling .input{
    padding:10px 12px;
}

.billing-toolbar{
    margin-bottom:20px;
    padding:16px;
}

.billing-toolbar .input{margin-top:0;}

.billing-filter-buttons{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:12px;
}

.billing-filter-buttons .btn{
    width:auto;
    min-width:120px;
    margin-top:0;
}

.billing-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
    gap:16px;
}

.billing-account{
    margin:0;
    padding:16px;
    border:1px solid #dbeafe;
    box-shadow:0 6px 16px rgba(30,60,120,.08);
}

.billing-debt{border-left:5px solid #dc2626;background:#fffafa;}
.billing-credit{border-left:5px solid #16a34a;background:#f7fdf8;}
.billing-balanced{border-left:5px solid #94a3b8;}

.billing-account-header{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
}

.billing-account h3{margin:0;font-size:19px;}
.billing-account-header span{display:block;margin-top:4px;color:var(--muted);font-size:14px;}
.billing-amount{text-align:right;}
.billing-amount small{display:block;color:var(--muted);}
.billing-amount strong{display:block;margin-top:3px;font-size:21px;}
.billing-debt .billing-amount strong{color:#dc2626;}
.billing-credit .billing-amount strong{color:#15803d;}

.quick-deposit-row{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 10px;}
.quick-deposit-row .btn{width:auto;margin-top:0;padding:8px 10px;min-height:38px;}

.billing-manual-entry{display:flex;gap:8px;align-items:center;}
.billing-manual-entry .input{margin-top:0;flex:1;}
.billing-manual-entry .btn{width:auto;margin-top:0;white-space:nowrap;}
.billing-settle{margin-top:10px;}

@media(max-width:700px){
    .billing-grid{grid-template-columns:1fr;}
    .billing-filter-buttons .btn{flex:1;min-width:0;}
    .billing-manual-entry{align-items:stretch;flex-direction:column;}
    .billing-manual-entry .btn{width:100%;}
}

.audit-list{
    display:grid;
    gap:12px;
}

.audit-entry{
    padding:14px 16px;
    border:1px solid #dbeafe;
    border-left:5px solid #94a3b8;
    border-radius:14px;
    background:#fff;
    box-shadow:0 4px 12px rgba(30,60,120,.06);
}

.audit-credit{border-left-color:#16a34a;background:#f0fdf4;}
.audit-meal{border-left-color:#2563eb;background:#eff6ff;}
.audit-sponsorship{border-left-color:#7c3aed;background:#faf5ff;}
.audit-warning{border-left-color:#d97706;background:#fffbeb;}

.audit-entry-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}

.audit-action{display:flex;align-items:center;gap:8px;font-size:18px;}
.audit-icon{font-size:22px;}
.audit-entry time{color:var(--muted);font-size:13px;white-space:nowrap;}
.audit-actor{margin-top:8px;font-weight:600;color:#334155;}
.audit-details{margin-top:8px;white-space:pre-line;line-height:1.5;color:#475569;}

@media(max-width:700px){
    #adminProducts,
    #adminIngredients,
    #adminCategories,
    #adminEmployees,
    #adminDepartments,
    #adminUsers{
        grid-template-columns:1fr;
    }

    .audit-entry-header{align-items:flex-start;flex-direction:column;gap:4px;}
}

/* Log: Tagesbuchungen und administrative Vorgänge sind bewusst getrennt lesbar. */
.admin-log-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    max-width:1320px;
}
.admin-log-panel{
    overflow:hidden;
    border:1px solid #dce6ec;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 22px rgba(30,60,120,.06);
}
.admin-log-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 18px;
    border-bottom:1px solid #e7eef2;
    background:#f7fafb;
}
.admin-log-heading h2{margin:0;color:#183b55;font-size:19px;line-height:1.2;}
.admin-log-heading small{display:block;margin-top:3px;color:#718096;font-size:11px;font-weight:700;line-height:1.3;}
.admin-log-heading span{display:grid;place-items:center;min-width:29px;height:29px;padding:0 8px;border-radius:999px;background:#e8f0f4;color:#315f7b;font-size:13px;font-weight:800;}
.admin-log-list{display:grid;}
.admin-log-booking,.admin-log-activity{display:flex;align-items:flex-start;gap:11px;padding:13px 16px;border-bottom:1px solid #edf2f5;}
.admin-log-booking:last-child,.admin-log-activity:last-child{border-bottom:0;}
.admin-log-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#eef4f6;font-size:17px;}
.admin-log-main{min-width:0;flex:1;}
.admin-log-main strong,.admin-log-main small{display:block;}
.admin-log-main strong{color:#193a53;font-size:15px;line-height:1.22;}
.admin-log-main small{margin-top:3px;color:#627487;font-size:13px;line-height:1.3;overflow-wrap:anywhere;}
.admin-log-main p{margin:5px 0 0;color:#627487;font-size:12px;line-height:1.4;overflow-wrap:anywhere;}
.admin-log-amount{display:grid;justify-items:end;gap:4px;white-space:nowrap;}
.admin-log-amount time{color:#718096;font-size:12px;}
.admin-log-amount b{color:#b84a4a;font-size:13px;}
.admin-log-empty{padding:30px 18px;color:#718096;font-size:14px;line-height:1.45;text-align:center;}
.admin-log-toggle{display:block;width:auto!important;min-height:42px!important;margin:16px auto 0!important;padding:9px 16px!important;}
@media(max-width:850px){.admin-log-grid{grid-template-columns:1fr;}.admin-log-heading{padding:15px 16px;}}
@media(max-width:520px){.admin-log-booking,.admin-log-activity{padding:12px 13px;}.admin-log-main strong{font-size:14px;}.admin-log-main small{font-size:12px;}.admin-log-icon{flex-basis:31px;width:31px;height:31px;font-size:16px;}}

/* Systemadmin: bewusste Wahl des Verwaltungsbereichs nach der Anmeldung */
.admin-workspace-modal{width:min(540px,calc(100vw - 36px));padding:30px!important;border:1px solid #dce7ef;border-radius:22px!important;box-shadow:0 24px 70px rgba(20,50,76,.24)!important;}
.admin-workspace-kicker{display:block;margin-bottom:7px;color:#698097;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;}
.admin-workspace-modal h2{margin:0;color:#173955;font-size:26px;line-height:1.15;}
.admin-workspace-modal>p{margin:9px 0 22px;color:#627487;font-size:15px;line-height:1.45;}
.admin-workspace-choices{display:grid;gap:10px;}
.admin-workspace-choice{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;width:100%;min-height:72px;padding:12px 14px;border:1px solid #d9e6ed;border-radius:15px;background:#f8fbfc;color:#183b55;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;}
.admin-workspace-choice:hover,.admin-workspace-choice:focus-visible{border-color:#9db8c9;background:#fff;box-shadow:0 9px 20px rgba(31,72,101,.10);outline:0;transform:translateY(-1px);}
.admin-workspace-choice:disabled{cursor:wait;opacity:.64;transform:none;}
.admin-workspace-choice-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e6f0f4;color:#315f7b;font-size:21px;font-weight:800;}
.admin-workspace-choice strong,.admin-workspace-choice small{display:block;}
.admin-workspace-choice strong{font-size:16px;line-height:1.2;}
.admin-workspace-choice small{margin-top:3px;color:#718096;font-size:12px;font-weight:700;}
.admin-workspace-choice-arrow{color:#49728c;font-size:27px;font-weight:400;line-height:1;}
.admin-workspace-empty{margin:0;padding:16px;border:1px dashed #cbd9e2;border-radius:13px;color:#718096;text-align:center;}
@media(max-width:520px){.admin-workspace-modal{padding:24px!important;}.admin-workspace-modal h2{font-size:23px;}.admin-workspace-choice{min-height:66px;}}

/* Kostenübernahme: klarer Ablauf statt kleiner Filterzeile */
.sponsorship-workflow{max-width:1120px;padding:22px!important;}
.sponsorship-workflow-heading{display:flex;align-items:stretch;justify-content:space-between;gap:22px;margin-bottom:16px;}
.sponsorship-workflow-heading span,.sponsorship-workflow-heading small,.sponsorship-step small,.sponsorship-load-step small{display:block;color:#718096;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;}
.sponsorship-workflow-heading h2{margin:4px 0 0;color:#173955;font-size:25px;line-height:1.15;}
.sponsorship-workflow-hint{display:flex;align-items:center;max-width:390px;margin:0;padding:11px 14px;border:1px solid #dbe8ef;border-radius:13px;background:#f4f9fb;color:#527082;font-size:13px;font-weight:700;line-height:1.38;}
.sponsorship-workflow-hint::before{content:"i";display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;margin-right:9px;border-radius:50%;background:#dcecf2;color:#315f7b;font-family:Arial,sans-serif;font-size:13px;font-weight:900;}
.sponsorship-steps{display:grid;grid-template-columns:minmax(224px,.88fr) minmax(360px,1.35fr) minmax(224px,.88fr);gap:12px;align-items:stretch;}
.sponsorship-step,.sponsorship-load-step{position:relative;display:grid;min-width:0;min-height:164px;padding:17px 16px 15px;border:1px solid #dce7ed;border-radius:17px;background:#f9fbfc;}
.sponsorship-step-number{position:absolute;top:16px;left:15px;display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#e4eef3;color:#315f7b;font-size:13px;font-weight:900;}
.sponsorship-step strong,.sponsorship-load-step strong{color:#183b55;font-size:16px;line-height:1.15;}
.sponsorship-date-step,.sponsorship-meal-step,.sponsorship-load-step{grid-template-rows:43px minmax(44px,1fr);align-items:stretch;}
.sponsorship-date-step>span:not(.sponsorship-step-number),.sponsorship-meal-step>div:first-of-type,.sponsorship-load-step>div:first-of-type{align-self:start;padding-left:38px;}
.sponsorship-date-step .input#sponsorDate{box-sizing:border-box;align-self:center;width:100%;min-width:0;height:44px;min-height:44px;margin:0;padding:9px 10px;border-radius:11px;background:#fff;}
.sponsorship-meal-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-self:center;gap:6px;margin:0;}
.sponsorship-meal-button{display:flex;align-items:center;justify-content:center;gap:5px;height:44px;min-height:44px;padding:7px 5px;border:1px solid #d7e3e9;border-radius:11px;background:#fff;color:#486174;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:.16s ease;}
.sponsorship-meal-button:hover,.sponsorship-meal-button:focus-visible{border-color:#9eb9c9;background:#f3f8fa;color:#294e68;outline:0;}
.sponsorship-meal-button.is-active{border-color:#315f7b;background:#315f7b;color:#fff;box-shadow:0 6px 14px rgba(49,95,123,.19);}
.sponsorship-native-select{display:none!important;}
.sponsorship-load-step{grid-template-columns:1fr;align-content:stretch;}
.sponsorship-load-step .btn{align-self:center;justify-self:center;width:132px;height:44px;min-height:44px;margin:0;padding:7px 10px;border-radius:11px;}
.sponsorship-result-card{max-width:1120px;margin-top:18px;border:1px solid #dce7ed;border-radius:20px;background:#fff;box-shadow:0 10px 24px rgba(30,60,120,.06);overflow:hidden;}
.sponsorship-result-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 19px;border-bottom:1px solid #e8eef2;background:#f8fbfc;}
.sponsorship-result-heading>div{display:flex;align-items:center;gap:11px;}.sponsorship-result-heading>div>span{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#e6f0f4;font-size:20px;}.sponsorship-result-heading small{display:block;color:#718096;font-size:11px;font-weight:800;}.sponsorship-result-heading h2{margin:2px 0 0;color:#183b55;font-size:19px;}.sponsorship-result-heading>b{display:grid;place-items:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:#e8f0f4;color:#315f7b;font-size:13px;}
.sponsorship-order-list{display:grid;}.sponsorship-order-row{display:flex;align-items:center;gap:11px;padding:12px 18px;border-bottom:1px solid #edf2f4;}.sponsorship-order-row>span{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:10px;background:#f0f5f7;color:#315f7b;font-size:13px;font-weight:900;}.sponsorship-order-row>div{min-width:0;flex:1;}.sponsorship-order-row strong,.sponsorship-order-row small{display:block;}.sponsorship-order-row strong{color:#183b55;font-size:15px;}.sponsorship-order-row small{margin-top:2px;color:#718096;font-size:13px;}.sponsorship-order-row>b{color:#b84a4a;font-size:14px;white-space:nowrap;}
.sponsorship-result-footer{display:grid;grid-template-columns:.72fr minmax(250px,1.2fr) auto;align-items:end;gap:14px;padding:17px 19px;background:#f8fbfc;}.sponsorship-total span,.sponsorship-total strong,.sponsorship-result-footer label>span{display:block;}.sponsorship-total span,.sponsorship-result-footer label>span{color:#718096;font-size:11px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;}.sponsorship-total strong{margin-top:4px;color:#315f7b;font-size:22px;line-height:1;}.sponsorship-result-footer label{display:grid;gap:6px;}.sponsorship-result-footer .input{width:100%;min-height:42px;margin:0;}.sponsorship-result-footer .btn{width:auto;min-height:42px;margin:0;padding:9px 16px;white-space:nowrap;}.sponsorship-empty{padding:33px 18px;color:#718096;font-size:14px;font-weight:650;text-align:center;}
.sponsorship-selection-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;border-bottom:1px solid #edf2f4;background:#fcfefe;}.sponsorship-selection-tools strong,.sponsorship-selection-tools small{display:block;}.sponsorship-selection-tools strong{color:#244b68;font-size:14px;}.sponsorship-selection-tools small{margin-top:2px;color:#718096;font-size:12px;}.sponsorship-selection-tools>div:last-child{display:flex;gap:6px;}.sponsorship-selection-tools .btn{width:auto;min-height:33px;margin:0;padding:6px 10px;font-size:12px;}.sponsorship-order-row{cursor:pointer;transition:background .14s ease,opacity .14s ease;}.sponsorship-order-row:hover{background:#f8fbfc;}.sponsorship-order-check{width:17px;height:17px;margin:0;accent-color:#315f7b;cursor:pointer;}.sponsorship-order-row:has(.sponsorship-order-check:not(:checked)){opacity:.56;}.sponsorship-result-footer .btn:disabled{cursor:not-allowed;opacity:.52;box-shadow:none;transform:none;}

/* Aktiver Admin-Menüpunkt bleibt beim Darüberfahren bewusst hell und lesbar. */
.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn.btn-primary:hover,
.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn.btn-primary:focus-visible{background:#f6f9fb!important;color:#1e496f!important;transform:none!important;}

@media(max-width:980px){.sponsorship-steps{grid-template-columns:repeat(2,minmax(0,1fr));}.sponsorship-load-step{grid-column:1 / -1;min-height:150px;grid-template-columns:1fr;}.sponsorship-load-step .btn{width:100%;min-width:0;}.sponsorship-result-footer{grid-template-columns:1fr 1.3fr;}.sponsorship-result-footer .btn{grid-column:1 / -1;width:100%;}}
@media(max-width:620px){.sponsorship-workflow{padding:17px!important;}.sponsorship-workflow-heading{align-items:stretch;flex-direction:column;gap:8px;}.sponsorship-workflow-hint{max-width:none;}.sponsorship-steps{grid-template-columns:1fr;}.sponsorship-load-step{grid-column:auto;grid-template-columns:1fr;min-height:150px;}.sponsorship-load-step .btn{width:100%;}.sponsorship-result-footer{grid-template-columns:1fr;}.sponsorship-result-footer .btn{grid-column:auto;}.sponsorship-order-row{padding:12px 14px;}.sponsorship-order-row small{font-size:12px;}}

/* Ausgewählte Mitarbeitende: dieselbe kompakte Kopfzeile wie Vorbereitung und Ideen. */
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{
    box-sizing:border-box;
    min-height:58px!important;
    padding:7px 12px!important;
    border-radius:17px!important;
    gap:8px!important;
}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar #sidebarTitle{
    padding:0 4px!important;
    font-size:16px!important;
}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #backToEmployeesBtn{
    min-height:34px!important;
    padding:7px 10px!important;
    font-size:12px!important;
}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #userInfo{padding-left:8px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-sidebar-profile{gap:7px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-profile-avatar{flex-basis:30px!important;width:30px!important;height:30px!important;border-radius:9px!important;font-size:13px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-sidebar-profile strong{font-size:13px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-sidebar-balance{padding:6px 8px!important;font-size:12px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav{gap:4px!important;padding:2px!important;border-radius:11px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav .navbtn{min-height:34px!important;padding:7px 10px!important;font-size:12px!important;}
@media(max-width:1120px) and (min-width:701px){
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{grid-template-columns:auto auto minmax(150px,1fr) auto!important;}
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav{grid-column:auto!important;margin:0!important;padding:2px!important;overflow-x:auto;}
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav .navbtn{flex:0 0 auto;}
}
@media(max-width:700px){
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{min-height:0!important;padding:8px 10px!important;}
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav{width:100%;}
}

/* Kontoansicht – kompakt lesbar wie ein Kontoauszug */
.account-page-header{
    margin:4px 0 18px;
}

.account-page-header h1{
    margin:4px 0 0;
    font-size:30px;
}

.account-balance-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:166px;
    padding:26px 30px;
    border:1px solid #dbeafe;
    border-radius:22px;
    box-shadow:0 10px 28px rgba(30,60,120,.09);
}

.account-balance-label,
.account-status{
    display:block;
}

.account-balance-label{
    color:#475569;
    font-size:15px;
    font-weight:700;
}

.account-balance-hero strong{
    display:block;
    margin:7px 0 6px;
    font-size:38px;
    line-height:1;
}

.account-status{font-size:15px;font-weight:700;}
.account-hero-icon{font-size:45px;opacity:.9;}

.account-credit{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-color:#bbf7d0;}
.account-credit strong,.account-credit .account-status{color:#15803d;}
.account-debt{background:linear-gradient(135deg,#fff7ed,#fef2f2);border-color:#fed7aa;}
.account-debt strong,.account-debt .account-status{color:#c2410c;}
.account-balanced{background:linear-gradient(135deg,#eff6ff,#f8fafc);border-color:#bfdbfe;}
.account-balanced strong,.account-balanced .account-status{color:#2563eb;}

.account-statement{
    margin-top:24px;
    overflow:hidden;
    border:1px solid #dbeafe;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 22px rgba(30,60,120,.07);
}

.account-statement-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:19px 22px;
    border-bottom:1px solid #e2e8f0;
}

.account-statement-heading h2{margin:3px 0 0;font-size:21px;}
.account-statement-heading > span{color:#64748b;font-size:14px;font-weight:700;white-space:nowrap;}
.account-transaction-list{display:grid;}

.account-transaction-row{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:15px 22px;
    border-bottom:1px solid #eef2f7;
}

.account-transaction-row:last-child{border-bottom:0;}
.account-transaction-icon{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#dcfce7;
    color:#15803d;
    font-weight:900;
    font-size:19px;
}
.account-transaction-row strong{display:block;font-size:16px;}
.account-transaction-row small{display:block;margin-top:3px;color:#64748b;font-size:13px;}
.account-transaction-row b{color:#15803d;font-size:17px;white-space:nowrap;}
.account-empty-statement{padding:30px 22px;color:#64748b;text-align:center;}

@media(max-width:700px){
    .account-balance-hero{min-height:142px;padding:22px;}
    .account-balance-hero strong{font-size:31px;}
    .account-hero-icon{font-size:37px;}
    .account-statement-heading{align-items:flex-start;flex-direction:column;gap:6px;}
    .account-transaction-row{padding:14px;grid-template-columns:34px minmax(0,1fr);}
    .account-transaction-row b{grid-column:2;}
}

/* Linkes Mitarbeitermenü */
.sidebar{
    padding:18px;
    border:1px solid rgba(219,234,254,.9);
    background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}

.sidebar #sidebarTitle{
    margin:2px 2px 16px;
    color:#172554;
    font-size:23px;
    line-height:1.25;
}

#backToEmployeesBtn{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    margin:0 0 16px !important;
    padding:10px 12px;
    border:1px solid #bfdbfe;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:13px;
}

.employee-sidebar-profile{
    display:grid;
    gap:4px;
    padding:14px 14px 15px;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#fff;
    box-shadow:0 5px 13px rgba(30,60,120,.06);
}

.employee-sidebar-label{
    color:#64748b;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.employee-sidebar-profile strong{font-size:19px;line-height:1.2;}
.employee-sidebar-balance{font-size:18px;font-weight:800;}
.employee-sidebar-balance.is-positive{color:#15803d;}
.employee-sidebar-balance.is-negative{color:#dc2626;}

#employeeNav{
    display:grid;
    gap:7px;
    margin-top:16px;
}

#employeeNav .navbtn{
    display:flex;
    align-items:center;
    min-height:47px;
    margin:0;
    padding:11px 13px;
    border:1px solid transparent;
    border-radius:13px;
    background:transparent;
    color:#334155;
    box-shadow:none;
    transition:background .15s ease,color .15s ease,transform .15s ease;
}

#employeeNav .navbtn:hover{
    background:#eaf2ff;
    color:#1d4ed8;
    transform:translateX(2px);
}

#employeeNav .navbtn.btn-primary{
    border-color:#2563eb;
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
    color:#fff;
    box-shadow:0 7px 15px rgba(37,99,235,.22);
}

#adminNav .navbtn{
    font-size:15px;
    line-height:1.2;
}

@media(max-width:900px){
    .sidebar #sidebarTitle{margin-bottom:12px;}
    #employeeNav{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
    #employeeNav .navbtn{justify-content:center;text-align:center;font-size:13px;}
}

@media(max-width:600px){
    #employeeNav{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Startseite / PIN-Anmeldung */
#loginScreen{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:18px;
    min-height:100dvh;
    padding:24px 20px 18px;
}

.login-wrap{
    width:min(100%,460px);
    max-width:none;
    margin:0 auto;
    padding:0;
}

.login-panel{
    padding:30px;
    border:1px solid rgba(219,234,254,.9);
    border-radius:24px;
    box-shadow:0 18px 42px rgba(30,60,120,.12);
}

.login-brand h1{
    max-width:390px;
    margin:10px auto 0;
    color:#102a47;
    font-size:clamp(27px,4vw,34px);
    line-height:1.13;
}

.login-brand p{
    margin:8px 0 0;
    color:#64748b;
    font-size:15px;
    font-weight:650;
}

.login-brand-mark{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    height:20px;
}

.login-brand-mark i{
    display:block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#2563eb;
}

.login-brand-mark i:nth-child(2){width:11px;height:11px;background:#60a5fa;}
.login-brand-mark i:nth-child(3){background:#93c5fd;}

.login-pin-section{
    margin:25px 0 16px;
    padding:15px;
    border:1px solid #e3edf9;
    border-radius:16px;
    background:#f8fbff;
}

.login-pin-label{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.login-panel .pin-display{
    min-height:39px;
    margin:6px 0 0;
    color:#102a47;
    font-size:31px;
    font-weight:800;
    letter-spacing:10px;
    line-height:1.1;
}

.login-panel .pin-grid{gap:10px;}
.login-panel .pin-grid .btn{
    min-height:46px;
    margin:0;
    padding:10px;
    border:1px solid #d7e6f8;
    border-radius:12px;
    background:#eef5ff;
    color:#173b63;
    font-size:16px;
}
.login-panel .pin-grid .btn:hover{background:#dbeafe;border-color:#93c5fd;}

#adminLoginBtn{
    min-height:40px;
    margin-top:12px;
    padding:9px 14px;
    border:1px solid transparent;
    background:transparent;
    color:#475569;
    font-size:13px;
}
#adminLoginBtn:hover{background:#f1f5f9;color:#1d4ed8;}

.login-legal{
    width:min(100%,460px);
    margin:0 auto;
    text-align:center;
}
.login-version{margin-bottom:7px;color:#94a3b8;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.login-legal .legal-links{margin:0;}
.login-legal .linkbtn{font-size:12px;text-decoration:none;}
.login-legal .legal-note{margin-top:8px;font-size:11px;line-height:1.35;}

@media(max-width:520px){
    #loginScreen{justify-content:flex-start;padding:18px 14px;}
    .login-panel{padding:24px 20px;}
    .login-pin-section{margin-top:20px;}
}

/* Mittagessen-Ideen */
.lunch-ideas-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:4px 0 18px;
}
.lunch-ideas-header h1{margin:4px 0 0;color:#102a47;font-size:30px;}
.lunch-ideas-back{width:auto;margin:0;white-space:nowrap;}
.lunch-ideas-meal-section+.lunch-ideas-meal-section{margin-top:26px;}
.lunch-ideas-meal-title{margin:0 0 12px;color:#102a47;font-size:21px;}
.lunch-ideas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.lunch-ideas-panel{overflow:hidden;border:1px solid #dbe7f6;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.06);}
.lunch-ideas-top-panel{border-color:#ddd6fe;}
.lunch-ideas-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #e7eef7;}
.lunch-ideas-panel-heading>div{display:flex;align-items:center;gap:10px;}.lunch-ideas-panel-heading span{font-size:22px;}.lunch-ideas-panel-heading h2{margin:0;color:#102a47;font-size:20px;}.lunch-ideas-panel-heading small{color:#64748b;font-size:13px;font-weight:800;white-space:nowrap;}
.lunch-ideas-list{display:grid;gap:0;margin:0;padding:0;list-style:none;counter-reset:meal-list;}
.lunch-ideas-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:57px;padding:10px 20px;border-bottom:1px solid #eef2f7;}.lunch-ideas-list li:last-child{border-bottom:0;}
.lunch-ideas-list strong,.lunch-ideas-list small{display:block;}.lunch-ideas-list strong{color:#1e293b;font-size:16px;line-height:1.2;}.lunch-ideas-list small{margin-top:3px;color:#64748b;font-size:12px;font-weight:650;}.lunch-ideas-list>li>span{color:#1d4ed8;font-size:14px;font-weight:850;white-space:nowrap;}
.lunch-ideas-ranking li{grid-template-columns:26px minmax(0,1fr) auto;}.lunch-ideas-ranking li>b{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#ede9fe;color:#6d28d9;font-size:12px;}.lunch-ideas-ranking li:nth-child(1)>b{background:#fef3c7;color:#a16207;}.lunch-ideas-ranking li:nth-child(2)>b{background:#e2e8f0;color:#475569;}.lunch-ideas-ranking li:nth-child(3)>b{background:#ffedd5;color:#c2410c;}
.lunch-ideas-empty{padding:34px 20px;color:#64748b;text-align:center;font-size:14px;font-weight:700;}
@media(max-width:800px){.lunch-ideas-grid{grid-template-columns:1fr;}}
@media(max-width:560px){.lunch-ideas-header{align-items:flex-start;flex-direction:column;gap:10px;}.lunch-ideas-back{width:100%;}.lunch-ideas-panel-heading,.lunch-ideas-list li{padding-left:14px;padding-right:14px;}}

/* Allgemeine Einstellungen */
.admin-page-heading{margin:4px 0 18px;}.admin-page-heading h1{margin:4px 0 0;color:#102a47;font-size:30px;}
.general-settings-card{display:flex;align-items:flex-start;gap:18px;max-width:760px;padding:22px;border:1px solid #fed7aa;border-radius:18px;background:linear-gradient(145deg,#fff,#fff7ed);box-shadow:0 7px 20px rgba(15,23,42,.06);}
.general-settings-card.general-settings-card--organization{margin-bottom:14px;border-color:#d5e0e8;background:linear-gradient(145deg,#fff,#f3f7f9);}.general-settings-card--organization .general-settings-icon{background:#e6eef2;}.general-settings-organization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:620px;}.general-settings-field{display:grid;gap:6px;margin:0!important;color:#334155;font-size:14px!important;font-weight:800;}.general-settings-field--wide{grid-column:1 / -1;}.general-settings-field .input{width:100%!important;min-width:0;margin:0!important;}.general-settings-field--wide .input{min-width:300px;}.general-settings-organization-save{width:auto!important;margin:16px 0 0!important;}
.organization-logo-manager{display:flex;align-items:center;gap:16px;max-width:720px;margin-top:20px;padding-top:18px;border-top:1px solid #dbe5ea;}.organization-logo-preview{display:grid;place-items:center;box-sizing:border-box;flex:0 0 144px;width:144px;height:108px;padding:12px;overflow:hidden;border:1px dashed #afc2cf;border-radius:18px;background:linear-gradient(145deg,#f8fbfc,#eaf2f5);color:#64798b;font-size:11px;font-weight:750;text-align:center;}.organization-logo-preview img{display:block!important;box-sizing:border-box!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;}.organization-logo-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;flex:1;}.organization-logo-controls strong,.organization-logo-controls small{grid-column:1 / -1;}.organization-logo-controls strong{color:#294e68;font-size:14px;}.organization-logo-controls small{color:#6d8290;font-size:11px;font-weight:650;line-height:1.4;}.organization-logo-controls .organization-logo-requirements{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #dbe8ef;border-radius:10px;background:#f5fafb;color:#527082;}.organization-logo-requirements b{flex:0 0 auto;padding:3px 6px;border-radius:6px;background:#e1edf2;color:#315f7b;font-size:10px;font-weight:850;letter-spacing:.02em;}.organization-logo-requirements span{min-width:0;}.organization-logo-controls .input{min-width:0;margin:0;font-size:12px;}.organization-logo-controls .btn{width:auto;margin:0;white-space:nowrap;}@media(max-width:560px){.organization-logo-manager{align-items:flex-start;flex-direction:column;}.organization-logo-preview{width:100%;height:132px;flex-basis:132px;}.organization-logo-controls{width:100%;grid-template-columns:1fr;}.organization-logo-controls .btn{width:100%;}}
.employee-app-brand{color:rgba(239,247,252,.78);font-size:12px;font-weight:850;letter-spacing:.035em;white-space:nowrap;}.sidebar-department-name{margin:-11px 8px 14px;color:rgba(222,237,246,.68);font-size:11px;font-weight:700;line-height:1.25;}.employee-app-mode .sidebar-department-name{margin:-4px 11px 12px;color:rgba(222,237,246,.72);}
.general-settings-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;background:#ffedd5;font-size:25px;}.general-settings-content{min-width:0;flex:1;}.general-settings-content h2{margin:0;color:#102a47;font-size:21px;}.general-settings-content p{margin:7px 0 16px;color:#475569;line-height:1.45;}.general-settings-content label{display:block;color:#334155;font-size:14px;font-weight:800;}.general-settings-input-row{display:flex;align-items:center;gap:9px;max-width:430px;margin-top:6px;}.general-settings-input-row .input{width:130px;margin:0;}.general-settings-input-row>span{font-weight:800;color:#475569;}.general-settings-input-row .btn{width:auto;margin:0;white-space:nowrap;}.general-settings-content small{display:block;margin-top:9px;color:#64748b;font-size:12px;font-weight:650;}
@media(max-width:560px){.general-settings-card{gap:12px;padding:16px;}.general-settings-icon{flex-basis:40px;width:40px;height:40px;font-size:21px;}.general-settings-input-row{flex-wrap:wrap;}.general-settings-input-row .btn{width:100%;}.general-settings-organization-grid{grid-template-columns:1fr;}.general-settings-field--wide{grid-column:auto;}.general-settings-field--wide .input{min-width:0;}}

/* Kassenbuch */
.cashbook-summary{display:flex;align-items:baseline;justify-content:space-between;gap:16px;box-sizing:border-box;width:100%;max-width:1000px;margin-bottom:16px;padding:17px 20px;border:1px solid #bbf7d0;border-radius:16px;background:#f0fdf4;}.cashbook-summary span{color:#475569;font-size:14px;font-weight:800;}.cashbook-summary strong{color:#15803d;font-size:28px;}.cashbook-positive{color:#15803d !important;}.cashbook-negative{color:#dc2626 !important;}
.cashbook-entry-card,.cashbook-history{max-width:1000px;padding:20px;border:1px solid #dbe7f6;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.06);}.cashbook-entry-card h2,.cashbook-history h2{margin:0;color:#102a47;font-size:21px;}.cashbook-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 10px;}.cashbook-entry-grid label{display:block;color:#334155;font-size:13px;font-weight:800;}.cashbook-entry-grid .input{margin-top:6px;}.cashbook-note-label{grid-column:1 / -1;}.cashbook-form-hint{min-height:20px;color:#64748b;font-size:13px;font-weight:650;line-height:1.4;}.cashbook-save{width:auto;margin:14px 0 0;}.cashbook-history{margin-top:18px;padding:0;overflow:hidden;}.cashbook-history-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid #e7eef7;}.cashbook-history-heading span{color:#64748b;font-size:13px;font-weight:800;}.cashbook-entry-list{display:grid;}.cashbook-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid #eef2f7;}.cashbook-row:last-child{border-bottom:0;}.cashbook-row strong,.cashbook-row small{display:block;}.cashbook-row strong{color:#1e293b;font-size:15px;}.cashbook-row small{max-width:680px;margin-top:4px;color:#64748b;font-size:12px;line-height:1.35;}.cashbook-row-amounts{display:grid;gap:4px;text-align:right;white-space:nowrap;font-size:13px;font-weight:850;}.cashbook-empty{padding:30px;color:#64748b;text-align:center;font-weight:700;}
@media(max-width:700px){.cashbook-entry-grid{grid-template-columns:1fr;}.cashbook-row{align-items:flex-start;flex-direction:column;gap:8px;}.cashbook-row-amounts{text-align:left;}.cashbook-save{width:100%;}}

/* Warnung bei überschrittener Minusgrenze */
#toast.toast-warning{
    top:50%;
    bottom:auto !important;
    max-width:min(430px,calc(100vw - 36px));
    transform:translate(-50%,-50%) !important;
    text-align:center;
    white-space:pre-line;
    font-size:17px;
    line-height:1.5;
}
#toast.toast-info{
    top:50%;
    bottom:auto !important;
    width:min(480px,calc(100vw - 32px));
    max-width:min(480px,calc(100vw - 32px));
    box-sizing:border-box;
    transform:translate(-50%,-50%) !important;
    border:1px solid rgba(255,255,255,.22);
    background:#315f7b !important;
    text-align:center;
    white-space:pre-line;
    font-size:15px;
    line-height:1.45;
}
/* Temporäre Rückmeldungen sind bewusst mittig und sofort wahrnehmbar.
   Nur die alltägliche Bestätigung einer Artikelbuchung nutzt die dezente Unterkante. */
#toast.toast-centered{
    top:50%;
    bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    text-align:center;
}

/* Inventur */
.inventory-page-heading p{margin:7px 0 0;color:#64748b;font-size:13px;font-weight:700;}
.inventory-start-card,.inventory-progress-card{display:flex;align-items:center;gap:18px;max-width:1050px;padding:22px;border:1px solid #c7d7f4;border-radius:18px;background:linear-gradient(135deg,#fff,#f5f9ff);box-shadow:0 7px 20px rgba(15,23,42,.06);}
.inventory-start-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:16px;background:#dbeafe;font-size:27px;}.inventory-start-card h2,.inventory-progress-card h2{margin:0;color:#102a47;font-size:21px;}.inventory-start-card p,.inventory-progress-card p{margin:6px 0 0;color:#475569;line-height:1.45;}.inventory-start-card>div:nth-child(2),.inventory-progress-card>div{flex:1;}.inventory-start-card .btn{width:auto;white-space:nowrap;margin:0;}
.inventory-progress-card{justify-content:space-between;margin-bottom:18px;align-items:flex-start;}.inventory-progress-card>span{padding:7px 10px;border-radius:999px;background:#e0edff;color:#1d4ed8;font-size:13px;font-weight:850;white-space:nowrap;}
.inventory-table-wrap{max-width:1050px;overflow:auto;border:1px solid #dbe7f6;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.06);}.inventory-entry-wrap{margin-top:0;}.inventory-table{width:100%;border-collapse:collapse;}.inventory-table th{padding:13px 18px;background:#f1f6fd;color:#52657c;font-size:12px;font-weight:850;letter-spacing:.04em;text-align:left;text-transform:uppercase;}.inventory-table th:nth-child(n+2),.inventory-table td:nth-child(n+2){text-align:right;}.inventory-table td{padding:13px 18px;border-top:1px solid #e7eef7;color:#1e293b;font-size:15px;}.inventory-table td strong,.inventory-table td small{display:block;}.inventory-table td small{margin-top:3px;color:#64748b;font-size:12px;font-weight:650;}.inventory-table .input{width:92px;min-height:38px;margin:0;padding:7px 9px;text-align:right;}.inventory-input-invalid{border-color:#ef4444 !important;background:#fff1f2 !important;}.inventory-difference-positive{color:#15803d !important;font-weight:850;}.inventory-difference-negative{color:#dc2626 !important;font-weight:850;}.inventory-difference-neutral{color:#64748b !important;font-weight:800;}.inventory-row-difference{background:#fffaf3;}
.inventory-complete-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1050px;margin-top:16px;padding:15px 18px;border:1px solid #bfdbfe;border-radius:16px;background:#eff6ff;}.inventory-complete-bar span{color:#475569;font-size:13px;font-weight:700;}.inventory-complete-bar .btn{width:auto;margin:0;white-space:nowrap;}
.inventory-report{max-width:1050px;margin-top:22px;overflow:hidden;border:1px solid #dbe7f6;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.06);}.inventory-report-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;}.inventory-report-heading h2{margin:3px 0 0;color:#102a47;font-size:21px;}.inventory-report-heading p{margin:5px 0 0;color:#64748b;font-size:13px;font-weight:700;}.inventory-print-button{width:auto;margin:0;white-space:nowrap;}.inventory-result-summary{display:flex;gap:10px;flex-wrap:wrap;padding:0 20px 18px;}.inventory-result-summary span{padding:8px 10px;border-radius:10px;background:#f1f5f9;color:#475569;font-size:13px;}.inventory-result-summary b{color:#1e293b;}
@media(max-width:700px){.inventory-start-card{align-items:flex-start;flex-wrap:wrap;padding:17px;}.inventory-start-card .btn{width:100%;}.inventory-progress-card,.inventory-complete-bar{align-items:flex-start;flex-direction:column;padding:16px;}.inventory-complete-bar .btn{width:100%;}.inventory-table th,.inventory-table td{padding:11px 10px;}.inventory-table th:first-child,.inventory-table td:first-child{min-width:150px;}.inventory-report-heading{align-items:flex-start;flex-direction:column;}.inventory-print-button{width:100%;}}
@media print{body{background:#fff !important;}.sidebar,#adminNav,#employeeNav,.inventory-start-card,.inventory-progress-card,.inventory-complete-bar,.inventory-print-button,.navbtn{display:none !important;}.app-layout,.content{display:block !important;padding:0 !important;margin:0 !important;background:#fff !important;}.hidden{display:none !important;}#adminInventoryTab{display:block !important;}.inventory-page-heading{margin:0 0 16px;}.inventory-report{margin:0;max-width:none;border:0;box-shadow:none;}.inventory-table-wrap{max-width:none;border:1px solid #cbd5e1;box-shadow:none;}.inventory-table th{background:#f1f5f9 !important;}}

/* Admin-Dashboard */
#adminStats{max-width:1260px;}
.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 20px;}.dashboard-header h1{margin:4px 0 0;color:#102a47;font-size:32px;letter-spacing:-.03em;}.dashboard-header p{margin:7px 0 0;color:#64748b;font-size:14px;font-weight:650;}.dashboard-refresh{width:auto;margin:0;padding:10px 14px;white-space:nowrap;}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}.dashboard-metric{display:flex;gap:13px;min-height:130px;padding:18px;border:1px solid #dce7f5;border-radius:18px;background:#fff;box-shadow:0 7px 18px rgba(15,23,42,.05);}.dashboard-metric>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#e8f1ff;font-size:21px;}.dashboard-metric>div{min-width:0;}.dashboard-metric small,.dashboard-metric em{display:block;}.dashboard-metric small{color:#64748b;font-size:12px;font-style:normal;font-weight:800;letter-spacing:.03em;text-transform:uppercase;}.dashboard-metric strong{display:block;margin:7px 0 4px;color:#102a47;font-size:24px;line-height:1.1;letter-spacing:-.02em;white-space:nowrap;}.dashboard-metric em{color:#64748b;font-size:12px;font-style:normal;font-weight:750;}.dashboard-metric-revenue{border-color:#bfdbfe;}.dashboard-metric-revenue>span{background:#dbeafe;}.dashboard-metric-invoices{border-color:#fde2e2;}.dashboard-metric-invoices>span{background:#fff1f2;}.dashboard-metric-stock{border-color:#fde9c5;}.dashboard-metric-stock>span{background:#fff7e8;}.dashboard-metric-products>span{background:#ecfdf5;}.dashboard-attention{color:#c2410c !important;}
.dashboard-meals,.dashboard-workspace{margin-top:18px;padding:20px;border:1px solid #dce7f5;border-radius:20px;background:#fff;box-shadow:0 7px 18px rgba(15,23,42,.05);}.dashboard-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px;}.dashboard-section-heading h2,.dashboard-workspace h2{margin:4px 0 0;color:#102a47;font-size:21px;}.dashboard-section-heading>span{color:#94a3b8;font-size:12px;font-weight:750;}.dashboard-meal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.dashboard-meal-grid article{display:flex;align-items:center;gap:12px;padding:15px;border-radius:15px;background:#f8fbff;border:1px solid #e2ebf7;}.dashboard-meal-grid article>span{font-size:26px;}.dashboard-meal-grid small,.dashboard-meal-grid em{display:block;}.dashboard-meal-grid small{color:#64748b;font-size:12px;font-weight:800;}.dashboard-meal-grid strong{display:block;margin:2px 0;color:#102a47;font-size:26px;line-height:1;}.dashboard-meal-grid em{color:#64748b;font-size:11px;font-style:normal;font-weight:700;}
.dashboard-workspace-heading{margin-bottom:14px;}.dashboard-action-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}.dashboard-action-grid button{min-height:130px;padding:14px;border:1px solid #dbe7f5;border-radius:15px;background:#fff;color:#1e293b;text-align:left;cursor:pointer;transition:.16s;}.dashboard-action-grid button:hover{border-color:#93c5fd;background:#f4f8ff;box-shadow:0 8px 18px rgba(37,99,235,.1);transform:translateY(-2px);}.dashboard-action-grid span,.dashboard-action-grid strong,.dashboard-action-grid small{display:block;}.dashboard-action-grid span{margin-bottom:11px;font-size:24px;}.dashboard-action-grid strong{font-size:14px;line-height:1.25;}.dashboard-action-grid small{margin-top:5px;color:#64748b;font-size:11px;font-weight:650;line-height:1.35;}.dashboard-status{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:15px 18px;border:1px solid;border-radius:16px;}.dashboard-status>span{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;font-weight:900;}.dashboard-status strong{color:#1e293b;font-size:14px;}.dashboard-status p{margin:4px 0 0;color:#475569;font-size:13px;line-height:1.4;}.dashboard-status-good{border-color:#bbf7d0;background:#f0fdf4;}.dashboard-status-good>span{background:#bbf7d0;color:#15803d;}.dashboard-status-attention{border-color:#fed7aa;background:#fff7ed;}.dashboard-status-attention>span{background:#fed7aa;color:#c2410c;}
@media(max-width:1100px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.dashboard-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}@media(max-width:650px){.dashboard-header{align-items:flex-start;flex-direction:column;}.dashboard-refresh{width:100%;}.dashboard-metrics,.dashboard-meal-grid,.dashboard-action-grid{grid-template-columns:1fr;}.dashboard-meals,.dashboard-workspace{padding:16px;}.dashboard-action-grid button{min-height:0;}.dashboard-section-heading{align-items:flex-start;flex-direction:column;}}

/* Monatliche Kosten */
.recurring-page-heading p{margin:7px 0 0;color:#64748b;font-size:14px;font-weight:650;}.recurring-intro-card{display:flex;align-items:flex-start;gap:13px;max-width:1100px;margin-bottom:16px;padding:14px 17px;border:1px solid #bfdbfe;border-radius:16px;background:#eff6ff;}.recurring-intro-card>span{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#bfdbfe;color:#1d4ed8;font-weight:900;}.recurring-intro-card p{margin:2px 0 0;color:#334155;font-size:13px;line-height:1.45;font-weight:650;}.recurring-create-card{max-width:1100px;padding:20px;border:1px solid #dbe7f5;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.06);}.recurring-create-card h2{margin:0;color:#102a47;font-size:21px;}.recurring-form-grid,.recurring-card-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;}.recurring-form-grid label,.recurring-card-fields label{display:block;color:#475569;font-size:12px;font-weight:800;}.recurring-form-grid .input,.recurring-card-fields .input{margin-top:6px;}.recurring-note-field{grid-column:span 2;}.recurring-save-button{width:auto;margin:14px 0 0;}.recurring-list-section{max-width:1100px;margin-top:20px;}.recurring-list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px;}.recurring-list-heading h2{margin:4px 0 0;color:#102a47;font-size:21px;}.recurring-list-heading>span{padding:7px 10px;border-radius:999px;background:#e0edff;color:#1d4ed8;font-size:12px;font-weight:850;}.recurring-cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;}.recurring-cost-card{padding:18px;border:1px solid #dbe7f5;border-radius:18px;background:#fff;box-shadow:0 7px 18px rgba(15,23,42,.05);}.recurring-cost-archived{opacity:.66;background:#f8fafc;box-shadow:none;}.recurring-card-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}.recurring-department-label{display:inline-block;margin-bottom:6px;padding:5px 8px;border-radius:8px;background:#edf5ff;color:#2563eb;font-size:11px;font-weight:850;}.recurring-name-input{margin:0 !important;font-size:18px;font-weight:800;}.recurring-card-top>strong{color:#102a47;font-size:21px;line-height:1;text-align:right;white-space:nowrap;}.recurring-card-top>strong small{display:block;margin-top:5px;color:#64748b;font-size:11px;font-weight:700;}.recurring-card-fields{grid-template-columns:repeat(3,minmax(0,1fr));}.recurring-card-fields .recurring-note-field{grid-column:1 / -1;}.recurring-distribution{display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding:10px 11px;border-radius:10px;background:#f8fbff;color:#475569;font-size:12px;font-weight:750;}.recurring-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px;}.recurring-card-actions .btn{width:auto;min-height:40px;margin:0;padding:9px 11px;}.recurring-card-warning{display:block;margin-top:10px;color:#c2410c;font-size:12px;font-weight:750;}.recurring-empty{padding:30px;border:1px dashed #cbd5e1;border-radius:16px;color:#64748b;text-align:center;font-weight:700;}
@media(max-width:850px){.recurring-cost-grid{grid-template-columns:1fr;}.recurring-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media(max-width:560px){.recurring-form-grid,.recurring-card-fields{grid-template-columns:1fr;}.recurring-note-field{grid-column:auto;}.recurring-save-button{width:100%;}.recurring-card-top{align-items:flex-start;flex-direction:column;}.recurring-card-top>strong{text-align:left;}.recurring-distribution{align-items:flex-start;flex-direction:column;}.recurring-card-actions .btn{width:100%;}}

/* Kompakte Artikelauswahl innerhalb einer Kategorie */
#productGrid{grid-template-columns:repeat(auto-fill,minmax(132px,155px));justify-content:start;gap:10px;}
.shop-product-card{aspect-ratio:1 / .9;min-height:132px;padding:11px;border-radius:14px;}.shop-product-card h3{font-size:15px;line-height:1.2;}.shop-product-card p{display:-webkit-box;overflow:hidden;margin:6px 0;font-size:11px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2;}.shop-product-card-bottom strong{font-size:18px;}.shop-stock{padding:3px 5px;font-size:10px;}.shop-product-card-bottom span{font-size:10px;}
@media(max-width:560px){#productGrid{grid-template-columns:repeat(2,minmax(132px,155px));justify-content:center;}.shop-product-card{min-height:128px;}}

/* Tagesbuchungen, Rücknahme und Mahlzeiten-Ideen */
.lunch-ideas-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.lunch-ideas-own-panel{border-color:#d5e3e9;}.lunch-ideas-inspiration-panel{border-color:#c9e1db;}.lunch-ideas-inspiration-panel .lunch-ideas-panel-heading{background:#f4fbf8;}.lunch-ideas-inspiration-list>li>span{padding:5px 8px;border-radius:999px;background:#e4f2eb;color:#216349;font-size:11px;font-weight:850;}@media(max-width:700px){.lunch-ideas-grid{grid-template-columns:1fr;}}
.dashboard-today-bookings{margin-top:18px;padding:20px;border:1px solid #dce7f5;border-radius:20px;background:#fff;box-shadow:0 7px 18px rgba(15,23,42,.05);}.dashboard-department-bookings{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;}.dashboard-department-bookings article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #e2ebf7;border-radius:14px;background:#f8fbff;}.dashboard-department-bookings strong,.dashboard-department-bookings small{display:block;}.dashboard-department-bookings strong{color:#1e293b;font-size:14px;}.dashboard-department-bookings small{margin-top:3px;color:#64748b;font-size:11px;font-weight:750;}.dashboard-department-bookings b{color:#1d4ed8;font-size:14px;white-space:nowrap;}.dashboard-bookings-empty{padding:20px;border:1px dashed #cbd5e1;border-radius:14px;color:#64748b;text-align:center;font-size:13px;font-weight:700;}
.billing-undo{margin-top:12px;padding-top:11px;border-top:1px solid #e7eef7;}.billing-undo small{display:block;margin-bottom:7px;color:#64748b;font-size:11px;font-weight:700;line-height:1.35;}.billing-undo .btn{width:auto;margin:0;padding:8px 10px;font-size:12px;}.admin-employee-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}.admin-employee-filter #adminEmployeeSearch{flex:1 1 220px;margin:0;}.admin-employee-filter #adminEmployeeViewFilter{width:auto;min-width:220px;margin:0;}.admin-employee-filter #adminEmployeeArchiveBtn{width:auto;margin:0;white-space:nowrap;}@media(max-width:600px){.dashboard-today-bookings{padding:16px;}.dashboard-department-bookings{grid-template-columns:1fr;}.admin-employee-filter #adminEmployeeSearch,.admin-employee-filter #adminEmployeeViewFilter,.admin-employee-filter #adminEmployeeArchiveBtn{width:100%;}.billing-undo .btn{width:100%;}}

/* Administratorverwaltung */
#adminUsers{display:block;min-height:120px;margin-top:20px;}.admin-users-loading-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:2px;}.admin-users-loading-card span{height:260px;border-radius:18px;background:linear-gradient(100deg,#f1f5f9 25%,#f8fafc 45%,#f1f5f9 65%);background-size:200% 100%;animation:adminCardLoading 1.1s linear infinite;}@keyframes adminCardLoading{to{background-position:-200% 0}}.admin-user-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:15px;}.admin-user-card{padding:18px;border:1px solid #dbe7f5;border-radius:18px;background:#fff;box-shadow:0 7px 18px rgba(15,23,42,.055);}.admin-user-card-header{display:flex;align-items:center;gap:11px;}.admin-user-avatar{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:#e5efff;color:#1d4ed8;font-size:18px;font-weight:900;}.admin-user-card-header>div{min-width:0;flex:1;}.admin-user-card-header strong,.admin-user-card-header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.admin-user-card-header strong{color:#102a47;font-size:16px;}.admin-user-card-header small{margin-top:2px;color:#64748b;font-size:11px;font-weight:700;}.admin-user-role{padding:5px 7px;border-radius:8px;background:#ede9fe;color:#6d28d9;font-size:10px;font-weight:900;white-space:nowrap;}.admin-user-role-department{background:#e0f2fe;color:#0369a1;}.admin-user-scope{min-height:18px;margin:12px 0;padding:8px 10px;border-radius:10px;background:#f8fbff;color:#52657c;font-size:12px;font-weight:700;}.admin-user-fields,.admin-user-access{display:grid;grid-template-columns:1fr 1fr;gap:9px;}.admin-user-fields label,.admin-user-access label{display:grid;gap:5px;color:#64748b;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;}.admin-user-fields .input,.admin-user-access .input,.admin-user-actions .input{min-height:39px;margin:0;padding:8px 10px;font-size:13px;text-transform:none;letter-spacing:normal;}.admin-user-profile-save{width:auto!important;min-height:36px!important;margin:9px 0 13px!important;padding:7px 10px!important;font-size:12px!important;}.admin-user-access{padding-top:12px;border-top:1px solid #e7eef7;}.admin-user-actions{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:12px;}.admin-user-actions .btn{width:auto!important;min-height:39px!important;margin:0!important;padding:8px 10px!important;font-size:12px;white-space:nowrap;}.admin-user-actions .btn:last-child{grid-column:span 3;justify-self:start;}.admin-users-archive{margin-top:28px;}.admin-users-archive .admin-inactive-divider{margin:0 0 14px;}.admin-user-card-archived{opacity:.65;background:#f8fafc;box-shadow:none;}.admin-users-empty{padding:28px;border:1px dashed #cbd5e1;border-radius:16px;color:#64748b;text-align:center;font-weight:700;}
@media(max-width:720px){.admin-users-loading-card{grid-template-columns:1fr;}.admin-user-grid{grid-template-columns:1fr;}.admin-user-actions{grid-template-columns:1fr 1fr;}.admin-user-actions .input{grid-column:1 / -1;}.admin-user-actions .btn:last-child{grid-column:1 / -1;justify-self:stretch;}}@media(max-width:460px){.admin-user-fields,.admin-user-access{grid-template-columns:1fr;}.admin-user-actions{grid-template-columns:1fr;}.admin-user-actions .btn{width:100%!important;}.admin-user-actions .btn:last-child{grid-column:auto;}}
.admin-role-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:980px;margin:0 0 16px;}.admin-role-info{display:flex;align-items:flex-start;gap:12px;padding:16px 17px;border:1px solid;border-radius:17px;box-shadow:0 7px 18px rgba(30,60,120,.05);}.admin-role-info>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;font-size:13px;font-weight:900;}.admin-role-info strong{display:block;font-size:15px;}.admin-role-info p{margin:4px 0 0;font-size:12px;font-weight:650;line-height:1.4;}.admin-role-info--system{border-color:#ded1f7;background:#faf8ff;color:#5b2ba6;}.admin-role-info--system>span{background:#e9e1fb;color:#6d28d9;}.admin-role-info--department{border-color:#bee5d7;background:#f4fbf8;color:#176b4f;}.admin-role-info--department>span{background:#dff3eb;color:#19805c;}.admin-user-create-card{max-width:980px;padding:20px;}.admin-user-create-card h2{margin:0;color:#102a47;font-size:21px;}.admin-user-create-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:15px;}.admin-user-create-fields .input{margin:0;}.admin-user-department-picker.hidden{display:none;}.admin-user-create-card>.btn{width:auto;margin:14px 0 0;}.admin-user-role-system{background:#ede9fe!important;color:#6d28d9!important;}.admin-user-role-department{background:#dff3eb!important;color:#176b4f!important;}@media(max-width:680px){.admin-role-overview,.admin-user-create-fields{grid-template-columns:1fr;}.admin-user-create-card>.btn{width:100%;}}

/* Produktverwaltung: kompakt, gruppiert und auf dem Tablet schnell erfassbar */
#adminProductsTab> .card{max-width:1050px;padding:20px;}#adminProductsTab> .card h2{margin:0 0 14px;color:#102a47;font-size:21px;}#adminProductsTab> .card:has(#newProductName){display:grid;grid-template-columns:1.2fr 1.35fr .7fr 1fr .72fr .72fr;gap:10px;align-items:center;}#adminProductsTab> .card:has(#newProductName) h2{grid-column:1 / -1;margin-bottom:0;}#adminProductsTab> .card:has(#newProductName) .input{margin:0;}#adminProductsTab> .card:has(#newProductName) .btn{width:auto;margin:0;grid-column:1 / -1;justify-self:start;}
#adminProducts{display:block;margin-top:20px;}.admin-product-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:15px 17px;border:1px solid #dbe7f5;border-radius:16px;background:#fff;box-shadow:0 6px 16px rgba(15,23,42,.05);}.admin-product-toolbar>div{margin-right:auto;}.admin-product-toolbar strong,.admin-product-toolbar small{display:block;}.admin-product-toolbar strong{color:#102a47;font-size:17px;}.admin-product-toolbar small{margin-top:3px;color:#64748b;font-size:12px;font-weight:700;}.admin-product-toolbar label{display:grid;gap:5px;color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;}.admin-product-toolbar .input{width:185px;min-height:39px;margin:0;padding:8px 10px;color:#1e293b;font-size:13px;text-transform:none;letter-spacing:normal;}.admin-product-group+.admin-product-group{margin-top:18px;}.admin-product-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 9px;padding:0 3px;}.admin-product-group-heading h2{margin:0;color:#183451;font-size:18px;}.admin-product-group-heading span{padding:5px 8px;border-radius:999px;background:#eaf2ff;color:#2563eb;font-size:11px;font-weight:850;white-space:nowrap;}.admin-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px;}.admin-product-card{padding:14px;border:1px solid #dce7f5;border-radius:16px;background:#fff;box-shadow:0 5px 14px rgba(15,23,42,.045);}.admin-product-card-low-stock{border-color:#f1c47f;background:linear-gradient(180deg,#fffaf1,#fff);box-shadow:0 7px 18px rgba(164,99,20,.08);}.admin-product-low-stock-note{display:flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin:0 0 9px;padding:5px 8px;border-radius:999px;background:#fff0d7;color:#9a5712;font-size:10px;font-weight:850;}.admin-product-low-stock-note span{font-size:12px;}.admin-product-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;}.admin-product-card-head>span{min-width:0;overflow:hidden;color:#64748b;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap;}.admin-product-card-head small{padding:4px 7px;border-radius:7px;background:#f1f5f9;color:#475569;font-size:10px;font-weight:800;white-space:nowrap;}.admin-product-card-head .admin-product-stock-low{background:#fff7ed;color:#c2410c;}.admin-product-card .input{margin:0;}.admin-product-name{min-height:40px!important;padding:8px 10px!important;border-color:transparent!important;background:#f8fbff!important;color:#102a47;font-size:16px;font-weight:850;}.admin-product-description{min-height:48px!important;resize:vertical;margin-top:8px!important;padding:8px 10px!important;color:#475569;font-size:12px;line-height:1.35;}.admin-product-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px;}.admin-product-fields label{display:grid;gap:4px;color:#64748b;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;}.admin-product-field-disabled{opacity:.52;}.admin-product-fields .input,.admin-product-category{min-height:38px;padding:7px 9px!important;font-size:13px;}.admin-product-category{margin-top:8px!important;}.admin-product-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px;}.admin-product-actions .btn{min-height:38px!important;margin:0!important;padding:8px 10px!important;font-size:12px;}.admin-products-archive{margin-top:28px;padding-top:3px;}.admin-products-archive .admin-inactive-divider{margin:0 0 15px;}.admin-product-card-archived{opacity:.68;background:#f8fafc;box-shadow:none;}.admin-products-empty{padding:24px;border:1px dashed #cbd5e1;border-radius:14px;color:#64748b;text-align:center;font-size:13px;font-weight:750;}
.admin-new-product-stock-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}.admin-new-product-stock-fields .input{margin:0;}.admin-product-capability-note{margin:9px 0;padding:10px 12px;border:1px solid #d7e3ea;border-radius:12px;background:#f4f8fa;color:#456173;font-size:11px;font-weight:700;line-height:1.4;}.admin-product-stock-field-group{display:contents;}.admin-product-fields--breakfast{grid-template-columns:minmax(0,1fr);}
@media(max-width:520px){.admin-new-product-stock-fields{grid-template-columns:1fr;}}
@media(max-width:850px){#adminProductsTab> .card:has(#newProductName){grid-template-columns:repeat(2,minmax(0,1fr));}.admin-product-toolbar{align-items:flex-start;}.admin-product-toolbar>div{width:100%;}.admin-product-toolbar label{flex:1;}.admin-product-toolbar .input{width:100%;}.admin-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media(max-width:560px){#adminProductsTab> .card:has(#newProductName),.admin-product-grid{grid-template-columns:1fr;}.admin-product-toolbar label{width:100%;flex:auto;}.admin-product-card{padding:12px;}.admin-product-actions .btn{flex:1;}}

/* Mitarbeitendenbereich: kompakte Kopfzeile statt linker Seitenleiste */
#appScreen.employee-app-mode{background:radial-gradient(circle at 7% 0,#dceaff 0,transparent 31%),linear-gradient(145deg,#f8fbff 0,#eef5ff 100%);}.employee-app-mode .shell{display:flex;flex-direction:column;gap:14px;max-width:1640px;margin:0 auto;padding:14px 18px 28px;}.employee-app-mode .sidebar{display:grid;grid-template-columns:auto auto minmax(170px,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid rgba(219,231,245,.9);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 10px 26px rgba(30,60,120,.08);backdrop-filter:blur(14px);position:sticky;top:10px;z-index:30;}.employee-app-mode .sidebar h2{margin:0;padding:0 9px;color:#102a47;font-size:19px;line-height:1.1;white-space:nowrap;letter-spacing:-.02em;}.employee-app-mode #backToEmployeesBtn{width:auto!important;min-height:40px;margin:0!important;padding:9px 12px;border:1px solid #d9e6f7;background:#f8fbff;color:#1d4ed8;font-size:12px;white-space:nowrap;}.employee-app-mode #userInfo{min-width:0;margin:0;}.employee-app-mode .employee-sidebar-profile{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:0;border:0;background:transparent;box-shadow:none;}.employee-app-mode .employee-profile-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#dbeafe,#eff6ff);color:#1d4ed8;font-size:15px;font-weight:900;}.employee-app-mode .employee-sidebar-profile strong{min-width:0;overflow:hidden;color:#102a47;font-size:14px;text-overflow:ellipsis;white-space:nowrap;}.employee-app-mode .employee-sidebar-balance{padding:7px 9px;border-radius:9px;background:#ecfdf5;font-size:13px;white-space:nowrap;}.employee-app-mode .employee-sidebar-balance.is-negative{background:#fff1f2;}.employee-app-mode #employeeNav{display:flex;align-items:center;gap:4px;margin:0;}.employee-app-mode #employeeNav .navbtn{width:auto;min-height:40px;margin:0;padding:9px 11px;border:1px solid transparent;border-radius:11px;background:transparent;color:#475569;font-size:13px;white-space:nowrap;}.employee-app-mode #employeeNav .navbtn:hover{background:#f1f6fd;color:#1d4ed8;}.employee-app-mode #employeeNav .navbtn.btn-primary{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 5px 12px rgba(37,99,235,.22);}.employee-app-mode .content{width:100%;padding:0;background:transparent;box-shadow:none;border-radius:0;}.employee-app-mode .shop-quick-grid{gap:12px;margin-bottom:12px;}.employee-app-mode .shop-quick-card,.employee-app-mode .shop-categories-section{border-color:#dce8f6;box-shadow:0 9px 24px rgba(30,60,120,.055);}.employee-app-mode .shop-section-heading{margin-bottom:12px;}.employee-app-mode .shop-section-heading h3{font-size:18px;}.employee-app-mode .shop-section-heading>span{width:36px;height:36px;font-size:20px;}.employee-app-mode .shop-category-card{min-height:78px;padding:12px;}.employee-app-mode .shop-category-card strong{font-size:16px;}.employee-app-mode .shop-category-card small{display:none;}.employee-app-mode .shop-quick-item{min-height:42px;padding:9px 11px;}.employee-app-mode .shop-categories-section{padding:18px;}
@media(max-width:1120px){.employee-app-mode .sidebar{grid-template-columns:auto 1fr auto;}.employee-app-mode #employeeNav{grid-column:1 / -1;justify-content:center;padding-top:5px;border-top:1px solid #e7eef7;}.employee-app-mode .employee-sidebar-profile{justify-content:flex-end;}}@media(max-width:700px){.employee-app-mode .shell{padding:10px 10px 22px;}.employee-app-mode .sidebar{display:flex;flex-wrap:wrap;gap:8px;padding:10px;top:5px;}.employee-app-mode .sidebar h2{font-size:16px;padding:0 4px;}.employee-app-mode #backToEmployeesBtn{padding:8px 10px;}.employee-app-mode #userInfo{margin-left:auto;}.employee-app-mode .employee-sidebar-profile strong{display:none;}.employee-app-mode #employeeNav{order:4;width:100%;justify-content:flex-start;overflow-x:auto;padding-top:7px;}.employee-app-mode #employeeNav .navbtn{flex:0 0 auto;font-size:12px;}.employee-app-mode .shop-quick-grid{grid-template-columns:1fr;}.employee-app-mode .shop-category-grid{grid-template-columns:1fr 1fr;}.employee-app-mode .shop-category-card{min-height:70px;}.employee-app-mode .shop-category-icon{flex-basis:36px;width:36px;height:36px;font-size:19px;}}

/* Premium-Design für die Mitarbeitenden-App */
#appScreen.employee-app-mode{background:radial-gradient(circle at 100% 0,#dbeafe 0,transparent 28%),radial-gradient(circle at 0 100%,#e0e7ff 0,transparent 27%),#f5f8fc;}.employee-app-mode .shell{max-width:1580px;gap:18px;padding-top:18px;}.employee-app-mode .sidebar{padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(110deg,#102b4f,#173e70 54%,#1d4f91);box-shadow:0 16px 38px rgba(15,39,68,.24);}.employee-app-mode .sidebar h2{display:flex;align-items:center;gap:10px;padding:0 11px;color:#fff;font-size:20px;font-weight:850;letter-spacing:-.03em;}.employee-app-mode .sidebar h2:before{content:'B';display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:linear-gradient(145deg,#7dd3fc,#2563eb);color:#fff;font-size:15px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35);}.employee-app-mode #backToEmployeesBtn{border-color:rgba(191,219,254,.35);background:rgba(255,255,255,.11);color:#dbeafe;}.employee-app-mode #backToEmployeesBtn:hover{background:rgba(255,255,255,.18);color:#fff;}.employee-app-mode .employee-sidebar-profile{justify-content:flex-end;}.employee-app-mode .employee-profile-avatar{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.14);color:#fff;}.employee-app-mode .employee-sidebar-profile strong{color:#fff;font-size:15px;}.employee-app-mode .employee-sidebar-balance{border:1px solid rgba(134,239,172,.24);background:rgba(22,163,74,.2);color:#dcfce7;}.employee-app-mode .employee-sidebar-balance.is-negative{border-color:rgba(254,202,202,.24);background:rgba(220,38,38,.2);color:#fee2e2;}.employee-app-mode #employeeNav{gap:5px;padding:3px;background:rgba(255,255,255,.10);border-radius:14px;}.employee-app-mode #employeeNav .navbtn{min-height:38px;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:#dbeafe;font-size:13px;font-weight:750;}.employee-app-mode #employeeNav .navbtn:hover{background:rgba(255,255,255,.13);color:#fff;}.employee-app-mode #employeeNav .navbtn.btn-primary{background:#fff;color:#173e70;box-shadow:0 3px 10px rgba(2,20,45,.2);}.employee-app-mode .content{max-width:1500px;margin:0 auto;}.employee-app-mode .shop-quick-grid{gap:16px;margin-bottom:16px;}.employee-app-mode .shop-quick-card{position:relative;overflow:hidden;padding:17px;border:0;border-radius:20px;box-shadow:0 12px 28px rgba(30,60,120,.10);}.employee-app-mode .shop-quick-card:before{content:'';position:absolute;width:130px;height:130px;right:-58px;top:-58px;border-radius:50%;background:currentColor;opacity:.055;}.employee-app-mode .shop-favorites{background:linear-gradient(145deg,#fffdf5,#fff7d6);color:#9a6700;}.employee-app-mode .shop-recent{background:linear-gradient(145deg,#f8fbff,#eaf3ff);color:#1d4ed8;}.employee-app-mode .shop-popular{background:linear-gradient(145deg,#fbf8ff,#f0eaff);color:#6d28d9;}.employee-app-mode .shop-section-heading{position:relative;gap:9px;margin-bottom:13px;}.employee-app-mode .shop-section-heading>span{width:39px;height:39px;border:0;background:rgba(255,255,255,.7);box-shadow:0 4px 10px rgba(15,23,42,.06);}.employee-app-mode .shop-section-heading h3{color:currentColor;font-size:18px;font-weight:850;}.employee-app-mode .shop-quick-list{position:relative;gap:7px;}.employee-app-mode .shop-quick-item{min-height:41px;border-color:rgba(148,163,184,.2);background:rgba(255,255,255,.68);color:#1e293b;backdrop-filter:blur(4px);}.employee-app-mode .shop-quick-item:hover{border-color:rgba(37,99,235,.35);background:#fff;box-shadow:0 6px 14px rgba(37,99,235,.10);}.employee-app-mode .shop-quick-item b{color:currentColor;}.employee-app-mode .shop-categories-section{padding:18px;border:0;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(30,60,120,.09);}.employee-app-mode .shop-categories-section>.shop-section-heading{color:#102a47;padding:0 2px;}.employee-app-mode .shop-category-grid{gap:13px;}.employee-app-mode .shop-category-card{min-height:94px;border:1px solid #e7eef7;border-radius:17px;background:#fbfdff;box-shadow:none;}.employee-app-mode .shop-category-card:hover{border-color:#93c5fd;background:#fff;box-shadow:0 10px 22px rgba(37,99,235,.11);}.employee-app-mode .shop-category-card:nth-child(1) .shop-category-icon{background:#fff0d5;}.employee-app-mode .shop-category-card:nth-child(2) .shop-category-icon{background:#dff6ff;}.employee-app-mode .shop-category-card:nth-child(3) .shop-category-icon{background:#fce7f3;}.employee-app-mode .shop-category-card:nth-child(4) .shop-category-icon{background:#ede9fe;}.employee-app-mode .shop-category-card:nth-child(5) .shop-category-icon{background:#e0f2fe;}.employee-app-mode .shop-category-icon{width:48px;height:48px;border-radius:15px;background:#eaf2ff;box-shadow:inset 0 1px 0 rgba(255,255,255,.65);}.employee-app-mode .shop-category-card strong{font-size:17px;font-weight:850;}.employee-app-mode .shop-category-card>b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#edf4ff;color:#2563eb;font-size:22px;}
@media(max-width:1120px){.employee-app-mode .sidebar{background:linear-gradient(135deg,#102b4f,#1d4f91);}.employee-app-mode #employeeNav{background:rgba(255,255,255,.09);border-top:0;}.employee-app-mode .shop-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}@media(max-width:850px){.employee-app-mode .shop-quick-grid{grid-template-columns:1fr 1fr;}.employee-app-mode .shop-popular{grid-column:1 / -1;}}@media(max-width:700px){.employee-app-mode .sidebar h2:before{width:26px;height:26px;border-radius:8px;font-size:13px;}.employee-app-mode #employeeNav{background:rgba(255,255,255,.09);}.employee-app-mode .shop-quick-grid{grid-template-columns:1fr;}.employee-app-mode .shop-popular{grid-column:auto;}.employee-app-mode .shop-quick-card{padding:15px;}.employee-app-mode .shop-category-card{min-height:76px;}.employee-app-mode .shop-category-icon{width:39px;height:39px;border-radius:12px;}}

/* Feinschliff der Kopfzeile: einheitliche Schrift, Kontrast und Abstände */
#appScreen.employee-app-mode .sidebar #sidebarTitle{margin:0!important;padding:0 11px!important;color:#fff!important;font-family:Inter,Arial,sans-serif!important;font-size:20px!important;font-weight:850!important;line-height:1!important;letter-spacing:-.03em!important;text-shadow:0 1px 1px rgba(2,20,45,.22);}.employee-app-mode #backToEmployeesBtn{font-family:Inter,Arial,sans-serif!important;font-size:12px!important;font-weight:750!important;line-height:1!important;letter-spacing:0!important;}.employee-app-mode #userInfo{padding-left:12px;border-left:1px solid rgba(255,255,255,.16);}.employee-app-mode .employee-sidebar-profile strong{font-family:Inter,Arial,sans-serif!important;font-size:14px!important;font-weight:800!important;letter-spacing:-.01em;}.employee-app-mode .employee-sidebar-balance{font-family:Inter,Arial,sans-serif!important;font-size:13px!important;font-weight:850!important;line-height:1!important;letter-spacing:0!important;}.employee-app-mode #employeeNav{margin-left:4px;}.employee-app-mode #employeeNav .navbtn,#appScreen.employee-app-mode #employeeNav .navbtn{display:flex!important;align-items:center;justify-content:center;font-family:Inter,Arial,sans-serif!important;font-size:13px!important;font-weight:750!important;line-height:1!important;letter-spacing:0!important;text-align:center!important;}.employee-app-mode #employeeNav .navbtn.btn-primary,#appScreen.employee-app-mode #employeeNav .navbtn.btn-primary{color:#173e70!important;font-weight:850!important;}.employee-app-mode #employeeNav .navbtn:not(.btn-primary),#appScreen.employee-app-mode #employeeNav .navbtn:not(.btn-primary){color:#eef6ff!important;}.employee-app-mode #employeeNav .navbtn:hover{color:#fff!important;}@media(max-width:1120px){.employee-app-mode #userInfo{padding-left:0;border-left:0;}.employee-app-mode #employeeNav{margin-left:0;}}@media(max-width:700px){#appScreen.employee-app-mode .sidebar #sidebarTitle{font-size:16px!important;}.employee-app-mode #userInfo{border-left:0;}.employee-app-mode #employeeNav .navbtn,#appScreen.employee-app-mode #employeeNav .navbtn{font-size:12px!important;}}

/* Die Mitarbeitenden-Kopfzeile bleibt bei jeder Breite oberhalb des Inhalts. */
#appScreen.employee-app-mode .sidebar{order:0!important;}#appScreen.employee-app-mode .content{order:1!important;}.employee-app-mode .sidebar h2:before{content:none!important;display:none!important;}.employee-app-mode .sidebar h2{gap:0!important;}@media(max-width:900px){#appScreen.employee-app-mode .shell{grid-template-columns:1fr!important;}.employee-app-mode .sidebar{order:0!important;}.employee-app-mode .content{order:1!important;}}

/* Einheitliches Corporate Design – Auswahl, Verwaltung, Formulare und Dialoge */
:root{--brand-950:#102b4f;--brand-900:#173e70;--brand-800:#1d4f91;--brand-600:#2563eb;--brand-100:#dbeafe;--canvas:#f5f8fc;--line:#dce7f5;--ink:#102a47;--soft-shadow:0 12px 30px rgba(30,60,120,.09);}.screen{background:radial-gradient(circle at 100% 0,#dceafe 0,transparent 29%),radial-gradient(circle at 0 100%,#e8efff 0,transparent 26%),var(--canvas);}.btn{font-family:Inter,Arial,sans-serif;letter-spacing:0;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;}.btn:hover{transform:translateY(-1px);}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 7px 15px rgba(37,99,235,.20);}.btn-secondary{border:1px solid #d7e5f6;background:#f4f8ff;color:#173e70;}.input{border-color:#d7e3f1;box-shadow:inset 0 1px 1px rgba(15,23,42,.025);}.input:focus{outline:0;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.18);}

/* Login */
#loginScreen{background:radial-gradient(circle at 20% 12%,#dbeafe 0,transparent 27%),radial-gradient(circle at 84% 84%,#e0e7ff 0,transparent 31%),linear-gradient(145deg,#f7faff,#ecf3ff);}.login-panel{border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.92);box-shadow:0 24px 58px rgba(30,60,120,.15);backdrop-filter:blur(12px);}.login-brand h1{color:var(--brand-950);letter-spacing:-.04em;}.login-brand-mark i:first-child{background:#173e70;}.login-brand-mark i:nth-child(2){background:#2563eb;}.login-panel .pin-grid .btn{font-weight:800;}.login-panel .pin-grid .btn:hover{box-shadow:0 6px 14px rgba(37,99,235,.12);transform:translateY(-1px);}.login-legal{color:#64748b;}

/* Mitarbeiterauswahl */
#employeeScreen{padding:18px;}.employee-app-mode{padding:0!important;}#employeeScreen>.content{width:min(100%,1580px);margin:0 auto;padding:20px;background:transparent;box-shadow:none;border-radius:0;}#employeeScreen #deptTitle{margin:0 0 12px;color:var(--ink);font-size:30px;line-height:1.05;letter-spacing:-.04em;}.employee-stats-bar{min-height:55px;margin:0 0 18px;padding:9px 13px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:linear-gradient(110deg,var(--brand-950),var(--brand-800));box-shadow:0 14px 30px rgba(15,39,68,.18);color:#eef6ff;font-size:13px;font-weight:750;}.employee-stats-bar button,.employee-stats-bar select{font-family:Inter,Arial,sans-serif;}.employee-department-btn,.employee-group-btn,.employee-helper-select,.employee-kitchen-btn{border-color:rgba(191,219,254,.30)!important;background:rgba(255,255,255,.10)!important;color:#eff6ff!important;box-shadow:none!important;}.employee-department-btn:hover,.employee-group-btn:hover,.employee-helper-select:hover,.employee-kitchen-btn:hover{background:rgba(255,255,255,.18)!important;}.employee-helper-select option{background:#173e70;color:#fff;}.employee-stat-divider{color:rgba(219,234,254,.34);}.employee-grid{padding:0;gap:13px;}.employee.card{min-height:145px;padding:14px 12px;border:1px solid #dce7f5;border-left:4px solid #94a3b8;border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 7px 17px rgba(30,60,120,.06);}.employee.card.employee-done{border-left-color:#2563eb;}.employee.card:hover{border-color:#93c5fd;box-shadow:0 12px 24px rgba(37,99,235,.12);transform:translateY(-2px);}.employee-name{color:#102a47;font-size:17px;font-weight:850;line-height:1.16;}.employee-subline{color:#64748b!important;font-size:11px!important;font-weight:700;}.employee-status{font-size:20px;letter-spacing:2px;}.employee-balance{font-size:12px;font-weight:850;}#backToPin{display:block;width:min(100%,420px);margin:22px auto 0!important;}

/* Administration */
#appScreen:not(.employee-app-mode){background:var(--canvas);}.shell{max-width:1640px;margin:0 auto;}.shell:has(#adminNav:not(.hidden)){grid-template-columns:260px minmax(0,1fr);gap:18px;padding:18px;}.shell:has(#adminNav:not(.hidden)) .sidebar{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto;padding:14px;border:1px solid rgba(255,255,255,.10);border-radius:22px;background:linear-gradient(180deg,var(--brand-950),var(--brand-900));box-shadow:0 18px 38px rgba(15,39,68,.20);}.shell:has(#adminNav:not(.hidden)) .sidebar #sidebarTitle{margin:6px 8px 16px;color:#fff;font-size:21px;font-weight:850;letter-spacing:-.03em;}.shell:has(#adminNav:not(.hidden)) #userInfo{margin:0 5px 14px;padding:11px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.08);color:#eaf2ff;font-size:12px;line-height:1.4;}.shell:has(#adminNav:not(.hidden)) #userInfo strong{color:#fff;font-size:14px;}.shell:has(#adminNav:not(.hidden)) #adminNav{display:grid;gap:4px;margin:0;}.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn{min-height:39px;margin:0;padding:9px 11px;border:0;border-radius:11px;background:transparent;color:#dbeafe;font-size:13px;font-weight:750;box-shadow:none;}.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn:hover{background:rgba(255,255,255,.10);color:#fff;transform:translateX(2px);}.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn.btn-primary{background:#fff;color:#173e70;font-weight:850;box-shadow:0 4px 12px rgba(2,20,45,.20);}.shell:has(#adminNav:not(.hidden)) .content{padding:0;background:transparent;box-shadow:none;border-radius:0;}.shell:has(#adminNav:not(.hidden)) .content>section>h1{margin:4px 0 18px;color:var(--ink);font-size:30px;letter-spacing:-.04em;}.shell:has(#adminNav:not(.hidden)) .content .card{border:1px solid var(--line);box-shadow:var(--soft-shadow);}.shell:has(#adminNav:not(.hidden)) .content>section>.card:first-of-type{border-radius:19px;}.shell:has(#adminNav:not(.hidden)) .table,.shell:has(#adminNav:not(.hidden)) table{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--soft-shadow);}.shell:has(#adminNav:not(.hidden)) th{background:#f0f6ff;color:#52657c;font-size:12px;letter-spacing:.04em;text-transform:uppercase;}.shell:has(#adminNav:not(.hidden)) td{border-color:#e7eef7;}.shell:has(#adminNav:not(.hidden)) .admin-page-heading h1{color:var(--ink);letter-spacing:-.04em;}

/* Dialoge und kleine Inhaltsseiten */
.modal{background:rgba(10,27,49,.48);backdrop-filter:blur(7px);}.modal-box{border:1px solid rgba(255,255,255,.75);box-shadow:0 25px 60px rgba(2,20,45,.28);}.history-item,.account-statement-row{border-color:var(--line);box-shadow:0 5px 14px rgba(30,60,120,.045);}.meal-signup-card,.account-summary-card,.history-summary-card{border-color:var(--line);box-shadow:var(--soft-shadow);}
@media(max-width:900px){#employeeScreen{padding:12px;}.shell:has(#adminNav:not(.hidden)){display:flex;flex-direction:column;padding:12px;}.shell:has(#adminNav:not(.hidden)) .sidebar{position:static;order:0;max-height:none;}.shell:has(#adminNav:not(.hidden)) .content{order:1;}.shell:has(#adminNav:not(.hidden)) #adminNav{display:flex;flex-wrap:wrap;gap:5px;}.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn{width:auto;}.employee-stats-bar{gap:8px;font-size:12px;}.employee-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));}}@media(max-width:600px){#employeeScreen #deptTitle{font-size:24px;}.employee-stats-bar{border-radius:14px;}.employee-stat-divider{display:none;}.employee-selection-inline{width:100%;}.employee-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.employee.card{min-height:130px;}.shell:has(#adminNav:not(.hidden)) #adminNav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;}.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn{flex:0 0 auto;}.shell:has(#adminNav:not(.hidden)) .content>section>h1{font-size:26px;}}

/* Feinschliff: ruhige Farbpalette, gleiche Flächenbreiten und keine sichtbaren Innen-Scrollleisten */
:root{--accent:#315f7b;--accent-soft:#eaf0f4;--brand-600:#315f7b;--brand-100:#e4edf2;}.btn-primary{background:linear-gradient(135deg,#315f7b,#244b68);box-shadow:0 6px 14px rgba(36,75,104,.18);}.btn-secondary{border-color:#d5e0e8;background:#f4f7f9;color:#294e68;}.input:focus{border-color:#7d9caf;box-shadow:0 0 0 3px rgba(91,132,156,.15);}.shell:has(#adminNav:not(.hidden)) .sidebar{scrollbar-width:none;-ms-overflow-style:none;}.shell:has(#adminNav:not(.hidden)) .sidebar::-webkit-scrollbar{display:none;}.shell:has(#adminNav:not(.hidden)) .sidebar{background:linear-gradient(180deg,#153553,#1e496f);box-shadow:0 16px 34px rgba(15,39,68,.18);}.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn.btn-primary{color:#1e496f;background:#f6f9fb;}.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn:hover{background:rgba(255,255,255,.08);transform:none;}.shell:has(#adminNav:not(.hidden)) .content .card{border-color:#dde6ec;box-shadow:0 9px 22px rgba(30,60,120,.055);}

/* Berlin Type – verbindliche Hausschrift der gesamten Anwendung */
@font-face{font-family:'Berlin Type';src:url('/assets/fonts/BerlinTypeWeb-Regular.woff2') format('woff2'),url('/assets/fonts/BerlinTypeWeb-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap;}@font-face{font-family:'Berlin Type';src:url('/assets/fonts/BerlinTypeWeb-Bold.woff2') format('woff2'),url('/assets/fonts/BerlinTypeWeb-Bold.woff') format('woff');font-weight:700 900;font-style:normal;font-display:swap;}body,body *{font-family:'Berlin Type','Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',Arial,sans-serif!important;}

/* Berlin Type hat eine etwas kompaktere Laufweite als die bisherige Schrift.
   Dieser optische Ausgleich bewahrt die ruhige Gestaltung, macht Texte aber
   wieder genauso schnell lesbar – besonders auf Tablet und Arbeitsmonitor. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-size:16px;line-height:1.46;font-weight:400;}
button,input,select,textarea{font-size:15px;line-height:1.3;}
.btn,.navbtn,.linkbtn{line-height:1.25;}
.input{font-size:15px;line-height:1.3;}

/* Inhalt: eine Stufe luftiger als die Navigationsleiste, ohne mehr Platz zu verbrauchen. */
.card,.panel,.content{line-height:1.42;}
.shop-quick-item,.shop-category-card,.product,.employee,.history-item{line-height:1.3;}
.shop-quick-item{font-size:15px;}
.shop-category-card strong{font-size:18px;line-height:1.18;}
.shop-category-card small{font-size:13px;line-height:1.3;}
.shop-product-card h3{font-size:16px;line-height:1.22;}
.shop-product-card p{font-size:12px;line-height:1.35;}
.employee-name{font-size:18px;line-height:1.18;}
.employee-subline{font-size:12px!important;line-height:1.28;}
.employee-balance{font-size:13px;line-height:1.2;}

/* Navigation bleibt kompakt und einzeilig, erhält aber eine klarere Schriftgröße. */
.employee-app-mode #employeeNav .navbtn,
#appScreen.employee-app-mode #employeeNav .navbtn{font-size:14px!important;line-height:1.15!important;}
.employee-app-mode #backToEmployeesBtn{font-size:13px!important;line-height:1.15!important;}
.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn{font-size:14px;line-height:1.18;}
.shell:has(#adminNav:not(.hidden)) #userInfo{font-size:13px;line-height:1.45;}
.shell:has(#adminNav:not(.hidden)) #adminNav .admin-nav-group-start{
    position:relative;
    margin-top:9px;
}
.shell:has(#adminNav:not(.hidden)) #adminNav .admin-nav-group-start:before{
    position:absolute;
    top:-5px;
    right:8px;
    left:8px;
    height:1px;
    background:rgba(222,237,246,.16);
    content:"";
    pointer-events:none;
}

/* Kleine erklärende Texte und Tabellen sind nun auch mit der neuen Hausschrift angenehm lesbar. */
.muted,.legal-note,.shop-empty-note,.lunch-ideas-list small,.cashbook-row small,
.inventory-table td small,.dashboard-header p,.dashboard-status p{line-height:1.45;}
.lunch-ideas-list small,.cashbook-row small,.inventory-table td small{font-size:13px;}
@media(max-width:700px){
    body{font-size:16px;}
    button,input,select,textarea,.input{font-size:16px;}
    .employee-app-mode #employeeNav .navbtn,
    #appScreen.employee-app-mode #employeeNav .navbtn{font-size:13px!important;}
}
#employeeScreen>#employeeGrid{width:min(calc(100% - 36px),1580px);margin:0 auto;padding:0;}.employee.card.employee-done,.employee-done{border-left-color:#3d8a5b!important;}.employee.card.employee-open,.employee-open{border-left-color:#b7c2cb!important;}.employee.card:hover{border-color:#b9ccd9;box-shadow:0 10px 20px rgba(45,79,105,.10);}.employee-stats-bar{background:linear-gradient(110deg,#153553,#1e496f);box-shadow:0 12px 26px rgba(15,39,68,.16);}.employee-department-btn,.employee-group-btn,.employee-helper-select,.employee-kitchen-btn{border-color:rgba(224,236,244,.28)!important;color:#f4f8fb!important;}.employee-department-btn:hover,.employee-group-btn:hover,.employee-helper-select:hover,.employee-kitchen-btn:hover{background:rgba(255,255,255,.14)!important;}.employee-kitchen-btn.employee-ideas-btn{background:rgba(255,255,255,.10)!important;color:#f4f8fb!important;}.employee-department-btn,.employee-group-btn,.employee-helper-select,.employee-kitchen-btn{box-shadow:none!important;}.employee-balance.balance-positive{color:#2f7c4b;}.employee-balance.balance-negative{color:#b84a4a;}
#employeeScreen>#backToPin{display:flex;align-items:center;justify-content:center;width:min(calc(100% - 36px),1580px);min-height:48px;margin:18px auto 0!important;padding:10px 16px;border:1px solid #d7e1e8;border-radius:15px;background:#f4f7f9;color:#52687a;font-size:13px;font-weight:750;box-shadow:none;}#employeeScreen>#backToPin:hover{border-color:#b9c9d4;background:#eef3f6;color:#294e68;}.inventory-progress-card>span,.recurring-list-heading>span,.dashboard-meal-grid strong,.dashboard-department-bookings b{color:#315f7b!important;}.dashboard-metric-revenue>span,.dashboard-metric-products>span{background:#e8f0f4!important;}.shop-category-card>b,.shop-quick-item b{color:#315f7b!important;}.employee-app-mode #employeeNav .navbtn.btn-primary{color:#244b68!important;}.employee-app-mode .shop-recent{color:#315f7b;}.employee-app-mode .shop-category-card:hover{border-color:#b8cad6;box-shadow:0 10px 20px rgba(45,79,105,.10);}
@media(max-width:900px){#employeeScreen>#employeeGrid,#employeeScreen>#backToPin{width:100%;}.shell:has(#adminNav:not(.hidden)) .sidebar{overflow:visible;}}@media(max-width:600px){#employeeScreen>#backToPin{min-height:44px;margin-top:14px!important;}}

/* Das Admin-Menü wächst vollständig mit seinem Inhalt; es gibt keine innere Scrollfläche. */
.shell:has(#adminNav:not(.hidden)) .sidebar{
    align-self:start;
    height:fit-content;
    max-height:none;
    overflow:visible;
}

/* Mitarbeiterauswahl: ruhige, gut lesbare Steuerleiste ohne Browser-Standardfarben. */
.employee-app-mode .employee-profile-avatar{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
    text-align:center;
    padding:0!important;
    transform:none!important;
}
.employee-stats-bar{
    gap:12px;
    min-height:58px;
    padding:10px 15px;
    font-size:14px;
    line-height:1.2;
}
.employee-stats-bar #showDepartmentPeople{
    min-height:0;
    padding:5px 3px;
    border-color:transparent!important;
    background:transparent!important;
    color:#fff!important;
    font-size:16px!important;
    font-weight:850!important;
    letter-spacing:-.01em;
}
.employee-stats-bar #showDepartmentPeople:hover,
.employee-stats-bar #showDepartmentPeople:focus-visible{background:transparent!important;color:#fff!important;}
.employee-stats-bar #statEmployees,
.employee-stats-bar #statBreakfast,
.employee-stats-bar #statLunch,
.employee-stats-bar #statDinner{font-size:14px;font-weight:750;white-space:nowrap;}
.employee-stats-bar .employee-stat-divider{align-self:center;color:rgba(225,238,246,.42);}
.employee-person-picker{position:relative;z-index:45;}
.employee-person-trigger{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-width:154px;
    min-height:36px;
    padding:8px 10px 8px 12px;
    border:1px solid rgba(224,236,244,.28);
    border-radius:10px;
    background:rgba(255,255,255,.08);
    color:#f4f8fb;
    font-size:14px;
    font-weight:750;
    line-height:1.1;
    cursor:pointer;
    transition:background .15s ease,border-color .15s ease;
}
.employee-person-trigger:hover,.employee-person-picker.is-open .employee-person-trigger,
.employee-person-trigger:focus-visible{border-color:rgba(224,236,244,.48);background:rgba(255,255,255,.15);outline:none;}
.employee-person-caret{font-size:17px;line-height:.8;transition:transform .15s ease;}
.employee-person-picker.is-open .employee-person-caret{transform:rotate(180deg);}
.employee-person-menu{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    display:grid;
    min-width:252px;
    max-width:min(320px,calc(100vw - 28px));
    padding:7px;
    border:1px solid rgba(190,210,225,.38);
    border-radius:14px;
    background:#173a56;
    box-shadow:0 16px 32px rgba(12,35,55,.28);
}
.employee-person-picker.is-open .employee-person-menu{display:grid!important;}
.employee-person-menu-label{
    padding:8px 9px 5px;
    color:#a9c1d1;
    background:transparent;
    font-size:11px;
    font-weight:850;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.employee-person-option{
    width:100%;
    min-height:35px;
    padding:8px 10px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#f5f9fc;
    font-size:14px;
    font-weight:700;
    line-height:1.2;
    text-align:left;
    cursor:pointer;
}
.employee-person-option:hover,.employee-person-option:focus-visible{background:rgba(255,255,255,.12);color:#fff;outline:none;}
.employee-person-menu-empty{padding:12px;color:#c6d7e2;font-size:13px;text-align:center;}
@media(max-width:700px){
    .employee-stats-bar{gap:9px;padding:10px 12px;}
    .employee-stats-bar #showDepartmentPeople{font-size:15px!important;}
    .employee-person-trigger{min-width:146px;font-size:13px;}
    .employee-person-menu{right:auto;left:0;min-width:min(270px,calc(100vw - 28px));}
}

/* Arbeitsansichten aus der Mitarbeiterauswahl: dieselbe klare Kopfzeile, ohne Seitenmenü. */
#appScreen.employee-app-mode.breakfast-focus-mode .sidebar{display:none!important;}
#appScreen.employee-app-mode.breakfast-focus-mode .shell{max-width:1580px;padding:18px 18px 28px;}
#appScreen.employee-app-mode.breakfast-focus-mode .content{max-width:1500px;margin:0 auto;}
#appScreen.employee-app-mode.breakfast-focus-mode #adminBreakfastTab>h1{display:none;}
.employee-focus-toolbar{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 13px 10px 16px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:linear-gradient(110deg,#102b4f,#173e70 54%,#1d4f91);box-shadow:0 16px 38px rgba(15,39,68,.22);color:#fff;}
.employee-focus-department{padding:5px 3px;color:#fff;font-size:16px;font-weight:850;letter-spacing:-.015em;white-space:nowrap;}
.employee-focus-divider{align-self:stretch;width:1px;background:rgba(219,234,254,.25);}
.employee-focus-title{display:flex;align-items:center;gap:9px;min-width:0;}
.employee-focus-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.13);font-size:18px;}
.employee-focus-title strong,.employee-focus-title small{display:block;white-space:nowrap;}
.employee-focus-title strong{color:#fff;font-size:16px;line-height:1.12;font-weight:850;}
.employee-focus-title small{margin-top:3px;color:#c9dcec;font-size:12px;line-height:1.1;font-weight:700;}
.employee-focus-actions{display:flex;align-items:center;gap:6px;margin-left:auto;white-space:nowrap;}
.employee-focus-button{width:auto!important;min-height:38px;margin:0!important;padding:8px 11px;border:1px solid rgba(191,219,254,.32);border-radius:10px;background:rgba(255,255,255,.10);color:#eef6ff;font-size:13px;font-weight:750;line-height:1.1;box-shadow:none;}
.employee-focus-button:hover,.employee-focus-button:focus-visible{border-color:rgba(219,234,254,.55);background:rgba(255,255,255,.18);color:#fff;outline:none;}
@media(max-width:900px){#appScreen.employee-app-mode.breakfast-focus-mode .shell{padding:12px;}.employee-focus-toolbar{gap:10px;padding:10px 12px;overflow-x:auto;scrollbar-width:none;}.employee-focus-toolbar::-webkit-scrollbar{display:none;}.employee-focus-department{font-size:15px;}.employee-focus-actions{flex:0 0 auto;}}
@media(max-width:560px){.employee-focus-toolbar{min-height:58px;border-radius:16px;}.employee-focus-department{font-size:14px;}.employee-focus-title strong{font-size:14px;}.employee-focus-title small{font-size:11px;}.employee-focus-icon{flex-basis:30px;width:30px;height:30px;font-size:16px;}.employee-focus-button{min-height:35px;padding:7px 9px;font-size:12px;}}

/* Eine gemeinsame Vorlage für Mitarbeitermenü, Küchenübersicht und Ideen. */
#appScreen.employee-app-mode .sidebar,
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{
    width:min(100%,1500px);
    min-height:64px;
    margin-left:auto;
    margin-right:auto;
    padding:10px 13px 10px 16px;
    border-radius:22px;
    background:linear-gradient(110deg,#102b4f,#173e70 54%,#1d4f91);
    box-shadow:0 16px 38px rgba(15,39,68,.24);
}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{margin-bottom:18px;}
.employee-focus-title>div{display:flex;align-items:baseline;gap:8px;min-width:0;}
.employee-focus-title small{margin:0;white-space:nowrap;}
.employee-focus-title small:before{content:'·';margin-right:8px;color:rgba(201,220,236,.72);}
.employee-focus-actions{gap:5px;padding:3px;border-radius:14px;background:rgba(255,255,255,.10);}
.employee-focus-button{border-color:transparent;background:transparent;}
.employee-focus-button:hover,.employee-focus-button:focus-visible{border-color:transparent;background:rgba(255,255,255,.13);}
@media(max-width:900px){
    #appScreen.employee-app-mode .sidebar,
    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{width:100%;min-height:60px;padding:10px 12px;}
    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{margin-bottom:18px;}
}
@media(max-width:560px){
    .employee-focus-title>div{gap:6px;}
    .employee-focus-title small:before{margin-right:6px;}
}

/* Die Mitarbeiterauswahl ist die feste Vorlage für die beiden Arbeitsleisten. */
#appScreen.employee-app-mode.breakfast-focus-mode .shell{
    max-width:1580px;
    padding:38px 20px 28px;
}
#appScreen.employee-app-mode.breakfast-focus-mode .content{width:100%;max-width:none;}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{
    width:100%;
    min-height:58px;
    padding:10px 15px;
    border-radius:17px;
    background:linear-gradient(110deg,#153553,#1e496f);
    box-shadow:0 12px 26px rgba(15,39,68,.16);
}
.employee-person-trigger{min-width:128px;padding-left:10px;padding-right:8px;gap:8px;}
.employee-person-menu{min-width:210px;max-width:min(250px,calc(100vw - 28px));padding:6px;}
.employee-person-menu-label{padding:6px 8px 4px;font-size:10px;}
.employee-person-option{min-height:32px;padding:7px 8px;font-size:13px;}

/* Der Auswahlpfeil bleibt beim Drehen an einer festen, optisch mittigen Position. */
.employee-person-trigger{position:relative;justify-content:flex-start;padding-right:30px;}
.employee-person-caret{position:absolute;right:8px;top:50%;display:grid;place-items:center;width:16px;height:16px;line-height:1;transform:translateY(-50%) rotate(0deg);}
.employee-person-picker.is-open .employee-person-caret{transform:translateY(-50%) rotate(180deg);}
@media(max-width:900px){
    #appScreen.employee-app-mode.breakfast-focus-mode .shell{padding:30px 12px 22px;}
    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{padding:10px 13px;}
}
@media(max-width:700px){
    .employee-person-trigger{min-width:122px;}
    .employee-person-menu{min-width:200px;}
}

/* Exakte Geometrie der Mitarbeiterauswahl auch für Vorbereitung und Ideen. */
#appScreen.employee-app-mode.breakfast-focus-mode .shell{
    max-width:1580px;
    padding:18px;
}
#appScreen.employee-app-mode.breakfast-focus-mode .content{
    width:100%;
    max-width:none;
    padding:20px;
}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{
    width:100%;
    min-height:58px;
    margin:0 0 18px;
    padding:10px 15px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:17px;
    background:linear-gradient(110deg,#153553,#1e496f);
    box-shadow:0 12px 26px rgba(15,39,68,.16);
}
.employee-focus-actions{gap:7px;padding:0;background:transparent;border-radius:0;}
.employee-focus-button{
    min-height:36px;
    padding:7px 10px;
    border:1px solid rgba(224,236,244,.28);
    border-radius:10px;
    background:rgba(255,255,255,.10);
}
.employee-focus-button:hover,.employee-focus-button:focus-visible{
    border-color:rgba(224,236,244,.48);
    background:rgba(255,255,255,.14);
}
@media(max-width:900px){
    #appScreen.employee-app-mode.breakfast-focus-mode .shell{padding:12px;}
    #appScreen.employee-app-mode.breakfast-focus-mode .content{padding:20px;}
    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{margin-bottom:18px;padding:10px 15px;}
}

/* Pixelgenaue Übernahme der zuvor sichtbaren Mitarbeiterauswahl-Leiste. */
#employeeScreen > .content,
#appScreen.employee-app-mode.breakfast-focus-mode .shell{
    box-sizing:border-box;
    width:calc(100% - 36px);
    max-width:1580px;
    margin:0 auto;
    padding:20px;
}
#appScreen.employee-app-mode.breakfast-focus-mode .content{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{
    position:static;
    z-index:auto;
    width:100%;
    height:auto;
    min-height:58px;
    margin:0 0 18px;
    padding:10px 15px;
}
@media(max-width:900px){
    #employeeScreen > .content,
    #appScreen.employee-app-mode.breakfast-focus-mode .shell{width:100%;padding:20px 12px;}
}

/* Ruhige Akzentfarben für Detailansichten */
.breakfast-stat-persons strong,.breakfast-panel-count,.breakfast-variant-chip strong,.breakfast-order-table tbody td:not(:last-child),.lunch-ideas-list>li>span,.account-balanced strong,.account-balanced .account-status,.admin-product-group-heading span,.recurring-department-label,.admin-user-avatar{color:#315f7b!important;}.breakfast-panel-count,.inventory-progress-card>span,.recurring-list-heading>span,.admin-product-group-heading span{background:#eaf0f4!important;}.breakfast-order-total{background:#315f7b!important;}.audit-meal{border-left-color:#315f7b!important;background:#f1f5f7!important;}.shop-product-card:hover{border-color:#b9ccd9;box-shadow:0 10px 21px rgba(45,79,105,.10);}.shop-product-card-bottom strong{color:#315f7b;}.shop-quantity-control button{background:#eaf0f4;color:#294e68;}.shop-order-total{background:#f2f6f8;}.recurring-intro-card{border-color:#d5e0e8;background:#f3f7f9;}.recurring-intro-card>span{background:#e2ebf0;color:#315f7b;}.dashboard-action-grid button:hover{border-color:#b9ccd9;background:#f7fafb;box-shadow:0 8px 18px rgba(45,79,105,.08);}.dashboard-metric-revenue{border-color:#cbdbe5;}.dashboard-metric-revenue>span{background:#e6eef2;}.admin-user-avatar{background:#e6eef2;}.admin-user-role-department{background:#e8f0f4;color:#315f7b;}.admin-product-toolbar,.admin-product-card,.admin-user-card,.recurring-cost-card{border-color:#dce6ec;}.general-settings-card{border-color:#f1d9b2;}.general-settings-icon{background:#fff3df;}.inventory-start-icon{background:#e6eef2;}.inventory-complete-bar{border-color:#d2e0e8;background:#f1f6f8;}

/* Finale Vorrangregel: Mitarbeitenden-Menü auf Höhe der Arbeitsleisten verdichten. */
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{min-height:58px!important;padding:7px 12px!important;border-radius:17px!important;gap:8px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar #sidebarTitle{padding:0 4px!important;font-size:16px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #backToEmployeesBtn{min-height:34px!important;margin:0!important;padding:7px 10px!important;font-size:12px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #userInfo{padding-left:8px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-sidebar-profile{gap:7px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-profile-avatar{flex-basis:30px!important;width:30px!important;height:30px!important;border-radius:9px!important;font-size:13px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-sidebar-profile strong{font-size:13px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-sidebar-balance{padding:6px 8px!important;font-size:12px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav{gap:4px!important;margin:0!important;padding:2px!important;border-radius:11px!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav .navbtn{min-height:34px!important;padding:7px 10px!important;font-size:12px!important;}
@media(max-width:1120px) and (min-width:701px){#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{grid-template-columns:auto auto minmax(150px,1fr) auto!important;}#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav{grid-column:auto!important;overflow-x:auto;}#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav .navbtn{flex:0 0 auto;}}
@media(max-width:700px){#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{min-height:0!important;padding:8px 10px!important;}#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav{width:100%;}}

/* Bestellen: dezente Schnellaktionen für die beiden Mahlzeiten. */
.shop-meal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:14px;padding-top:14px;border-top:1px solid #e8eef2;}
.shop-meal-action{display:flex;align-items:center;gap:10px;min-height:62px;padding:11px 13px;border:1px solid;border-radius:15px;background:#fff;text-align:left;color:#183b55;font:inherit;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;}
.shop-meal-action:hover,.shop-meal-action:focus-visible{outline:0;transform:translateY(-1px);box-shadow:0 8px 18px rgba(30,60,120,.09);}
.shop-meal-action>span{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:11px;font-size:19px;}.shop-meal-action>div{min-width:0;flex:1;}.shop-meal-action strong,.shop-meal-action small{display:block;}.shop-meal-action strong{font-size:15px;line-height:1.15;}.shop-meal-action small{margin-top:3px;font-size:12px;font-weight:650;}.shop-meal-action>b{font-size:24px;line-height:1;font-weight:400;}
.shop-meal-action-lunch{border-color:#f0d6b6;background:#fffaf4;}.shop-meal-action-lunch>span{background:#ffedda;}.shop-meal-action-lunch small,.shop-meal-action-lunch>b{color:#a95e20;}.shop-meal-action-lunch:hover,.shop-meal-action-lunch:focus-visible{border-color:#dca66d;background:#fff;}
.shop-meal-action-dinner{border-color:#cddfed;background:#f6faff;}.shop-meal-action-dinner>span{background:#dfedfb;}.shop-meal-action-dinner small,.shop-meal-action-dinner>b{color:#356e9b;}.shop-meal-action-dinner:hover,.shop-meal-action-dinner:focus-visible{border-color:#93b9d5;background:#fff;}
.shop-meal-action:disabled{cursor:default;transform:none;box-shadow:none;opacity:1;}.shop-meal-action:disabled:hover{transform:none;box-shadow:none;}
.shop-meal-action.is-registered{border-color:#badbc6;background:#f4fbf7;color:#1f5c3d;}.shop-meal-action.is-registered>span{background:#dff2e7;}.shop-meal-action.is-registered small,.shop-meal-action.is-registered>b{color:#2e7a4c;}
.shop-meal-action.is-closed{border-color:#d8dfe3;background:#f7f9fa;color:#53636d;}.shop-meal-action.is-closed>span{background:#e9eef0;}.shop-meal-action.is-closed small,.shop-meal-action.is-closed>b{color:#687983;}
.shop-meal-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0;}
.shop-meal-action-vegetarian{min-height:62px;padding:11px 13px;border-color:#d6e0dc;background:#f8faf9;color:#38564b;}
.shop-meal-action-vegetarian>span{background:#e7f0eb;}
.shop-meal-action-vegetarian small,.shop-meal-action-vegetarian>b{color:#658075;}
.shop-meal-action-vegetarian strong{font-size:15px;}
.shop-meal-action.is-alternative-locked{border-color:#dfe5e8;background:#f6f8f9;color:#7a8991;}
.shop-meal-action.is-alternative-locked>span{background:#e9eef0;filter:grayscale(1);}
.shop-meal-action.is-alternative-locked small,.shop-meal-action.is-alternative-locked>b{color:#8a989f;}
.meal-vegetarian-info{display:flex;align-items:flex-start;gap:11px;margin:0 0 14px;padding:12px 14px;border:1px solid #d6e3dc;border-radius:15px;background:#f6faf7;color:#3e5d51;}
.meal-vegetarian-info>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#e3efe7;font-size:18px;}
.meal-vegetarian-info p{margin:0;font-size:13px;line-height:1.4;}
.meal-signup-card{padding:17px;}
.meal-signup-card .shop-meal-choice{margin-top:13px;}
.meal-signup-counts{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0 0;}
.meal-signup-counts span,.meal-signup-counts strong{padding:5px 8px;border-radius:999px;background:#eef4f7;color:#3e6278;font-size:11px;font-weight:800;}
.meal-signup-counts span:nth-child(2){background:#e9f4ed;color:#376b50;}
.meal-signup-counts strong{margin-left:auto;background:#f4f6f7;color:#667782;}
.meal-signup-card-focus{border-color:#8eabb9!important;box-shadow:0 0 0 4px rgba(117,153,171,.14),0 12px 24px rgba(30,60,120,.08)!important;transition:box-shadow .2s ease,border-color .2s ease;}
@media(max-width:620px){.shop-meal-actions{grid-template-columns:1fr;}.shop-meal-action{min-height:58px;}}
@media(max-width:430px){.shop-meal-choice{grid-template-columns:repeat(2,minmax(0,1fr));}.shop-meal-action{gap:7px;padding:9px;}.shop-meal-action>span{flex-basis:31px;width:31px;height:31px;}.shop-meal-action>div strong{font-size:12px;}.shop-meal-action>div small{font-size:10px;}}

/* Essen verwalten: Standard und vegetarische Wünsche klar getrennt. */
.admin-meal-management-card{padding:18px;}
.admin-meal-admin-note{grid-column:1 / -1;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #d5e4dc;border-radius:15px;background:#f6faf7;color:#416052;}
.admin-meal-admin-note>span{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:#e4f0e8;}
.admin-meal-admin-note p{margin:0;font-size:12px;line-height:1.4;}
.admin-meal-management-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.admin-meal-management-heading h3{margin:2px 0 0;font-size:22px;}
.admin-meal-management-heading>strong{padding:7px 10px;border-radius:999px;background:#eaf0f4;color:#315f7b;font-size:12px;}
.admin-meal-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:13px 0;}
.admin-meal-participant-group{overflow:hidden;border:1px solid #dbe5ea;border-radius:15px;background:#f9fbfc;}
.admin-meal-participant-group header{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:7px 9px;padding:11px 12px;border-bottom:1px solid #e3eaee;}
.admin-meal-participant-group header>span{display:grid;grid-column:1;grid-row:1;place-items:center;width:34px;height:34px;border-radius:10px;background:#e7eff4;font-size:17px;}
.admin-meal-participant-group header strong,.admin-meal-participant-group header small{display:block;}
.admin-meal-participant-group header small{margin-top:2px;color:#6d7e88;font-size:11px;font-weight:750;}
.admin-meal-participant-group>p{margin:0;padding:13px;color:#71818a;font-size:12px;}
.admin-meal-participant-vegetarian{border-color:#d2e3d9;background:#f7fbf8;}
.admin-meal-participant-vegetarian header{border-bottom-color:#dce9e1;}
.admin-meal-participant-vegetarian header>span{background:#e4f0e8;}
.admin-meal-person-list{display:grid;gap:7px;padding:10px;}
.admin-meal-person-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:7px 8px;border:1px solid #dce5ea;border-radius:11px;background:#fff;}
.admin-meal-person-list span{min-width:0;padding:0;border:0;background:transparent;color:#38566b;font-size:12px;font-weight:780;line-height:1.25;overflow-wrap:anywhere;}
.admin-meal-participant-vegetarian .admin-meal-person-item{border-color:#d6e5dc;background:#fcfefd;}
.admin-meal-participant-vegetarian .admin-meal-person-list span{color:#38624c;}
.admin-meal-participant-group header>div{min-width:0;}
.admin-meal-group-actions{grid-column:2;display:flex;align-items:center;justify-content:flex-start;gap:5px;min-width:0;margin:0;flex-wrap:wrap;}
.admin-meal-group-action{padding:6px 8px;border:1px solid #bed7c8;border-radius:9px;background:#fff;color:#38624c;font-size:10px;font-weight:850;cursor:pointer;white-space:nowrap;}
.admin-meal-group-action--convert:hover{border-color:#8fb9a0;background:#edf7f1;}
.admin-meal-group-action--cancel{border-color:#e4c3b9;color:#8a4d3d;}
.admin-meal-group-action--cancel:hover{border-color:#d69d8e;background:#fbefeb;}
.admin-meal-person-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0;flex-wrap:wrap;}
.admin-meal-person-actions>button{padding:5px 7px;border-radius:9px;font-size:10px;font-weight:850;cursor:pointer;white-space:nowrap;}
.admin-meal-person-convert{border:1px solid #bed7c8;background:#edf7f1;color:#38624c;}
.admin-meal-person-convert:hover{border-color:#8fb9a0;background:#dff0e6;}
.admin-meal-person-cancel{border:1px solid #e5c7bd;background:#fff7f4;color:#8a4d3d;}
.admin-meal-person-cancel:hover{border-color:#d99f90;background:#fbece7;}
.admin-meal-billing-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:9px;align-items:start;margin-top:15px;padding-top:15px;border-top:1px solid #e5ebef;}
.admin-meal-billing-fields .input{margin:0;}
.admin-meal-billing-fields small{grid-column:3;color:#687b86;font-size:10px;line-height:1.3;}
.admin-meal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px;}
.admin-meal-actions .btn{width:auto;margin:0;}
.admin-meal-actions .admin-meal-cancel-all{border:1px solid #dfb9ac;background:#fff7f4;color:#834738;}
.admin-meal-actions .admin-meal-cancel-all:hover{border-color:#cd8e7d;background:#fbece7;}
@media(min-width:901px) and (max-width:1450px){.admin-meal-summary{grid-template-columns:1fr;}}
@media(max-width:760px){.admin-meal-summary{grid-template-columns:1fr;}.admin-meal-billing-fields{grid-template-columns:1fr;}.admin-meal-billing-fields small{grid-column:auto;}.admin-meal-actions .btn{flex:1 1 180px;}}
@media(max-width:470px){.admin-meal-person-item{grid-template-columns:1fr;}.admin-meal-person-actions{justify-content:flex-start;}}

/* Ausgewählter Mitarbeitender: eine durchgehend einzeilige Kopfzeile wie in der Auswahl. */
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    min-height:58px!important;
    overflow:hidden;
}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar #sidebarTitle,
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #backToEmployeesBtn,
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #userInfo{flex:0 0 auto;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar #sidebarTitle{order:1;white-space:nowrap;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #backToEmployeesBtn{order:2;white-space:nowrap;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #userInfo{order:3;min-width:0;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav{
    display:flex!important;
    order:4;
    flex:1 1 auto;
    min-width:0;
    width:auto!important;
    flex-wrap:nowrap!important;
    justify-content:flex-end!important;
    overflow-x:auto;
    scrollbar-width:none;
    white-space:nowrap;
}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav::-webkit-scrollbar{display:none;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav .navbtn{flex:0 0 auto;}
@media(max-width:700px){
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{gap:6px!important;overflow-x:auto;scrollbar-width:none;}
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar::-webkit-scrollbar{display:none;}
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav{flex:0 0 auto;overflow:visible;}
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #userInfo{display:none;}
}

/* Bereinigte Profil-Kopfzeile: eine einzige, stabile Darstellung ohne Altregeln. */
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    min-height:58px!important;
    margin:0!important;
    padding:8px 14px!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:18px!important;
    background:linear-gradient(105deg,#153553 0%,#1e496f 58%,#28577f 100%)!important;
    box-shadow:0 14px 30px rgba(15,39,68,.20)!important;
    scrollbar-width:none;
}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar::-webkit-scrollbar{display:none;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar #sidebarTitle{
    order:1;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0 10px 0 2px!important;
    color:#fff!important;
    font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;
    font-size:16px!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:0!important;
    text-shadow:none!important;
    white-space:nowrap;
}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar #sidebarTitle::before,
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #sidebarDepartmentName{display:none!important;content:none!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #backToEmployeesBtn{
    order:2;
    flex:0 0 auto!important;
    min-height:36px!important;
    margin:0!important;
    padding:8px 11px!important;
    border:1px solid rgba(221,237,246,.26)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.09)!important;
    color:#edf6fa!important;
    font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1!important;
    box-shadow:none!important;
    white-space:nowrap;
}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #backToEmployeesBtn:hover{background:rgba(255,255,255,.16)!important;color:#fff!important;transform:none!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #userInfo{order:3;flex:0 0 auto!important;min-width:0!important;margin-left:auto!important;padding:0 10px!important;border:0!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-sidebar-profile{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;padding:0!important;background:transparent!important;box-shadow:none!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-profile-avatar{display:grid!important;place-items:center!important;flex:0 0 30px!important;width:30px!important;height:30px!important;border:1px solid rgba(255,255,255,.23)!important;border-radius:9px!important;background:rgba(255,255,255,.13)!important;color:#fff!important;font-size:13px!important;font-weight:800!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-sidebar-profile strong{max-width:170px!important;overflow:hidden!important;color:#fff!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;font-size:13px!important;font-weight:800!important;line-height:1.1!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-sidebar-balance{padding:6px 8px!important;border:1px solid rgba(152,214,173,.23)!important;border-radius:8px!important;background:rgba(36,130,82,.28)!important;color:#e2f8e9!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;font-size:12px!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-sidebar-balance.is-negative{border-color:rgba(255,201,201,.24)!important;background:rgba(166,67,67,.30)!important;color:#ffe9e9!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav{display:flex!important;order:4;flex:0 0 auto!important;align-items:center!important;gap:3px!important;width:auto!important;margin:0!important;padding:3px!important;overflow:visible!important;border:0!important;border-radius:11px!important;background:rgba(255,255,255,.10)!important;white-space:nowrap!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav .navbtn{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-height:34px!important;margin:0!important;padding:7px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#eaf4f8!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;font-size:12px!important;font-weight:700!important;line-height:1!important;box-shadow:none!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav .navbtn:hover{background:rgba(255,255,255,.14)!important;color:#fff!important;transform:none!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav .navbtn.btn-primary{background:#f7fafb!important;color:#244b68!important;font-weight:800!important;box-shadow:0 2px 7px rgba(8,31,51,.19)!important;}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-undo-button{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    gap:5px;
    min-height:34px;
    margin:0;
    padding:7px 10px;
    border:1px solid rgba(224,234,240,.16);
    border-radius:8px;
    background:rgba(255,255,255,.06);
    color:rgba(234,244,248,.52);
    font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif;
    font-size:11px;
    font-weight:750;
    line-height:1;
    box-shadow:none;
    white-space:nowrap;
    cursor:not-allowed;
}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-undo-button.is-active{
    border-color:rgba(255,224,178,.54);
    background:#b66b2e;
    color:#fff9f1;
    box-shadow:0 4px 12px rgba(108,56,18,.24);
    cursor:pointer;
}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-undo-button.is-active:hover{
    background:#c37837;
    transform:translateY(-1px);
}
#appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-undo-button.is-processing{
    opacity:.72;
    cursor:wait;
}
.employee-undo-icon{font-size:15px;font-weight:900;line-height:1;}
@media(max-width:900px){
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{padding:8px 12px!important;}
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #userInfo{margin-left:0!important;}
}
@media(max-width:620px){
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{min-height:54px!important;gap:6px!important;padding:7px 10px!important;}
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar #sidebarTitle{font-size:14px!important;padding-right:5px!important;}
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #userInfo{display:none!important;}
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #backToEmployeesBtn{min-height:33px!important;padding:7px 9px!important;}
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav .navbtn{min-height:33px!important;padding:7px 9px!important;font-size:11px!important;}
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-undo-button{
        position:sticky;
        right:0;
        z-index:2;
        min-height:33px;
        margin-left:auto;
        padding:7px 9px;
        background:#274f6e;
        box-shadow:-7px 0 9px rgba(21,53,83,.78);
    }
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-undo-button.is-active{
        background:#b66b2e;
    }
}

/* Einheitlicher Abschluss für alle Navigationsleisten der Anwendung. */
#employeeScreen .employee-stats-bar,
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    min-height:58px!important;
    margin:0 0 18px!important;
    padding:8px 14px!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:18px!important;
    background:linear-gradient(105deg,#153553 0%,#1e496f 58%,#28577f 100%)!important;
    box-shadow:0 14px 30px rgba(15,39,68,.20)!important;
    color:#edf6fa!important;
    font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;
    scrollbar-width:none;
}
#employeeScreen .employee-stats-bar::-webkit-scrollbar,
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar::-webkit-scrollbar{display:none;}
#employeeScreen .employee-stats-bar>*{flex:0 0 auto;}
#employeeScreen .employee-stats-bar .employee-app-brand{color:#fff!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;font-size:13px!important;font-weight:800!important;line-height:1!important;letter-spacing:0!important;}
#employeeScreen .employee-stats-bar .employee-stat-divider{align-self:center!important;margin:0 1px!important;color:rgba(235,246,250,.40)!important;font-size:14px!important;}
#employeeScreen .employee-stats-bar #showDepartmentPeople{padding:0 3px!important;border:0!important;background:transparent!important;color:#fff!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;font-size:15px!important;font-weight:800!important;line-height:1!important;box-shadow:none!important;white-space:nowrap!important;}
#employeeScreen .employee-stats-bar #statEmployees,
#employeeScreen .employee-stats-bar #statBreakfast,
#employeeScreen .employee-stats-bar #statLunch,
#employeeScreen .employee-stats-bar #statDinner{color:#edf6fa!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;font-size:13px!important;font-weight:700!important;line-height:1!important;}
#employeeScreen .employee-selection-inline{display:flex!important;align-items:center!important;flex:0 0 auto!important;flex-wrap:nowrap!important;gap:6px!important;margin:0!important;padding:0!important;}
#employeeScreen .employee-person-picker{flex:0 0 auto!important;}
#employeeScreen .employee-person-trigger,
#employeeScreen .employee-group-btn,
#employeeScreen .employee-kitchen-btn{
    min-height:35px!important;
    margin:0!important;
    padding:7px 10px!important;
    border:1px solid rgba(222,237,246,.26)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.09)!important;
    color:#edf6fa!important;
    font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1!important;
    box-shadow:none!important;
    white-space:nowrap!important;
}
#employeeScreen .employee-person-trigger{min-width:132px!important;padding-right:29px!important;}
#employeeScreen .employee-person-trigger:hover,
#employeeScreen .employee-person-picker.is-open .employee-person-trigger,
#employeeScreen .employee-group-btn:hover,
#employeeScreen .employee-kitchen-btn:hover{border-color:rgba(238,248,252,.46)!important;background:rgba(255,255,255,.16)!important;color:#fff!important;transform:none!important;}
#employeeScreen .employee-person-menu{border-color:rgba(186,209,223,.50)!important;border-radius:13px!important;background:#183c5a!important;box-shadow:0 16px 30px rgba(9,30,48,.28)!important;}
#employeeScreen .employee-person-menu-label{color:#b9d0df!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;}
#employeeScreen .employee-person-option{color:#f3f8fb!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;font-weight:700!important;}
#employeeScreen .employee-person-option:hover,#employeeScreen .employee-person-option:focus-visible{background:rgba(255,255,255,.13)!important;color:#fff!important;}

#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-department{flex:0 0 auto!important;padding:0 4px!important;color:#fff!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;font-size:15px!important;font-weight:800!important;line-height:1!important;letter-spacing:0!important;}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-divider{flex:0 0 1px!important;align-self:center!important;height:24px!important;background:rgba(235,246,250,.28)!important;}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-title{display:flex!important;align-items:center!important;flex:0 0 auto!important;gap:8px!important;}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-icon{flex:0 0 31px!important;width:31px!important;height:31px!important;border-radius:9px!important;background:rgba(255,255,255,.13)!important;font-size:16px!important;}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-title>div{gap:7px!important;}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-title strong{color:#fff!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;font-size:14px!important;font-weight:800!important;line-height:1!important;}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-title small{margin:0!important;color:#cbdce7!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;font-size:11px!important;font-weight:700!important;line-height:1!important;}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-title small::before{margin-right:7px!important;}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-actions{display:flex!important;align-items:center!important;flex:0 0 auto!important;gap:4px!important;margin-left:auto!important;padding:3px!important;border-radius:10px!important;background:rgba(255,255,255,.10)!important;}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-button{min-height:34px!important;margin:0!important;padding:7px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#edf6fa!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;font-size:12px!important;font-weight:700!important;line-height:1!important;box-shadow:none!important;white-space:nowrap!important;}
#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-button:hover,#appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-button:focus-visible{background:rgba(255,255,255,.14)!important;color:#fff!important;transform:none!important;}

.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn{
    font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;
    font-size:13px!important;
    font-weight:700!important;
    line-height:1.15!important;
}
.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn:hover{color:#fff!important;transform:none!important;}
.shell:has(#adminNav:not(.hidden)) #adminNav .navbtn.btn-primary{color:#1e496f!important;}
.shell:has(#adminNav:not(.hidden)) .admin-context-userinfo{display:flex;flex-direction:column;gap:9px;}
.shell:has(#adminNav:not(.hidden)) .admin-context-user{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.shell:has(#adminNav:not(.hidden)) .admin-context-user>strong{min-width:0;overflow:hidden;color:#fff;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif;font-size:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;}
.shell:has(#adminNav:not(.hidden)) .admin-context-role{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:5px 8px;border-radius:8px;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif;font-size:10px;font-weight:900;line-height:1.1;white-space:nowrap;}
.shell:has(#adminNav:not(.hidden)) .admin-context-role--system{background:#ede9fe;color:#6d28d9;}
.shell:has(#adminNav:not(.hidden)) .admin-context-role--department{background:#dff3eb;color:#176b4f;}
.shell:has(#adminNav:not(.hidden)) .admin-context-label{display:grid;gap:5px;color:#cbdce7;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif;font-size:10px;font-weight:850;letter-spacing:.045em;text-transform:uppercase;}
.shell:has(#adminNav:not(.hidden)) .admin-context-label .input{min-height:38px;margin:0;border-color:rgba(222,237,246,.25);background:rgba(255,255,255,.10);color:#fff;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif;font-size:13px;font-weight:700;}
.shell:has(#adminNav:not(.hidden)) .admin-context-label .input option{background:#173b59;color:#fff;}
.shell:has(#adminNav:not(.hidden)) .admin-context-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.shell:has(#adminNav:not(.hidden)) .admin-context-action{min-height:31px!important;margin:0!important;padding:6px 7px!important;border:1px solid rgba(222,237,246,.23)!important;border-radius:8px!important;background:rgba(255,255,255,.08)!important;color:#dceaf2!important;font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif!important;font-size:10px!important;font-weight:750!important;line-height:1.1!important;box-shadow:none!important;white-space:nowrap;}
.shell:has(#adminNav:not(.hidden)) .admin-context-action:hover{background:rgba(255,255,255,.15)!important;color:#fff!important;transform:none!important;}
.shell:has(#adminNav:not(.hidden)) .admin-context-action--logout{border-color:rgba(255,220,220,.18)!important;background:rgba(148,42,54,.16)!important;color:#ffe5e7!important;}
.shell:has(#adminNav:not(.hidden)) .admin-context-action--logout:hover{background:rgba(170,45,58,.30)!important;color:#fff!important;}
.breakfast-variant-chip--dark{border-color:#76563f!important;background:#76563f!important;color:#fff!important;}.breakfast-variant-chip--dark strong{color:#fff!important;}.breakfast-variant-chip--light{border-color:#e4d0ad!important;background:#f6eddf!important;color:#69513a!important;}.breakfast-variant-chip--light strong{color:#69513a!important;}.breakfast-variant-chip--grain{border-color:#a97a43!important;background:#a97a43!important;color:#fff!important;}.breakfast-variant-chip--grain strong{color:#fff!important;}
#adminIngredientsTab>.card:has(#newIngredientName){display:grid;grid-template-columns:1.2fr .62fr 1.2fr 1fr .48fr;gap:10px;align-items:center;max-width:1080px;}#adminIngredientsTab>.card:has(#newIngredientName) h2{grid-column:1 / -1;margin:0;}#adminIngredientsTab>.card:has(#newIngredientName) .input{margin:0;}#adminIngredientsTab>.card:has(#newIngredientName) .btn{width:auto;margin:0;white-space:nowrap;}.ingredient-area-create-card{max-width:760px;margin-top:14px!important;padding:15px 17px!important;border-color:#dce6ec!important;background:#fbfdfe!important;}.ingredient-area-create-heading{display:flex;align-items:baseline;gap:9px;margin-bottom:10px;}.ingredient-area-create-heading h2{margin:0;color:#183451;font-size:17px;}.ingredient-area-create-heading span{color:#64748b;font-size:12px;font-weight:700;}.ingredient-area-create-fields{display:grid;grid-template-columns:minmax(220px,1fr) 105px auto;gap:9px;align-items:center;}.ingredient-area-create-fields .input,.ingredient-area-create-fields .btn{min-height:38px;margin:0!important;}.ingredient-area-create-fields .btn{width:auto;white-space:nowrap;}@media(max-width:850px){#adminIngredientsTab>.card:has(#newIngredientName){grid-template-columns:repeat(2,minmax(0,1fr));}#adminIngredientsTab>.card:has(#newIngredientName) .btn{grid-column:1 / -1;justify-self:start;}.ingredient-area-create-fields{grid-template-columns:1fr 105px;}.ingredient-area-create-fields .btn{grid-column:1 / -1;justify-self:start;}}@media(max-width:540px){#adminIngredientsTab>.card:has(#newIngredientName),.ingredient-area-create-fields{grid-template-columns:1fr;}#adminIngredientsTab>.card:has(#newIngredientName) .btn,.ingredient-area-create-fields .btn{width:100%;justify-self:stretch;}.ingredient-area-create-heading{display:block;}.ingredient-area-create-heading span{display:block;margin-top:3px;}}
#employeeScreen>.content{padding:0!important;}#employeeScreen .employee-stats-bar{position:relative;z-index:55;}@media(min-width:901px){#employeeScreen .employee-stats-bar{overflow:visible!important;}}@media(max-width:900px){#employeeScreen .employee-stats-bar:has(.employee-person-picker.is-open){overflow:visible!important;}}
.ingredient-area-list{display:grid;gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid #e3ebf0;}.ingredient-area-row{display:grid;grid-template-columns:auto minmax(150px,1fr) 86px auto auto;gap:8px;align-items:center;padding:8px;border:1px solid #dce6ec;border-radius:12px;background:#fff;}.ingredient-area-row--archived{opacity:.64;background:#f7fafb;}.ingredient-area-row .input{min-height:35px;margin:0!important;padding:7px 8px!important;font-size:13px!important;}.ingredient-area-sort{width:86px;}.ingredient-area-status{padding:5px 7px;border-radius:7px;background:#e4f2eb;color:#216349;font-size:10px;font-weight:850;white-space:nowrap;}.ingredient-area-row--archived .ingredient-area-status{background:#eef1f4;color:#667685;}.ingredient-area-row .btn{width:auto;min-height:35px;margin:0!important;padding:7px 9px!important;font-size:11px!important;white-space:nowrap;}.ingredient-area-empty{margin:12px 0 0;color:#64748b;font-size:12px;font-weight:700;}@media(max-width:760px){.ingredient-area-row{grid-template-columns:auto 1fr 74px;}.ingredient-area-row .ingredient-area-save{grid-column:2 / 3;justify-self:start;}.ingredient-area-row .ingredient-area-toggle{grid-column:3 / 4;justify-self:end;}.ingredient-area-sort{width:74px;}}@media(max-width:480px){.ingredient-area-row{grid-template-columns:1fr 74px;}.ingredient-area-status{justify-self:start;}.ingredient-area-row .ingredient-area-save{grid-column:1 / 2;}.ingredient-area-row .ingredient-area-toggle{grid-column:2 / 3;}.ingredient-area-sort{grid-column:2 / 3;grid-row:1 / 3;}}
@media(max-width:900px){
    #employeeScreen .employee-stats-bar,
    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{padding:8px 12px!important;}
    .shell:has(#adminNav:not(.hidden)) #adminNav{display:flex!important;flex-wrap:nowrap!important;gap:4px!important;overflow-x:auto!important;padding:2px 0!important;scrollbar-width:none;}
    .shell:has(#adminNav:not(.hidden)) #adminNav::-webkit-scrollbar{display:none;}
    .shell:has(#adminNav:not(.hidden)) #adminNav .navbtn{flex:0 0 auto!important;}
}
@media(max-width:620px){
    #employeeScreen .employee-stats-bar,
    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{min-height:54px!important;gap:6px!important;padding:7px 10px!important;border-radius:16px!important;}
    #employeeScreen .employee-stats-bar .employee-app-brand{font-size:12px!important;}
    #employeeScreen .employee-stats-bar #showDepartmentPeople{font-size:14px!important;}
    #employeeScreen .employee-stats-bar #statEmployees,
    #employeeScreen .employee-stats-bar #statBreakfast,
    #employeeScreen .employee-stats-bar #statLunch,
    #employeeScreen .employee-stats-bar #statDinner{font-size:12px!important;}
    #employeeScreen .employee-person-trigger,
    #employeeScreen .employee-group-btn,
    #employeeScreen .employee-kitchen-btn,
    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-button{min-height:33px!important;padding:7px 9px!important;font-size:11px!important;}
    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-department{font-size:14px!important;}
    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-title strong{font-size:13px!important;}
    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-title small{font-size:10px!important;}
}

/*
 * Responsives Grundsystem ab v0.19.0
 * Desktop/Laptop: ab 1200 px
 * Tablet: 768 bis 1199 px
 * Smartphone: bis 767 px
 *
 * Diese abschließende Schicht vereinheitlicht die historisch gewachsenen
 * Einzel-Breakpoints, ohne Funktionen oder Inhalte zu verändern.
 */
:root{
    --app-content-max:1640px;
    --app-gutter-desktop:18px;
    --app-gutter-tablet:14px;
    --app-gutter-phone:10px;
    --app-radius-desktop:20px;
    --app-radius-tablet:17px;
    --app-radius-phone:14px;
    --app-touch-target:44px;
}

html{
    width:100%;
    min-width:320px;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

body{
    width:100%;
    min-width:320px;
    overflow-x:hidden;
}

button,
input,
select,
textarea{
    max-width:100%;
    font:inherit;
}

img,
svg,
video,
canvas{
    max-width:100%;
}

.screen,
.shell,
.sidebar,
.content,
.card,
.panel,
.employee-grid,
.products,
.stats,
.category-grid,
.shop-quick-grid,
.shop-category-grid,
#productGrid,
.dashboard-metrics,
.dashboard-meal-grid,
.dashboard-action-grid,
.lunch-ideas-grid,
.billing-grid,
.meal-signup-grid,
.admin-product-grid,
.admin-user-grid,
.recurring-cost-grid,
.breakfast-kitchen-layout,
.breakfast-order-grid{
    min-width:0;
}

.shell{
    width:100%;
    max-width:var(--app-content-max);
}

.content>section,
.content>section>*{
    min-width:0;
}

.table,
.inventory-table-wrap,
.breakfast-table-scroll{
    max-width:100%;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
}

@media(pointer:coarse){
    button,
    .btn,
    .input,
    select{
        touch-action:manipulation;
    }

    .content .btn:not(.navbtn):not(.employee-focus-button),
    .content button:not(.shop-favorite-toggle):not(.shop-quantity-control button){
        min-height:var(--app-touch-target);
    }
}

/* Desktop und Laptop */
@media(min-width:1200px){
    #employeeScreen{
        padding:18px;
    }

    #employeeScreen>.content,
    #employeeScreen>#employeeGrid,
    #employeeScreen>#backToPin{
        width:100%;
        max-width:var(--app-content-max);
        margin-right:auto;
        margin-left:auto;
    }

    .shell:has(#adminNav:not(.hidden)){
        display:grid!important;
        grid-template-columns:260px minmax(0,1fr)!important;
        gap:18px!important;
        padding:18px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .sidebar{
        position:sticky!important;
        top:18px!important;
        width:260px!important;
        max-height:none!important;
        overflow:visible!important;
    }

    #appScreen.employee-app-mode .shell{
        padding:18px 18px 28px!important;
    }

    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar,
    #employeeScreen .employee-stats-bar,
    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{
        min-height:58px!important;
    }

    .shop-quick-grid,
    .shop-category-grid,
    .lunch-ideas-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }

    .dashboard-metrics{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

/* Tablet – Verwaltung als breite Kopfsteuerung, Inhalte in zwei Spalten */
@media(min-width:768px) and (max-width:1199px){
    #employeeScreen{
        padding:14px!important;
    }

    #employeeScreen>.content,
    #employeeScreen>#employeeGrid,
    #employeeScreen>#backToPin{
        width:100%!important;
        max-width:none!important;
    }

    #employeeScreen .employee-stats-bar,
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar,
    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{
        min-height:58px!important;
        margin-bottom:16px!important;
        border-radius:17px!important;
    }

    #employeeScreen .employee-stats-bar{
        overflow-x:auto!important;
        overflow-y:hidden!important;
    }

    #employeeScreen .employee-stats-bar:has(.employee-person-picker.is-open){
        overflow:visible!important;
    }

    #employeeScreen .employee-grid{
        grid-template-columns:repeat(auto-fill,minmax(128px,1fr))!important;
        gap:12px!important;
        padding:0!important;
    }

    #employeeScreen .employee.card{
        min-height:148px;
    }

    .shell:has(#adminNav:not(.hidden)){
        display:flex!important;
        flex-direction:column!important;
        gap:14px!important;
        padding:14px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .sidebar{
        position:relative!important;
        top:auto!important;
        z-index:90;
        display:grid!important;
        grid-template-columns:auto minmax(0,1fr)!important;
        gap:10px 16px!important;
        width:100%!important;
        max-height:none!important;
        padding:13px!important;
        overflow:visible!important;
        border-radius:18px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .sidebar #sidebarTitle{
        align-self:center;
        margin:0!important;
        white-space:nowrap;
    }

    .shell:has(#adminNav:not(.hidden)) #userInfo{
        min-width:0;
        margin:0!important;
        padding:9px 10px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .admin-context-userinfo{
        display:grid!important;
        grid-template-columns:minmax(155px,.8fr) minmax(190px,1fr) auto!important;
        align-items:end!important;
        gap:10px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .admin-context-actions{
        min-width:170px;
    }

    .shell:has(#adminNav:not(.hidden)) #adminNav{
        grid-column:1 / -1;
        display:flex!important;
        flex-wrap:nowrap!important;
        gap:5px!important;
        width:100%;
        padding:3px!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        border-radius:12px;
        background:rgba(255,255,255,.06);
        scrollbar-width:none;
    }

    .shell:has(#adminNav:not(.hidden)) #adminNav::-webkit-scrollbar{
        display:none;
    }

    .shell:has(#adminNav:not(.hidden)) #adminNav .navbtn{
        flex:0 0 auto!important;
        width:auto!important;
        min-height:38px!important;
        padding:9px 11px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .content{
        width:100%;
        order:1!important;
    }

    #appScreen.employee-app-mode .shell{
        padding:14px 14px 26px!important;
    }

    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{
        width:100%!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
    }

    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav{
        flex:0 0 auto!important;
    }

    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{
        overflow-x:auto!important;
        overflow-y:hidden!important;
    }

    .shop-quick-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:12px!important;
    }

    .shop-category-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }

    #productGrid{
        grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;
    }

    .lunch-ideas-grid,
    .dashboard-meal-grid,
    .billing-grid,
    .meal-signup-grid,
    .recurring-cost-grid,
    .admin-role-overview,
    .admin-user-create-fields{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .lunch-ideas-company-panel{
        grid-column:1 / -1;
    }

    .dashboard-metrics,
    .dashboard-action-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .admin-product-grid,
    .admin-user-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .breakfast-kitchen-layout{
        grid-template-columns:minmax(0,1fr) minmax(270px,34%)!important;
    }

    .breakfast-order-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .recurring-form-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .sponsorship-steps{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .sponsorship-load-step{
        grid-column:1 / -1!important;
    }
}

/* Smartphone – kompakte Kopfzeilen, einspaltige Formulare und sichere Touch-Ziele */
@media(max-width:767px){
    :root{
        --app-touch-target:46px;
    }

    body{
        padding-right:env(safe-area-inset-right);
        padding-left:env(safe-area-inset-left);
    }

    #employeeScreen{
        padding:10px!important;
    }

    #employeeScreen>.content,
    #employeeScreen>#employeeGrid,
    #employeeScreen>#backToPin{
        width:100%!important;
        max-width:none!important;
        margin-right:0!important;
        margin-left:0!important;
    }

    #employeeScreen .employee-stats-bar{
        flex-wrap:wrap!important;
        gap:7px!important;
        min-height:0!important;
        margin-bottom:12px!important;
        padding:9px 10px!important;
        overflow:visible!important;
        border-radius:15px!important;
    }

    #employeeScreen .employee-stats-bar .employee-app-brand{
        flex:1 1 auto!important;
    }

    #employeeScreen .employee-stats-bar .employee-stat-divider{
        display:none!important;
    }

    #employeeScreen .employee-selection-inline{
        display:flex!important;
        flex:1 0 100%!important;
        width:100%!important;
        gap:6px!important;
        padding-top:7px!important;
        overflow-x:auto!important;
        overflow-y:visible!important;
        border-top:1px solid rgba(235,246,250,.16);
        scrollbar-width:none;
    }

    #employeeScreen .employee-selection-inline::-webkit-scrollbar{
        display:none;
    }

    #employeeScreen .employee-person-trigger{
        min-width:126px!important;
    }

    #employeeScreen .employee-person-menu{
        position:absolute!important;
        right:0!important;
        left:auto!important;
        width:min(250px,calc(100vw - 20px))!important;
        min-width:210px!important;
        max-width:calc(100vw - 20px)!important;
        max-height:min(58vh,430px)!important;
        overflow-y:auto!important;
    }

    #employeeScreen .employee-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
        padding:0!important;
    }

    #employeeScreen .employee.card{
        min-height:126px!important;
        padding:10px 8px!important;
        border-radius:14px!important;
    }

    #employeeScreen .employee-name{
        font-size:15px!important;
        line-height:1.12!important;
    }

    #employeeScreen .employee-subline,
    #employeeScreen .employee-balance{
        font-size:11px!important;
    }

    #employeeScreen>#backToPin{
        min-height:46px!important;
        margin-top:12px!important;
        border-radius:13px!important;
    }

    .shell,
    .shell:has(#adminNav:not(.hidden)),
    #appScreen.employee-app-mode .shell,
    #appScreen.employee-app-mode.breakfast-focus-mode .shell{
        display:flex!important;
        flex-direction:column!important;
        gap:10px!important;
        width:100%!important;
        padding:10px 10px calc(18px + env(safe-area-inset-bottom))!important;
    }

    .shell:has(#adminNav:not(.hidden)) .sidebar{
        position:relative!important;
        top:auto!important;
        z-index:90;
        display:block!important;
        order:0!important;
        width:100%!important;
        max-height:none!important;
        padding:11px!important;
        overflow:visible!important;
        border-radius:16px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .sidebar #sidebarTitle{
        margin:2px 3px 9px!important;
        font-size:18px!important;
    }

    .shell:has(#adminNav:not(.hidden)) #userInfo{
        margin:0 0 9px!important;
        padding:9px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .admin-context-userinfo{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .admin-context-label{
        width:100%;
    }

    .shell:has(#adminNav:not(.hidden)) .admin-context-actions{
        grid-template-columns:1fr 1fr;
    }

    .shell:has(#adminNav:not(.hidden)) #adminNav{
        display:flex!important;
        flex-wrap:nowrap!important;
        gap:4px!important;
        width:100%!important;
        margin:0!important;
        padding:3px!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        border-radius:11px;
        background:rgba(255,255,255,.06);
        scrollbar-width:none;
    }

    .shell:has(#adminNav:not(.hidden)) #adminNav::-webkit-scrollbar{
        display:none;
    }

    .shell:has(#adminNav:not(.hidden)) #adminNav .navbtn{
        flex:0 0 auto!important;
        width:auto!important;
        min-height:38px!important;
        padding:9px 10px!important;
        font-size:12px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .content{
        width:100%;
        order:1!important;
    }

    .shell:has(#adminNav:not(.hidden)) .content>section>h1,
    .admin-page-heading h1{
        margin:2px 0 13px!important;
        font-size:24px!important;
        line-height:1.12!important;
    }

    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:6px!important;
        min-height:0!important;
        padding:8px 9px!important;
        overflow:visible!important;
        border-radius:15px!important;
    }

    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .sidebar #sidebarTitle{
        flex:1 1 auto!important;
        padding:0 4px 0 1px!important;
        font-size:14px!important;
    }

    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #backToEmployeesBtn{
        order:2!important;
        min-height:34px!important;
        padding:7px 9px!important;
    }

    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #userInfo{
        display:block!important;
        order:3!important;
        flex:0 0 auto!important;
        margin:0!important;
        padding:0!important;
    }

    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-profile-avatar,
    #appScreen.employee-app-mode:not(.breakfast-focus-mode) .employee-sidebar-profile strong{
        display:none!important;
    }

    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav{
        order:4!important;
        flex:1 0 100%!important;
        justify-content:flex-start!important;
        width:100%!important;
        padding-top:4px!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        border-top:1px solid rgba(235,246,250,.14)!important;
        scrollbar-width:none;
    }

    #appScreen.employee-app-mode:not(.breakfast-focus-mode) #employeeNav::-webkit-scrollbar{
        display:none;
    }

    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-toolbar{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:7px!important;
        min-height:0!important;
        margin-bottom:12px!important;
        padding:9px 10px!important;
        overflow:visible!important;
        border-radius:15px!important;
    }

    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-title{
        flex:1 1 auto!important;
        min-width:0;
    }

    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-title small{
        display:none;
    }

    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-actions{
        display:flex!important;
        flex:1 0 100%!important;
        justify-content:flex-start!important;
        width:100%!important;
        margin:0!important;
        padding-top:4px!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        border-top:1px solid rgba(235,246,250,.14);
        scrollbar-width:none;
    }

    #appScreen.employee-app-mode.breakfast-focus-mode .employee-focus-actions::-webkit-scrollbar{
        display:none;
    }

    .card,
    .panel{
        padding:14px;
        border-radius:var(--app-radius-phone);
    }

    .content{
        padding:0!important;
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }

    .shop-quick-grid,
    .shop-category-grid,
    .quick-sections,
    .category-grid,
    .lunch-ideas-grid,
    .dashboard-metrics,
    .dashboard-meal-grid,
    .dashboard-action-grid,
    .dashboard-department-bookings,
    .billing-grid,
    .meal-signup-grid,
    #adminLunchParticipants,
    .admin-log-grid,
    .admin-employee-principles,
    .recurring-cost-grid,
    .recurring-form-grid,
    .recurring-card-fields,
    .admin-role-overview,
    .admin-user-create-fields,
    .admin-user-grid,
    .admin-users-loading-card,
    .catalog-wizard,
    .sponsorship-steps,
    .sponsorship-result-footer,
    .general-settings-organization-grid,
    .organization-logo-controls,
    .cashbook-entry-grid,
    .breakfast-summary,
    .breakfast-kitchen-layout,
    .breakfast-order-grid{
        grid-template-columns:1fr!important;
    }

    .shop-quick-grid{
        gap:10px!important;
        margin-bottom:10px!important;
    }

    .shop-quick-card,
    .shop-categories-section{
        padding:14px!important;
        border-radius:16px!important;
    }

    .shop-category-card{
        min-height:68px!important;
        padding:10px 11px!important;
        border-radius:13px!important;
    }

    .shop-category-icon{
        flex-basis:38px!important;
        width:38px!important;
        height:38px!important;
        border-radius:11px!important;
        font-size:19px!important;
    }

    #productGrid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
    }

    .shop-product-card{
        min-height:132px!important;
        padding:10px!important;
        border-radius:13px!important;
    }

    .shop-product-card h3{
        font-size:14px!important;
    }

    .shop-product-card-bottom strong{
        font-size:17px!important;
    }

    .shop-meal-actions{
        grid-template-columns:1fr!important;
    }

    .admin-product-grid{
        grid-template-columns:1fr!important;
    }

    #adminProducts,
    #adminIngredients,
    #adminCategories,
    #adminEmployees,
    #adminDepartments,
    #adminPersonGroups,
    #adminUsers{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    .admin-product-toolbar{
        display:grid!important;
        grid-template-columns:1fr!important;
        align-items:stretch!important;
        padding:13px!important;
    }

    .admin-product-toolbar>div,
    .admin-product-toolbar label,
    .admin-product-toolbar .input{
        width:100%!important;
    }

    #adminProductsTab>.card:has(#newProductName),
    #adminIngredientsTab>.card:has(#newIngredientName),
    .ingredient-area-create-fields{
        grid-template-columns:1fr!important;
    }

    #adminProductsTab>.card:has(#newProductName) .btn,
    #adminIngredientsTab>.card:has(#newIngredientName) .btn,
    .ingredient-area-create-fields .btn{
        width:100%!important;
        justify-self:stretch!important;
    }

    .admin-product-fields,
    .admin-user-fields,
    .admin-user-access,
    .admin-user-actions{
        grid-template-columns:1fr!important;
    }

    .admin-user-actions .input,
    .admin-user-actions .btn,
    .admin-user-actions .btn:last-child{
        grid-column:auto!important;
        width:100%!important;
        justify-self:stretch!important;
    }

    .ingredient-area-row{
        grid-template-columns:minmax(0,1fr) 72px!important;
    }

    .ingredient-area-status{
        grid-column:1 / -1;
        justify-self:start;
    }

    .ingredient-area-sort{
        grid-column:2;
        grid-row:1;
        width:72px;
    }

    .ingredient-area-row .ingredient-area-save,
    .ingredient-area-row .ingredient-area-toggle{
        grid-column:auto!important;
        width:100%!important;
        justify-self:stretch!important;
    }

    .breakfast-ingredients-panel{
        position:static!important;
    }

    .breakfast-header-actions,
    .breakfast-kitchen-header,
    .recurring-card-top,
    .recurring-distribution,
    .cashbook-row,
    .inventory-progress-card,
    .inventory-complete-bar,
    .sponsorship-workflow-heading,
    .sponsorship-result-heading,
    .sponsorship-selection-tools,
    .sponsorship-result-footer{
        align-items:stretch!important;
        flex-direction:column!important;
    }

    .breakfast-header-actions .btn,
    .recurring-card-actions .btn,
    .inventory-complete-bar .btn,
    .sponsorship-result-footer .btn,
    .sponsorship-load-step .btn{
        width:100%!important;
    }

    .sponsorship-load-step,
    .sponsorship-result-footer .btn{
        grid-column:auto!important;
    }

    .sponsorship-meal-buttons{
        grid-template-columns:1fr!important;
    }

    .general-settings-card{
        display:grid!important;
        grid-template-columns:auto minmax(0,1fr);
        gap:10px!important;
        padding:14px!important;
    }

    .general-settings-content{
        grid-column:1 / -1;
    }

    .general-settings-input-row{
        display:grid!important;
        grid-template-columns:1fr auto;
        width:100%;
        max-width:none;
    }

    .general-settings-input-row .input,
    .general-settings-input-row .btn{
        width:100%!important;
    }

    .modal{
        align-items:flex-end;
        padding:10px;
    }

    .modal-box{
        width:100%;
        max-width:none;
        max-height:calc(100dvh - 20px);
        padding:18px;
        overflow-y:auto;
        border-radius:19px 19px 13px 13px;
    }

    .modal-box:has(.shop-order-modal){
        max-width:none;
    }

    .shop-order-modal{
        padding:18px!important;
    }

    .shop-quantity-control button,
    .qty button{
        width:58px!important;
        height:58px!important;
    }

    table.table{
        display:block;
        width:100%;
        overflow-x:auto;
        white-space:nowrap;
        -webkit-overflow-scrolling:touch;
    }

    .inventory-table{
        min-width:620px;
    }

    .breakfast-order-table{
        min-width:600px!important;
    }

    .cashbook-history-heading,
    .recurring-list-heading,
    .account-statement-heading{
        align-items:flex-start!important;
        flex-direction:column!important;
    }
}

@media(max-width:379px){
    #employeeScreen .employee-grid{
        grid-template-columns:1fr!important;
    }

    #productGrid{
        grid-template-columns:1fr!important;
    }

    .general-settings-input-row{
        grid-template-columns:1fr;
    }
}

@media(orientation:landscape) and (max-height:540px) and (max-width:1199px){
    .modal{
        align-items:flex-start;
        overflow-y:auto;
    }

    .modal-box{
        max-height:none;
    }
}

@media(prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
    }
}

/* Schmale Verwaltung: sichtbares Dropdown statt versteckter horizontaler Navigation. */
.admin-nav-toggle{
    display:none;
}

/* Owner-Portal: Mandanten, Verträge und Plattformabrechnung */
.admin-context-role--owner{
    background:linear-gradient(135deg,#4c1d95,#7c3aed);
    color:#fff;
    border:1px solid rgba(255,255,255,.2);
}
.owner-page-heading,.owner-detail-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}
.owner-page-heading h1,.owner-detail-toolbar h2{margin:2px 0 0}
.owner-principles{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}
.owner-principles article{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:16px;
    border:1px solid #dbe7f2;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(20,51,82,.05);
}
.owner-principles article>span,.owner-form-section>span{
    display:grid;
    place-items:center;
    flex:0 0 32px;
    width:32px;
    height:32px;
    border-radius:11px;
    background:#e7f0f8;
    color:#173d5f;
    font-weight:900;
}
.owner-principles strong,.owner-principles p{display:block;margin:0}
.owner-principles p{margin-top:3px;color:#60748a;font-size:12px;line-height:1.4}
.owner-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}
.owner-summary article{
    display:grid;
    gap:3px;
    padding:16px 18px;
    border:1px solid #d7e4ef;
    border-radius:16px;
    background:linear-gradient(145deg,#fff,#f7fafc);
}
.owner-summary small,.owner-detail-card header small,.owner-detail-toolbar small{
    color:#6b7f94;
    font-size:10px;
    font-weight:900;
    letter-spacing:.09em;
}
.owner-summary strong{color:#103554;font-size:24px}
.owner-summary span{color:#64778b;font-size:12px}
.owner-tenant-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
    gap:14px;
}
.owner-tenant-card{
    padding:18px;
    border:1px solid #d7e3ef;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 30px rgba(15,42,68,.07);
}
.owner-tenant-card.is-current{border-color:#75a6c7;box-shadow:0 0 0 3px rgba(79,136,174,.12),0 12px 30px rgba(15,42,68,.08)}
.owner-tenant-card header{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:start;
    gap:12px;
}
.owner-tenant-mark{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:14px;
    background:linear-gradient(145deg,#214f72,#102f4c);
    color:#fff;
    font-size:18px;
    font-weight:900;
}
.owner-tenant-card h2{margin:2px 0;font-size:18px}
.owner-tenant-card header small,.owner-tenant-card header p{display:block;margin:0;color:#6b7e91;font-size:11px}
.owner-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:26px;
    padding:5px 9px;
    border-radius:999px;
    background:#edf2f7;
    color:#526476;
    font-size:10px;
    font-weight:900;
    white-space:nowrap;
}
.owner-status--active,.owner-status--paid{background:#def3e8;color:#176b48}
.owner-status--trial{background:#e8efff;color:#315aa0}
.owner-status--draft,.owner-status--pending_contract{background:#fff1d7;color:#915d0a}
.owner-status--suspended,.owner-status--overdue{background:#ffe7e4;color:#9e352d}
.owner-status--archived,.owner-status--cancelled{background:#eceff3;color:#637080}
.owner-tenant-facts{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:7px;
    margin:15px 0;
}
.owner-tenant-facts span{
    display:grid;
    gap:2px;
    padding:8px 6px;
    border-radius:11px;
    background:#f5f8fb;
    color:#66798b;
    font-size:9px;
    text-align:center;
}
.owner-tenant-facts strong{color:#153b59;font-size:15px}
.owner-workspace-code{
    display:grid;
    gap:2px;
    padding:10px 12px;
    border:1px dashed #c6d6e3;
    border-radius:12px;
    background:#f9fbfd;
}
.owner-workspace-code small{color:#73879a;font-size:9px;font-weight:900;letter-spacing:.08em}
.owner-workspace-code strong{overflow:hidden;color:#294d68;font-size:12px;text-overflow:ellipsis}
.owner-tenant-card footer{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:14px;
}
.owner-tenant-card footer .btn,.owner-detail-card .btn,.owner-detail-toolbar .btn{width:auto;margin:0}
.owner-archive,.owner-plan-manager{
    margin-top:22px;
    padding:14px;
    border:1px solid #d7e3ed;
    border-radius:16px;
    background:#fff;
}
.owner-archive>summary,.owner-plan-manager>summary{cursor:pointer;color:#173d5c;font-weight:850}
.owner-archive .owner-tenant-grid{margin-top:14px}
.owner-plan-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:10px;
    margin:14px 0;
}
.owner-plan-grid article{display:grid;gap:4px;padding:12px;border-radius:13px;background:#f5f8fb}
.owner-plan-grid span,.owner-plan-grid small{color:#65798b;font-size:11px}
.owner-audit-list{display:grid;gap:7px;margin-top:14px}
.owner-audit-list article{
    display:grid;
    grid-template-columns:125px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:9px 11px;
    border:1px solid #e0e9f0;
    border-radius:11px;
    background:#f9fbfc;
}
.owner-audit-list time,.owner-audit-list small,.owner-audit-list>article>span{
    color:#687d90;
    font-size:10px;
}
.owner-audit-list strong,.owner-audit-list small{display:block}
.owner-audit-list small{margin-top:2px}
.owner-audit-list>article>span{font-weight:800}
.owner-plan-form{
    display:grid;
    grid-template-columns:1.1fr .8fr .55fr .45fr 1.5fr auto;
    gap:8px;
}
.owner-billing-settings{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
    margin-top:14px;
}
.owner-billing-settings label{display:grid;gap:5px}
.owner-billing-settings label>span{
    color:#536a7e;
    font-size:10px;
    font-weight:850;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.owner-billing-settings .input,.owner-billing-settings .btn{min-height:42px;margin:0}
.owner-plan-form .input,.owner-plan-form .btn{min-height:42px;margin:0}
.owner-loading,.owner-empty{
    padding:28px;
    border:1px dashed #c6d6e2;
    border-radius:16px;
    color:#63778a;
    background:#f9fbfd;
    text-align:center;
}
.owner-overlay{
    position:fixed;
    inset:0;
    z-index:12000;
    display:grid;
    place-items:center;
    padding:20px;
    background:rgba(9,27,44,.66);
    backdrop-filter:blur(8px);
}
.owner-dialog{
    width:min(960px,100%);
    max-height:calc(100dvh - 40px);
    overflow:auto;
    border:1px solid rgba(255,255,255,.45);
    border-radius:24px;
    background:#f8fbfd;
    box-shadow:0 30px 80px rgba(5,20,34,.32);
}
.owner-dialog>header{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:20px 24px;
    border-bottom:1px solid #dbe6ee;
    background:rgba(248,251,253,.96);
    backdrop-filter:blur(12px);
}
.owner-dialog>header small{color:#667d91;font-size:10px;font-weight:900;letter-spacing:.1em}
.owner-dialog>header h2{margin:3px 0 0}
.owner-dialog>header button{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border:0;
    border-radius:12px;
    background:#e8eef4;
    color:#173c5b;
    font-size:22px;
    cursor:pointer;
}
.owner-dialog form{padding:22px 24px}
.owner-form-section{
    display:flex;
    align-items:center;
    gap:11px;
    margin:8px 0 13px;
}
.owner-form-section strong,.owner-form-section small{display:block}
.owner-form-section small{margin-top:2px;color:#6a7f92}
.owner-form-grid,.owner-edit-form,.owner-subscription-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
    margin-bottom:22px;
}
.owner-form-grid label,.owner-edit-form label,.owner-subscription-form label{display:grid;gap:5px}
.owner-form-grid label>span,.owner-edit-form label>span,.owner-subscription-form label>span{
    color:#536a7e;
    font-size:10px;
    font-weight:850;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.owner-span-2{grid-column:span 2}
.owner-dialog form>footer{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}
.owner-dialog .input,.owner-dialog .btn{margin:0;min-height:44px}
.owner-detail-toolbar{
    padding:14px 16px;
    border:1px solid #d6e3ed;
    border-radius:18px;
    background:#fff;
}
.owner-detail-toolbar>div{flex:1}
.owner-onboarding{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    margin-bottom:14px;
}
.owner-onboarding span{
    padding:10px;
    border-radius:11px;
    background:#eef2f6;
    color:#68798a;
    font-size:11px;
    font-weight:800;
    text-align:center;
}
.owner-onboarding span.is-done{background:#def3e8;color:#176b48}
.owner-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.owner-detail-card{
    min-width:0;
    padding:18px;
    border:1px solid #d7e3ed;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(18,46,71,.05);
}
.owner-detail-card--wide{grid-column:span 2}
.owner-detail-card>header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:15px;
}
.owner-detail-card header h3{margin:2px 0 0}
.owner-detail-card header>span{color:#61778a;font-size:11px}
.owner-einvoice-note{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin-bottom:13px;
    padding:10px 12px;
    border:1px solid #d7e3ed;
    border-radius:12px;
    background:#f5f8fb;
    color:#5f7386;
    font-size:10px;
    line-height:1.4;
}
.owner-einvoice-note strong{flex:0 0 auto;color:#294d68}
.owner-edit-form{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.owner-edit-form .btn{align-self:end;min-height:43px}
.owner-contract-list{display:grid;gap:8px}
.owner-contract-list>article{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:9px;
    padding:10px;
    border:1px solid #e0e9f0;
    border-radius:12px;
    background:#f9fbfc;
}
.owner-contract-list strong,.owner-contract-list small{display:block}
.owner-contract-list small{margin-top:2px;color:#687d90;font-size:10px}
.owner-contract-actions{display:flex;align-items:center;gap:5px}
.owner-contract-actions .btn{min-height:32px;padding:6px 8px;font-size:10px}
.owner-contract-check{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:10px;
    background:#dff3e8;
    color:#176b48;
    font-weight:900;
}
.owner-subscription-form{margin:0}
.owner-invoice-list{display:grid;gap:7px}
.owner-invoice-list article{
    display:grid;
    grid-template-columns:minmax(180px,1fr) 110px 120px auto;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border:1px solid #e0e8ef;
    border-radius:12px;
}
.owner-invoice-list strong,.owner-invoice-list small{display:block}
.owner-invoice-list small{color:#697d8f;font-size:10px}
.owner-invoice-list article>div:last-child{display:flex;justify-content:flex-end;gap:5px}
.owner-invoice-list .btn{min-height:32px;padding:6px 9px;font-size:10px}
.owner-invoice-list .is-open{color:#a0442d}.owner-invoice-list .is-paid{color:#167047}
.owner-status-actions{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;align-items:center;gap:10px}
.owner-status-actions p{margin:0;color:#5e7386;font-size:12px}

@media(max-width:900px){
    .owner-principles,.owner-summary{grid-template-columns:1fr}
    .owner-detail-grid{grid-template-columns:1fr}
    .owner-detail-card--wide{grid-column:auto}
    .owner-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}
    .owner-plan-form,.owner-billing-settings{grid-template-columns:repeat(2,minmax(0,1fr))}
    .owner-invoice-list article{grid-template-columns:1fr auto}
    .owner-invoice-list article>div:last-child{grid-column:span 2;justify-content:flex-start}
    .owner-status-actions{grid-template-columns:1fr}
}
@media(max-width:620px){
    .owner-page-heading,.owner-detail-toolbar{align-items:stretch;flex-direction:column}
    .owner-tenant-grid{grid-template-columns:1fr}
    .owner-tenant-card header{grid-template-columns:auto 1fr}
    .owner-tenant-card header .owner-status{grid-column:span 2;justify-self:start}
    .owner-tenant-facts{grid-template-columns:repeat(2,1fr)}
    .owner-dialog{max-height:100dvh;border-radius:0}
    .owner-overlay{padding:0}
    .owner-form-grid,.owner-edit-form,.owner-subscription-form,.owner-plan-form,.owner-billing-settings{grid-template-columns:1fr}
    .owner-span-2{grid-column:auto}
    .owner-onboarding{grid-template-columns:repeat(2,1fr)}
    .owner-contract-list>article{align-items:flex-start;flex-direction:column}
    .owner-invoice-list article{grid-template-columns:1fr}
    .owner-invoice-list article>div:last-child{grid-column:auto}
    .owner-audit-list article{grid-template-columns:1fr}
}

/* Auch ein 10-Zoll-Tablet behält die vollständige seitliche Navigation.
   Der kompakte Menüknopf beginnt erst unterhalb der üblichen Tabletbreite. */
@media(min-width:768px){
    .shell:has(#adminNav:not(.hidden)){
        display:grid!important;
        grid-template-columns:clamp(220px,23vw,260px) minmax(0,1fr)!important;
        align-items:start!important;
        gap:16px!important;
        padding:14px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .sidebar{
        position:sticky!important;
        top:14px!important;
        order:0!important;
        display:block!important;
        width:auto!important;
        max-height:none!important;
        padding:14px!important;
        overflow:visible!important;
    }

    .shell:has(#adminNav:not(.hidden)) .sidebar #sidebarTitle{
        margin:6px 8px 16px!important;
    }

    .shell:has(#adminNav:not(.hidden)) #userInfo{
        margin:0 5px 14px!important;
        padding:11px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .admin-context-userinfo{
        display:flex!important;
        flex-direction:column!important;
        grid-template-columns:none!important;
        align-items:stretch!important;
        gap:9px!important;
    }

    .shell:has(#adminNav:not(.hidden)) .admin-context-actions{
        min-width:0!important;
    }

    .shell:has(#adminNav:not(.hidden)) .content{
        order:1!important;
        min-width:0!important;
    }

    .shell:has(#adminNav:not(.hidden)) .admin-nav-toggle{
        display:none!important;
    }

    .shell:has(#adminNav:not(.hidden)) #adminNav,
    .shell:has(#adminNav:not(.hidden)) #adminNav.is-open{
        position:static!important;
        inset:auto!important;
        z-index:auto!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:4px!important;
        width:100%!important;
        max-height:none!important;
        margin:0!important;
        padding:0!important;
        overflow:visible!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
    }

    .shell:has(#adminNav:not(.hidden)) #adminNav .navbtn{
        width:100%!important;
        min-height:39px!important;
        padding:9px 11px!important;
        white-space:normal!important;
    }
}

@media(max-width:767px){
    .shell:has(#adminNav:not(.hidden)) .sidebar{
        position:relative!important;
    }

    .shell:has(#adminNav:not(.hidden)) .admin-nav-toggle{
        display:grid;
        grid-template-columns:30px minmax(0,1fr) 24px;
        grid-column:1 / -1;
        align-items:center;
        gap:9px;
        width:100%;
        min-height:44px;
        margin:0;
        padding:7px 10px;
        border:1px solid rgba(222,237,246,.25);
        border-radius:11px;
        background:rgba(255,255,255,.10);
        color:#edf6fa;
        font:inherit;
        font-size:13px;
        font-weight:800;
        text-align:left;
        cursor:pointer;
    }

    .shell:has(#adminNav:not(.hidden)) .admin-nav-toggle:hover,
    .shell:has(#adminNav:not(.hidden)) .admin-nav-toggle:focus-visible,
    .shell:has(#adminNav.is-open) .admin-nav-toggle{
        border-color:rgba(238,248,252,.48);
        background:rgba(255,255,255,.16);
        outline:0;
    }

    .admin-nav-toggle-icon{
        display:grid;
        place-items:center;
        width:30px;
        height:30px;
        border-radius:9px;
        background:rgba(255,255,255,.12);
        font-size:14px;
    }

    .admin-nav-toggle-label{
        min-width:0;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .admin-nav-toggle-caret{
        display:grid;
        place-items:center;
        width:24px;
        height:24px;
        font-size:18px;
        line-height:1;
        transition:transform .15s ease;
    }

    .admin-nav-toggle[aria-expanded="true"] .admin-nav-toggle-caret{
        transform:rotate(180deg);
    }

    .shell:has(#adminNav:not(.hidden)) #adminNav{
        position:absolute!important;
        top:calc(100% - 3px);
        right:12px;
        left:12px;
        z-index:140;
        display:none!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:5px!important;
        width:auto!important;
        max-height:min(68vh,560px);
        margin:0!important;
        padding:9px!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        border:1px solid rgba(190,210,225,.38);
        border-radius:14px;
        background:#173a56!important;
        box-shadow:0 18px 38px rgba(8,29,46,.30);
        scrollbar-color:#7f9bad transparent;
        scrollbar-width:thin;
    }

    .shell:has(#adminNav:not(.hidden)) #adminNav.is-open{
        display:grid!important;
    }

    .shell:has(#adminNav:not(.hidden)) #adminNav .navbtn{
        display:flex!important;
        align-items:center;
        width:100%!important;
        min-height:42px!important;
        padding:9px 10px!important;
        text-align:left!important;
        white-space:normal!important;
    }
}

@media(max-width:767px){
    #employeeScreen .employee-stats-bar.person-menu-open{
        overflow:visible!important;
    }

    #employeeScreen .employee-stats-bar.person-menu-open .employee-selection-inline,
    #employeeScreen .employee-selection-inline:has(.employee-person-picker.is-open){
        position:relative;
        z-index:100;
        overflow:visible!important;
    }

    #employeeScreen .employee-person-picker.is-open{
        z-index:110;
    }

    #employeeScreen .employee-person-menu{
        right:auto!important;
        left:0!important;
    }

    .shell:has(#adminNav:not(.hidden)) #adminNav{
        right:10px;
        left:10px;
        grid-template-columns:1fr!important;
        max-height:min(64vh,520px);
    }
}

/* Einheitliche Auswahllisten: eine sichtbare Komponente für alle select-Felder. */
.app-select{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    min-width:0;
}

.app-select.input{
    display:block;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:inherit!important;
    box-shadow:none!important;
}

.app-select.is-open{
    z-index:240;
}

.app-select-native{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    min-height:0!important;
    margin:-1px!important;
    padding:0!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    clip-path:inset(50%)!important;
    border:0!important;
    white-space:nowrap!important;
    pointer-events:none!important;
    opacity:0!important;
}

.app-select-trigger{
    display:grid;
    grid-template-columns:minmax(0,1fr) 24px;
    align-items:center;
    gap:9px;
    width:100%;
    min-height:42px;
    margin:0;
    padding:9px 10px 9px 12px;
    border:1px solid #cbdbe5;
    border-radius:11px;
    background:#fff;
    color:#183451;
    font:inherit;
    font-size:14px;
    font-weight:700;
    line-height:1.2;
    text-align:left;
    cursor:pointer;
    box-shadow:0 1px 2px rgba(22,54,80,.025);
    transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

.app-select-trigger:hover,
.app-select.is-open .app-select-trigger{
    border-color:#8daaba;
    background:#fcfeff;
}

.app-select-trigger:focus-visible{
    border-color:#66899d;
    outline:0;
    box-shadow:0 0 0 3px rgba(100,142,164,.17);
}

.app-select.is-disabled .app-select-trigger{
    cursor:not-allowed;
    border-color:#e1e8ed;
    background:#f4f7f9;
    color:#95a4af;
}

.app-select-value{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.app-select-caret{
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:7px;
    background:#edf3f6;
    color:#315f7b;
    font-size:18px;
    font-weight:800;
    line-height:1;
    transition:transform .15s ease,background .15s ease;
}

.app-select.is-open .app-select-caret{
    transform:rotate(180deg);
    background:#e1edf2;
}

.app-select-menu{
    position:absolute;
    top:calc(100% + 6px);
    right:0;
    left:0;
    display:none;
    max-height:min(320px,55vh);
    padding:6px;
    overflow-y:auto;
    border:1px solid #c8d8e2;
    border-radius:13px;
    background:#fff;
    box-shadow:0 16px 30px rgba(20,54,80,.20);
    scrollbar-color:#9cb4c2 transparent;
    scrollbar-width:thin;
}

.app-select.is-open .app-select-menu{
    display:grid;
    gap:3px;
}

.app-select.opens-up .app-select-menu{
    top:auto;
    bottom:calc(100% + 6px);
}

.app-select-option{
    width:100%;
    min-height:36px;
    padding:8px 10px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#29465c;
    font:inherit;
    font-size:13px;
    font-weight:700;
    line-height:1.25;
    text-align:left;
    cursor:pointer;
}

.app-select-option:hover,
.app-select-option:focus-visible{
    background:#edf4f7;
    color:#173b56;
    outline:0;
}

.app-select-option.is-selected{
    background:#dfecef;
    color:#1f4e68;
    font-weight:850;
}

.app-select-option:disabled{
    cursor:not-allowed;
    color:#a7b3bb;
}

/* Der Arbeitsbereich liegt auf einer dunklen Verwaltungsleiste und bleibt dort
   mit derselben Geometrie, aber passendem Kontrast lesbar. */
.shell:has(#adminNav:not(.hidden)) .admin-context-label .app-select{
    margin:0;
}

.shell:has(#adminNav:not(.hidden)) .admin-context-label .app-select-trigger{
    min-height:38px;
    border-color:rgba(222,237,246,.25);
    background:rgba(255,255,255,.10);
    color:#fff;
    font-size:13px;
}

.shell:has(#adminNav:not(.hidden)) .admin-context-label .app-select-trigger:hover,
.shell:has(#adminNav:not(.hidden)) .admin-context-label .app-select.is-open .app-select-trigger{
    border-color:rgba(238,248,252,.48);
    background:rgba(255,255,255,.16);
}

.shell:has(#adminNav:not(.hidden)) .admin-context-label .app-select-caret{
    background:rgba(255,255,255,.13);
    color:#eef7fb;
}

@media(max-width:767px){
    .app-select-trigger{
        min-height:46px;
        border-radius:12px;
    }

    .app-select-menu{
        max-height:min(56vh,360px);
        border-radius:12px;
    }

    .app-select-option{
        min-height:42px;
        padding:10px;
    }
}

/* Administratoren: Anmeldezeitpunkt bleibt dezent unter dem Benutzernamen lesbar. */
.admin-user-card-header .admin-user-last-login{
    margin-top:5px;
    color:#527082;
    font-size:10px;
    font-weight:750;
    line-height:1.25;
}

/* Persönlicher Shop: Mahlzeitenanmeldung statt einer doppelten Beliebtheitsliste. */
.employee-app-mode .shop-meals{
    background:linear-gradient(145deg,#fbf8ff,#f0eaff);
    color:#6d28d9;
}
.shop-quick-card .shop-meal-actions--quick{
    grid-template-columns:1fr;
    gap:7px;
    margin:0;
    padding:0;
    border:0;
}
.shop-meal-actions--quick .shop-meal-action{min-height:56px;padding:9px 11px;}
.shop-meal-actions--quick .shop-meal-action>span{flex-basis:31px;width:31px;height:31px;border-radius:10px;font-size:17px;}
.shop-meal-actions--quick .shop-meal-action strong{font-size:14px;}
.shop-meal-actions--quick .shop-meal-action small{font-size:11px;}
@media(max-width:850px){.employee-app-mode .shop-meals{grid-column:1 / -1;}}
@media(max-width:700px){.employee-app-mode .shop-meals{grid-column:auto;}}

/* Zutaten: Anlage und Küchenbereiche als kompakte Arbeitsfläche. */
#adminIngredientsTab .ingredient-admin-top{
    display:grid;
    grid-template-columns:minmax(280px,.8fr) minmax(0,1.65fr);
    align-items:start;
    gap:14px;
    width:100%;
    max-width:1080px;
}
#adminIngredientsTab .ingredient-create-card,
#adminIngredientsTab .ingredient-area-create-card{
    width:auto;
    max-width:none;
    min-width:0;
    margin:0!important;
    padding:16px!important;
    box-shadow:0 7px 18px rgba(35,71,94,.055)!important;
}
#adminIngredientsTab .ingredient-create-card h2,
#adminIngredientsTab .ingredient-area-create-card h2{
    margin:0;
    color:#183451;
    font-size:17px;
}
.ingredient-create-fields{
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px;
    gap:8px;
    margin-top:12px;
}
.ingredient-create-fields .input{
    min-width:0;
    min-height:38px;
    margin:0!important;
    padding:8px 9px!important;
    font-size:13px!important;
}
.ingredient-create-fields #newIngredientShopping{grid-column:1 / -1;}
.ingredient-create-card>.btn{
    width:100%!important;
    min-height:38px!important;
    margin:9px 0 0!important;
    padding:8px 10px!important;
    font-size:12px!important;
}
#adminIngredientsTab .ingredient-area-create-heading{margin-bottom:9px;}
#adminIngredientsTab .ingredient-area-create-heading span{font-size:11px;}
#adminIngredientsTab .ingredient-area-create-fields{
    min-width:0;
    grid-template-columns:minmax(0,1fr) 105px max-content;
}
#adminIngredientsTab .ingredient-area-create-fields > *{min-width:0;}
#adminIngredientsTab .ingredient-area-list{margin-top:11px;padding-top:11px;}
#adminIngredients .ingredient-card{
    display:grid;
    align-content:start;
    gap:8px;
    min-height:274px;
    padding:15px!important;
    border-color:#d5e3e9!important;
    box-shadow:0 7px 17px rgba(35,71,94,.055)!important;
}
#adminIngredients .ingredient-card>.input{
    min-height:39px;
    margin:0!important;
    padding:8px 10px!important;
    color:#274c67;
    font-size:13px!important;
}
#adminIngredients .ingredient-card>.input:first-of-type{
    min-height:42px;
    border-color:#cbdde6;
    background:#f7fafb;
    color:#183b55;
    font-size:15px!important;
    font-weight:850;
}
#adminIngredients .ingredient-card .ingredient-preparation-fields{margin-top:2px;}
#adminIngredients .ingredient-card-actions{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:auto;
    padding-top:2px;
}
#adminIngredients .ingredient-card-actions .btn{
    min-height:39px!important;
    margin:0!important;
    padding:8px 10px!important;
    font-size:12px!important;
}
#adminIngredients .ingredient-guidance-card{
    position:relative;
    display:grid;
    align-content:start;
    gap:9px;
    min-height:274px;
    padding:17px!important;
    border-color:#cadfe8!important;
    background:linear-gradient(145deg,#f4fafc,#e9f2f5)!important;
    box-shadow:none!important;
}
.ingredient-guidance-icon{
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    border-radius:9px;
    background:#d6e8ef;
    color:#315f7b;
    font-family:Arial,sans-serif;
    font-size:14px;
    font-weight:900;
}
#adminIngredients .ingredient-guidance-card h2{
    display:block;
    margin:1px 0 2px;
    color:#183b55;
    font-size:16px;
    line-height:1.2;
}
#adminIngredients .ingredient-guidance-card p{
    margin:0;
    color:#527082;
    font-size:12px;
    font-weight:650;
    line-height:1.42;
}
#adminIngredients .ingredient-guidance-card b{color:#294e68;}
/* Die Seitenleiste nimmt auf schmaleren Tablet-/Desktopfenstern viel Breite ein.
   Die beiden Arbeitsbereiche werden dann bewusst untereinander gesetzt, damit
   Küchenbereiche weder zusammengedrückt noch vom Zutatenformular überlagert werden. */
@media(max-width:1080px){
    #adminIngredientsTab .ingredient-admin-top{
        grid-template-columns:minmax(0,760px);
    }
}
@media(max-width:850px){
    #adminIngredientsTab .ingredient-area-create-fields{
        grid-template-columns:minmax(0,1fr) 105px;
    }
}
@media(max-width:760px){
    #adminIngredientsTab .ingredient-admin-top{grid-template-columns:1fr;}
}
@media(max-width:460px){
    .ingredient-create-fields{grid-template-columns:1fr;}
    .ingredient-create-fields #newIngredientShopping{grid-column:auto;}
}

/* Adminseiten: unaufdringlicher Rückweg zum Seitenanfang statt eines fixierten Menüs. */
.admin-scroll-top{
    position:fixed;
    right:24px;
    bottom:max(24px,env(safe-area-inset-bottom));
    z-index:180;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-width:44px;
    min-height:44px;
    margin:0;
    padding:9px 13px;
    border:1px solid #cfdde5;
    border-radius:999px;
    background:rgba(255,255,255,.96);
    color:#315f7b;
    box-shadow:0 8px 20px rgba(28,61,85,.14);
    font-family:'Berlin Type','Segoe UI Emoji',Arial,sans-serif;
    font-size:12px;
    font-weight:800;
    line-height:1;
    opacity:0;
    pointer-events:none;
    transform:translateY(10px);
    transition:opacity .18s ease,transform .18s ease,background .18s ease,border-color .18s ease;
}
.admin-scroll-top>span:first-child{font-size:18px;line-height:.8;}
.admin-scroll-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0);}
.admin-scroll-top:hover,.admin-scroll-top:focus-visible{border-color:#9eb7c6;background:#f5fafb;outline:0;}
@media(max-width:767px){.admin-scroll-top{right:14px;bottom:max(14px,env(safe-area-inset-bottom));width:46px;min-width:46px;height:46px;min-height:46px;padding:0;border-radius:15px;}.admin-scroll-top-label{display:none;}}

/* Frühstück: Brötchenvarianten bleiben beim Bestellen sofort erkennbar. */
#productGrid.breakfast-product-groups{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    justify-content:stretch;
    gap:16px;
}
.breakfast-product-group{
    min-width:0;
    padding:13px;
    border:1px solid transparent;
    border-radius:20px;
}
.breakfast-product-group--light{
    border-color:#f1e1a6;
    background:linear-gradient(145deg,#fffdf4,#fff6d7);
}
.breakfast-product-group--dark{
    border-color:#cfe0ed;
    background:linear-gradient(145deg,#f7fbff,#eaf3fb);
}
.breakfast-product-group--other{
    border-color:#dfd2f4;
    background:linear-gradient(145deg,#fdfaff,#f3ecff);
}
.breakfast-product-group-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:0 2px 11px;
}
.breakfast-product-group-head h3{
    margin:0;
    color:#294e68;
    font-size:18px;
    font-weight:850;
}
.breakfast-product-group-head span{
    display:grid;
    place-items:center;
    min-width:26px;
    height:26px;
    padding:0 7px;
    border-radius:999px;
    background:rgba(255,255,255,.72);
    color:#527082;
    font-size:12px;
    font-weight:850;
}
.breakfast-product-group--light .breakfast-product-group-head h3{color:#8a6500;}
.breakfast-product-group--dark .breakfast-product-group-head h3{color:#315f7b;}
.breakfast-product-group--other .breakfast-product-group-head h3{color:#6d4c99;}
.breakfast-product-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(132px,1fr));
    gap:10px;
}
.breakfast-product-grid .shop-product-card{
    width:100%;
    min-width:0;
    background:rgba(255,255,255,.88);
}
@media(max-width:1000px){
    #productGrid.breakfast-product-groups{grid-template-columns:repeat(2,minmax(0,1fr));}
    .breakfast-product-group--other{grid-column:1 / -1;}
}
@media(max-width:620px){
    #productGrid.breakfast-product-groups{grid-template-columns:1fr;gap:12px;}
    .breakfast-product-group--other{grid-column:auto;}
}

/* Druck bleibt unabhängig von der gerade verwendeten Bildschirmbreite. */
@media print{
    html,
    body{
        min-width:0!important;
        width:100%!important;
        overflow:visible!important;
        background:#fff!important;
    }

    .sidebar,
    .admin-nav-toggle,
    #adminNav,
    #employeeNav,
    .employee-focus-toolbar,
    .inventory-start-card,
    .inventory-progress-card,
    .inventory-complete-bar,
    .inventory-print-button,
    .navbtn{
        display:none!important;
    }

    .shell,
    .shell:has(#adminNav:not(.hidden)),
    .content{
        display:block!important;
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:0!important;
        overflow:visible!important;
        background:#fff!important;
        box-shadow:none!important;
    }

    .inventory-report,
    .inventory-table-wrap{
        width:100%!important;
        max-width:none!important;
        overflow:visible!important;
        box-shadow:none!important;
    }

    .app-select-native{
        position:static!important;
        width:100%!important;
        height:auto!important;
        margin:0!important;
        clip:auto!important;
        clip-path:none!important;
        opacity:1!important;
    }

    .app-select-trigger,
    .app-select-menu{
        display:none!important;
    }
}

/* Bestandswarnung: abteilungsbezogenes, bewusst schließbares Admin-Popup. */
#lowStockModal{z-index:120;}
.low-stock-modal-box{
    position:relative;
    width:min(92vw,590px);
    max-width:590px;
    padding:24px;
    border-color:#f2d19b;
    background:linear-gradient(155deg,#fffdf9,#fff7e9);
}
.low-stock-modal-close{
    position:absolute;
    top:14px;
    right:14px;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid #ead8bb;
    border-radius:11px;
    background:rgba(255,255,255,.78);
    color:#7b5a2b;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}
.low-stock-modal-close:hover{background:#fff;color:#4e3211;}
.low-stock-modal-heading{display:flex;align-items:flex-start;gap:13px;padding-right:42px;}
.low-stock-modal-heading>span{
    display:grid;
    place-items:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:14px;
    background:#ffe7bd;
    font-size:21px;
}
.low-stock-modal-heading h2{margin:0;color:#3e2d17;font-size:23px;line-height:1.15;}
.low-stock-modal-heading p{margin:5px 0 0;color:#786142;font-size:13px;font-weight:650;line-height:1.4;}
.low-stock-modal-list{
    display:grid;
    gap:8px;
    max-height:min(42vh,340px);
    margin-top:18px;
    padding-right:3px;
    overflow-y:auto;
}
.low-stock-modal-item{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:11px 12px;
    border:1px solid #f0d9b5;
    border-radius:13px;
    background:rgba(255,255,255,.78);
}
.low-stock-modal-item>span{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:#fff0d6;
    color:#a05e12;
    font-size:17px;
    font-weight:900;
}
.low-stock-modal-item>div{min-width:0;}
.low-stock-modal-item strong,.low-stock-modal-item small{display:block;}
.low-stock-modal-item strong{overflow:hidden;color:#3e2d17;font-size:15px;text-overflow:ellipsis;white-space:nowrap;}
.low-stock-modal-item small{margin-top:2px;color:#7b674c;font-size:12px;font-weight:650;}
.low-stock-modal-item>b{
    padding:5px 8px;
    border-radius:999px;
    background:#fff0d6;
    color:#96580f;
    font-size:10px;
    font-weight:850;
}
.low-stock-modal-item.is-empty{border-color:#f3c6bd;background:#fff9f8;}
.low-stock-modal-item.is-empty>span,.low-stock-modal-item.is-empty>b{background:#fee8e4;color:#a63c2d;}
.low-stock-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;}
.low-stock-modal-actions .btn{width:auto;min-width:128px;margin:0;}
@media(max-width:560px){
    .admin-product-fields{grid-template-columns:1fr;}
    .low-stock-modal-box{padding:20px 16px 16px;}
    .low-stock-modal-heading{padding-right:35px;}
    .low-stock-modal-heading h2{font-size:20px;}
    .low-stock-modal-item{grid-template-columns:31px minmax(0,1fr);}
    .low-stock-modal-item>b{grid-column:2;justify-self:start;}
    .low-stock-modal-actions{display:grid;grid-template-columns:1fr;}
    .low-stock-modal-actions .btn{width:100%;}
}

/* Tagesübersicht für Vorbereitung und Einkauf ohne Adminzugriff. */
.department-meal-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.department-meal-card{overflow:hidden;border:1px solid #dce7ef;border-radius:19px;background:#fff;box-shadow:0 10px 24px rgba(30,60,120,.07);}
.department-meal-card--lunch{border-top:4px solid #d99a51;}
.department-meal-card--dinner{border-top:4px solid #5f83ad;}
.department-meal-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid #e6edf2;background:#fbfdfe;}
.department-meal-card-heading>div{display:flex;align-items:center;gap:11px;}
.department-meal-card-heading>div>span{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:#edf3f7;font-size:20px;}
.department-meal-card-heading small,.department-meal-card-heading h2{display:block;margin:0;}
.department-meal-card-heading small{color:#71818d;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;}
.department-meal-card-heading h2{margin-top:2px;color:#183451;font-size:21px;}
.department-meal-card-heading>strong{display:grid;place-items:center;min-width:43px;height:43px;padding:0 10px;border-radius:13px;background:#eaf1f5;color:#284f68;font-size:22px;}
.department-meal-offer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 16px 0;padding:10px 12px;border-radius:12px;background:#f0f5f8;color:#5b6f7c;}
.department-meal-offer span{font-size:11px;font-weight:750;}
.department-meal-offer strong{color:#183451;font-size:14px;text-align:right;}
.department-meal-variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 16px 17px;}
.department-meal-variant{overflow:hidden;border:1px solid #dfe8ed;border-radius:14px;background:#fafcfd;}
.department-meal-variant>header{display:flex;align-items:center;gap:9px;padding:10px 11px;border-bottom:1px solid #e5ecef;}
.department-meal-variant>header>span{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:9px;background:#eaf1f5;font-size:16px;}
.department-meal-variant>header strong,.department-meal-variant>header small{display:block;}
.department-meal-variant>header strong{color:#294a60;font-size:13px;}
.department-meal-variant>header small{margin-top:1px;color:#74838d;font-size:10px;font-weight:700;}
.department-meal-variant--vegetarian{border-color:#d6e6dc;background:#f8fbf9;}
.department-meal-variant--vegetarian>header{border-bottom-color:#deebe3;}
.department-meal-variant--vegetarian>header>span{background:#e4f1e9;}
.department-meal-people{display:grid;gap:0;}
.department-meal-person{padding:8px 10px;border-bottom:1px solid #e8eef1;}
.department-meal-person:last-child{border-bottom:0;}
.department-meal-person strong,.department-meal-person small{display:block;}
.department-meal-person strong{color:#294a60;font-size:12px;}
.department-meal-person small{margin-top:2px;color:#7b8992;font-size:10px;font-weight:650;}
.department-meal-empty{padding:15px 10px;color:#8a979f;font-size:11px;font-weight:700;text-align:center;}
.department-meal-overview-error{padding:24px;border:1px solid #f0d1cb;border-radius:16px;background:#fff8f7;color:#9a493f;text-align:center;font-weight:750;}
@media(max-width:900px){.department-meal-overview-grid{grid-template-columns:1fr;}.department-meal-variants{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.department-meal-variants{grid-template-columns:1fr;}.department-meal-offer{align-items:flex-start;flex-direction:column;}.department-meal-offer strong{text-align:left;}}

/* Rechtstexte auf der Loginseite */
body.legal-modal-open{overflow:hidden;}
#legalModal{
    z-index:10030;
    padding:24px;
    background:rgba(10,28,46,.62);
    backdrop-filter:blur(9px);
}
#legalModal .legal-modal-box{
    position:relative;
    display:flex;
    flex-direction:column;
    width:min(100%,860px);
    max-width:860px;
    max-height:calc(100dvh - 48px);
    padding:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.82);
    border-radius:24px;
    background:#fff;
    box-shadow:0 30px 85px rgba(8,29,48,.34);
}
.legal-modal-close{
    position:absolute;
    top:17px;
    right:17px;
    z-index:2;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    padding:0;
    border:1px solid #d9e5ec;
    border-radius:12px;
    background:rgba(248,251,252,.96);
    color:#3d5f73;
    font:inherit;
    font-size:23px;
    line-height:1;
    cursor:pointer;
}
.legal-modal-close:hover{border-color:#b9cfdb;background:#eef5f8;color:#173a56;}
#legalContent{
    min-height:0;
    padding:32px 40px 26px;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-color:#aac1cf transparent;
    scrollbar-width:thin;
}
.legal-document{
    color:#314b5d;
    font-size:15px;
    line-height:1.64;
}
.legal-document-header{
    margin:-32px -40px 27px;
    padding:34px 78px 29px 40px;
    border-bottom:1px solid #dfe9ef;
    background:
        radial-gradient(circle at 92% 12%,rgba(84,132,160,.13),transparent 31%),
        linear-gradient(145deg,#f8fbfc,#eef5f8);
}
.legal-kicker{
    display:block;
    margin-bottom:5px;
    color:#557387;
    font-size:11px;
    font-weight:850;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.legal-document-header h2{
    margin:0;
    color:#123653;
    font-size:31px;
    letter-spacing:-.035em;
    line-height:1.12;
}
.legal-document-header p{
    max-width:650px;
    margin:9px 0 0;
    color:#5d7483;
    font-weight:650;
    line-height:1.45;
}
.legal-section{
    padding:0 0 23px;
    margin:0 0 23px;
    border-bottom:1px solid #e5edf1;
}
.legal-section:last-of-type{margin-bottom:13px;}
.legal-section h3{
    margin:0 0 9px;
    color:#173a56;
    font-size:18px;
    letter-spacing:-.015em;
    line-height:1.3;
}
.legal-section p{margin:8px 0 0;}
.legal-section ul{
    display:grid;
    gap:7px;
    margin:10px 0 0;
    padding-left:21px;
}
.legal-section li::marker{color:#5d8298;}
.legal-document address{font-style:normal;}
.legal-document a{color:#285f7e;font-weight:750;text-decoration-thickness:1px;text-underline-offset:2px;}
.legal-document a:hover{color:#173a56;}
.legal-callout{
    margin:0 0 24px;
    padding:17px 19px;
    border:1px solid #cfe1ea;
    border-radius:16px;
    background:#f1f8fb;
    color:#33576b;
}
.legal-callout strong{
    display:block;
    margin-bottom:4px;
    color:#173f59;
    font-size:16px;
}
.legal-callout p{margin:0;}
.legal-callout-community{
    border-color:#d3e4da;
    background:#f2f8f4;
    color:#3b5f4a;
}
.legal-callout-community strong{color:#26533a;}
.legal-updated{
    margin:8px 0 0;
    color:#7b8f9b;
    font-size:12px;
    font-weight:750;
}
.legal-modal-actions{
    display:flex;
    justify-content:flex-end;
    flex:0 0 auto;
    padding:13px 24px;
    border-top:1px solid #dfe9ef;
    background:#f8fbfc;
}
.legal-modal-actions .btn{
    width:auto;
    min-width:130px;
    margin:0;
}

@media(max-width:640px){
    #legalModal{
        align-items:flex-end;
        padding:8px;
    }
    #legalModal .legal-modal-box{
        max-width:none;
        max-height:calc(100dvh - 16px);
        padding:0;
        border-radius:20px 20px 12px 12px;
    }
    .legal-modal-close{top:12px;right:12px;}
    #legalContent{padding:25px 20px 22px;}
    .legal-document{font-size:14px;line-height:1.58;}
    .legal-document-header{
        margin:-25px -20px 22px;
        padding:27px 60px 23px 20px;
    }
    .legal-document-header h2{font-size:25px;}
    .legal-section{padding-bottom:19px;margin-bottom:19px;}
    .legal-section h3{font-size:16px;}
    .legal-modal-actions{padding:11px 14px;}
    .legal-modal-actions .btn{width:100%;}
}
