*{box-sizing:border-box}:root{--bg:#f3f0ea;--card:#fff;--text:#25211c;--muted:#766f66;--line:#e4ded4;--green:#28724f;--green-dark:#1f5f40;--red:#a32929;--amber:#8a6100}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(rgba(243,240,234,.30),rgba(243,240,234,.30)),url("login_background.png") center center/cover no-repeat fixed}.login-card{width:100%;max-width:430px;background:rgba(255,255,255,.94);border-radius:24px;box-shadow:0 20px 55px rgba(0,0,0,.18);padding:34px;text-align:center;backdrop-filter:blur(3px)}.logo{display:block;margin:0 auto 18px;text-align:center}.logo img{display:block;max-width:260px;width:100%;height:auto;margin:0 auto}h1,h2,p{margin-top:0}.login-card h1{margin-bottom:6px}.login-card p,.topbar p,.card small,small{color:var(--muted)}label{display:grid;gap:6px;font-weight:650;font-size:14px;text-align:left}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 12px;font:inherit;background:#fff}textarea{resize:vertical}button,.button,.button-link{display:inline-block;border:0;border-radius:14px;padding:11px 15px;background:var(--green);color:white;font-weight:750;cursor:pointer;text-decoration:none;font-size:14px}button:hover,.button:hover,.button-link:hover{background:var(--green-dark)}button.secondary,.button.secondary{background:#fff;color:var(--text);border:1px solid var(--line)}button.secondary:hover,.button.secondary:hover{background:#f8f6f2}button.danger,.button.danger{background:#fff;color:var(--red);border:1px solid #edcaca}form{display:grid;gap:14px}.error{color:var(--red);font-size:14px;background:#fff0f0;padding:10px;border-radius:14px;margin-bottom:12px}.success{color:var(--green-dark);font-size:14px;background:#e7f3eb;padding:12px;border-radius:14px;margin-bottom:12px}.topbar{background:var(--card);padding:14px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;box-shadow:0 3px 16px rgba(0,0,0,.05)}.topbar h1{margin-bottom:6px;font-size:24px}.user-area{display:flex;gap:10px;align-items:center;justify-self:end;justify-content:flex-end;flex-wrap:wrap}.user-badge{background:#e7f3eb;color:var(--green-dark);padding:8px 12px;border-radius:999px;font-weight:750;white-space:nowrap}.container{max-width:1280px;margin:0 auto;padding:18px;display:grid;gap:16px}.container.narrow{max-width:900px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card,.form-card{background:var(--card);border-radius:20px;padding:18px;box-shadow:0 3px 16px rgba(0,0,0,.05)}.card span{color:var(--muted)}.card strong{display:block;font-size:34px;margin:4px 0}.toolbar{background:var(--card);border-radius:20px;padding:14px;display:flex;gap:12px;justify-content:space-between;align-items:center;box-shadow:0 3px 16px rgba(0,0,0,.05)}.button-row,.filters{display:flex;gap:8px;flex-wrap:wrap}.filters input{min-width:180px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.day-card{background:var(--card);min-height:245px;border-radius:20px;padding:12px;box-shadow:0 3px 16px rgba(0,0,0,.05)}.day-card.selected{outline:3px solid var(--green)}.day-title{display:block;border-radius:14px;background:#f8f6f2;padding:10px;margin-bottom:10px;cursor:pointer;color:var(--text);text-decoration:none}.day-title strong{display:block}.booking-mini{border:1px solid var(--line);border-radius:14px;padding:9px;margin-bottom:8px;font-size:13px}.booking-mini strong{display:block}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:750;background:#e7f3eb;color:var(--green-dark)}.badge.option{background:#fff3cf;color:var(--amber)}.badge.cancelled{background:#fdecec;color:var(--red)}.table-wrap{background:var(--card);border-radius:20px;overflow:auto;box-shadow:0 3px 16px rgba(0,0,0,.05)}table{width:100%;min-width:980px;border-collapse:collapse;font-size:14px}th{text-align:left;background:#f8f6f2;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}th,td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}fieldset{border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;gap:16px;flex-wrap:wrap}fieldset label{display:flex;align-items:center;gap:8px}fieldset input{width:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:950px){.cards,.calendar{grid-template-columns:repeat(2,1fr)}.toolbar,.topbar{flex-direction:column;align-items:stretch}}@media(max-width:620px){.cards,.calendar,.form-grid{grid-template-columns:1fr}.user-area{flex-direction:column;align-items:stretch}button,.button{width:100%;text-align:center}}
.mini-link{display:inline-block;margin-left:6px;color:var(--green-dark);font-weight:750}
.row-actions form{display:inline}

.section-block{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff;margin:4px 0}
.section-block h3{margin:0 0 12px;font-size:14px;font-weight:750;color:var(--text)}
.checkbox-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.checkbox-row label{display:flex;align-items:center;gap:8px;font-weight:650}
.checkbox-row input{width:auto}
.service-extra{margin-top:12px}
input[readonly]{background:#f8f6f2;font-weight:800}

.badge.pending{background:#fdecec;color:#a32929}
.badge.partial{background:#fff3cf;color:#8a6100}
.badge.paid{background:#e7f3eb;color:#1f5f40}

.disabled-field{opacity:.55}
.disabled-field select{background:#f3f0ea;cursor:not-allowed}
.field-hint{display:none;margin-top:4px;color:var(--muted);font-size:12px}

.topbar-main{min-width:0}.topbar-main h1{word-break:break-word}.topbar-center{display:flex;justify-content:center;align-items:center}.topbar-logo{display:block;max-width:190px;width:min(22vw,190px);min-width:110px;height:auto}.topbar .button,.topbar button{white-space:nowrap}@media (max-width:900px){.topbar{grid-template-columns:1fr;justify-items:center;text-align:center}.topbar-main,.user-area{justify-self:center;justify-content:center}.topbar-logo{width:min(52vw,180px);min-width:100px}}

.item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:620px){.item-grid{grid-template-columns:1fr}}


.section-hint{margin-top:-4px;color:var(--muted);font-size:13px}
.meal-date-list{display:flex;flex-direction:column;gap:8px}
.meal-date-row{display:grid;grid-template-columns:1.1fr .75fr .75fr .75fr .75fr .75fr .75fr;gap:8px;align-items:center}
.meal-date-head{font-size:12px;font-weight:800;color:var(--muted);padding:0 4px;text-transform:uppercase;letter-spacing:.03em}
.meal-date-title{min-height:42px;display:flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:14px;background:#f8f6f2;font-weight:800}
.meal-input{width:100%;min-width:0}
@media(max-width:900px){
    .meal-date-row{grid-template-columns:1fr 1fr}
    .meal-date-head{display:none}
    .meal-date-row:not(.meal-date-head){border:1px solid var(--line);border-radius:16px;padding:10px;background:#fff}
    .meal-date-title{grid-column:1/-1}
}


/* v19c – Pasti in calendario/card style */
.meal-calendar{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}

.meal-day-card{
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    padding:14px;
    box-shadow:0 8px 20px rgba(0,0,0,.035);
}

.meal-day-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:8px 12px;
    margin-bottom:12px;
    border-radius:14px;
    background:#f8f6f2;
    color:var(--green);
    font-weight:850;
    font-size:16px;
}

.meal-options{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
}

.meal-option{
    display:grid;
    grid-template-columns:minmax(160px,1.2fr) minmax(90px,.65fr) minmax(110px,.75fr);
    gap:10px;
    align-items:end;
    padding:10px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fcfbf8;
}

.meal-check-label{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:42px;
    padding:0 10px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    font-weight:800;
    cursor:pointer;
}

.meal-check-label input{
    width:18px;
    height:18px;
    accent-color:var(--green);
}

.meal-small-field{
    font-size:12px;
    color:var(--muted);
    font-weight:750;
}

.meal-small-field input{
    margin-top:4px;
    color:var(--text);
    font-size:15px;
    font-weight:650;
}

.meal-input{
    width:100%;
    min-width:0;
}

@media(max-width:760px){
    .meal-option{
        grid-template-columns:1fr;
        gap:8px;
    }
}


/* v19d – Pasti: due giorni affiancati su desktop */
.meal-calendar{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    align-items:start;
}

.meal-day-card{
    height:100%;
}

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


/* v19e – Pasti compatto, verde e tre pasti nebeneinander */
.section-block:has(#mealDateList){
    background:linear-gradient(135deg,#315f3b,#6f8f4f);
    border:0;
    color:#ffffff;
}

.section-block:has(#mealDateList) h3,
.section-block:has(#mealDateList) .section-hint{
    color:#ffffff;
}

.meal-calendar{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    align-items:start;
}

.meal-day-card{
    height:100%;
    border:1px solid rgba(255,255,255,.32);
    background:rgba(255,255,255,.13);
    box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.meal-day-title{
    background:rgba(255,255,255,.92);
    color:#315f3b;
    font-weight:900;
    font-size:18px;
    letter-spacing:.02em;
    justify-content:center;
    text-align:center;
}

.meal-options{
    display:grid;
    grid-template-columns:repeat(3, minmax(112px, 1fr));
    gap:8px;
}

.meal-option{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    align-items:start;
    padding:9px;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(255,255,255,.90);
    border-radius:16px;
}

.meal-check-label{
    min-height:34px;
    padding:0 6px;
    gap:6px;
    border:0;
    background:transparent;
    color:#315f3b;
    font-size:13px;
    line-height:1.05;
    justify-content:flex-start;
}

.meal-check-label small{
    display:block;
    font-size:10px;
    font-weight:700;
    opacity:.78;
    margin-top:2px;
}

.meal-check-label input{
    width:16px;
    height:16px;
    flex:0 0 auto;
}

.meal-small-field{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:5px;
    color:#5f665f;
    font-size:10px;
    font-weight:800;
}

.meal-small-field input{
    width:56px !important;
    max-width:56px !important;
    min-width:56px !important;
    height:34px;
    margin-top:0;
    padding:6px 6px;
    font-size:13px;
    text-align:center;
    font-weight:800;
}

.meal-input{
    width:56px !important;
    max-width:56px !important;
    min-width:56px !important;
}

/* Handy bleibt kompakt: drei Mahlzeiten nebeneinander, bei sehr schmalem Display scrollbar */
@media(max-width:900px){
    .meal-calendar{
        grid-template-columns:1fr;
    }

    .meal-options{
        grid-template-columns:repeat(3, minmax(104px, 1fr));
        overflow-x:auto;
        padding-bottom:2px;
    }

    .meal-option{
        min-width:104px;
    }

    .meal-day-title{
        font-size:17px;
    }
}

@media(max-width:420px){
    .meal-options{
        grid-template-columns:repeat(3, 104px);
    }
}


/* v19f – zuverlässiger grüner Pasti-Bereich + extrem kompakte Felder */
.pasti-section{
    background:linear-gradient(135deg,#315f3b,#6f8f4f) !important;
    border:0 !important;
    color:#fff !important;
}

.pasti-section h3,
.pasti-section .section-hint{
    color:#fff !important;
}

.pasti-section .meal-calendar{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
    align-items:start !important;
}

.pasti-section .meal-day-card{
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.38) !important;
    border-radius:18px !important;
    padding:10px !important;
    box-shadow:0 10px 24px rgba(0,0,0,.14) !important;
}

.pasti-section .meal-day-title{
    background:rgba(255,255,255,.94) !important;
    color:#315f3b !important;
    font-weight:900 !important;
    font-size:18px !important;
    text-align:center !important;
    justify-content:center !important;
    padding:7px 8px !important;
    margin-bottom:8px !important;
    border-radius:12px !important;
}

.pasti-section .meal-options{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(86px, 1fr)) !important;
    gap:6px !important;
}

.pasti-section .meal-option{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:4px !important;
    padding:6px !important;
    min-width:0 !important;
    border-radius:13px !important;
    background:rgba(255,255,255,.93) !important;
    border:1px solid rgba(255,255,255,.42) !important;
}

.pasti-section .meal-check-label{
    min-height:28px !important;
    padding:0 !important;
    gap:4px !important;
    border:0 !important;
    background:transparent !important;
    color:#315f3b !important;
    font-size:11px !important;
    line-height:1.05 !important;
    font-weight:900 !important;
}

.pasti-section .meal-check-label input{
    width:14px !important;
    height:14px !important;
    flex:0 0 14px !important;
}

.pasti-section .meal-check-label small{
    display:block !important;
    font-size:8.5px !important;
    line-height:1 !important;
    font-weight:800 !important;
    opacity:.8 !important;
}

.pasti-section .meal-small-field{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:3px !important;
    color:#5e665e !important;
    font-size:8.5px !important;
    font-weight:900 !important;
    line-height:1 !important;
}

.pasti-section .meal-small-field input,
.pasti-section .meal-input{
    width:42px !important;
    max-width:42px !important;
    min-width:42px !important;
    height:28px !important;
    padding:3px 3px !important;
    margin:0 !important;
    font-size:12px !important;
    line-height:1 !important;
    text-align:center !important;
    font-weight:900 !important;
    border-radius:9px !important;
}

/* Stefano/Admin delete button in list */
.row-actions form{
    display:inline-block;
    margin:0;
}

.row-actions .danger,
button.danger{
    background:#b94035;
    color:#fff;
    border:0;
    border-radius:12px;
    padding:9px 12px;
    font-weight:800;
    cursor:pointer;
}

.row-actions .danger:hover,
button.danger:hover{
    filter:brightness(.95);
}

@media(max-width:900px){
    .pasti-section .meal-calendar{
        grid-template-columns:1fr !important;
    }
    .pasti-section .meal-options{
        grid-template-columns:repeat(3, minmax(78px, 1fr)) !important;
        gap:5px !important;
        overflow-x:auto !important;
    }
    .pasti-section .meal-option{
        min-width:78px !important;
        padding:5px !important;
    }
    .pasti-section .meal-small-field input,
    .pasti-section .meal-input{
        width:40px !important;
        max-width:40px !important;
        min-width:40px !important;
    }
}

@media(max-width:390px){
    .pasti-section .meal-options{
        grid-template-columns:repeat(3, 78px) !important;
    }
}


/* v19g – final fallback for Pasti styling and delete button */
.pasti-section{background:linear-gradient(135deg,#315f3b,#6f8f4f)!important;border:0!important;color:#fff!important}
.pasti-section h3,.pasti-section .section-hint{color:#fff!important}
.pasti-section .meal-calendar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.pasti-section .meal-options{display:grid!important;grid-template-columns:repeat(3,minmax(78px,1fr))!important;gap:6px!important}
.pasti-section .meal-option{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;padding:6px!important;min-width:0!important;background:rgba(255,255,255,.94)!important;border-radius:13px!important}
.pasti-section .meal-small-field input,.pasti-section .meal-input,.pasti-section input[type="number"].meal-input{width:42px!important;max-width:42px!important;min-width:42px!important;height:28px!important;padding:3px!important;text-align:center!important;box-sizing:border-box!important}
.inline-delete-form{display:inline-block;margin:0}
button.danger,.danger{background:#b94035;color:#fff;border:0;border-radius:12px;padding:9px 12px;font-weight:800;cursor:pointer}
@media(max-width:900px){.pasti-section .meal-calendar{grid-template-columns:1fr!important}.pasti-section .meal-options{grid-template-columns:repeat(3,78px)!important;overflow-x:auto!important}.pasti-section .meal-small-field input,.pasti-section .meal-input,.pasti-section input[type="number"].meal-input{width:40px!important;max-width:40px!important;min-width:40px!important}}


/* v19h – Mobile Fix Pasti: keine Überlappung auf dem Handy */
@media(max-width:700px){
    .pasti-section{
        padding:18px 14px !important;
        border-radius:22px !important;
    }

    .pasti-section h3{
        font-size:20px !important;
        margin-bottom:10px !important;
    }

    .pasti-section .section-hint{
        font-size:15px !important;
        line-height:1.35 !important;
        margin-bottom:16px !important;
    }

    .pasti-section .meal-calendar{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }

    .pasti-section .meal-day-card{
        padding:10px !important;
        border-radius:18px !important;
    }

    .pasti-section .meal-day-title{
        font-size:24px !important;
        line-height:1 !important;
        padding:12px 8px !important;
        margin-bottom:10px !important;
    }

    .pasti-section .meal-options{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:7px !important;
        overflow:visible !important;
        padding-bottom:0 !important;
    }

    .pasti-section .meal-option{
        display:grid !important;
        grid-template-columns:minmax(118px,1fr) 48px 48px !important;
        gap:6px !important;
        align-items:center !important;
        min-width:0 !important;
        padding:7px !important;
        border-radius:14px !important;
    }

    .pasti-section .meal-check-label{
        min-height:34px !important;
        display:flex !important;
        align-items:center !important;
        gap:7px !important;
        padding:0 !important;
        font-size:14px !important;
        line-height:1.05 !important;
        white-space:normal !important;
    }

    .pasti-section .meal-check-label input{
        width:22px !important;
        height:22px !important;
        min-width:22px !important;
        flex:0 0 22px !important;
    }

    .pasti-section .meal-check-label small{
        display:block !important;
        font-size:10px !important;
        line-height:1 !important;
        margin-top:2px !important;
    }

    .pasti-section .meal-small-field{
        display:block !important;
        width:48px !important;
        min-width:48px !important;
        max-width:48px !important;
        font-size:0 !important;
        line-height:0 !important;
        margin:0 !important;
    }

    .pasti-section .meal-small-field input,
    .pasti-section .meal-input,
    .pasti-section input[type="number"].meal-input{
        width:48px !important;
        min-width:48px !important;
        max-width:48px !important;
        height:36px !important;
        padding:4px 3px !important;
        margin:0 !important;
        font-size:17px !important;
        line-height:1 !important;
        text-align:center !important;
        border-radius:12px !important;
        box-sizing:border-box !important;
    }
}

@media(min-width:701px){
    .pasti-section .meal-options{
        grid-template-columns:repeat(3,minmax(120px,1fr)) !important;
    }
    .pasti-section .meal-small-field input,
    .pasti-section .meal-input,
    .pasti-section input[type="number"].meal-input{
        width:48px !important;
        min-width:48px !important;
        max-width:48px !important;
    }
}


/* v19i – Pagamento unter Note, grün */
.pagamento-section{
    background:linear-gradient(135deg,#315f3b,#6f8f4f) !important;
    border:0 !important;
    color:#fff !important;
}
.pagamento-section h3{
    color:#fff !important;
    margin-bottom:14px !important;
}
.pagamento-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.pagamento-grid label{
    color:#fff !important;
    font-weight:850 !important;
}
.pagamento-grid input,
.pagamento-grid select{
    background:rgba(255,255,255,.95) !important;
    color:#1c1c1c !important;
    border:1px solid rgba(255,255,255,.55) !important;
}
.pagamento-grid input[readonly]{
    font-weight:900 !important;
    background:#f8f6f2 !important;
}
@media(max-width:700px){
    .pagamento-grid{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }
}


/* v19j – Dati prenotazione in grünem Rahmen */
.dati-prenotazione-section{
    background:linear-gradient(135deg,#315f3b,#6f8f4f) !important;
    border:0 !important;
    color:#fff !important;
}
.dati-prenotazione-section h3{
    color:#fff !important;
    margin-bottom:14px !important;
}
.dati-prenotazione-section label{
    color:#fff !important;
    font-weight:850 !important;
}
.dati-prenotazione-section input,
.dati-prenotazione-section select{
    background:rgba(255,255,255,.95) !important;
    color:#1c1c1c !important;
    border:1px solid rgba(255,255,255,.55) !important;
}
.dati-prenotazione-section .field-hint{
    color:rgba(255,255,255,.85) !important;
}
@media(max-width:700px){
    .dati-prenotazione-section{
        padding:18px 14px !important;
        border-radius:22px !important;
    }
}


/* v19k – Servizi und Note im grünen Rahmen */
.servizi-section,
.note-section{
    background:linear-gradient(135deg,#315f3b,#6f8f4f) !important;
    border:0 !important;
    color:#fff !important;
}
.servizi-section h3,
.note-section h3{
    color:#fff !important;
    margin-bottom:14px !important;
}
.servizi-section label{
    color:#fff !important;
    font-weight:850 !important;
}
.servizi-section input,
.note-section textarea{
    background:rgba(255,255,255,.95) !important;
    color:#1c1c1c !important;
    border:1px solid rgba(255,255,255,.55) !important;
}
.note-section textarea{
    width:100% !important;
    min-height:120px !important;
    resize:vertical !important;
    border-radius:16px !important;
    padding:14px !important;
    font-weight:650 !important;
}
.servizi-section .item-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
}
@media(max-width:700px){
    .servizi-section,
    .note-section{
        padding:18px 14px !important;
        border-radius:22px !important;
    }
    .servizi-section .item-grid{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }
}


/* v19l – Index Tagesanzeige */
.daily-summary-box{
    background:linear-gradient(135deg,#315f3b,#6f8f4f);
    color:#fff;
    border-radius:24px;
    padding:18px;
    margin-bottom:18px;
    box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.daily-summary-box h2{
    margin:0 0 14px;
    color:#fff;
    font-size:20px;
}
.daily-summary-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}
.daily-summary-grid div{
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.28);
    border-radius:16px;
    padding:12px;
    text-align:center;
}
.daily-summary-grid strong{
    display:block;
    font-size:24px;
    line-height:1;
    margin-bottom:6px;
}
.daily-summary-grid span{
    font-size:12px;
    font-weight:750;
}
.departure-card,
.departure-row{
    border-color:#d28b2c !important;
    background:#fff7ed !important;
}
.arrival-card,
.arrival-row{
    border-color:#2d7d52 !important;
}
.departure-badge,
.arrival-badge{
    display:inline-block;
    margin-left:8px;
    padding:4px 8px;
    border-radius:999px;
    font-size:11px;
    font-weight:850;
}
.departure-badge{
    background:#f6a623;
    color:#2c1b00;
}
.arrival-badge{
    background:#2d7d52;
    color:#fff;
}
.daily-meal-line{
    margin-top:6px;
    font-size:13px;
    font-weight:750;
    color:#315f3b;
}
@media(max-width:800px){
    .daily-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}


/* v19m – Listensuche respektiert Tagesdatum */
.list-date-note{
    margin:0 0 12px;
    padding:12px 14px;
    border-radius:16px;
    background:#f8f6f2;
    color:#315f3b;
    font-weight:800;
}

/* 2.0 – Journal / Prima Nota */
.finance-summary{background:linear-gradient(135deg,#315f3b,#6f8f4f);color:#fff;border-radius:24px;padding:18px;margin-bottom:18px;box-shadow:0 10px 24px rgba(0,0,0,.08)}.finance-summary h2{margin:16px 0 14px;color:#fff}.finance-summary-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.finance-date-form{display:flex;gap:8px;align-items:center}.finance-date-form input{background:#fff}.finance-summary-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.finance-summary-grid div{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:12px;text-align:center}.finance-summary-grid span{display:block;font-size:12px;font-weight:750;margin-bottom:6px}.finance-summary-grid strong{display:block;font-size:18px}.finance-summary-grid .red{color:#ffd4d4}.finance-entry-section,.closing-section{background:linear-gradient(135deg,#315f3b,#6f8f4f)!important;color:#fff!important;border:0!important}.finance-entry-section h3,.finance-entry-section label,.closing-section h3,.closing-section label{color:#fff!important}.finance-entry-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.finance-entry-form .full{grid-column:1/-1}.finance-entry-form input,.finance-entry-form select,.closing-section textarea{background:rgba(255,255,255,.95)!important;color:#1c1c1c!important;border:1px solid rgba(255,255,255,.55)!important}.finance-income-row td{background:#f1faf2}.finance-expense-row td{background:#fff3f0}.closing-badge{margin-top:14px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.2);font-weight:850}button.danger,.button.danger{background:#b94035;color:#fff;border:0}@media(max-width:1100px){.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.finance-entry-form{grid-template-columns:1fr}}


/* 2.1.1 – Zeitraum-Suche in Lista */
.filters .range-filter-label{
    display:flex;
    flex-direction:column;
    gap:4px;
    font-size:12px;
    font-weight:800;
    color:#6f5b4b;
}
.filters .range-filter-label input{
    width:100%;
}
.range-badge{
    display:inline-block;
    margin-left:8px;
    padding:4px 8px;
    border-radius:999px;
    font-size:11px;
    font-weight:850;
    background:#e7efe4;
    color:#315f3b;
}
@media(max-width:700px){
    .filters .range-filter-label{
        width:100%;
    }
}


/* 2.1.2 – Journal Fix */
.finance-summary{background:linear-gradient(135deg,#315f3b,#6f8f4f);color:#fff;border-radius:24px;padding:18px;margin:18px 0;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.finance-summary h2{margin:16px 0 14px;color:#fff}
.finance-summary-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.finance-date-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.finance-date-form input{background:#fff}
.finance-summary-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.finance-summary-grid div{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:12px;text-align:center}
.finance-summary-grid span{display:block;font-size:12px;font-weight:750;margin-bottom:6px}
.finance-summary-grid strong{display:block;font-size:18px}
.finance-summary-grid .red{color:#ffd4d4}
.finance-entry-section,.closing-section{background:linear-gradient(135deg,#315f3b,#6f8f4f)!important;color:#fff!important;border:0!important}
.finance-entry-section h3,.finance-entry-section label,.closing-section h3,.closing-section label{color:#fff!important}
.finance-entry-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.finance-entry-form .full{grid-column:1/-1}
.finance-entry-form input,.finance-entry-form select,.closing-section textarea{background:rgba(255,255,255,.95)!important;color:#1c1c1c!important;border:1px solid rgba(255,255,255,.55)!important}
.finance-income-row td{background:#f1faf2}
.finance-expense-row td{background:#fff3f0}
.closing-badge{margin-top:14px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.2);font-weight:850}
button.danger,.button.danger{background:#b94035;color:#fff;border:0}
@media(max-width:1100px){.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-summary-head{grid-template-columns:1fr}.finance-date-form{grid-template-columns:1fr}}
@media(max-width:900px){.finance-entry-form{grid-template-columns:1fr}}


/* 2.3a – User Mouse-over Menü */
.user-menu{
    position:relative;
    display:inline-flex;
    align-items:center;
}
.user-menu-trigger{
    cursor:pointer;
}
.user-dropdown{
    display:none;
    position:absolute;
    right:0;
    top:calc(100% + 8px);
    min-width:190px;
    background:#ffffff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:16px;
    box-shadow:0 14px 34px rgba(0,0,0,.16);
    padding:8px;
    z-index:9999;
}
.user-menu:hover .user-dropdown,
.user-menu:focus-within .user-dropdown{
    display:block;
}
.user-dropdown a{
    display:block;
    padding:10px 12px;
    border-radius:12px;
    color:#315f3b;
    text-decoration:none;
    font-weight:850;
    white-space:nowrap;
}
.user-dropdown a:hover{
    background:#f0f5ed;
}
@media(max-width:700px){
    .user-dropdown{
        right:auto;
        left:0;
    }
}


/* 2.3.2 – echtes Mouse-over-Menü unter Benutzername */
.user-area{
    overflow:visible !important;
}

.user-menu{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    z-index:10000 !important;
}

.user-menu-trigger{
    border:0 !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    cursor:pointer !important;
    font:inherit !important;
}

.user-dropdown{
    display:none !important;
    position:absolute !important;
    right:0 !important;
    top:calc(100% + 8px) !important;
    min-width:210px !important;
    background:#ffffff !important;
    border:1px solid rgba(0,0,0,.10) !important;
    border-radius:16px !important;
    box-shadow:0 16px 36px rgba(0,0,0,.20) !important;
    padding:8px !important;
    z-index:99999 !important;
}

.user-menu:hover .user-dropdown,
.user-menu:focus-within .user-dropdown{
    display:block !important;
}

.user-dropdown::before{
    content:"";
    position:absolute;
    right:18px;
    top:-8px;
    width:16px;
    height:16px;
    background:#fff;
    transform:rotate(45deg);
    border-left:1px solid rgba(0,0,0,.08);
    border-top:1px solid rgba(0,0,0,.08);
}

.user-dropdown a{
    position:relative;
    z-index:1;
    display:block !important;
    padding:11px 13px !important;
    border-radius:12px !important;
    color:#315f3b !important;
    text-decoration:none !important;
    font-weight:850 !important;
    white-space:nowrap !important;
    line-height:1.2 !important;
}

.user-dropdown a:hover{
    background:#f0f5ed !important;
}

@media(max-width:700px){
    .user-dropdown{
        right:0 !important;
        left:auto !important;
    }
}


/* 2.3.3 – HARD FIX echtes Dropdown unter Benutzer */
.user-area{
    overflow:visible !important;
    position:relative !important;
}

.user-menu{
    position:relative !important;
    display:inline-block !important;
    overflow:visible !important;
    z-index:50000 !important;
}

.user-menu-trigger{
    border:0 !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    cursor:pointer !important;
    font:inherit !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.user-dropdown{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    right:0 !important;
    margin-top:8px !important;
    min-width:210px !important;
    background:#fff !important;
    border:1px solid rgba(0,0,0,.12) !important;
    border-radius:16px !important;
    box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
    padding:8px !important;
    z-index:999999 !important;
}

.user-menu:hover > .user-dropdown,
.user-menu:focus-within > .user-dropdown{
    display:block !important;
}

.user-dropdown a{
    display:block !important;
    padding:11px 13px !important;
    margin:0 !important;
    border-radius:12px !important;
    color:#315f3b !important;
    background:#fff !important;
    text-decoration:none !important;
    font-weight:850 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
}

.user-dropdown a:hover{
    background:#f0f5ed !important;
}

.user-dropdown:before{
    content:"";
    position:absolute;
    top:-7px;
    right:18px;
    width:14px;
    height:14px;
    background:#fff;
    transform:rotate(45deg);
    border-left:1px solid rgba(0,0,0,.10);
    border-top:1px solid rgba(0,0,0,.10);
}

@media(max-width:700px){
    .user-dropdown{
        right:0 !important;
        left:auto !important;
    }
}


/* 2.3.4 – alter User-Restblock entfernt / Dropdown stabil */
.user-area{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    overflow:visible !important;
}
.user-menu{
    position:relative !important;
    display:inline-block !important;
}
.user-menu > .user-dropdown{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    right:0 !important;
    margin-top:8px !important;
    min-width:210px !important;
    background:#fff !important;
    border:1px solid rgba(0,0,0,.12) !important;
    border-radius:16px !important;
    box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
    padding:8px !important;
    z-index:999999 !important;
}
.user-menu:hover > .user-dropdown,
.user-menu:focus-within > .user-dropdown{
    display:block !important;
}
.user-menu > .user-dropdown a{
    display:block !important;
    padding:11px 13px !important;
    border-radius:12px !important;
    color:#315f3b !important;
    text-decoration:none !important;
    font-weight:850 !important;
    white-space:nowrap !important;
}
.user-menu > .user-dropdown a:hover{
    background:#f0f5ed !important;
}
.user-menu-trigger{
    border:0 !important;
    cursor:pointer !important;
    font:inherit !important;
}


/* 2.3.5 – Benutzerbutton wie Header-Button */
.user-menu-trigger.user-badge,
.user-menu .user-menu-trigger{
    background:#ffffff !important;
    color:#111111 !important;
    border:1px solid #eadfd2 !important;
    border-radius:14px !important;
    padding:12px 18px !important;
    min-height:44px !important;
    font-size:15px !important;
    font-weight:850 !important;
    line-height:1 !important;
    box-shadow:none !important;
    text-decoration:none !important;
}

.user-menu:hover .user-menu-trigger,
.user-menu:focus-within .user-menu-trigger,
.user-menu-trigger:hover{
    background:#24764d !important;
    color:#ffffff !important;
    border-color:#24764d !important;
}

.user-menu > .user-dropdown{
    top:calc(100% + 8px) !important;
}


/* 2.3.6 – Dropdown für Journal / Cassa */
.nav-menu{
    position:relative !important;
    display:inline-block !important;
    overflow:visible !important;
    z-index:40000 !important;
}

.nav-menu-trigger{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.nav-dropdown{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    right:0 !important;
    margin-top:8px !important;
    min-width:210px !important;
    background:#ffffff !important;
    border:1px solid rgba(0,0,0,.12) !important;
    border-radius:16px !important;
    box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
    padding:8px !important;
    z-index:999999 !important;
}

.nav-menu:hover > .nav-dropdown,
.nav-menu:focus-within > .nav-dropdown{
    display:block !important;
}

.nav-menu:hover > .nav-menu-trigger,
.nav-menu:focus-within > .nav-menu-trigger{
    background:#24764d !important;
    color:#ffffff !important;
    border-color:#24764d !important;
}

.nav-dropdown a{
    display:block !important;
    padding:11px 13px !important;
    margin:0 !important;
    border-radius:12px !important;
    color:#315f3b !important;
    background:#ffffff !important;
    text-decoration:none !important;
    font-weight:850 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
}

.nav-dropdown a:hover{
    background:#f0f5ed !important;
}

.nav-dropdown:before{
    content:"";
    position:absolute;
    top:-7px;
    right:18px;
    width:14px;
    height:14px;
    background:#fff;
    transform:rotate(45deg);
    border-left:1px solid rgba(0,0,0,.10);
    border-top:1px solid rgba(0,0,0,.10);
}


/* 2.3.7 – Header Links und Dropdowns stabil */
.user-area{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
    overflow:visible !important;
    position:relative !important;
    flex-wrap:wrap !important;
}
.nav-menu,
.user-menu{
    position:relative !important;
    display:inline-block !important;
    overflow:visible !important;
}
.nav-menu-trigger,
.user-menu-trigger.user-badge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.nav-dropdown,
.user-dropdown{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    right:0 !important;
    margin-top:8px !important;
    min-width:210px !important;
    background:#fff !important;
    border:1px solid rgba(0,0,0,.12) !important;
    border-radius:16px !important;
    box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
    padding:8px !important;
    z-index:999999 !important;
}
.nav-menu:hover > .nav-dropdown,
.nav-menu:focus-within > .nav-dropdown,
.user-menu:hover > .user-dropdown,
.user-menu:focus-within > .user-dropdown{
    display:block !important;
}
.nav-menu:hover > .nav-menu-trigger,
.nav-menu:focus-within > .nav-menu-trigger,
.user-menu:hover > .user-menu-trigger,
.user-menu:focus-within > .user-menu-trigger{
    background:#24764d !important;
    color:#fff !important;
    border-color:#24764d !important;
}
.nav-dropdown a,
.user-dropdown a{
    display:block !important;
    padding:11px 13px !important;
    margin:0 !important;
    border-radius:12px !important;
    color:#315f3b !important;
    background:#fff !important;
    text-decoration:none !important;
    font-weight:850 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
}
.nav-dropdown a:hover,
.user-dropdown a:hover{
    background:#f0f5ed !important;
}
.user-menu-trigger.user-badge{
    background:#ffffff !important;
    color:#111111 !important;
    border:1px solid #eadfd2 !important;
    border-radius:14px !important;
    padding:12px 18px !important;
    min-height:44px !important;
    font-size:15px !important;
    font-weight:850 !important;
    line-height:1 !important;
    box-shadow:none !important;
}


/* 2.3.8 – Hover-Brücke für Dropdown-Menüs */
.nav-menu,
.user-menu{
    padding-bottom:14px !important;
    margin-bottom:-14px !important;
}

.nav-dropdown,
.user-dropdown{
    margin-top:0 !important;
    top:calc(100% + 0px) !important;
}

.nav-dropdown:after,
.user-dropdown:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-16px;
    height:16px;
    background:transparent;
}

.nav-dropdown:before,
.user-dropdown:before{
    top:-7px !important;
}


/* 2.3.9 – Hover-Brücke speziell für Benutzerbereich */
.user-menu{
    padding-bottom:18px !important;
    margin-bottom:-18px !important;
}

.user-menu > .user-dropdown{
    margin-top:0 !important;
    top:calc(100% + 0px) !important;
}

.user-menu > .user-dropdown:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-20px;
    height:20px;
    background:transparent;
}

.user-menu:hover > .user-dropdown,
.user-menu:focus-within > .user-dropdown{
    display:block !important;
}

.user-menu:hover > .user-menu-trigger,
.user-menu:focus-within > .user-menu-trigger{
    background:#24764d !important;
    color:#ffffff !important;
    border-color:#24764d !important;
}


/* 2.3.10 – Prenotazioni Dropdown */
.prenotazioni-menu{
    position:relative !important;
    display:inline-block !important;
}
.prenotazioni-menu:hover > .nav-dropdown,
.prenotazioni-menu:focus-within > .nav-dropdown{
    display:block !important;
}
.prenotazioni-menu:hover > .nav-menu-trigger,
.prenotazioni-menu:focus-within > .nav-menu-trigger{
    background:#24764d !important;
    color:#fff !important;
    border-color:#24764d !important;
}
.nav-menu{
    padding-bottom:18px !important;
    margin-bottom:-18px !important;
}
.nav-menu > .nav-dropdown{
    top:100% !important;
    margin-top:0 !important;
}
.nav-menu > .nav-dropdown:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-20px;
    height:20px;
    background:transparent;
}


/* 2.4.12 – gleiche Größe für Azioni-Buttons in Lista */
.list-table td:last-child,
.booking-list td:last-child,
table td.actions,
td.azioni-cell{
    vertical-align:top !important;
}

.list-table td:last-child .button,
.list-table td:last-child button,
.booking-list td:last-child .button,
.booking-list td:last-child button,
table td.actions .button,
table td.actions button,
td.azioni-cell .button,
td.azioni-cell button{
    width:96px !important;
    min-width:96px !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 12px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    line-height:1 !important;
    font-size:14px !important;
    font-weight:850 !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
}

.list-table td:last-child form,
.booking-list td:last-child form,
table td.actions form,
td.azioni-cell form{
    margin:0 !important;
}

.list-table td:last-child,
.booking-list td:last-child,
table td.actions,
td.azioni-cell{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    align-items:flex-start !important;
}

@media(max-width:800px){
    .list-table td:last-child .button,
    .list-table td:last-child button,
    .booking-list td:last-child .button,
    .booking-list td:last-child button,
    table td.actions .button,
    table td.actions button,
    td.azioni-cell .button,
    td.azioni-cell button{
        width:92px !important;
        min-width:92px !important;
        height:40px !important;
        min-height:40px !important;
        font-size:13px !important;
    }
}


/* 2.4.13 – harter Fix: gleiche Größe für die echten Azioni-Buttons */
td.azioni-cell{
    vertical-align:top !important;
    width:120px !important;
    min-width:120px !important;
}

td.azioni-cell a.button,
td.azioni-cell a.button.secondary,
td.azioni-cell button,
td.azioni-cell form button,
td.azioni-cell .danger{
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    padding:0 10px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    text-align:center !important;
    font-size:14px !important;
    font-weight:850 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    border-radius:14px !important;
}

td.azioni-cell form{
    margin:0 !important;
    padding:0 !important;
    width:96px !important;
    min-width:96px !important;
    display:block !important;
}

td.azioni-cell{
    gap:10px !important;
}

/* Falls der Browser display:flex auf td unterschiedlich behandelt, erzwinge die Kinder direkt */
td.azioni-cell > a,
td.azioni-cell > form{
    margin-bottom:10px !important;
}

td.azioni-cell > a:last-child,
td.azioni-cell > form:last-child{
    margin-bottom:0 !important;
}

@media(max-width:800px){
    td.azioni-cell{
        width:108px !important;
        min-width:108px !important;
    }
    td.azioni-cell a.button,
    td.azioni-cell a.button.secondary,
    td.azioni-cell button,
    td.azioni-cell form button,
    td.azioni-cell .danger,
    td.azioni-cell form{
        width:92px !important;
        min-width:92px !important;
        max-width:92px !important;
    }
    td.azioni-cell a.button,
    td.azioni-cell a.button.secondary,
    td.azioni-cell button,
    td.azioni-cell form button,
    td.azioni-cell .danger{
        height:40px !important;
        min-height:40px !important;
        max-height:40px !important;
        font-size:13px !important;
    }
}


/* 2.4.15 – Pasti in Lista untereinander und gleiche Schriftgröße */
.pasti-list-cell{
    font-size:14px !important;
    line-height:1.45 !important;
    color:#111 !important;
    white-space:normal !important;
}

.pasti-list-cell br{
    display:block !important;
    content:"" !important;
    margin:0 !important;
}

.pasti-list-cell,
.pasti-list-cell *{
    font-size:14px !important;
    line-height:1.45 !important;
}

@media(max-width:800px){
    .pasti-list-cell,
    .pasti-list-cell *{
        font-size:13px !important;
        line-height:1.4 !important;
    }
}
