:root{
    --brand:#e9104f;
    --brand-2:#ff477e;
    --brand-dark:#a90734;
    --brand-soft:#fff0f6;
    --wine:#6d1230;
    --ink:#151720;
    --muted:#6f7480;
    --line:#edf0f5;
    --bg:#f6f7fb;
    --card:#ffffff;
    --green:#16a34a;
    --green-soft:#e9fbeF;
    --orange:#f59e0b;
    --orange-soft:#fff7e8;
    --red:#e11d48;
    --red-soft:#fff0f3;
    --violet:#7c3aed;
    --violet-soft:#f3edff;
    --shadow:0 18px 45px rgba(15,23,42,.10);
    --shadow-soft:0 10px 28px rgba(15,23,42,.07);
    --radius:26px;
    --radius-sm:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:linear-gradient(180deg,#f8f9fc 0%,#f3f5fb 100%);
    color:var(--ink);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased;
}
a{color:var(--brand);text-decoration:none;font-weight:750}
a:hover{text-decoration:underline}
.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{
    background:
        radial-gradient(circle at 20% 0%, rgba(255,255,255,.20), transparent 18rem),
        linear-gradient(180deg,var(--brand),var(--wine));
    color:white;
    padding:30px 22px;
    position:sticky;top:0;height:100vh;
    box-shadow:18px 0 45px rgba(109,18,48,.16);
}
.brand{display:flex;align-items:center;gap:14px;margin-bottom:36px}
.logo{
    width:72px;
    height:auto;
    max-height:72px;
    border-radius:0;
    background:transparent;
    object-fit:contain;
    padding:0;
    box-shadow:none;
}
.brand-title{
    font-weight:950;line-height:1.03;letter-spacing:.055em;text-transform:uppercase;
    text-shadow:0 2px 10px rgba(0,0,0,.16);
}
.nav a{
    display:flex;align-items:center;gap:10px;color:white;
    padding:13px 15px;border-radius:18px;margin:7px 0;
    opacity:.92;font-weight:850;text-decoration:none;
    transition:.18s ease;
}
.nav a.active,.nav a:hover{
    background:white;color:var(--brand);opacity:1;
    transform:translateX(2px);
    box-shadow:0 12px 28px rgba(0,0,0,.14);
}
.main{padding:38px;max-width:1320px;width:100%;margin:0 auto}
.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}
h1{font-size:clamp(30px,4vw,46px);line-height:1.02;margin:0 0 8px;font-weight:950;letter-spacing:-.04em}
h2{font-size:clamp(22px,2.2vw,29px);line-height:1.15;margin:0 0 16px;font-weight:930;letter-spacing:-.025em}
h3{margin:0 0 9px;font-size:18px}
.sub{color:var(--muted);margin:0;font-size:1.02rem}
.card{
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.86);
    border-radius:var(--radius);
    padding:24px;
    box-shadow:var(--shadow-soft);
    margin-bottom:22px;
}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-bottom:22px}
.stat{
    background:rgba(255,255,255,.95);
    border:1px solid rgba(255,255,255,.85);
    border-radius:24px;
    padding:22px;
    box-shadow:var(--shadow-soft);
    display:flex;align-items:center;gap:16px;
    transition:.18s ease;
}
.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.stat-icon{
    width:50px;height:50px;border-radius:18px;
    background:linear-gradient(135deg,var(--brand-soft),#fff);
    display:grid;place-items:center;color:var(--brand);font-weight:950;
    box-shadow:inset 0 0 0 1px rgba(233,16,79,.08);
}
.stat-number{font-size:30px;font-weight:950;letter-spacing:-.035em}
.stat-label{font-size:13px;color:var(--muted);font-weight:800}
.btn,button{
    appearance:none;border:0;border-radius:999px;
    background:linear-gradient(135deg,var(--brand),var(--brand-2));
    color:white;
    padding:13px 18px;
    font-weight:900;
    cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    box-shadow:0 13px 28px rgba(233,16,79,.24);
    transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
    text-decoration:none;
    letter-spacing:.01em;
}
.btn:hover,button:hover{
    transform:translateY(-1px);
    box-shadow:0 18px 35px rgba(233,16,79,.30);
    filter:saturate(1.05);
    text-decoration:none;
}
.btn.secondary,button.secondary{
    background:#fff;color:#3f4654;box-shadow:var(--shadow-soft);
    border:1px solid var(--line);
}
.btn.secondary:hover,button.secondary:hover{box-shadow:var(--shadow)}
.btn.danger,button.danger{background:linear-gradient(135deg,#dc2626,#fb7185)}
.btn.whatsapp{background:linear-gradient(135deg,#1fb855,#25D366);box-shadow:0 13px 28px rgba(37,211,102,.22)}
.btn.full,button.full{width:100%}
.actions{display:flex;gap:11px;flex-wrap:wrap;align-items:center}
table{width:100%;border-collapse:separate;border-spacing:0;background:white;border-radius:18px;overflow:hidden}
th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
tr:last-child td{border-bottom:0}
th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#fafbfe;font-weight:950}
label{display:block;font-weight:900;margin:14px 0 7px}
input,textarea,select{
    width:100%;border:1px solid #dfe4ee;border-radius:16px;
    padding:13px 14px;font:inherit;background:white;
    transition:border .15s ease, box-shadow .15s ease;
}
input:focus,textarea:focus,select:focus{
    outline:none;border-color:var(--brand);
    box-shadow:0 0 0 4px rgba(233,16,79,.10);
}
textarea{min-height:96px}
.notice,.error{
    padding:15px 17px;border-radius:18px;margin-bottom:18px;font-weight:750;
    box-shadow:var(--shadow-soft);
}
.notice{background:#ecfdf5;color:#065f46;border:1px solid #bbf7d0}
.error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}
.small{font-size:.92rem;color:var(--muted)}
.badge{
    display:inline-flex;align-items:center;gap:5px;
    border-radius:999px;padding:5px 11px;
    font-weight:950;font-size:12px;white-space:nowrap;
}
.badge.active,.badge.free{background:var(--green-soft);color:#166534}
.badge.wait{background:var(--orange-soft);color:#9a3412}
.badge.full{background:var(--red-soft);color:#be123c}
.badge.internal{background:var(--violet-soft);color:#5b21b6}
.public-hero{
    position:relative;overflow:hidden;
    background:
        radial-gradient(circle at 8% 20%, rgba(255,255,255,.24), transparent 18rem),
        radial-gradient(circle at 90% 10%, rgba(255,255,255,.16), transparent 16rem),
        linear-gradient(135deg,var(--brand) 0%,#c70845 46%,var(--wine) 100%);
    color:white;
    padding:34px 26px 38px;
    border-radius:0 0 34px 34px;
    box-shadow:0 22px 55px rgba(109,18,48,.22);
}
.public-hero:after{
    content:"";
    position:absolute;right:-70px;bottom:-115px;
    width:280px;height:280px;border-radius:50%;
    background:rgba(255,255,255,.10);
}
.public-wrap{max-width:1160px;margin:0 auto;padding:26px 18px 34px}
.public-nav{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:28px}
.public-brand{display:flex;align-items:center;gap:13px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.public-hero h1{position:relative;z-index:1;max-width:880px;text-shadow:0 2px 18px rgba(0,0,0,.18)}
.public-hero p{position:relative;z-index:1;font-size:1.08rem;opacity:.92;margin:0}
.shift-card{
    position:relative;
    overflow:hidden;
    border:0;
    border-left:7px solid var(--brand);
    transition:transform .18s ease, box-shadow .18s ease;
}
.shift-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.shift-card:before{
    content:"";
    position:absolute;inset:0 0 auto 0;height:5px;
    background:linear-gradient(90deg,rgba(233,16,79,.16),transparent);
}
.shift-card.status-ok{border-left-color:var(--green)}
.shift-card.status-warn{border-left-color:var(--orange)}
.shift-card.status-bad{border-left-color:var(--red)}
.shift-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.94rem;font-weight:750}
.progress{height:10px;background:#edf0f5;border-radius:999px;overflow:hidden;margin-top:12px}
.progress span{
    display:block;height:100%;
    background:linear-gradient(90deg,var(--brand),var(--brand-2));
    border-radius:999px;
    animation:growBar .55s ease both;
}
.status-ok .progress span{background:linear-gradient(90deg,#16a34a,#4ade80)}
.status-warn .progress span{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.status-bad .progress span{background:linear-gradient(90deg,#e11d48,#fb7185)}
@keyframes growBar{from{width:0}to{width:var(--final-width,100%)}}
.form-grid{display:grid;grid-template-columns:1fr 310px;gap:22px}
.info-box{background:linear-gradient(180deg,#fff,#fff7fa);border:1px solid #ffe0ea;border-radius:22px;padding:20px}
.inline-checkbox{width:auto;display:inline-block;margin-right:8px}
.muted-link{color:#6b7280;font-size:.9rem;word-break:break-all;font-weight:700}
.mobile-only{display:none}
.day-tabs{
    display:flex;gap:10px;overflow-x:auto;
    padding:5px 0 16px;margin-bottom:12px;
    scrollbar-width:thin;
}
.day-tab{
    border:1px solid rgba(255,255,255,.8);
    background:rgba(255,255,255,.95);
    color:var(--ink);
    border-radius:999px;
    padding:13px 17px;
    font-weight:950;
    white-space:nowrap;
    box-shadow:var(--shadow-soft);
    cursor:pointer;
}
.day-tab.active{
    background:linear-gradient(135deg,var(--brand),var(--brand-2));
    color:#fff;
    box-shadow:0 12px 28px rgba(233,16,79,.24);
}
.day-section{display:none}
.day-section.active{display:block}
.day-heading{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    margin:16px 0 18px;
}
.day-heading h2{margin:0}
.day-count{color:var(--muted);font-weight:900}
.shift-needed{font-weight:950;margin-top:9px;font-size:1.02rem}
.shift-needed.ok{color:#166534}
.shift-needed.warn{color:#9a3412}
.shift-needed.bad{color:#be123c}
.open-filter-bar{
    display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;
    margin:0 0 20px;
}
.summary-pill{
    display:inline-flex;align-items:center;gap:8px;
    border-radius:999px;padding:12px 16px;
    font-weight:950;background:#fff;box-shadow:var(--shadow-soft);
}
.summary-pill.bad{color:#be123c;background:#fff1f2;border:1px solid #fecdd3}
.hidden-by-open-filter{display:none!important}
.quick-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:13px;align-items:end}
.quick-form label{margin-top:0}
.task-list{display:grid;gap:13px}
.task-item{
    display:grid;grid-template-columns:1fr 275px;gap:16px;
    background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;
    box-shadow:var(--shadow-soft);
}
.task-text{font-weight:900;font-size:1.03rem;margin-top:8px}
.task-meta{color:var(--muted);font-size:.93rem;margin-top:5px}
.task-actions{display:grid;gap:8px}
.task-status-open{background:#f3f4f6;color:#374151}
.task-status-progress{background:#dbeafe;color:#1d4ed8}
.task-status-done{background:#dcfce7;color:#166534}
.task-status-blocked{background:#ffe4e6;color:#be123c}
.import-box textarea{min-height:210px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.print-page{background:#fff;color:#111;max-width:1100px;margin:0 auto;padding:28px}
.print-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #111;padding-bottom:16px;margin-bottom:22px}
.print-logo{width:70px;height:70px;border-radius:50%;object-fit:cover}
.print-day{break-inside:avoid;page-break-inside:avoid;margin-bottom:28px}
.print-table{width:100%;border-collapse:collapse;margin-top:10px}
.print-table th,.print-table td{border:1px solid #bbb;padding:8px;vertical-align:top;text-align:left}
.print-table th{background:#eee;color:#111;font-size:12px}
.print-missing{font-weight:900;color:#b91c1c}
.print-actions{position:sticky;top:0;background:#f6f7fb;padding:12px;margin:-28px -28px 20px;display:flex;gap:10px;justify-content:flex-end}
@media(max-width:920px){
    .app-shell{display:block}
    .sidebar{height:auto;position:relative;border-radius:0 0 32px 32px;padding:24px 20px}
    .brand{margin-bottom:18px}
    .nav{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
    .main{padding:24px}
    .topbar{display:block}
    .actions{margin-top:15px}
    table{display:block;overflow-x:auto;white-space:nowrap}
    .form-grid{grid-template-columns:1fr}
    .task-item{grid-template-columns:1fr}
    .task-actions{grid-template-columns:1fr}
    .desktop-only{display:none}
    .mobile-only{display:block}
}
@media(max-width:600px){
    body{background:#f7f8fb}
    .public-wrap{padding:18px 14px 28px}
    .public-hero{padding:22px 16px 30px;border-radius:0 0 26px 26px}
    .public-nav{display:block;margin-bottom:22px}
    .public-brand{margin-bottom:14px}
    .logo{width:64px;height:auto;max-height:64px}
    h1{font-size:2rem}
    h2{font-size:1.35rem}
    .card{padding:19px;border-radius:22px}
    .grid{grid-template-columns:1fr;gap:16px}
    .stats{grid-template-columns:1fr}
    .nav{grid-template-columns:1fr}
    .btn,button{width:100%;padding:14px 16px}
    .actions{width:100%}
    .actions .btn,.actions button{flex:1 1 100%}
    .day-tab{padding:11px 14px;font-size:.94rem}
    .day-heading{display:block}
    .open-filter-bar{display:block}
    .summary-pill{width:100%;justify-content:center;margin-bottom:12px}
    input,textarea,select{font-size:16px}
}
@media print{
    body{background:white}
    .print-actions{display:none}
    .print-page{padding:0;max-width:none}
    .print-header{margin-top:0}
    a{color:#111;text-decoration:none}
}

.module-menu{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:18px;
}
.module-menu .btn.active{
    background:linear-gradient(135deg,var(--brand),var(--brand-2));
    color:white;
}
.task-empty{
    text-align:center;
    padding:34px 18px;
    color:var(--muted);
}


.brand-stack{
    display:flex;
    flex-direction:column;
    line-height:1.05;
}
.brand-main{
    font-weight:950;
    font-size:1.25rem;
    letter-spacing:.045em;
    text-transform:uppercase;
}
.brand-sub{
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.01em;
    text-transform:none;
    opacity:.92;
    margin-top:4px;
}
.sidebar .brand{
    align-items:flex-start;
}
.sidebar .brand-title{
    text-transform:none;
    letter-spacing:0;
}
.sidebar .brand-title .brand-main{
    color:#fff;
    font-size:1.32rem;
}
.sidebar .brand-title .brand-sub{
    color:rgba(255,255,255,.9);
    max-width:145px;
}
@media(max-width:600px){
    .brand-main{font-size:1.08rem}
    .brand-sub{font-size:.72rem}
}


.area-list{
    display:grid;
    gap:16px;
}
.area-group{
    background:rgba(255,255,255,.94);
    border:1px solid rgba(255,255,255,.86);
    border-radius:var(--radius);
    box-shadow:var(--shadow-soft);
    overflow:hidden;
}
.area-toggle{
    width:100%;
    border:0;
    border-radius:0;
    background:#fff;
    color:var(--ink);
    box-shadow:none;
    padding:20px 22px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    text-align:left;
}
.area-toggle:hover{
    transform:none;
    box-shadow:none;
    background:linear-gradient(180deg,#fff,#fff7fa);
}
.area-title{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.area-title strong{
    font-size:1.22rem;
}
.area-summary{
    color:var(--muted);
    font-size:.92rem;
    font-weight:800;
}
.area-chevron{
    font-size:1.4rem;
    color:var(--brand);
    transition:.18s ease;
}
.area-group.open .area-chevron{
    transform:rotate(180deg);
}
.area-content{
    display:none;
    padding:0 18px 18px;
}
.area-group.open .area-content{
    display:block;
}
.area-content .grid{
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}
.bulk-row{
    display:grid;
    grid-template-columns:1fr 1fr 110px 1.5fr auto;
    gap:10px;
    align-items:end;
    padding:12px;
    border:1px solid var(--line);
    border-radius:18px;
    margin-bottom:10px;
    background:#fff;
}
.bulk-row label{
    margin-top:0;
}
.bulk-remove{
    background:#fff!important;
    color:#be123c!important;
    border:1px solid #fecdd3!important;
    box-shadow:none!important;
}
@media(max-width:850px){
    .bulk-row{
        grid-template-columns:1fr;
    }
}


.area-group{
    border-left:7px solid var(--brand);
}
.area-group.status-ok{
    border-left-color:var(--green);
}
.area-group.status-warn{
    border-left-color:var(--orange);
}
.area-group.status-bad{
    border-left-color:var(--red);
}
.area-group.status-ok .area-toggle{
    background:linear-gradient(90deg,rgba(22,163,74,.08),#fff 42%);
}
.area-group.status-warn .area-toggle{
    background:linear-gradient(90deg,rgba(245,158,11,.10),#fff 42%);
}
.area-group.status-bad .area-toggle{
    background:linear-gradient(90deg,rgba(225,29,72,.10),#fff 42%);
}
.area-status-dot{
    width:14px;
    height:14px;
    border-radius:999px;
    display:inline-block;
    margin-right:8px;
    box-shadow:0 0 0 4px rgba(0,0,0,.04);
}
.area-status-dot.ok{background:var(--green)}
.area-status-dot.warn{background:var(--orange)}
.area-status-dot.bad{background:var(--red)}
.area-title strong{
    display:flex;
    align-items:center;
}
.area-summary strong{
    color:var(--ink);
}


/* Final LayCrew branding */
.logo{
    width:68px;
    height:68px;
    max-height:68px;
    object-fit:contain;
    border-radius:18px;
    background:rgba(255,255,255,.96);
    padding:8px;
    box-shadow:0 14px 32px rgba(0,0,0,.16);
}
.public-brand,
.brand{
    gap:14px;
}
.brand-stack{
    display:flex;
    flex-direction:column;
    line-height:1.05;
}
.brand-main{
    font-weight:950;
    font-size:1.42rem;
    letter-spacing:.025em;
    text-transform:none;
}
.brand-sub{
    font-size:.88rem;
    font-weight:850;
    letter-spacing:.005em;
    text-transform:none;
    opacity:.94;
    margin-top:5px;
}
.sidebar .brand{
    align-items:center;
}
.sidebar .brand-title{
    text-transform:none;
    letter-spacing:0;
}
.sidebar .brand-title .brand-main{
    color:#fff;
    font-size:1.44rem;
}
.sidebar .brand-title .brand-sub{
    color:rgba(255,255,255,.92);
    max-width:165px;
}
.public-brand .brand-main{
    color:#fff;
}
.public-brand .brand-sub{
    color:rgba(255,255,255,.92);
}
@media(max-width:600px){
    .logo{
        width:58px;
        height:58px;
        max-height:58px;
        border-radius:16px;
        padding:7px;
    }
    .brand-main{font-size:1.16rem}
    .brand-sub{font-size:.74rem;max-width:240px}
}


/* V17: cleaner event header + nested shift accordion */
.public-hero{
    padding:30px 26px 34px;
}
.event-card{
    margin-top:-18px;
    position:relative;
    z-index:3;
}
.event-card h1{
    margin-bottom:10px;
}
.event-meta{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    color:var(--muted);
    font-weight:850;
}
.event-meta span{
    background:#fff;
    border:1px solid var(--line);
    border-radius:999px;
    padding:8px 12px;
    box-shadow:var(--shadow-soft);
}
.shift-summary-list{
    display:grid;
    gap:10px;
}
.shift-accordion{
    border-radius:20px;
    border:1px solid var(--line);
    background:#fff;
    overflow:hidden;
    box-shadow:var(--shadow-soft);
}
.shift-accordion.status-ok{border-left:7px solid var(--green)}
.shift-accordion.status-warn{border-left:7px solid var(--orange)}
.shift-accordion.status-bad{border-left:7px solid var(--red)}
.shift-toggle{
    width:100%;
    background:#fff;
    color:var(--ink);
    box-shadow:none;
    border-radius:0;
    padding:16px 18px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:center;
    text-align:left;
}
.shift-toggle:hover{
    transform:none;
    box-shadow:none;
    background:#fff9fb;
}
.shift-toggle-main{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.shift-title-line{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
    font-weight:950;
    font-size:1.06rem;
}
.shift-time-line{
    color:var(--muted);
    font-weight:850;
}
.shift-toggle-side{
    display:flex;
    align-items:center;
    gap:10px;
}
.shift-chevron{
    font-size:1.35rem;
    color:var(--brand);
    transition:.18s ease;
}
.shift-accordion.open .shift-chevron{
    transform:rotate(180deg);
}
.shift-body{
    display:none;
    padding:0 18px 18px;
}
.shift-accordion.open .shift-body{
    display:block;
}
.shift-body-inner{
    border-top:1px solid var(--line);
    padding-top:16px;
}
.area-content .grid{
    display:block;
}
.area-content .shift-accordion + .shift-accordion{
    margin-top:12px;
}
@media(max-width:600px){
    .public-hero{
        padding-bottom:28px;
    }
    .event-card{
        margin-top:-12px;
    }
    .shift-toggle{
        grid-template-columns:1fr;
    }
    .shift-toggle-side{
        justify-content:space-between;
    }
}


/* V19 Mobile Optimization */

@media (max-width: 768px){

    .public-wrap{
        padding:16px;
    }

    .card{
        padding:18px;
        border-radius:18px;
    }

    h1{
        font-size:1.5rem;
    }

    .event-meta{
        gap:6px;
    }

    .event-meta span{
        font-size:0.8rem;
        padding:6px 10px;
    }

    .actions .btn{
        width:100%;
        justify-content:center;
    }

    .day-tabs{
        overflow-x:auto;
        flex-wrap:nowrap;
        gap:8px;
        padding-bottom:6px;
    }

    .day-tab{
        white-space:nowrap;
        padding:10px 14px;
        font-size:0.9rem;
    }

    .area-toggle{
        padding:14px;
    }

    .area-title strong{
        font-size:1rem;
    }

    .area-summary{
        font-size:0.8rem;
    }

    .shift-toggle{
        padding:14px;
    }

    .shift-title-line{
        font-size:0.95rem;
    }

    .shift-time-line{
        font-size:0.8rem;
    }

    .shift-body-inner{
        padding-top:12px;
    }

    form input,
    form textarea{
        font-size:16px;
        padding:10px;
    }

    form button{
        width:100%;
        padding:14px;
        font-size:1rem;
    }

    .open-filter-bar{
        flex-direction:column;
        align-items:stretch;
        gap:10px;
    }

    .summary-pill{
        text-align:center;
    }

}

/* Extra small phones */
@media (max-width: 420px){

    .brand-main{
        font-size:1.1rem;
    }

    .brand-sub{
        font-size:0.7rem;
    }

    .logo{
        width:50px;
        height:50px;
    }

}


/* V21 Admin shift cards */
.admin-shift-list{
    display:grid;
    gap:18px;
}
.admin-shift-card{
    background:#fff;
    border-radius:24px;
    border:1px solid var(--line);
    box-shadow:var(--shadow-soft);
    overflow:hidden;
    border-left:7px solid var(--brand);
}
.admin-shift-card.status-ok{border-left-color:var(--green)}
.admin-shift-card.status-warn{border-left-color:var(--orange)}
.admin-shift-card.status-bad{border-left-color:var(--red)}
.admin-shift-head{
    padding:18px 20px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:16px;
    align-items:start;
    background:linear-gradient(180deg,#fff,#fafbfe);
}
.admin-shift-title{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.admin-shift-title h3{
    margin:0;
    font-size:1.25rem;
}
.admin-shift-meta{
    color:var(--muted);
    font-weight:850;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.admin-shift-meta span{
    background:#fff;
    border:1px solid var(--line);
    border-radius:999px;
    padding:6px 10px;
}
.admin-shift-stats{
    display:flex;
    flex-direction:column;
    gap:8px;
    align-items:flex-end;
    min-width:180px;
}
.admin-shift-body{
    padding:18px 20px 20px;
}
.admin-people-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
.admin-people-section h4{
    margin:0 0 10px;
    font-size:1rem;
}
.admin-person-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.admin-person-chip{
    background:#f8fafc;
    border:1px solid var(--line);
    border-radius:16px;
    padding:9px 11px;
    min-width:170px;
}
.admin-person-chip.wait{
    background:var(--orange-soft);
    border-color:#fed7aa;
}
.admin-person-name{
    font-weight:950;
}
.admin-person-sub{
    color:var(--muted);
    font-size:.85rem;
    margin-top:2px;
}
.admin-person-comment{
    margin-top:5px;
    font-size:.85rem;
    color:#475569;
}
.admin-empty{
    color:var(--muted);
    background:#f8fafc;
    border:1px dashed #cbd5e1;
    border-radius:16px;
    padding:12px;
}
@media(max-width:850px){
    .admin-shift-head{
        grid-template-columns:1fr;
    }
    .admin-shift-stats{
        align-items:flex-start;
        min-width:0;
    }
    .admin-people-grid{
        grid-template-columns:1fr;
    }
    .admin-person-chip{
        width:100%;
    }
}


/* V22 collapsed area preview */
.area-preview{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:8px;
}
.area-preview-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:999px;
    padding:6px 10px;
    font-size:.82rem;
    font-weight:900;
    background:#f8fafc;
    border:1px solid var(--line);
    color:#334155;
}
.area-preview-chip.ok{
    background:var(--green-soft);
    color:#166534;
    border-color:#bbf7d0;
}
.area-preview-chip.warn{
    background:var(--orange-soft);
    color:#9a3412;
    border-color:#fed7aa;
}
.area-preview-chip.bad{
    background:var(--red-soft);
    color:#be123c;
    border-color:#fecdd3;
}
.area-group:not(.open) .area-preview{
    display:flex;
}
.area-group.open .area-preview{
    display:none;
}
.shift-accordion{
    margin-bottom:12px;
}
.shift-accordion:last-child{
    margin-bottom:0;
}
.area-group.open .shift-accordion.open{
    box-shadow:var(--shadow);
}


/* V23 admin accordion cleanup */
.admin-shift-card{
    overflow:hidden;
}
.admin-shift-toggle{
    width:100%;
    background:#fff;
    color:var(--ink);
    box-shadow:none;
    border-radius:0;
    padding:0;
    text-align:left;
}
.admin-shift-toggle:hover{
    transform:none;
    box-shadow:none;
    background:#fff;
}
.admin-shift-card .admin-shift-body{
    display:none;
}
.admin-shift-card.open .admin-shift-body{
    display:block;
}
.admin-shift-chevron{
    font-size:1.4rem;
    color:var(--brand);
    transition:.18s ease;
}
.admin-shift-card.open .admin-shift-chevron{
    transform:rotate(180deg);
}
.admin-shift-stats{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-end;
    align-items:center;
}
.admin-shift-head{
    cursor:pointer;
}
@media(max-width:850px){
    .admin-shift-stats{
        justify-content:flex-start;
    }
}


/* V24 board view aligned with public view */
.board-tools{
    margin-top:18px;
}
.board-leader-box{
    margin-top:16px;
    background:linear-gradient(180deg,#fff,#fff7fa);
    border:1px solid #ffe0ea;
    border-radius:18px;
    padding:16px;
}
.board-helper-overview{
    margin-top:16px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.board-helper-overview h4{
    margin:0 0 8px;
}
@media(max-width:700px){
    .board-helper-overview{
        grid-template-columns:1fr;
    }
}


/* V25 QR codes */
.qr-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:18px;
    margin-top:18px;
}
.qr-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    padding:18px;
    box-shadow:var(--shadow-soft);
}
.qr-card h3{
    margin-bottom:10px;
}
.qr-box{
    display:grid;
    place-items:center;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:16px;
    margin:12px 0;
}
.qr-box img{
    width:220px;
    height:220px;
    image-rendering:pixelated;
}
.qr-print-page{
    background:#fff;
    color:#111;
    max-width:900px;
    margin:0 auto;
    padding:28px;
}
.qr-print-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
}
.qr-print-item{
    border:2px solid #111;
    padding:22px;
    text-align:center;
    break-inside:avoid;
}
.qr-print-item img{
    width:260px;
    height:260px;
}
@media(max-width:700px){
    .qr-print-grid{
        grid-template-columns:1fr;
    }
}
@media print{
    .qr-print-actions{
        display:none;
    }
    .qr-print-page{
        max-width:none;
        padding:0;
    }
}


/* V26 A4 poster */
.poster-page{
    background:#fff;
    color:#151720;
    width:210mm;
    min-height:297mm;
    margin:0 auto;
    padding:18mm;
    position:relative;
    overflow:hidden;
}
.poster-page:before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:64mm;
    background:
        radial-gradient(circle at 12% 18%, rgba(255,255,255,.24), transparent 42mm),
        linear-gradient(135deg,var(--brand) 0%,#c70845 48%,var(--wine) 100%);
    z-index:0;
}
.poster-content{
    position:relative;
    z-index:1;
}
.poster-top{
    display:flex;
    align-items:center;
    gap:14px;
    color:#fff;
    margin-bottom:18mm;
}
.poster-top .logo{
    background:#fff;
}
.poster-brand-main{
    font-weight:950;
    font-size:24px;
}
.poster-brand-sub{
    font-weight:800;
    font-size:12px;
    opacity:.92;
}
.poster-card{
    background:#fff;
    border-radius:26px;
    padding:14mm;
    box-shadow:0 18px 48px rgba(15,23,42,.16);
    margin-bottom:10mm;
}
.poster-kicker{
    display:inline-block;
    background:var(--brand-soft);
    color:var(--brand);
    padding:7px 12px;
    border-radius:999px;
    font-weight:950;
    font-size:13px;
    margin-bottom:8mm;
}
.poster-title{
    font-size:38px;
    line-height:1.02;
    font-weight:950;
    letter-spacing:-.04em;
    margin:0 0 6mm;
}
.poster-meta{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:8mm;
}
.poster-meta span{
    border:1px solid var(--line);
    border-radius:999px;
    padding:8px 12px;
    font-weight:900;
}
.poster-main{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:12mm;
    align-items:start;
}
.poster-list h2,
.poster-qr h2{
    font-size:22px;
    margin:0 0 5mm;
}
.poster-shift-list{
    display:grid;
    gap:4mm;
}
.poster-shift-item{
    border-left:5px solid var(--red);
    background:#fff7fa;
    padding:4mm;
    border-radius:14px;
}
.poster-shift-item.warn{
    border-left-color:var(--orange);
    background:#fff7e8;
}
.poster-shift-item.ok{
    border-left-color:var(--green);
    background:#eefbf2;
}
.poster-shift-title{
    font-weight:950;
}
.poster-shift-meta{
    font-size:13px;
    color:#475569;
    font-weight:800;
    margin-top:2px;
}
.poster-qr{
    text-align:center;
}
.poster-qr-box{
    border:2px solid #111;
    border-radius:18px;
    padding:8mm;
    display:inline-block;
    background:#fff;
}
.poster-qr-box img{
    width:58mm;
    height:58mm;
}
.poster-qr p{
    font-weight:850;
}
.poster-url{
    word-break:break-all;
    font-size:11px;
    color:#475569;
}
.poster-footer{
    position:relative;
    z-index:1;
    margin-top:8mm;
    text-align:center;
    color:#475569;
    font-weight:800;
}
.poster-actions{
    max-width:210mm;
    margin:0 auto 12px;
    padding:12px;
    display:flex;
    justify-content:flex-end;
    gap:10px;
}
@page{
    size:A4;
    margin:0;
}
@media print{
    body{
        background:#fff!important;
    }
    .poster-actions{
        display:none!important;
    }
    .poster-page{
        margin:0;
        box-shadow:none;
        width:210mm;
        min-height:297mm;
    }
}
@media(max-width:800px){
    .poster-page{
        width:auto;
        min-height:auto;
        padding:16px;
    }
    .poster-main{
        grid-template-columns:1fr;
    }
    .poster-title{
        font-size:30px;
    }
}


/* V32 missing shift leaders */
.leader-missing{
    background:#fff1f2!important;
    color:#be123c!important;
    border:1px solid #fecdd3!important;
}
.leader-ok{
    background:#ecfdf5!important;
    color:#166534!important;
    border:1px solid #bbf7d0!important;
}
.shift-accordion.leader-missing-card{
    box-shadow:0 0 0 3px rgba(225,29,72,.08), var(--shadow-soft);
}
.shift-accordion.leader-missing-card .shift-toggle{
    background:linear-gradient(90deg,rgba(225,29,72,.08),#fff 45%);
}
.hidden-by-leader-filter{
    display:none!important;
}
.leader-summary{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}


/* V33 Aufbau-/Abbauplan modernisiert */
.task-summary-list{
    display:grid;
    gap:12px;
}
.task-accordion{
    border-radius:22px;
    border:1px solid var(--line);
    background:#fff;
    overflow:hidden;
    box-shadow:var(--shadow-soft);
    border-left:7px solid var(--brand);
}
.task-accordion.status-ok{border-left-color:var(--green)}
.task-accordion.status-warn{border-left-color:var(--orange)}
.task-accordion.status-bad{border-left-color:var(--red)}
.task-toggle{
    width:100%;
    background:#fff;
    color:var(--ink);
    box-shadow:none;
    border-radius:0;
    padding:16px 18px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:center;
    text-align:left;
}
.task-toggle:hover{
    transform:none;
    box-shadow:none;
    background:#fff9fb;
}
.task-toggle-main{
    display:flex;
    flex-direction:column;
    gap:7px;
}
.task-title-line{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
    font-weight:950;
    font-size:1.06rem;
}
.task-time-line{
    color:var(--muted);
    font-weight:850;
}
.task-chevron{
    font-size:1.35rem;
    color:var(--brand);
    transition:.18s ease;
}
.task-accordion.open .task-chevron{
    transform:rotate(180deg);
}
.task-body{
    display:none;
    padding:0 18px 18px;
}
.task-accordion.open .task-body{
    display:block;
}
.task-body-inner{
    border-top:1px solid var(--line);
    padding-top:16px;
}
.task-leader-box{
    margin-top:16px;
    background:linear-gradient(180deg,#fff,#fff7fa);
    border:1px solid #ffe0ea;
    border-radius:18px;
    padding:16px;
}
.task-helper-grid{
    margin-top:16px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}
.task-helper-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.task-helper-chip{
    background:#f8fafc;
    border:1px solid var(--line);
    border-radius:16px;
    padding:9px 11px;
    min-width:170px;
}
.task-helper-name{
    font-weight:950;
}
.task-helper-sub{
    color:var(--muted);
    font-size:.85rem;
    margin-top:2px;
}
.task-leader-missing{
    background:#fff1f2!important;
    color:#be123c!important;
    border:1px solid #fecdd3!important;
}
.task-leader-ok{
    background:#ecfdf5!important;
    color:#166534!important;
    border:1px solid #bbf7d0!important;
}
.task-form-card{
    max-width:820px;
    margin-left:auto;
    margin-right:auto;
}
@media(max-width:700px){
    .task-toggle{
        grid-template-columns:1fr;
    }
    .task-helper-grid{
        grid-template-columns:1fr;
    }
    .task-helper-chip{
        width:100%;
    }
}


/* V35 final Schaukasten poster */
.poster-shift-list{
    grid-template-columns:1fr 1fr;
}
.poster-shift-item{
    min-height:18mm;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-left:0;
    border:2px solid #ffe0ea;
    background:#fff7fa;
}
.poster-shift-title{
    font-size:18px;
    line-height:1.15;
}
.poster-shift-meta{
    display:none;
}
.poster-list h2{
    text-align:center;
}
.poster-claim{
    font-size:18px;
    font-weight:900;
    text-align:center;
    color:var(--wine);
    margin-top:6mm;
}
@media print{
    .poster-shift-list{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:800px){
    .poster-shift-list{
        grid-template-columns:1fr;
    }
}


/* V36 Einsatzplan nach Bereichen */
.print-area-page{
    background:#fff;
    color:#111;
    max-width:1120px;
    margin:0 auto;
    padding:28px;
}
.print-area-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    border-bottom:3px solid #111;
    padding-bottom:16px;
    margin-bottom:22px;
}
.print-area-title{
    font-size:30px;
    font-weight:950;
    margin:26px 0 12px;
    padding:10px 14px;
    background:#f1f5f9;
    border-left:8px solid #111;
    break-after:avoid;
    page-break-after:avoid;
}
.print-area-block{
    break-inside:avoid;
    page-break-inside:avoid;
    margin-bottom:26px;
}
.print-shift-card{
    border:1px solid #bbb;
    border-radius:12px;
    margin-bottom:12px;
    overflow:hidden;
    break-inside:avoid;
    page-break-inside:avoid;
}
.print-shift-head{
    display:grid;
    grid-template-columns:170px 1fr 180px;
    gap:10px;
    background:#f8fafc;
    border-bottom:1px solid #bbb;
    padding:10px;
    font-weight:900;
}
.print-shift-body{
    padding:10px;
}
.print-person-line{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:8px;
}
.print-person-pill{
    border:1px solid #ccc;
    border-radius:999px;
    padding:6px 10px;
    font-weight:850;
}
.print-person-pill.empty{
    border-style:dashed;
    color:#b91c1c;
}
.print-leader{
    margin-top:8px;
    font-size:13px;
    font-weight:900;
}
.print-area-actions{
    position:sticky;
    top:0;
    background:#f6f7fb;
    padding:12px;
    margin:-28px -28px 20px;
    display:flex;
    gap:10px;
    justify-content:flex-end;
}
@media print{
    .print-area-actions{display:none}
    .print-area-page{padding:0;max-width:none}
    .print-area-title{page-break-before:auto}
    .print-area-block{page-break-after:always}
    .print-area-block:last-child{page-break-after:auto}
}
@media(max-width:760px){
    .print-shift-head{
        grid-template-columns:1fr;
    }
}


/* Rebuild V57 */
.log-list{display:grid;gap:12px}.log-item{display:grid;grid-template-columns:44px 1fr;gap:12px;border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff}.log-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:#f8fafc}.log-meta{color:var(--muted);font-weight:800;font-size:.86rem}.log-message{white-space:pre-wrap;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px}.event-admin-content{display:none;margin-top:16px}.event-admin-group.open .event-admin-content{display:block}.event-admin-toggle{width:100%;background:#fff;color:var(--ink);box-shadow:none;border-radius:0;padding:0;display:flex;justify-content:space-between;text-align:left}.admin-event-list{display:grid;gap:12px}.admin-event-card{border:1px solid var(--line);border-radius:20px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:#fff;box-shadow:var(--shadow-soft)}
@media(max-width:760px){.admin-event-card{grid-template-columns:1fr}.log-item{grid-template-columns:1fr}}

.weather-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:999px;
    padding:8px 12px;
    font-weight:900;
    font-size:.88rem;
    border:1px solid var(--line);
    background:#fff;
    box-shadow:var(--shadow-soft);
}
.weather-high{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important;}
.weather-medium{background:#fefce8!important;color:#854d0e!important;border-color:#fde68a!important;}
.weather-low{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;}
.weather-unknown{background:#f8fafc!important;color:#475569!important;}
@media(max-width:760px){
    .weather-pill{width:100%;justify-content:center;text-align:center;border-radius:18px;line-height:1.35;}
}


/* V59 Themen */
body.theme-default{}
body.theme-watering{--brand:#2f855a;--brand-2:#68a83b;--brand-soft:#ecfdf5;}
body.theme-winefest{--brand:#7f1d1d;--brand-2:#b45309;--brand-soft:#fff7ed;}
body.theme-carnival{--brand:#7e22ce;--brand-2:#db2777;--brand-soft:#faf5ff;}
body.theme-stmartin{--brand:#b45309;--brand-2:#dc2626;--brand-soft:#fff7ed;}
body.theme-senior{--brand:#7c3aed;--brand-2:#c084fc;--brand-soft:#f5f3ff;}
body.theme-nature{--brand:#166534;--brand-2:#65a30d;--brand-soft:#f0fdf4;}
body.theme-theater{--brand:#111827;--brand-2:#be123c;--brand-soft:#f8fafc;}
body.theme-watering .public-hero:after{content:"🌱";position:absolute;right:24px;bottom:10px;font-size:54px;opacity:.18}
body.theme-winefest .public-hero:after{content:"🍷";position:absolute;right:24px;bottom:10px;font-size:54px;opacity:.18}
body.theme-carnival .public-hero:after{content:"🎭";position:absolute;right:24px;bottom:10px;font-size:54px;opacity:.18}
body.theme-stmartin .public-hero:after{content:"🏮";position:absolute;right:24px;bottom:10px;font-size:54px;opacity:.18}
body.theme-senior .public-hero:after{content:"☕";position:absolute;right:24px;bottom:10px;font-size:54px;opacity:.18}
body.theme-nature .public-hero:after{content:"🌳";position:absolute;right:24px;bottom:10px;font-size:54px;opacity:.18}
body.theme-theater .public-hero:after{content:"🎟️";position:absolute;right:24px;bottom:10px;font-size:54px;opacity:.18}

/* V60 Event Widgets */
.event-widgets{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:10px;
    margin:14px 0 18px;
}
.event-widget{
    border:1px solid var(--line);
    border-radius:20px;
    padding:12px 14px;
    background:#fff;
    box-shadow:var(--shadow-soft);
    font-weight:950;
    text-align:center;
}
.event-widget-countdown{background:linear-gradient(180deg,#fff,#f8fafc);}
.event-widget-weather{background:linear-gradient(180deg,#fff,#eff6ff);}
.event-widget-mood{background:linear-gradient(180deg,#fff,#fff7ed);}
.event-widget-fun{background:linear-gradient(180deg,#fff,#fdf2f8);}
@media(max-width:760px){
    .event-widgets{grid-template-columns:1fr;gap:8px;margin:12px 0;}
    .event-widget{border-radius:18px;padding:12px;}
}

/* V61 Sichtbarkeit / Freund einladen */
.invite-friend-box{
    margin-top:14px;
    border:1px dashed var(--brand);
    background:var(--brand-soft);
    border-radius:18px;
    padding:14px;
}
.invite-friend-box .actions{
    margin-top:10px;
}
@media(max-width:760px){
    .invite-friend-box .actions{
        flex-direction:column;
        align-items:stretch;
    }
    .invite-friend-box .btn{
        width:100%;
        justify-content:center;
    }
}

/* V62 */
.login-slogan{
    display:inline-block;
    margin-bottom:12px;
    padding:10px 14px;
    border-radius:999px;
    background:var(--brand-soft);
    color:var(--brand);
    font-weight:900;
    font-size:.92rem;
}


/* V63 Admin-Startseite Layout-Fix */
.admin-event-group{
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:18px;
    margin:18px 0;
    box-shadow:var(--shadow);
    overflow:hidden;
}

.admin-event-group-toggle,
.admin-event-group-toggle:hover{
    width:100%;
    border:0;
    box-shadow:none;
    background:transparent;
    color:var(--ink);
    padding:0;
    border-radius:0;
    transform:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
    text-align:left;
    cursor:pointer;
}

.admin-event-group-title{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    font-weight:950;
    font-size:1.1rem;
}

.admin-event-group-title > span{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:6px 10px;
    background:var(--brand-soft);
    color:var(--brand);
    font-size:.82rem;
    font-weight:900;
}

.admin-event-group-chevron{
    width:34px;
    height:34px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:#f8fafc;
    color:var(--muted);
    transition:transform .2s ease;
}

.admin-event-group.open .admin-event-group-chevron{
    transform:rotate(180deg);
}

.admin-event-group-body{
    display:none;
    padding-top:18px;
}

.admin-event-group.open .admin-event-group-body{
    display:block;
}

.admin-empty{
    color:var(--muted);
    margin:0;
    padding:10px 2px;
}

.admin-events-grid{
    display:grid;
    gap:14px;
}

.admin-event-tile{
    border:1px solid var(--line);
    border-radius:22px;
    padding:16px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:16px;
    align-items:center;
    background:linear-gradient(180deg,#fff,#fbfdff);
    box-shadow:var(--shadow-soft);
}

.admin-event-title-row{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.admin-event-title-row h3{
    margin:0;
    font-size:1.05rem;
}

.admin-event-meta{
    margin:5px 0 10px;
    color:var(--muted);
    font-weight:700;
}

.admin-event-tags{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.admin-event-tags span,
.admin-event-status{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:5px 9px;
    background:#f8fafc;
    color:var(--muted);
    font-size:.78rem;
    font-weight:900;
}

.admin-event-status{
    background:#ecfdf5;
    color:#166534;
}

.admin-event-actions{
    display:flex;
    gap:8px;
    align-items:center;
}

.admin-event-actions .btn{
    white-space:nowrap;
}

@media(max-width:760px){
    .admin-event-group{
        border-radius:22px;
        padding:14px;
        margin:14px 0;
    }

    .admin-event-tile{
        grid-template-columns:1fr;
        border-radius:20px;
    }

    .admin-event-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .admin-event-actions .btn{
        width:100%;
        justify-content:center;
    }

    .admin-event-group-title{
        font-size:1rem;
    }
}


/* V65 Veranstaltungseinstellungen */
.settings-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:16px;
    align-items:start;
}

.settings-card{
    min-height:210px;
}

.check-row{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:12px 0;
    font-weight:850;
    line-height:1.35;
}

.sticky-save-bar{
    position:sticky;
    bottom:16px;
    margin-top:18px;
    padding:14px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(10px);
    border-radius:22px;
    box-shadow:var(--shadow);
    display:flex;
    gap:10px;
    justify-content:flex-end;
    z-index:10;
}

@media(max-width:760px){
    .sticky-save-bar{
        position:static;
        display:grid;
        grid-template-columns:1fr;
    }

    .sticky-save-bar .btn,
    .sticky-save-bar button{
        width:100%;
        justify-content:center;
    }
}


/* V66 Auf-/Abbau Admin */
.admin-task-list{
    display:grid;
    gap:16px;
}

.admin-task-card{
    border:1px solid var(--line);
    border-radius:24px;
    padding:16px;
    background:linear-gradient(180deg,#fff,#fbfdff);
    box-shadow:var(--shadow-soft);
}

.admin-task-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    margin-bottom:14px;
}

@media(max-width:760px){
    .admin-task-card{
        border-radius:20px;
        padding:14px;
    }
}


/* V69 Deeplink + dezente Share Buttons */
.deep-link-highlight{
    animation: laycrewDeepLinkPulse 1.2s ease-in-out 0s 2;
    outline:3px solid color-mix(in srgb, var(--brand) 35%, transparent);
    outline-offset:3px;
}

@keyframes laycrewDeepLinkPulse{
    0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand) 30%, transparent);}
    70%{box-shadow:0 0 0 12px color-mix(in srgb, var(--brand) 0%, transparent);}
    100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand) 0%, transparent);}
}

.share-chip,
.whatsapp-chip{
    background:#fff!important;
    color:var(--brand)!important;
    border:1px solid var(--line)!important;
    box-shadow:var(--shadow-soft)!important;
    padding:8px 12px!important;
    border-radius:999px!important;
    font-size:.88rem!important;
    font-weight:900!important;
}

.whatsapp-chip::before{
    content:"↗";
    display:inline-flex;
    margin-right:6px;
    font-weight:950;
}

@media(max-width:760px){
    .share-chip,
    .whatsapp-chip{
        width:auto!important;
        min-height:0!important;
        padding:7px 10px!important;
        font-size:.82rem!important;
        justify-content:center!important;
    }

    .actions .share-chip,
    .actions .whatsapp-chip{
        flex:0 0 auto!important;
    }
}


/* V70 Admin Core */
.public-footer{
    margin:28px auto 18px;
    max-width:980px;
    padding:16px;
    text-align:center;
    color:var(--muted);
    font-weight:800;
}

.public-footer a{
    color:var(--brand);
    text-decoration:none;
    font-weight:900;
}

.public-footer span{
    margin:0 10px;
}

.legal-content{
    white-space:normal;
    line-height:1.65;
}

.system-dashboard{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:12px;
    margin:18px 0;
}

.dashboard-card{
    border:1px solid var(--line);
    border-radius:22px;
    padding:16px;
    background:#fff;
    box-shadow:var(--shadow-soft);
    color:var(--ink);
    text-decoration:none;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.dashboard-card strong{
    font-size:1.02rem;
}

.dashboard-card span{
    color:var(--muted);
    font-weight:850;
    font-size:.9rem;
}

/* V72 Live Übersicht */
.live-grid{
    display:grid;
    gap:12px;
}
.live-card{
    border:1px solid var(--line);
    border-radius:20px;
    padding:14px;
    background:#fff;
    box-shadow:var(--shadow-soft);
}
.live-card.active{
    border-color:var(--brand);
    background:var(--brand-soft);
}
.live-helpers{
    margin-top:8px;
    font-weight:900;
}
.board-filter-card{
    margin:14px 0;
}

/* V75 Übersicht Auf-/Abbaupläne */
.overview-section-title{
    margin:28px 0 8px;
}
.overview-section-title h2{
    margin:0;
    font-size:1.35rem;
}

/* V77 Mobile Admin Navigation */
.admin-menu-toggle,
.admin-menu-backdrop{
    display:none;
}

@media(max-width:900px){
    .admin-menu-toggle{
        display:inline-flex;
        position:fixed;
        top:12px;
        left:12px;
        z-index:1200;
        align-items:center;
        gap:8px;
        border:1px solid var(--line);
        background:#fff;
        color:var(--brand);
        border-radius:999px;
        padding:10px 14px;
        box-shadow:var(--shadow);
        font-weight:950;
    }

    .admin-menu-backdrop{
        display:none;
        position:fixed;
        inset:0;
        background:rgba(15,23,42,.35);
        z-index:1000;
    }

    body.admin-menu-open .admin-menu-backdrop{
        display:block;
    }

    .app-shell{
        display:block;
    }

    .sidebar{
        position:fixed;
        top:0;
        left:0;
        bottom:0;
        width:min(86vw,340px);
        transform:translateX(-105%);
        transition:transform .22s ease;
        z-index:1100;
        overflow-y:auto;
        border-right:1px solid var(--line);
        box-shadow:var(--shadow);
    }

    body.admin-menu-open .sidebar{
        transform:translateX(0);
    }

    .main{
        padding-top:70px;
        width:100%;
    }

    .sidebar .nav{
        display:grid;
        gap:6px;
    }

    .sidebar .nav a{
        border-radius:16px;
        padding:12px 14px;
    }
}

/* V78 Clean Structure */
.settings-hub .dashboard-card{
    min-height:110px;
}


/* V79 Invite after signup + kleinere Share Chips */
.invite-after-signup{
    margin:14px 0 18px;
}

.share-chip,
.whatsapp-chip{
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    padding:6px 9px!important;
    border-radius:999px!important;
    font-size:.78rem!important;
    line-height:1.1!important;
    box-shadow:none!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:4px!important;
}

.whatsapp-chip::before{
    content:"↗";
    margin-right:3px!important;
}

.invite-friend-box .actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}

@media(max-width:760px){
    .share-chip,
    .whatsapp-chip{
        padding:6px 8px!important;
        font-size:.76rem!important;
        width:auto!important;
    }
    .invite-friend-box .actions{
        justify-content:flex-start;
    }
}

/* V81 Home Screen / PWA */
.home-screen-card{
    border:1px solid color-mix(in srgb, var(--brand) 30%, var(--line));
    background:linear-gradient(180deg,#fff,var(--brand-soft));
}

.copy-link-box{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    margin:12px 0;
}

.copy-link-box input{
    font-size:.88rem;
}

@media(max-width:760px){
    .copy-link-box{
        grid-template-columns:1fr;
    }
}


/* V85 final: WhatsApp-Teilen darf nie als großer grüner Balken erscheinen */
a.whatsapp,
.btn.whatsapp,
a[href*="wa.me"],
.whatsapp-chip,
.share-chip{
    display:inline-flex!important;
    width:auto!important;
    max-width:max-content!important;
    min-width:0!important;
    min-height:0!important;
    padding:5px 9px!important;
    margin:0!important;
    border-radius:999px!important;
    font-size:.76rem!important;
    line-height:1.1!important;
    font-weight:850!important;
    text-decoration:none!important;
    background:#fff!important;
    color:var(--brand)!important;
    border:1px solid var(--line)!important;
    box-shadow:none!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    flex:0 0 auto!important;
}

a.whatsapp::before,
.btn.whatsapp::before,
.whatsapp-chip::before{
    content:"↗";
    font-size:.72rem;
    margin-right:2px!important;
}

.open-filter-bar .actions,
.event-card .actions,
.invite-friend-box .actions{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px!important;
}

@media(max-width:760px){
    a.whatsapp,
    .btn.whatsapp,
    a[href*="wa.me"],
    .whatsapp-chip,
    .share-chip{
        padding:5px 8px!important;
        font-size:.74rem!important;
        width:auto!important;
        max-width:max-content!important;
    }
}


/* V86 Duplicate + shift deeplink */
.shift-time-direct-link{
    color:inherit;
    text-decoration:none;
    border-bottom:1px dotted currentColor;
    font-weight:900;
}
.shift-time-direct-link:hover{
    color:var(--brand);
}
.deep-link-highlight{
    animation: laycrewDeepLinkPulse 1.2s ease-in-out 0s 2;
    outline:3px solid color-mix(in srgb, var(--brand) 35%, transparent);
    outline-offset:3px;
}
@keyframes laycrewDeepLinkPulse{
    0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand) 30%, transparent);}
    70%{box-shadow:0 0 0 12px color-mix(in srgb, var(--brand) 0%, transparent);}
    100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand) 0%, transparent);}
}

/* V87 Print + Schichtleiter Status */
.leader-status{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:4px 8px;
    font-weight:950;
    font-size:.82rem;
}
.leader-open{
    background:#fee2e2;
    color:#b91c1c;
    border:1px solid #fecaca;
}
.leader-ok{
    background:#dcfce7;
    color:#166534;
    border:1px solid #bbf7d0;
}


/* V88 Dezente Theme-Grafiken */
body[class*="theme-"] .public-hero,
body[class*="theme-"] .event-card,
body[class*="theme-"] .card.event-card{
    position:relative;
    overflow:hidden;
}

body[class*="theme-"] .public-hero::after,
body[class*="theme-"] .event-card::after,
body[class*="theme-"] .card.event-card::after{
    content:"";
    position:absolute;
    right:-24px;
    top:-18px;
    width:190px;
    height:190px;
    opacity:.105;
    pointer-events:none;
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    transform:rotate(-8deg);
}

body.theme-watering .public-hero::after,
body.theme-watering .event-card::after,
body.theme-giesdienst .public-hero::after,
body.theme-giesdienst .event-card::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%230f766e' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M82 18C52 55 37 80 37 106c0 31 23 53 53 53s53-22 53-53c0-26-31-63-61-88z'/%3E%3Cpath d='M100 58c22-24 45-33 68-31-2 26-15 47-40 61'/%3E%3Cpath d='M77 116c8 12 21 18 36 16'/%3E%3C/g%3E%3C/svg%3E");
}

body.theme-winefest .public-hero::after,
body.theme-winefest .event-card::after,
body.theme-weinfest .public-hero::after,
body.theme-weinfest .event-card::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%237f1d1d' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M88 22c-16 18-26 40-26 61 0 24 13 40 31 40s31-16 31-40c0-21-10-43-26-61z'/%3E%3Cpath d='M93 123v29M70 153h46'/%3E%3Ccircle cx='40' cy='53' r='13'/%3E%3Ccircle cx='58' cy='75' r='13'/%3E%3Ccircle cx='30' cy='83' r='13'/%3E%3Cpath d='M48 40c11-13 23-20 38-22'/%3E%3C/g%3E%3C/svg%3E");
}

body.theme-carnival .public-hero::after,
body.theme-carnival .event-card::after,
body.theme-karneval .public-hero::after,
body.theme-karneval .event-card::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%237c3aed' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M45 128c25-12 25-48 12-81 37 9 63 31 78 66-32 3-59 10-90 15z'/%3E%3Ccircle cx='72' cy='78' r='5'/%3E%3Ccircle cx='96' cy='97' r='5'/%3E%3Cpath d='M28 32h.1M138 38h.1M151 78h.1M34 92h.1M116 20h.1'/%3E%3C/g%3E%3C/svg%3E");
}

body.theme-stmartin .public-hero::after,
body.theme-stmartin .event-card::after,
body.theme-st-martin .public-hero::after,
body.theme-st-martin .event-card::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23b45309' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M58 68h64l-9 74H67z'/%3E%3Cpath d='M70 68c0-21 40-21 40 0'/%3E%3Cpath d='M90 23v28M51 39l18 18M129 39l-18 18'/%3E%3Cpath d='M82 95c9 8 9 22 0 31M101 92c-8 12-6 24 4 34'/%3E%3C/g%3E%3C/svg%3E");
}

body.theme-nature .public-hero::after,
body.theme-nature .event-card::after,
body.theme-wald .public-hero::after,
body.theme-wald .event-card::after,
body.theme-waldwiese .public-hero::after,
body.theme-waldwiese .event-card::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23166534' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M89 151V48'/%3E%3Cpath d='M89 67C62 39 35 34 18 40c6 32 32 52 71 48'/%3E%3Cpath d='M91 96c32-28 59-32 75-25-8 33-33 52-75 47'/%3E%3Cpath d='M54 129c-12-5-22-4-32 4'/%3E%3C/g%3E%3C/svg%3E");
}

body.theme-theater .public-hero::after,
body.theme-theater .event-card::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23991b1b' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M31 31h118v118H31z'/%3E%3Cpath d='M31 31c22 24 22 94 0 118M149 31c-22 24-22 94 0 118'/%3E%3Cpath d='M70 94c7 8 33 8 40 0'/%3E%3Cpath d='M68 70h.1M112 70h.1'/%3E%3C/g%3E%3C/svg%3E");
}

body.theme-senior .public-hero::after,
body.theme-senior .event-card::after,
body.theme-seniorennachmittag .public-hero::after,
body.theme-seniorennachmittag .event-card::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%2378350f' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M46 82h74v18c0 24-17 43-38 43s-36-19-36-43z'/%3E%3Cpath d='M120 91h16c12 0 12 25-3 25h-13'/%3E%3Cpath d='M51 145h71'/%3E%3Cpath d='M66 37c-9 12 9 18 0 30M92 34c-9 12 9 18 0 30M118 37c-9 12 9 18 0 30'/%3E%3C/g%3E%3C/svg%3E");
}

/* kleine Akzentlinie, weiterhin sehr dezent */
body.theme-winefest .event-card,
body.theme-weinfest .event-card{border-top:4px solid rgba(127,29,29,.22)}
body.theme-watering .event-card,
body.theme-giesdienst .event-card{border-top:4px solid rgba(15,118,110,.22)}
body.theme-carnival .event-card,
body.theme-karneval .event-card{border-top:4px solid rgba(124,58,237,.20)}
body.theme-stmartin .event-card,
body.theme-st-martin .event-card{border-top:4px solid rgba(180,83,9,.22)}
body.theme-nature .event-card,
body.theme-wald .event-card,
body.theme-waldwiese .event-card{border-top:4px solid rgba(22,101,52,.22)}
body.theme-theater .event-card{border-top:4px solid rgba(153,27,27,.20)}
body.theme-senior .event-card,
body.theme-seniorennachmittag .event-card{border-top:4px solid rgba(120,53,15,.20)}

@media(max-width:760px){
    body[class*="theme-"] .public-hero::after,
    body[class*="theme-"] .event-card::after,
    body[class*="theme-"] .card.event-card::after{
        width:130px;
        height:130px;
        right:-34px;
        top:-20px;
        opacity:.085;
    }
}


/* V89 Aushang: dezente Bereichskarten statt gelber Kästen */
.poster-shift-list{
    display:grid;
    gap:3.5mm;
}

.poster-shift-item,
.poster-shift-item.warn,
.poster-shift-item.ok{
    border:1px solid #e5e7eb!important;
    border-left:4px solid var(--brand)!important;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)!important;
    padding:3.8mm 4.2mm!important;
    border-radius:16px!important;
    box-shadow:0 6px 18px rgba(15,23,42,.06)!important;
    position:relative;
    overflow:hidden;
}

.poster-shift-item::after{
    content:"";
    position:absolute;
    right:-10mm;
    top:-12mm;
    width:30mm;
    height:30mm;
    border-radius:999px;
    background:var(--brand-soft);
    opacity:.55;
}

.poster-shift-title{
    position:relative;
    z-index:1;
    font-weight:950;
    font-size:16px;
    color:#111827;
    display:flex;
    align-items:center;
    gap:7px;
}

.poster-shift-title::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:999px;
    background:var(--brand);
    flex:0 0 auto;
}

.poster-list h2{
    color:#111827;
}

@media print{
    .poster-shift-item,
    .poster-shift-item.warn,
    .poster-shift-item.ok{
        box-shadow:none!important;
        background:#fff!important;
    }

    .poster-shift-item::after{
        display:none;
    }
}

/* V91 Delete Event */
.btn.danger,
a.btn.danger,
button.danger{
    background:#fee2e2!important;
    color:#991b1b!important;
    border:1px solid #fecaca!important;
    box-shadow:none!important;
}
.btn.danger:hover,
a.btn.danger:hover,
button.danger:hover{
    background:#fecaca!important;
}

/* V92 Schicht hinzufügen/löschen */
.area-quick-add{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin:12px 0 18px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
}
.mini-chip{
    display:inline-flex;
    align-items:center;
    border:1px solid var(--line);
    background:#fff;
    border-radius:999px;
    padding:6px 10px;
    font-weight:900;
    font-size:.82rem;
    color:var(--brand);
    text-decoration:none;
}
.shift-admin-actions{
    padding:10px 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}


/* V93 Weinfest-Grafik: Trauben, Rebe und Weinglas */
body.theme-winefest .public-hero::after,
body.theme-winefest .event-card::after,
body.theme-weinfest .public-hero::after,
body.theme-weinfest .event-card::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%237f1d1d' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='55' cy='74' r='11'/%3E%3Ccircle cx='73' cy='88' r='11'/%3E%3Ccircle cx='38' cy='91' r='11'/%3E%3Ccircle cx='57' cy='108' r='11'/%3E%3Ccircle cx='75' cy='123' r='10'/%3E%3Cpath d='M58 58c18-22 42-31 75-29'/%3E%3Cpath d='M100 40c18-19 41-25 68-20-5 26-22 44-53 53'/%3E%3Cpath d='M133 67h51c0 36-25 54-25 54s-26-18-26-54z'/%3E%3Cpath d='M159 121v38M134 160h50'/%3E%3Cpath d='M137 88h44'/%3E%3C/g%3E%3C/svg%3E")!important;
}


/* V93 öffentliche Übersicht kompakter */
.open-filter-bar{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    flex-wrap:wrap!important;
    padding:8px 10px!important;
    margin:10px 0 12px!important;
    border-radius:18px!important;
}

.open-filter-bar .summary-pill{
    width:auto!important;
    min-width:0!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    font-size:.82rem!important;
    line-height:1.1!important;
    font-weight:900!important;
    flex:0 1 auto!important;
}

.open-filter-bar .actions{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    flex-wrap:nowrap!important;
    flex:0 0 auto!important;
}

#toggleOpenOnly{
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    font-size:.78rem!important;
    line-height:1.1!important;
    box-shadow:none!important;
    white-space:nowrap!important;
}

@media(max-width:760px){
    .open-filter-bar{
        display:grid!important;
        grid-template-columns:auto auto!important;
        justify-content:start!important;
        gap:6px!important;
        padding:7px 8px!important;
        margin:8px 0 10px!important;
    }

    .open-filter-bar .summary-pill{
        font-size:.75rem!important;
        padding:5px 8px!important;
        max-width:48vw!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    #toggleOpenOnly{
        font-size:.73rem!important;
        padding:5px 8px!important;
    }

    .day-tabs{
        gap:6px!important;
        margin:8px 0!important;
    }

    .day-tab{
        padding:7px 10px!important;
        font-size:.8rem!important;
        border-radius:999px!important;
    }

    .area-toggle,
    .shift-toggle,
    .task-toggle{
        padding:12px 13px!important;
    }

    .area-summary,
    .shift-time-line,
    .task-time-line{
        font-size:.78rem!important;
    }
}

/* V94 Vorstand: Helfer direkt eintragen */
.board-leader-box form.quick-form input::placeholder{
    color:#94a3b8;
}

/* V95 Vorstand sperren */
.inline-form{
    display:inline-flex;
    margin:0;
}
.inline-form button{
    white-space:nowrap;
}


/* V96 Aushang: schöne Mitmach-Bereiche statt Status-Kästchen */
.poster-shift-list,
.poster-area-cloud{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:3.2mm!important;
    align-items:flex-start!important;
}

.poster-area-pill{
    display:inline-flex;
    align-items:center;
    gap:2.2mm;
    border:1px solid #e5e7eb;
    background:
        linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    color:#111827;
    border-radius:999px;
    padding:3.2mm 4.2mm;
    font-weight:950;
    font-size:15px;
    box-shadow:0 6px 18px rgba(15,23,42,.055);
    max-width:100%;
}

.poster-area-icon{
    display:inline-grid;
    place-items:center;
    width:7mm;
    height:7mm;
    border-radius:999px;
    background:var(--brand-soft);
    color:var(--brand);
    font-size:12px;
    font-weight:950;
    flex:0 0 auto;
}

.poster-shift-item,
.poster-shift-item.warn,
.poster-shift-item.ok{
    border:0!important;
    border-left:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
    border-radius:0!important;
}

.poster-shift-item::after{
    display:none!important;
}

.poster-shift-title{
    display:inline-flex!important;
    align-items:center;
    gap:2.2mm;
    border:1px solid #e5e7eb;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    color:#111827;
    border-radius:999px;
    padding:3.2mm 4.2mm;
    font-weight:950;
    font-size:15px;
    box-shadow:0 6px 18px rgba(15,23,42,.055);
}

.poster-shift-title::before{
    content:"✦"!important;
    display:inline-grid!important;
    place-items:center!important;
    width:7mm!important;
    height:7mm!important;
    border-radius:999px!important;
    background:var(--brand-soft)!important;
    color:var(--brand)!important;
    font-size:12px!important;
    flex:0 0 auto!important;
}

.poster-list h2{
    margin-bottom:5mm!important;
}

@media print{
    .poster-area-pill,
    .poster-shift-title{
        box-shadow:none!important;
        background:#fff!important;
    }
}


/* V97 Aushang druckoptimiert */
.poster-page,
.poster-page *,
.poster-card,
.poster-card *,
.poster-area-pill,
.poster-area-icon,
.poster-qr-box{
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
}

@media print{
    @page{
        size:A4;
        margin:0;
    }

    html,
    body{
        width:210mm!important;
        height:297mm!important;
        margin:0!important;
        padding:0!important;
        background:#fff!important;
        overflow:hidden!important;
    }

    .poster-actions{
        display:none!important;
    }

    .poster-page{
        width:210mm!important;
        height:297mm!important;
        min-height:297mm!important;
        max-height:297mm!important;
        margin:0!important;
        padding:12mm!important;
        box-sizing:border-box!important;
        overflow:hidden!important;
        background:#fff!important;
        color:#111827!important;
        box-shadow:none!important;
        display:flex!important;
        flex-direction:column!important;
    }

    .poster-page:before{
        height:50mm!important;
        background:
            radial-gradient(circle at 12% 18%, rgba(255,255,255,.28), transparent 34mm),
            linear-gradient(135deg,var(--brand) 0%,#c70845 48%,var(--wine) 100%)!important;
    }

    .poster-content{
        display:flex!important;
        flex-direction:column!important;
        flex:1 1 auto!important;
        min-height:0!important;
    }

    .poster-top{
        margin-bottom:10mm!important;
        min-height:22mm!important;
    }

    .poster-brand-main{
        font-size:22px!important;
    }

    .poster-brand-sub{
        font-size:11px!important;
    }

    .poster-card{
        flex:1 1 auto!important;
        min-height:0!important;
        margin-bottom:6mm!important;
        padding:10mm!important;
        border-radius:20px!important;
        box-shadow:0 8px 24px rgba(15,23,42,.14)!important;
        display:flex!important;
        flex-direction:column!important;
    }

    .poster-kicker{
        margin-bottom:5mm!important;
        padding:6px 11px!important;
        font-size:12px!important;
    }

    .poster-title{
        font-size:32px!important;
        line-height:1.02!important;
        margin:0 0 4mm!important;
        letter-spacing:-.035em!important;
    }

    .poster-meta{
        margin-bottom:6mm!important;
        gap:6px!important;
    }

    .poster-meta span{
        padding:6px 10px!important;
        font-size:12px!important;
    }

    .poster-main{
        display:grid!important;
        grid-template-columns:1.15fr .85fr!important;
        gap:8mm!important;
        align-items:start!important;
        flex:1 1 auto!important;
        min-height:0!important;
    }

    .poster-list h2,
    .poster-qr h2{
        font-size:19px!important;
        margin:0 0 4mm!important;
    }

    .poster-area-cloud{
        gap:2.4mm!important;
        max-height:92mm!important;
        overflow:hidden!important;
    }

    .poster-area-pill{
        padding:2.5mm 3.4mm!important;
        font-size:13px!important;
        box-shadow:none!important;
        background:#fff!important;
        border:1px solid #d1d5db!important;
    }

    .poster-area-icon{
        width:6mm!important;
        height:6mm!important;
        font-size:10px!important;
        background:var(--brand-soft)!important;
        color:var(--brand)!important;
    }

    .poster-qr-box{
        padding:5mm!important;
        border:2px solid #111!important;
        border-radius:14px!important;
        background:#fff!important;
    }

    .poster-qr-box img{
        width:54mm!important;
        height:54mm!important;
        display:block!important;
    }

    .poster-qr p{
        margin:4mm 0 2mm!important;
        font-size:13px!important;
        font-weight:950!important;
    }

    .poster-url{
        font-size:9px!important;
        line-height:1.25!important;
        max-width:64mm!important;
    }

    .poster-claim{
        font-size:20px!important;
        font-weight:950!important;
        text-align:center!important;
        margin:5mm 0 0!important;
        color:var(--brand)!important;
    }

    .poster-footer{
        margin-top:auto!important;
        padding-top:4mm!important;
        font-size:12px!important;
        color:#334155!important;
    }

    .small{
        font-size:10px!important;
    }
}

/* Bildschirm bleibt hübsch, Druck passt auf eine Seite */
@media screen{
    .poster-page{
        box-shadow:0 18px 60px rgba(15,23,42,.18);
    }
}


/* V98 Aufgabenstatus + mobile schlanke Buttons */
.task-status-filter{
    padding:14px!important;
}
.filter-chip-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}
.filter-chip,
.task-status-badge{
    display:inline-flex;
    align-items:center;
    width:auto!important;
    max-width:max-content!important;
    border-radius:999px;
    padding:6px 10px;
    font-size:.8rem;
    font-weight:950;
    text-decoration:none;
    border:1px solid var(--line);
    background:#fff;
    color:var(--ink);
}
.filter-chip.active{
    border-color:var(--brand);
    color:var(--brand);
    background:var(--brand-soft);
}
.task-status-open{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important}
.task-status-progress{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}
.task-status-done{background:#ecfdf5!important;color:#166534!important;border-color:#bbf7d0!important}
.task-status-problem,
.task-status-blocked{background:#fef2f2!important;color:#991b1b!important;border-color:#fecaca!important}

.admin-task-card.task-status-open{border-left:6px solid #f97316}
.admin-task-card.task-status-progress{border-left:6px solid #3b82f6}
.admin-task-card.task-status-done{border-left:6px solid #22c55e}
.admin-task-card.task-status-problem{border-left:6px solid #ef4444}

@media(max-width:760px){
    .btn,
    button,
    input[type="submit"],
    .actions .btn,
    .quick-form button{
        width:auto!important;
        max-width:max-content!important;
        min-width:0!important;
        min-height:0!important;
        padding:7px 10px!important;
        font-size:.8rem!important;
        line-height:1.1!important;
        border-radius:999px!important;
        flex:0 0 auto!important;
    }

    button.full,
    .full,
    form .full{
        width:100%!important;
        max-width:none!important;
    }

    .actions{
        gap:7px!important;
        flex-wrap:wrap!important;
        align-items:center!important;
    }

    .quick-form{
        gap:10px!important;
    }

    .filter-chip-row{
        gap:6px!important;
    }

    .filter-chip,
    .task-status-badge{
        padding:5px 8px!important;
        font-size:.74rem!important;
    }

    .admin-task-head{
        gap:8px!important;
    }
}


/* V99 UI Polish: runde Controls ohne eckige rote Schatten */
.day-tabs{
    gap:8px!important;
    align-items:center!important;
}

.day-tab,
.date-btn,
button.date-btn,
input[type="date"],
input[type="datetime-local"],
select,
input,
textarea{
    border-radius:18px!important;
}

.day-tab{
    border-radius:999px!important;
    box-shadow:none!important;
    background:#fff!important;
    border:1px solid var(--line)!important;
    color:var(--ink)!important;
    padding:8px 13px!important;
    font-weight:900!important;
    transition:box-shadow .18s ease, transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease!important;
}

.day-tab.active{
    background:var(--brand-soft)!important;
    color:var(--brand)!important;
    border-color:color-mix(in srgb, var(--brand) 28%, var(--line))!important;
    box-shadow:
        0 5px 14px rgba(229,0,79,.11),
        0 0 0 2px rgba(229,0,79,.045)!important;
}

.day-tab:hover{
    transform:translateY(-1px);
    box-shadow:
        0 6px 16px rgba(15,23,42,.08),
        0 0 0 2px rgba(229,0,79,.035)!important;
}

.day-tab::before,
.day-tab::after{
    border-radius:999px!important;
}

input[type="date"],
input[type="datetime-local"],
select,
input,
textarea{
    box-shadow:none!important;
    border:1px solid var(--line)!important;
    transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease!important;
}

input[type="date"]:focus,
input[type="datetime-local"]:focus,
select:focus,
input:focus,
textarea:focus{
    outline:none!important;
    border-color:color-mix(in srgb, var(--brand) 38%, var(--line))!important;
    box-shadow:
        0 0 0 3px rgba(229,0,79,.075),
        0 6px 16px rgba(15,23,42,.055)!important;
}

.btn,
button,
input[type="submit"],
.filter-chip,
.summary-pill,
.badge,
.task-status-badge,
.share-chip,
.whatsapp-chip,
.mini-chip{
    border-radius:999px!important;
}

.btn,
button,
input[type="submit"]{
    box-shadow:
        0 5px 14px rgba(15,23,42,.075)!important;
    transition:box-shadow .18s ease, transform .18s ease, background .18s ease!important;
}

.btn:hover,
button:hover,
input[type="submit"]:hover{
    transform:translateY(-1px);
    box-shadow:
        0 7px 18px rgba(15,23,42,.105)!important;
}

.btn.secondary,
button.secondary,
a.btn.secondary{
    box-shadow:none!important;
    border:1px solid var(--line)!important;
    background:#fff!important;
}

.btn.secondary:hover,
button.secondary:hover,
a.btn.secondary:hover{
    box-shadow:
        0 5px 14px rgba(15,23,42,.075)!important;
}

/* aktive/rote Glow-Flächen sollen nie rechteckig wirken */
.summary-pill.bad,
.leader-missing,
.task-leader-missing,
.badge.full,
.badge.wait{
    box-shadow:none!important;
}

/* Mobile: noch flacher, damit nichts klobig wirkt */
@media(max-width:760px){
    .day-tabs{
        gap:6px!important;
        overflow-x:auto!important;
        padding-bottom:2px!important;
    }

    .day-tab{
        padding:6px 10px!important;
        font-size:.78rem!important;
        box-shadow:none!important;
    }

    .day-tab.active{
        box-shadow:
            0 3px 10px rgba(229,0,79,.10),
            0 0 0 2px rgba(229,0,79,.04)!important;
    }

    input[type="date"],
    input[type="datetime-local"],
    select,
    input,
    textarea{
        border-radius:14px!important;
    }

    .btn,
    button,
    input[type="submit"]{
        box-shadow:none!important;
    }

    .btn:hover,
    button:hover,
    input[type="submit"]:hover{
        transform:none!important;
        box-shadow:none!important;
    }
}

/* V100 Gießdienst-Struktur */
.watering-admin-weeks{
    display:grid;
    gap:14px;
}
.watering-admin-week{
    border:1px solid var(--line);
    border-radius:22px;
    padding:14px;
    background:#fff;
}
.watering-admin-week h3{
    margin:0 0 10px;
}
.watering-admin-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:10px;
}
.watering-admin-slot{
    border:1px solid var(--line);
    border-radius:18px;
    padding:12px;
    display:flex;
    justify-content:space-between;
    gap:8px;
    align-items:center;
    background:#fff;
}
.watering-admin-slot.status-ok{
    border-color:#bbf7d0;
    background:#ecfdf5;
    color:#166534;
}
.watering-admin-slot.status-bad{
    border-color:#fecaca;
    background:#fef2f2;
    color:#991b1b;
}

/* V102 Gießdienst öffentlich/admin */
.watering-admin-slot{
    flex-direction:column;
    align-items:stretch!important;
}
.watering-admin-slot > div:first-child{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
}
.watering-admin-form{
    margin-top:10px;
    background:#fff;
    border-radius:16px;
    padding:10px;
}

/* V105 Narrenfahrplan */
.theme-karneval .event-card{
    border-top:4px solid rgba(124,58,237,.20);
}

/* V112 Helferaufruf WhatsApp */
.share-chip.whatsapp-chip{
    display:inline-flex;
    width:auto!important;
    max-width:max-content!important;
}

/* V113 Admin Help Tooltips */
.help-tip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    margin-left:6px;
    border-radius:999px;
    background:var(--brand-soft);
    color:var(--brand);
    font-size:.78rem;
    font-weight:950;
    line-height:1;
    cursor:help;
    position:relative;
    vertical-align:middle;
    border:1px solid color-mix(in srgb, var(--brand) 22%, var(--line));
    user-select:none;
}
.help-bubble{
    display:none;
    position:absolute;
    left:50%;
    bottom:calc(100% + 9px);
    transform:translateX(-50%);
    width:min(300px, 78vw);
    background:#111827;
    color:#fff;
    padding:10px 12px;
    border-radius:14px;
    font-size:.78rem;
    line-height:1.35;
    font-weight:750;
    text-align:left;
    z-index:9999;
    box-shadow:0 12px 30px rgba(15,23,42,.22);
}
.help-bubble::after{
    content:"";
    position:absolute;
    left:50%;
    top:100%;
    transform:translateX(-50%);
    border:7px solid transparent;
    border-top-color:#111827;
}
.help-tip:hover .help-bubble,
.help-tip:focus .help-bubble,
.help-tip:focus-within .help-bubble{
    display:block;
}
@media(max-width:760px){
    .help-tip{
        width:18px;
        height:18px;
        font-size:.7rem;
    }
    .help-bubble{
        left:auto;
        right:-8px;
        transform:none;
        width:min(280px, 82vw);
    }
    .help-bubble::after{
        left:auto;
        right:12px;
        transform:none;
    }
}

/* V114 admin repair */
.admin-logout-bottom{
    margin-top:auto;
    padding:14px;
}
.admin-logout-bottom a{
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    border-radius:999px;
    padding:9px 12px;
    background:#fff;
    color:#991b1b;
    text-decoration:none;
    font-weight:900;
}

/* V117 Admin-Menü sortierbar */
.admin-nav a.active,
nav a.active{
    background:var(--brand-soft);
    color:var(--brand);
    font-weight:950;
}
.admin-logout-bottom{
    margin-top:auto;
    padding:14px;
}
.admin-logout-bottom a{
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    border-radius:999px;
    padding:9px 12px;
    background:#fff;
    color:#991b1b;
    text-decoration:none;
    font-weight:900;
}

/* V118 Narrenfahrplan Teilnehmer direkt */
.carnival-inline-participants{
    margin-top:10px;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:center;
}
.carnival-inline-participants strong{
    margin-right:4px;
}

/* V119 Narrenfahrplan Zahlung nach QR bestätigen */
.payment-qr-box{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);background:#fff;border-radius:20px;padding:14px;margin:14px 0}
.payment-qr-box img{width:220px;max-width:100%;border-radius:16px;border:1px solid var(--line);background:#fff}
.payment-confirm-form{display:grid;gap:12px;margin-top:14px}
.modern-switch{display:flex;align-items:center;gap:12px;cursor:pointer;padding:12px;border:1px solid var(--line);border-radius:18px;background:#f8fafc}
.modern-switch input{position:absolute;opacity:0;pointer-events:none}
.modern-switch span{width:48px;height:28px;border-radius:999px;background:#cbd5e1;position:relative;transition:.2s ease;flex:0 0 auto}
.modern-switch span::after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.22);transition:.2s ease}
.modern-switch input:checked + span{background:var(--brand)}
.modern-switch input:checked + span::after{left:24px}

/* V120 Narrenfahrplan Zahlungsübersicht */
.payment-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.payment-summary-box{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px}
.payment-summary-box span{display:block;color:var(--muted);font-size:.82rem;font-weight:900;margin-bottom:5px}
.payment-summary-box strong{font-size:1.25rem}
.payment-summary-box.status-ok{border-color:#bbf7d0;background:#ecfdf5}
.payment-summary-box.status-warn{border-color:#fed7aa;background:#fff7ed}
.payment-summary-box.status-bad{border-color:#fecaca;background:#fef2f2}
.payment-mini-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.mini-chip.ok{background:#ecfdf5!important;color:#166534!important;border:1px solid #bbf7d0!important}
.mini-chip.warn{background:#fff7ed!important;color:#9a3412!important;border:1px solid #fed7aa!important}
.mini-chip.bad{background:#fef2f2!important;color:#991b1b!important;border:1px solid #fecaca!important}

/* V121 Narrenfahrplan Reihenfolge/Archiv */
.carnival-next{
    border-left:7px solid #16a34a!important;
    background:linear-gradient(90deg,#ecfdf5,#fff)!important;
}
.carnival-past{
    opacity:.62;
    filter:grayscale(.15);
    background:#f1f5f9!important;
}
.carnival-past .admin-event-tags span,
.carnival-past .task-time-line{
    color:#64748b!important;
}

/* V124 Admin List UI Fix */
.admin-task-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    min-width:0;
}
.admin-list-text{
    flex:1 1 auto;
    min-width:0;
    max-width:100%;
}
.admin-list-text > strong{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.admin-event-tags.compact-tags,
.compact-tags{
    display:flex;
    flex-wrap:nowrap;
    gap:6px;
    max-width:100%;
    overflow:hidden;
}
.admin-event-tags.compact-tags span,
.compact-tags span{
    min-width:0;
    max-width:260px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    flex:0 1 auto;
}
.admin-list-actions{
    flex:0 0 auto;
    display:flex;
    gap:6px;
    align-items:flex-start;
    justify-content:flex-end;
    flex-wrap:nowrap;
}
.admin-list-actions .btn,
.admin-list-actions button,
.admin-task-head .actions .btn,
.admin-task-head .actions button{
    padding:6px 10px!important;
    font-size:.78rem!important;
    border-radius:12px!important;
    line-height:1.15!important;
    min-height:auto!important;
    white-space:nowrap!important;
}
.admin-task-head form{
    margin:0!important;
}
.carnival-inline-participants{
    min-width:0;
}
@media(max-width:760px){
    .admin-task-head{
        align-items:stretch;
        gap:8px;
    }
    .admin-list-actions{
        flex-direction:column;
        gap:5px;
        min-width:88px;
    }
    .admin-list-actions .btn,
    .admin-list-actions button,
    .admin-task-head .actions .btn,
    .admin-task-head .actions button{
        width:100%;
        padding:6px 8px!important;
        font-size:.72rem!important;
    }
    .admin-event-tags.compact-tags{
        flex-wrap:wrap;
    }
    .admin-event-tags.compact-tags span{
        max-width:160px;
    }
}

/* V125 Pagination und Import-Hinweise */
.pagination-bar{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:14px;
}
.pagination-bar span{
    font-weight:900;
    color:var(--muted);
}
.notice code{
    background:rgba(255,255,255,.7);
    border:1px solid var(--line);
    border-radius:8px;
    padding:1px 5px;
    font-weight:900;
}

/* V126 Schichtkarten optisch ruhiger */
.shift-card,
.shift-row,
.slot-card,
.task-accordion,
.public-shift-card{
    border-radius:22px!important;
    border:1px solid rgba(148,163,184,.28)!important;
    background:linear-gradient(180deg,#ffffff,#fffafa)!important;
    box-shadow:0 10px 26px rgba(15,23,42,.055)!important;
    overflow:hidden!important;
}

.task-toggle,
.shift-toggle,
.slot-toggle{
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

.task-accordion .task-toggle{
    width:100%;
    padding:14px 16px!important;
    border:0!important;
    text-align:left;
}

.task-accordion.open,
.shift-card.open,
.slot-card.open{
    border-color:color-mix(in srgb, var(--brand) 24%, var(--line))!important;
    box-shadow:0 12px 34px rgba(127,29,29,.10)!important;
}

.task-body,
.shift-body,
.slot-body{
    background:#fff!important;
    border-top:1px solid rgba(148,163,184,.18)!important;
}

.task-body-inner{
    padding:14px 16px 16px!important;
}

.task-title-line,
.shift-title-line{
    font-weight:950!important;
    color:#172033!important;
}

.task-time-line,
.shift-time-line{
    color:#64748b!important;
    font-weight:800!important;
}

.shift-list,
.slots-list,
.task-list{
    display:grid;
    gap:12px!important;
}

.badge,
.mini-chip{
    border-radius:999px!important;
}

/* Entfernt optisch diese halb-abgerundeten weißen Innenflächen */
.shift-card > *,
.slot-card > *,
.task-accordion > *{
    clip-path:none!important;
}

@media(max-width:760px){
    .task-accordion,
    .shift-card,
    .slot-card{
        border-radius:18px!important;
    }
    .task-accordion .task-toggle{
        padding:12px 13px!important;
    }
    .task-body-inner{
        padding:12px 13px 14px!important;
    }
}


/* V127 Mobile Compact UI */
@media(max-width:760px){

    .card,
    .portal-card,
    .task-accordion,
    .shift-card,
    .slot-card{
        padding:12px!important;
        border-radius:16px!important;
    }

    .task-body-inner{
        padding:10px!important;
    }

    .portal-grid,
    .task-list,
    .shift-list{
        gap:8px!important;
    }

    .btn,
    button{
        padding:6px 8px!important;
        font-size:.72rem!important;
    }

    .badge,
    .mini-chip{
        font-size:.68rem!important;
        padding:4px 6px!important;
    }

    .task-title-line,
    .shift-title-line{
        font-size:.9rem!important;
    }

    .task-time-line{
        font-size:.75rem!important;
    }

    .portal-headline{
        padding:18px!important;
    }

    .portal-side{
        padding:18px!important;
    }

    .portal-section{
        padding:10px 0!important;
    }

    .portal-footer{
        padding:18px 0!important;
        font-size:.75rem;
    }
}

/* V130 */
.notice code{background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:8px;padding:1px 5px;font-weight:900}

/* V134 Mail templates */
.card textarea{font-family:inherit;line-height:1.45}
.card code{background:rgba(0,0,0,.04);padding:2px 5px;border-radius:6px}


/* V136 FINAL Mobile Admin Fix */
.admin-mobile-bar,
.admin-menu-backdrop,
.admin-menu-close{
    display:none;
}

@media(max-width: 860px){
    body.admin-body{
        background:#f8fafc;
        padding-top:62px;
    }

    .admin-mobile-bar{
        position:fixed;
        top:0;
        left:0;
        right:0;
        height:62px;
        z-index:10020;
        display:flex;
        align-items:center;
        gap:12px;
        padding:10px 14px;
        background:rgba(255,255,255,.92);
        border-bottom:1px solid rgba(148,163,184,.25);
        backdrop-filter:blur(14px);
        box-shadow:0 8px 26px rgba(15,23,42,.06);
    }

    .admin-menu-toggle{
        width:42px!important;
        height:42px!important;
        min-height:42px!important;
        padding:0!important;
        border-radius:14px!important;
        display:grid!important;
        place-items:center!important;
        background:var(--brand)!important;
        color:#fff!important;
        font-size:1.35rem!important;
        line-height:1!important;
        border:0!important;
    }

    .admin-mobile-title{
        font-weight:950;
        font-size:1rem;
        color:#172033;
        letter-spacing:-.02em;
    }

    .admin-menu-backdrop{
        position:fixed;
        inset:0;
        z-index:10010;
        background:rgba(15,23,42,.38);
        backdrop-filter:blur(2px);
    }

    body.admin-menu-open .admin-menu-backdrop{
        display:block;
    }

    .admin-sidebar,
    aside.admin-sidebar,
    #adminSidebar{
        position:fixed!important;
        top:0!important;
        left:0!important;
        bottom:0!important;
        width:min(315px,86vw)!important;
        max-width:86vw!important;
        height:100vh!important;
        z-index:10030!important;
        transform:translateX(-105%)!important;
        transition:transform .22s ease!important;
        overflow-y:auto!important;
        background:#fff!important;
        border-right:1px solid rgba(148,163,184,.28)!important;
        box-shadow:0 22px 70px rgba(15,23,42,.26)!important;
        border-radius:0 26px 26px 0!important;
        padding-top:56px!important;
    }

    body.admin-menu-open .admin-sidebar,
    body.admin-menu-open aside.admin-sidebar,
    body.admin-menu-open #adminSidebar{
        transform:translateX(0)!important;
    }

    .admin-menu-close{
        display:grid!important;
        place-items:center!important;
        position:absolute!important;
        top:12px!important;
        right:12px!important;
        width:36px!important;
        height:36px!important;
        min-height:36px!important;
        padding:0!important;
        border-radius:12px!important;
        border:1px solid rgba(148,163,184,.28)!important;
        background:#fff!important;
        color:#172033!important;
        font-size:1.45rem!important;
        line-height:1!important;
    }

    .admin-sidebar nav,
    #adminSidebar nav{
        display:grid!important;
        gap:6px!important;
        padding:8px 12px 18px!important;
    }

    .admin-sidebar nav a,
    #adminSidebar nav a{
        display:flex!important;
        align-items:center!important;
        min-height:40px!important;
        padding:9px 12px!important;
        border-radius:14px!important;
        font-size:.92rem!important;
        font-weight:900!important;
        text-decoration:none!important;
    }

    .admin-main,
    main.admin-main,
    .admin-content,
    main{
        width:100%!important;
        max-width:100%!important;
        margin-left:0!important;
        padding:12px!important;
    }

    .topbar{
        display:block!important;
        margin-bottom:12px!important;
    }

    .topbar h1{
        font-size:1.35rem!important;
        line-height:1.15!important;
        margin-bottom:4px!important;
    }

    .topbar .actions{
        margin-top:10px!important;
        display:flex!important;
        flex-wrap:wrap!important;
        gap:6px!important;
    }

    .card{
        border-radius:18px!important;
        padding:14px!important;
        margin-bottom:12px!important;
    }

    .card h2{
        font-size:1.08rem!important;
        margin-bottom:8px!important;
    }

    table{
        display:block!important;
        width:100%!important;
        overflow-x:auto!important;
        -webkit-overflow-scrolling:touch!important;
        border-radius:14px!important;
    }

    th, td{
        white-space:nowrap!important;
        font-size:.78rem!important;
        padding:7px 8px!important;
    }

    input, select, textarea{
        font-size:16px!important;
    }

    .quick-form{
        grid-template-columns:1fr!important;
        gap:8px!important;
    }

    .actions .btn,
    .actions button,
    .btn,
    button{
        max-width:100%;
    }

    .admin-logout-bottom{
        padding:10px 12px 18px!important;
    }
}


/* V137 Mobile Admin Login-Style Drawer Fix */
@media(max-width: 860px){
    body.admin-body{
        background:#f6f7fb!important;
        padding-top:70px!important;
    }

    .admin-mobile-bar{
        height:70px!important;
        background:rgba(255,255,255,.96)!important;
        border-bottom:1px solid rgba(226,232,240,.9)!important;
        box-shadow:0 8px 30px rgba(15,23,42,.05)!important;
        padding-left:16px!important;
        overflow:hidden!important;
    }

    .admin-menu-toggle{
        width:42px!important;
        height:58px!important;
        border-radius:999px!important;
        background:linear-gradient(180deg,#e23561,#cf2b56)!important;
        color:#fff!important;
        box-shadow:0 8px 24px rgba(207,43,86,.28)!important;
        flex:0 0 auto!important;
        transform:none!important;
    }

    .admin-mobile-title{
        font-size:1.15rem!important;
        font-weight:950!important;
        color:#172033!important;
        white-space:nowrap!important;
        margin-left:4px!important;
    }

    #adminSidebar,
    aside.admin-sidebar,
    .admin-sidebar{
        background:#f7f8fc!important;
        width:min(340px,86vw)!important;
        max-width:86vw!important;
        border-radius:0 34px 34px 0!important;
        padding:0 16px 24px!important;
        transform:translateX(-105%)!important;
        color:#172033!important;
        overflow-y:auto!important;
        -webkit-overflow-scrolling:touch!important;
    }

    body.admin-menu-open #adminSidebar,
    body.admin-menu-open aside.admin-sidebar,
    body.admin-menu-open .admin-sidebar{
        transform:translateX(0)!important;
    }

    .admin-drawer-hero{
        display:flex!important;
        align-items:center!important;
        gap:14px!important;
        margin:0 -16px 18px!important;
        padding:58px 18px 28px!important;
        min-height:168px!important;
        background:
            radial-gradient(circle at 90% 20%,rgba(255,255,255,.18),transparent 33%),
            linear-gradient(135deg,#e23561,#8d3f54)!important;
        color:#fff!important;
        border-radius:0 0 32px 0!important;
        box-shadow:0 18px 46px rgba(207,43,86,.22)!important;
    }

    .admin-drawer-logo{
        width:64px!important;
        height:64px!important;
        border-radius:22px!important;
        background:#fff!important;
        display:grid!important;
        place-items:center!important;
        box-shadow:0 10px 28px rgba(15,23,42,.15)!important;
        flex:0 0 auto!important;
    }

    .admin-drawer-logo img{
        width:48px!important;
        height:48px!important;
        object-fit:contain!important;
    }

    .admin-drawer-hero strong{
        display:block!important;
        font-size:1.55rem!important;
        line-height:1.05!important;
        font-weight:950!important;
        color:#fff!important;
    }

    .admin-drawer-hero span{
        display:block!important;
        margin-top:4px!important;
        font-size:.86rem!important;
        line-height:1.2!important;
        color:rgba(255,255,255,.9)!important;
        font-weight:850!important;
    }

    .admin-menu-close{
        top:14px!important;
        right:14px!important;
        background:rgba(255,255,255,.92)!important;
        color:#172033!important;
        border:0!important;
        box-shadow:0 10px 28px rgba(15,23,42,.14)!important;
        z-index:2!important;
    }

    #adminSidebar nav,
    aside.admin-sidebar nav,
    .admin-sidebar nav{
        display:grid!important;
        gap:9px!important;
        padding:0 0 16px!important;
        margin:0!important;
    }

    #adminSidebar nav a,
    aside.admin-sidebar nav a,
    .admin-sidebar nav a{
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        min-height:48px!important;
        padding:12px 16px!important;
        border-radius:20px!important;
        background:#fff!important;
        color:#273244!important;
        text-decoration:none!important;
        font-size:1rem!important;
        font-weight:950!important;
        opacity:1!important;
        visibility:visible!important;
        box-shadow:0 10px 28px rgba(15,23,42,.05)!important;
        border:1px solid rgba(226,232,240,.82)!important;
        text-shadow:none!important;
    }

    #adminSidebar nav a.active,
    aside.admin-sidebar nav a.active,
    .admin-sidebar nav a.active{
        background:#fff!important;
        color:#d62f5b!important;
        border-color:rgba(214,47,91,.20)!important;
        box-shadow:0 12px 32px rgba(214,47,91,.12)!important;
    }

    #adminSidebar nav a:hover,
    aside.admin-sidebar nav a:hover,
    .admin-sidebar nav a:hover{
        color:#d62f5b!important;
        transform:translateY(-1px)!important;
    }

    .admin-menu-backdrop{
        background:rgba(15,23,42,.52)!important;
        backdrop-filter:blur(4px)!important;
    }

    .admin-logout-bottom{
        padding:6px 0 20px!important;
    }

    .admin-logout-bottom a{
        background:#fff!important;
        color:#991b1b!important;
        opacity:1!important;
        visibility:visible!important;
        border-radius:20px!important;
        font-weight:950!important;
        box-shadow:0 10px 28px rgba(15,23,42,.05)!important;
    }
}


/* V138 HARD FIX: Mobiles Admin-Menü wirklich sichtbar und stabil */
@media (max-width: 860px) {
  html, body.admin-body {
    overflow-x: hidden !important;
    background: #f6f7fb !important;
  }

  body.admin-body {
    padding-top: 76px !important;
  }

  .admin-mobile-bar {
    display: flex !important;
    position: fixed !important;
    z-index: 99990 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 76px !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    background: #ffffff !important;
    color: #172033 !important;
    border-bottom: 1px solid #e5e7eb !important;
    box-shadow: 0 8px 28px rgba(15,23,42,.06) !important;
  }

  .admin-menu-toggle {
    position: static !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    background: linear-gradient(180deg,#e33462,#cf2f59) !important;
    color: #fff !important;
    font-size: 1.7rem !important;
    line-height: 1 !important;
    box-shadow: 0 8px 22px rgba(207,47,89,.28) !important;
    transform: none !important;
  }

  .admin-mobile-title {
    display: block !important;
    color: #172033 !important;
    font-size: 1.22rem !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding-left: 2px !important;
  }

  .admin-menu-backdrop {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 99980 !important;
    background: rgba(15,23,42,.55) !important;
    backdrop-filter: blur(4px) !important;
  }

  body.admin-menu-open .admin-menu-backdrop {
    display: block !important;
  }

  body.admin-body #adminSidebar,
  body.admin-body aside.admin-sidebar,
  body.admin-body .admin-sidebar {
    display: block !important;
    position: fixed !important;
    z-index: 99995 !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(350px, 88vw) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    transform: translateX(-110%) !important;
    transition: transform .22s ease !important;
    background: #f7f8fc !important;
    color: #172033 !important;
    opacity: 1 !important;
    visibility: visible !important;
    border-radius: 0 32px 32px 0 !important;
    box-shadow: 0 28px 80px rgba(15,23,42,.30) !important;
    border: 0 !important;
    padding: 0 16px 24px 16px !important;
    margin: 0 !important;
  }

  body.admin-menu-open #adminSidebar,
  body.admin-menu-open aside.admin-sidebar,
  body.admin-menu-open .admin-sidebar {
    transform: translateX(0) !important;
  }

  body.admin-body #adminSidebar *,
  body.admin-body aside.admin-sidebar *,
  body.admin-body .admin-sidebar * {
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: none !important;
  }

  .admin-drawer-head {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 -16px 18px -16px !important;
    padding: 52px 18px 26px 18px !important;
    min-height: 150px !important;
    background:
      radial-gradient(circle at 90% 20%, rgba(255,255,255,.18), transparent 35%),
      linear-gradient(135deg,#e33462,#8d3f54) !important;
    color: #ffffff !important;
    border-radius: 0 0 30px 0 !important;
  }

  .admin-drawer-head img {
    width: 62px !important;
    height: 62px !important;
    object-fit: contain !important;
    border-radius: 22px !important;
    background: #fff !important;
    padding: 8px !important;
    flex: 0 0 auto !important;
    box-shadow: 0 10px 26px rgba(15,23,42,.14) !important;
  }

  .admin-drawer-head strong {
    display: block !important;
    color: #fff !important;
    font-weight: 950 !important;
    font-size: 1.45rem !important;
    line-height: 1.05 !important;
  }

  .admin-drawer-head span {
    display: block !important;
    color: rgba(255,255,255,.88) !important;
    font-weight: 850 !important;
    font-size: .9rem !important;
    margin-top: 4px !important;
  }

  .admin-menu-close {
    display: grid !important;
    place-items: center !important;
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 2 !important;
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.95) !important;
    color: #172033 !important;
    border: 0 !important;
    font-size: 1.5rem !important;
    line-height: 1 !important;
    box-shadow: 0 10px 26px rgba(15,23,42,.14) !important;
  }

  body.admin-body #adminSidebar nav,
  body.admin-body aside.admin-sidebar nav,
  body.admin-body .admin-sidebar nav {
    display: grid !important;
    gap: 9px !important;
    padding: 0 0 16px 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }

  body.admin-body #adminSidebar nav a,
  body.admin-body aside.admin-sidebar nav a,
  body.admin-body .admin-sidebar nav a {
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    width: 100% !important;
    padding: 12px 16px !important;
    margin: 0 !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    color: #263244 !important;
    text-decoration: none !important;
    font-size: 1rem !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
    border: 1px solid rgba(226,232,240,.95) !important;
    box-shadow: 0 10px 26px rgba(15,23,42,.05) !important;
  }

  body.admin-body #adminSidebar nav a.active,
  body.admin-body aside.admin-sidebar nav a.active,
  body.admin-body .admin-sidebar nav a.active {
    color: #d62f5b !important;
    border-color: rgba(214,47,91,.22) !important;
    background: #ffffff !important;
    box-shadow: 0 12px 30px rgba(214,47,91,.12) !important;
  }

  .admin-logout-bottom,
  #adminSidebar .admin-logout-bottom {
    display: block !important;
    padding: 4px 0 20px 0 !important;
    margin: 0 !important;
  }

  .admin-logout-bottom a,
  #adminSidebar .admin-logout-bottom a {
    display: flex !important;
    min-height: 48px !important;
    align-items: center !important;
    padding: 12px 16px !important;
    border-radius: 20px !important;
    background: #fff !important;
    color: #991b1b !important;
    text-decoration: none !important;
    font-weight: 950 !important;
    box-shadow: 0 10px 26px rgba(15,23,42,.05) !important;
  }

  .admin-main,
  main.admin-main,
  .admin-content,
  body.admin-body > main {
    margin-left: 0 !important;
    padding: 16px !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .topbar {
    margin-top: 0 !important;
  }
}

/* V139 drawer readability emergency */
@media(max-width:860px){
  body.admin-body #adminSidebar nav a,
  body.admin-body aside.admin-sidebar nav a,
  body.admin-body .admin-sidebar nav a{
    color:#273244!important;
    background:#fff!important;
    opacity:1!important;
    visibility:visible!important;
  }
}


/* V141 CLEAN ADMIN MOBILE DESIGN - Login-Stil, ohne weiß auf weiß */
@media (max-width: 860px) {
    html, body.admin-body {
        overflow-x: hidden !important;
        background: #f6f7fb !important;
    }

    body.admin-body {
        padding-top: 128px !important;
    }

    .v141-admin-top {
        display: flex !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 99990 !important;
        height: 128px !important;
        align-items: center !important;
        gap: 14px !important;
        padding: 44px 20px 22px 20px !important;
        background:
            radial-gradient(circle at 90% 20%, rgba(255,255,255,.16), transparent 34%),
            linear-gradient(135deg,#d73561,#8d3f54) !important;
        color: #fff !important;
        border-radius: 0 0 28px 28px !important;
        box-shadow: 0 18px 42px rgba(207,47,89,.22) !important;
    }

    .v141-menu-button {
        flex: 0 0 48px !important;
        width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 18px !important;
        background: rgba(255,255,255,.18) !important;
        color: #fff !important;
        display: grid !important;
        place-items: center !important;
        font-size: 1.7rem !important;
        line-height: 1 !important;
        box-shadow: none !important;
    }

    .v141-admin-brand {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        min-width: 0 !important;
        color: #fff !important;
    }

    .v141-admin-brand img {
        width: 54px !important;
        height: 54px !important;
        object-fit: contain !important;
        background: #fff !important;
        border-radius: 18px !important;
        padding: 7px !important;
        box-shadow: 0 10px 24px rgba(15,23,42,.14) !important;
    }

    .v141-admin-brand strong {
        display: block !important;
        color: #fff !important;
        font-weight: 950 !important;
        font-size: 1.35rem !important;
        line-height: 1.05 !important;
    }

    .v141-admin-brand span {
        display: block !important;
        color: rgba(255,255,255,.92) !important;
        font-weight: 850 !important;
        font-size: .84rem !important;
        line-height: 1.15 !important;
        margin-top: 3px !important;
    }

    .v141-menu-backdrop {
        display: none !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 99980 !important;
        background: rgba(15,23,42,.55) !important;
        backdrop-filter: blur(4px) !important;
    }

    body.v141-menu-open .v141-menu-backdrop {
        display: block !important;
    }

    body.admin-body aside.v141-admin-menu,
    body.admin-body #adminSidebar {
        display: block !important;
        position: fixed !important;
        z-index: 99995 !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: min(360px, 88vw) !important;
        max-width: 88vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        transform: translateX(-110%) !important;
        transition: transform .22s ease !important;
        background: #f6f7fb !important;
        color: #172033 !important;
        opacity: 1 !important;
        visibility: visible !important;
        border: 0 !important;
        border-radius: 0 34px 34px 0 !important;
        box-shadow: 0 28px 80px rgba(15,23,42,.30) !important;
        padding: 0 16px 24px 16px !important;
        margin: 0 !important;
    }

    body.v141-menu-open aside.v141-admin-menu,
    body.v141-menu-open #adminSidebar {
        transform: translateX(0) !important;
    }

    .v141-menu-head {
        display: flex !important;
        align-items: center !important;
        gap: 13px !important;
        margin: 0 -16px 18px -16px !important;
        padding: 54px 18px 28px 18px !important;
        min-height: 158px !important;
        background:
            radial-gradient(circle at 90% 20%, rgba(255,255,255,.16), transparent 35%),
            linear-gradient(135deg,#d73561,#8d3f54) !important;
        color: #ffffff !important;
        border-radius: 0 0 30px 0 !important;
    }

    .v141-menu-head img {
        width: 62px !important;
        height: 62px !important;
        object-fit: contain !important;
        border-radius: 22px !important;
        background: #fff !important;
        padding: 8px !important;
        flex: 0 0 auto !important;
        box-shadow: 0 10px 26px rgba(15,23,42,.14) !important;
    }

    .v141-menu-head strong {
        display: block !important;
        color: #fff !important;
        font-weight: 950 !important;
        font-size: 1.48rem !important;
        line-height: 1.05 !important;
    }

    .v141-menu-head span {
        display: block !important;
        color: rgba(255,255,255,.9) !important;
        font-weight: 850 !important;
        font-size: .9rem !important;
        margin-top: 4px !important;
    }

    .v141-menu-close {
        display: grid !important;
        place-items: center !important;
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        z-index: 2 !important;
        width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 14px !important;
        background: rgba(255,255,255,.95) !important;
        color: #172033 !important;
        border: 0 !important;
        font-size: 1.5rem !important;
        line-height: 1 !important;
        box-shadow: 0 10px 26px rgba(15,23,42,.14) !important;
    }

    body.admin-body aside.v141-admin-menu *,
    body.admin-body #adminSidebar * {
        opacity: 1 !important;
        visibility: visible !important;
        text-shadow: none !important;
    }

    body.admin-body aside.v141-admin-menu nav,
    body.admin-body #adminSidebar nav {
        display: grid !important;
        gap: 9px !important;
        padding: 0 0 16px 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }

    body.admin-body aside.v141-admin-menu nav a,
    body.admin-body #adminSidebar nav a {
        display: flex !important;
        align-items: center !important;
        min-height: 48px !important;
        width: 100% !important;
        padding: 12px 16px !important;
        margin: 0 !important;
        border-radius: 20px !important;
        background: #ffffff !important;
        color: #263244 !important;
        text-decoration: none !important;
        font-size: 1rem !important;
        line-height: 1.15 !important;
        font-weight: 950 !important;
        border: 1px solid rgba(226,232,240,.95) !important;
        box-shadow: 0 10px 26px rgba(15,23,42,.05) !important;
    }

    body.admin-body aside.v141-admin-menu nav a.active,
    body.admin-body #adminSidebar nav a.active {
        color: #d62f5b !important;
        border-color: rgba(214,47,91,.22) !important;
        background: #ffffff !important;
        box-shadow: 0 12px 30px rgba(214,47,91,.12) !important;
    }

    body.admin-body aside.v141-admin-menu .admin-logout-bottom a,
    body.admin-body #adminSidebar .admin-logout-bottom a {
        display: flex !important;
        min-height: 48px !important;
        align-items: center !important;
        padding: 12px 16px !important;
        border-radius: 20px !important;
        background: #fff !important;
        color: #991b1b !important;
        text-decoration: none !important;
        font-weight: 950 !important;
        box-shadow: 0 10px 26px rgba(15,23,42,.05) !important;
    }

    .admin-main,
    main.admin-main,
    .admin-content,
    body.admin-body > main {
        margin-left: 0 !important;
        padding: 18px 16px !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .topbar {
        margin-top: 0 !important;
    }
}

/* V143 duplicate button cleanup */
@media(max-width:860px){
  .admin-mobile-bar,
  .admin-menu-backdrop,
  .admin-menu-toggle{
    display:none!important;
  }
  .v141-admin-top{
    display:flex!important;
  }
  .v141-menu-button{
    display:grid!important;
  }
}

/* V145 mobile menu duplicate cleanup */
@media(max-width:860px){
  .admin-mobile-bar,
  .admin-menu-backdrop,
  .admin-menu-toggle{
    display:none!important;
  }

  aside.v141-admin-menu > .brand,
  aside.v141-admin-menu > .logo,
  aside.v141-admin-menu > .sidebar-brand,
  aside.v141-admin-menu > .admin-brand,
  #adminSidebar > .brand,
  #adminSidebar > .logo,
  #adminSidebar > .sidebar-brand,
  #adminSidebar > .admin-brand {
    display:none!important;
  }

  body.admin-body #adminSidebar nav a,
  body.admin-body aside.v141-admin-menu nav a,
  body.admin-body .v141-admin-menu nav a {
    color:#263244!important;
    background:#fff!important;
    opacity:1!important;
    visibility:visible!important;
  }
}

/* V146 admin ui cleanup */
.dashboard-card.backup-card,
.dashboard-card.log-card,
.dashboard-card.stats-card,
.card:has(> h2:first-child:is(:where(*))) {}

/* explizite Text-Hide per JS-lose CSS geht nicht zuverlässig; Dashboard-Datei wurde bereinigt. */

.collapsible-card{
  padding:0!important;
  overflow:hidden;
}
.collapsible-card > summary{
  cursor:pointer;
  list-style:none;
  padding:18px 22px;
  font-size:1.15rem;
  font-weight:950;
  color:#111827;
}
.collapsible-card > summary::-webkit-details-marker{display:none}
.collapsible-card > summary::after{
  content:"＋";
  float:right;
  color:#d62f5b;
}
.collapsible-card[open] > summary::after{content:"–"}
.collapsible-card > form,
.collapsible-card > .card,
.collapsible-card > div:not(summary){
  margin:0 18px 18px;
}

@media(max-width:860px){
  .collapsible-card > summary{
    padding:14px 16px;
    font-size:1rem;
  }
  .collapsible-card > form,
  .collapsible-card > .card,
  .collapsible-card > div:not(summary){
    margin:0 12px 12px;
  }
  /* Vorstand: Tabellen auf Handy lesbarer */
  table input{
    min-width:82px!important;
    max-width:160px!important;
  }
  table button,
  table .btn{
    padding:7px 10px!important;
    font-size:.78rem!important;
    border-radius:12px!important;
    margin:2px!important;
  }
  td:last-child{
    min-width:110px!important;
  }
}

/* V147 Vorstand: Formulare und Liste mobil sauber */
.board-add-card > summary{
    cursor:pointer;
    list-style:none;
}
.board-add-card > summary::-webkit-details-marker{
    display:none;
}
.board-add-form{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr)) auto;
    gap:14px;
    align-items:end;
    padding:0 22px 22px;
}
.board-table-wrap{
    overflow-x:auto;
}
.board-mobile-list{
    display:none;
}
.switch-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:900;
    color:#475569;
}
.switch-label input{
    width:auto!important;
    min-width:auto!important;
}
.action-cell button{
    margin:2px;
}
.danger.soft{
    background:#fee2e2!important;
    color:#991b1b!important;
    border:1px solid #fecaca!important;
}

@media(max-width:860px){
    .board-add-form{
        grid-template-columns:1fr;
        gap:10px;
        padding:0 14px 14px;
    }

    .board-table-wrap{
        display:none!important;
    }

    .board-mobile-list{
        display:grid!important;
        gap:12px;
    }

    .board-member-card{
        display:block;
        background:#fff;
        border:1px solid rgba(226,232,240,.95);
        border-radius:22px;
        padding:14px;
        box-shadow:0 10px 28px rgba(15,23,42,.05);
    }

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

    .board-member-head strong{
        font-size:1.05rem;
        color:#111827;
        line-height:1.15;
    }

    .board-member-card label{
        display:block;
        margin:10px 0 5px;
        font-size:.82rem;
        font-weight:950;
        color:#475569;
    }

    .board-member-card input{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
    }

    .switch-label.compact{
        flex:0 0 auto;
        background:#eff6ff;
        color:#1d4ed8;
        border-radius:999px;
        padding:6px 9px;
        font-size:.78rem;
    }

    .board-card-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
        margin-top:12px;
    }

    .board-card-actions button{
        width:100%;
        margin:0!important;
    }

    .board-list-card{
        padding:14px!important;
    }

    .board-list-card h2{
        margin-bottom:12px!important;
    }
}

/* V148 dashboard cleanup: Backup/Protokoll/Statistik auf Admin-Übersicht entfernt */
.admin-dashboard .backup-card,
.admin-dashboard .log-card,
.admin-dashboard .stats-card,
.dashboard .backup-card,
.dashboard .log-card,
.dashboard .stats-card{
    display:none!important;
}

/* V149 senior fields */
.senior-extra-fields{font-size:.85rem;color:#64748b;margin-top:8px}

/* V150 Gratulationen */
.grat-tabs{display:flex;gap:8px;flex-wrap:wrap}
.grat-tabs a{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;text-decoration:none;font-weight:900;color:#334155}
.grat-tabs a.active{color:#d62f5b;border-color:rgba(214,47,91,.25);box-shadow:0 8px 20px rgba(214,47,91,.10)}
.grat-grid,.grat-sponsor-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.grat-card,.grat-sponsor-card{background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.grat-card strong{display:block;font-size:1.1rem}
.grat-card span{display:block;color:#64748b;font-weight:850;margin:3px 0 10px}
.grat-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.grat-sponsor-card label{font-weight:900;color:#475569;margin-top:8px;display:block}
@media(max-width:860px){.grat-tabs{display:grid;grid-template-columns:1fr 1fr}.grat-grid,.grat-sponsor-list{grid-template-columns:1fr}.grat-actions button{flex:1}}

/* V151 Gratulationen Vorschau + persönlich */
.grat-personal{
  margin-top:10px;
  padding:10px 12px;
  border-radius:16px;
  background:#fff7ed;
  color:#9a3412;
  font-weight:950;
}
.grat-next-list{display:grid;gap:10px}
.grat-next-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
}
.grat-next-date{
  min-width:64px;
  text-align:center;
  border-radius:14px;
  background:#f8fafc;
  padding:8px;
}
.grat-next-date strong{display:block;color:#d62f5b}
.grat-next-date span{display:block;color:#64748b;font-size:.78rem;font-weight:850}
.grat-next-main strong{display:block}
.grat-next-main span{display:block;color:#64748b;font-weight:850;margin-top:2px}
@media(max-width:860px){
  .grat-next-row{align-items:flex-start}
}

/* V152 HTML-Mail Hinweise */
.mail-design-hint{
  padding:10px 12px;
  border-radius:14px;
  background:#fff1f4;
  color:#9f1239;
  font-weight:900;
}

/* V153 Mitglieder/Gratulationen */
.grat-personal{margin-top:10px;padding:10px 12px;border-radius:16px;background:#f8fafc;color:#475569;font-weight:950}

/* V154 unsubscribe */
.login-card a{color:#d62f5b;font-weight:900}

/* V155 Mitglieder-Mailing */
.mailing-stats .stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.mailing-stats .stat-grid div{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:14px;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.mailing-stats strong{display:block;font-size:1.55rem;color:#d62f5b}
.mailing-stats span{display:block;color:#64748b;font-weight:850}
.sender-row{display:flex;align-items:center;gap:8px}
.sender-row input{max-width:220px}
.sender-row span{font-weight:950;color:#475569}
.editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.editor-toolbar button{padding:8px 10px;border-radius:12px;background:#fff;color:#334155;border:1px solid #e2e8f0;box-shadow:none}
.mail-editor{min-height:220px;border:1px solid #cbd5e1;border-radius:18px;padding:16px;background:#fff;line-height:1.6}
.mail-editor:focus{outline:2px solid rgba(214,47,91,.25);border-color:#d62f5b}
@media(max-width:860px){.sender-row{align-items:stretch}.sender-row input{max-width:none;flex:1}.editor-toolbar button{font-size:.82rem;padding:7px 8px}}

/* V156 Mitgliederseite Fix */
.member-stats .stat-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
    gap:12px;
}
.member-stats .stat-grid div{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:18px;
    padding:14px;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.member-stats strong{
    display:block;
    font-size:1.45rem;
    color:#d62f5b;
}
.member-stats span{
    display:block;
    color:#64748b;
    font-weight:850;
}
.members-table-wrap{overflow-x:auto}
.members-table strong{color:#172033}
.muted{color:#64748b;font-size:.86rem}
.pill{
    display:inline-block;
    padding:4px 8px;
    border-radius:999px;
    font-size:.75rem;
    font-weight:900;
    margin:2px;
}
.pill.ok{background:#dcfce7;color:#166534}
.pill.off{background:#fee2e2;color:#991b1b}
.row-edit summary{
    cursor:pointer;
    font-weight:900;
    color:#d62f5b;
}
.member-edit-form{
    display:grid;
    gap:7px;
    min-width:240px;
    padding:10px;
}
.member-edit-form label{
    font-size:.78rem;
    font-weight:900;
    color:#475569;
}
.member-edit-form input{
    min-width:0!important;
}
.import-help{padding:0 18px 8px}
@media(max-width:860px){
    .members-table th,
    .members-table td{
        white-space:normal!important;
        vertical-align:top;
    }
    .members-table{
        min-width:760px;
    }
    .member-list-card{padding:14px!important}
    .member-edit-form{
        min-width:260px;
    }
}

/* V157 Seniorenadresse */
.senior-address{font-weight:850;color:#334155}

/* V160 Mitglieder-Symbole */
.member-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:16px;background:#f1f5f9;margin-right:7px;vertical-align:middle;font-size:22px}
.member-avatar.honor{background:#fff7ed;box-shadow:0 0 0 2px rgba(245,158,11,.18)}
.member-avatar .person{line-height:1}
.member-avatar .crown{position:absolute;top:-13px;right:-5px;color:#f59e0b;font-size:18px;transform:rotate(18deg);text-shadow:0 1px 0 #fff,0 2px 4px rgba(0,0,0,.18)}
.pill.honor{background:#fef3c7;color:#92400e}
.member-search-form{display:grid;grid-template-columns:minmax(220px,1.2fr) 150px 130px 150px 150px 90px;gap:12px;align-items:end}
.pagination{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
@media(max-width:860px){.member-search-form{grid-template-columns:1fr!important}}

/* V161 Mitglieder-Statistik */
.member-stat-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:12px;
}
.member-stat-grid div{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:18px;
    padding:14px;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.member-stat-grid strong{
    display:block;
    font-size:1.55rem;
    color:#d62f5b;
}
.member-stat-grid span{
    display:block;
    color:#64748b;
    font-weight:850;
}
.stats-two-col{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.fee-form{
    display:flex;
    gap:10px;
    align-items:end;
    flex-wrap:wrap;
    margin-bottom:14px;
}
.fee-form input{
    max-width:160px;
}
.poster-preview{
    max-width:520px;
    margin:auto;
    text-align:center;
    padding:30px;
    border-radius:28px;
    background:linear-gradient(135deg,#d62f5b,#8d3f54);
    color:#fff;
    box-shadow:0 18px 50px rgba(214,47,91,.18);
}
.poster-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:20px;
}
.poster-brand img{
    width:70px;
    height:70px;
    background:#fff;
    border-radius:22px;
    padding:8px;
}
.poster-preview h3{
    font-size:3rem;
    line-height:1;
    margin:12px 0;
    color:#fff;
}
.poster-preview p{
    font-size:1.2rem;
    line-height:1.4;
}
.poster-url{
    margin:24px auto;
    padding:14px 18px;
    border-radius:999px;
    background:#fff;
    color:#d62f5b;
    font-weight:950;
    font-size:1.35rem;
    display:inline-block;
}
.poster-preview button{
    background:#fff!important;
    color:#8d3f54!important;
}
@media(max-width:860px){
    .stats-two-col{grid-template-columns:1fr}
    .poster-preview h3{font-size:2.2rem}
}
@media print{
    body *{visibility:hidden!important}
    .poster-card,.poster-card *{visibility:visible!important}
    .poster-card{position:absolute;inset:0;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
    .poster-card > h2,.poster-card > p{display:none!important}
    .poster-preview{width:190mm;max-width:none;min-height:260mm;display:flex;flex-direction:column;justify-content:center;box-shadow:none!important;border-radius:0!important}
    .poster-preview button{display:none!important}
}

/* V162 QR-Codes Mitgliederplakat */
.poster-qr-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin:18px auto 24px;
    max-width:430px;
}
.poster-qr-box{
    background:#fff;
    color:#172033;
    border-radius:22px;
    padding:14px 12px 12px;
    box-shadow:0 10px 28px rgba(15,23,42,.16);
}
.poster-qr-box img{
    width:138px;
    height:138px;
    display:block;
    margin:0 auto 10px;
    border-radius:12px;
}
.poster-qr-box strong{
    display:block;
    font-size:.98rem;
    color:#8d3f54;
    font-weight:950;
}
.poster-qr-box span{
    display:block;
    font-size:.82rem;
    color:#64748b;
    font-weight:850;
    margin-top:2px;
}
@media(max-width:860px){
    .poster-qr-grid{
        grid-template-columns:1fr;
        max-width:240px;
    }
}
@media print{
    .poster-qr-grid{
        grid-template-columns:1fr 1fr!important;
        max-width:150mm!important;
        gap:12mm!important;
    }
    .poster-qr-box{
        box-shadow:none!important;
        break-inside:avoid;
    }
    .poster-qr-box img{
        width:42mm!important;
        height:42mm!important;
    }
}

/* Aktiv Poster */
.poster-preview.aktiv{
    background:linear-gradient(135deg,#16a34a,#065f46);
}

/* V165 Smart Mailing */
.smart-filter-form{
    display:grid;
    grid-template-columns:minmax(220px,1fr) 150px 140px 160px auto;
    gap:12px;
    align-items:end;
}
.mailing-stats .stat-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:12px;
}
.mailing-stats .stat-grid div{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:18px;
    padding:14px;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.mailing-stats strong{
    display:block;
    font-size:1.55rem;
    color:#d62f5b;
}
.mailing-stats span{
    display:block;
    color:#64748b;
    font-weight:850;
}
.sender-row{
    display:flex;
    align-items:center;
    gap:8px;
}
.sender-row input{
    max-width:220px;
}
.sender-row span{
    font-weight:950;
    color:#475569;
}
.editor-toolbar{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin:8px 0;
}
.editor-toolbar button{
    padding:8px 10px;
    border-radius:12px;
    background:#fff;
    color:#334155;
    border:1px solid #e2e8f0;
    box-shadow:none;
}
.mail-editor{
    min-height:220px;
    border:1px solid #cbd5e1;
    border-radius:18px;
    padding:16px;
    background:#fff;
    line-height:1.6;
}
.mail-editor:focus{
    outline:2px solid rgba(214,47,91,.25);
    border-color:#d62f5b;
}
@media(max-width:860px){
    .smart-filter-form{grid-template-columns:1fr}
    .sender-row{align-items:stretch}
    .sender-row input{max-width:none;flex:1}
    .editor-toolbar button{font-size:.82rem;padding:7px 8px}
}

/* V166 Geo / Finance */
.geo-stat-grid,.finance-stat-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:12px;
}
.geo-stat-grid div,.finance-stat-grid div{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:18px;
    padding:14px;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.geo-stat-grid strong,.finance-stat-grid strong{
    display:block;
    font-size:1.45rem;
    color:#d62f5b;
}
.geo-stat-grid span,.finance-stat-grid span{
    display:block;
    color:#64748b;
    font-weight:850;
}
.street-heatmap{display:grid;gap:10px}
.street-row{
    display:grid;
    grid-template-columns:220px 1fr 50px minmax(160px,auto);
    gap:10px;
    align-items:center;
    padding:10px;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#fff;
}
.street-name{font-weight:950;color:#172033}
.street-bar-wrap{
    height:16px;
    border-radius:999px;
    background:#f1f5f9;
    overflow:hidden;
}
.street-bar{
    height:100%;
    border-radius:999px;
    background:linear-gradient(135deg,#d62f5b,#8d3f54);
}
.street-count{font-weight:950;color:#d62f5b;text-align:right}
.street-tags{display:flex;gap:6px;flex-wrap:wrap}
.street-tags span{
    background:#f8fafc;
    color:#475569;
    border-radius:999px;
    padding:4px 8px;
    font-size:.8rem;
    font-weight:850;
}
.scenario-form{
    display:grid;
    grid-template-columns:repeat(4,minmax(140px,1fr));
    gap:12px;
    align-items:end;
}
.scenario-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
@media(max-width:860px){
    .street-row{grid-template-columns:1fr}
    .street-count{text-align:left}
    .scenario-form{grid-template-columns:1fr}
}

/* V167 Finanz Inflation */
.finance-scenario-form{
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
}
.recommendation-card{
    border:2px solid rgba(214,47,91,.18)!important;
    box-shadow:0 16px 40px rgba(214,47,91,.08)!important;
}
.finance-history-add{
    margin-top:14px;
}
.finance-history-add summary{
    cursor:pointer;
    font-weight:950;
    color:#d62f5b;
    padding:10px 0;
}

/* V169 Finance Pro */
.finance-traffic{
    display:inline-block;
    padding:10px 14px;
    border-radius:999px;
    font-weight:950;
    margin:4px 0 14px;
}
.finance-traffic.green{background:#dcfce7;color:#166534}
.finance-traffic.yellow{background:#fef3c7;color:#92400e}
.finance-traffic.red{background:#fee2e2;color:#991b1b}
.finance-scenario-form{
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
}
.recommendation-card{
    border:2px solid rgba(214,47,91,.18)!important;
    box-shadow:0 16px 40px rgba(214,47,91,.08)!important;
}
.finance-history-add{
    margin-top:14px;
}
.finance-history-add summary{
    cursor:pointer;
    font-weight:950;
    color:#d62f5b;
    padding:10px 0;
}

/* V171 Fixed Expenses Finance */
.presentation-text{
    margin-top:18px;
    padding:16px;
    border-radius:18px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
}
.presentation-copy{
    width:100%;
    min-height:260px;
    border-radius:18px;
    border:1px solid #cbd5e1;
    padding:14px;
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
@media print{
    .topbar .actions,
    form,
    button,
    .finance-history-add,
    textarea.presentation-copy{
        display:none!important;
    }
}

/* V172 Jahres-Erinnerungen */
.dashboard-reminders{
    display:grid;
    gap:12px;
    margin:14px 0;
}
.dashboard-reminder{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:center;
    padding:16px;
    border-radius:22px;
    border:1px solid #e2e8f0;
    background:#fff;
    box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.dashboard-reminder.warning{
    border-color:#fde68a;
    background:#fffbeb;
}
.dashboard-reminder.danger{
    border-color:#fecaca;
    background:#fef2f2;
}
.dashboard-reminder strong{
    display:block;
    color:#172033;
    font-size:1.02rem;
}
.dashboard-reminder p{
    margin:4px 0 0;
    color:#475569;
}
@media(max-width:860px){
    .dashboard-reminder{
        align-items:stretch;
        flex-direction:column;
    }
}

/* V173 Schicht-Skills und Altersregeln */
.shift-req-card{
    margin:18px 0;
    padding:16px;
    border:1px solid #e2e8f0;
    border-radius:20px;
    background:#f8fafc;
}
.skill-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:10px;
    margin-top:10px;
}
.shift-req-badge{
    display:inline-block;
    vertical-align:middle;
    margin:2px 4px 2px 0;
    padding:4px 8px;
    border-radius:999px;
    font-size:.75rem;
    font-weight:950;
}
.shift-req-badge.skill{
    background:#eef2ff;
    color:#3730a3;
}
.shift-req-badge.age{
    background:#fff7ed;
    color:#9a3412;
}
.shift-req-public .shift-req-badge{
    margin-top:6px;
}

/* V174 Schichtleiter Kontakt */
.leader-qr{width:46px;height:46px;margin-top:4px;display:block}
.print-leader-muted{color:#666;font-style:italic}
.compact-check{font-weight:600!important;display:flex;gap:6px;align-items:center}
@media print{.leader-qr{width:42px!important;height:42px!important}}

/* V175 Dashboard Restore */
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:16px 0}
.dash-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:18px;box-shadow:0 12px 32px rgba(15,23,42,.06)}
.dash-card.warn{border-color:#fde68a;background:#fffbeb}
.dash-card span{font-size:1.6rem;display:block;margin-bottom:8px}
.dash-card strong{display:block;font-size:1.8rem;color:#d62f5b;line-height:1.1}
.dash-card small{display:block;color:#64748b;font-weight:850;margin-top:6px}
.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.dash-list{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px}
.dash-list li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e2e8f0}
.dash-list span{color:#64748b;font-weight:800;text-align:right}
.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
@media(max-width:860px){.dashboard-columns{grid-template-columns:1fr}.dash-list li{flex-direction:column}.dash-list span{text-align:left}}

/* V176 Alle Excel-Felder */
.excel-details-box{
    margin:12px 0;
    padding:10px;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#f8fafc;
}
.excel-details-box summary{
    cursor:pointer;
    font-weight:950;
    color:#d62f5b;
}
.excel-detail-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:8px;
    margin-top:10px;
}
.excel-detail-row{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:12px;
    padding:8px;
}
.excel-detail-row strong{
    display:block;
    font-size:.76rem;
    color:#64748b;
    margin-bottom:3px;
}
.excel-detail-row span{
    display:block;
    color:#172033;
    font-weight:850;
    word-break:break-word;
}

/* V177 Veranstaltungen */
.pill.ok{background:#dcfce7;color:#166534}.pill.off{background:#fee2e2;color:#991b1b}

/* V178 sichtbare Hauptfelder */
.members-table th,.members-table td{vertical-align:top}.senior-address{font-weight:850}

/* V180 Senioren */
.senior-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f1f5f9;margin-right:6px;font-size:21px}
.senior-icon.female{background:#fce7f3}
.senior-icon.male{background:#dbeafe}
.senior-icon.unknown{background:#f1f5f9}
.senior-table td:nth-child(3){font-size:1.08rem;color:#d62f5b}

/* V182 Mitglieder-Altersgruppen-Symbole */
.member-age-symbol{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:50%;
    background:#f1f5f9;
    margin-right:7px;
    font-size:22px;
    vertical-align:middle;
}
.member-age-symbol.baby{background:#fef3c7}
.member-age-symbol.child{background:#dcfce7}
.member-age-symbol.youth{background:#e0f2fe}
.member-age-symbol.adult{background:#f1f5f9}
.member-age-symbol.senior{background:#ede9fe}
.member-age-symbol em{
    position:absolute;
    right:-7px;
    top:-8px;
    font-style:normal;
    font-size:15px;
    filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
}

/* V183 Finanz + Prognose */
.finance-traffic{
    display:inline-block;
    padding:10px 14px;
    border-radius:999px;
    font-weight:950;
    margin:4px 0 14px;
}
.finance-traffic.green{background:#dcfce7;color:#166534}
.finance-traffic.yellow{background:#fef3c7;color:#92400e}
.finance-traffic.red{background:#fee2e2;color:#991b1b}
.finance-scenario-form{
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
}
.recommendation-card{
    border:2px solid rgba(214,47,91,.18)!important;
    box-shadow:0 16px 40px rgba(214,47,91,.08)!important;
}
.presentation-text{
    margin-top:12px;
    padding:16px;
    border-radius:18px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    line-height:1.6;
}
@media print{
    .topbar .actions, form, button{display:none!important}
}

/* V185 Verteilerbezirke */

/* V186 Verteilerkasten */

/* V190 board fix */
.board-table select,.board-member-card select{width:100%;max-width:100%;}

/* V191 Mitgliederliste Fix */
.members-mobile-list{display:none}
.member-mobile-card{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:20px;
    padding:14px;
    margin:10px 0;
    box-shadow:0 8px 22px rgba(15,23,42,.06);
}
.member-mobile-head{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.member-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.member-mobile-grid div{background:#f8fafc;border-radius:14px;padding:9px}
.member-mobile-grid span{display:block;color:#64748b;font-size:.78rem;font-weight:900;text-transform:uppercase}
.member-mobile-grid strong{display:block;color:#172033;word-break:break-word}
.member-import-card summary{font-weight:950;color:#d62f5b}
@media(max-width:860px){
    .members-desktop{display:none}
    .members-mobile-list{display:block}
    .member-list-card{padding:14px}
    .member-search-form{grid-template-columns:1fr!important}
}
@media(min-width:861px){
    .members-desktop{display:block}
}

/* V192 LayCrew member symbols */
.lc-person-symbol{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:18px;
    margin-right:8px;
    vertical-align:middle;
    font-weight:950;
    color:#fff;
    background:linear-gradient(135deg,#d62f5b,#8d3f54);
    box-shadow:0 8px 20px rgba(214,47,91,.22);
    border:2px solid rgba(255,255,255,.85);
    flex:0 0 auto;
}
.lc-person-symbol .lc-symbol-letter{
    font-size:18px;
    line-height:1;
}
.lc-person-symbol.male{background:linear-gradient(135deg,#3b82f6,#1e40af)}
.lc-person-symbol.female{background:linear-gradient(135deg,#d62f5b,#be185d)}
.lc-person-symbol.baby{background:linear-gradient(135deg,#f59e0b,#d97706)}
.lc-person-symbol.child{background:linear-gradient(135deg,#22c55e,#15803d)}
.lc-person-symbol.youth{background:linear-gradient(135deg,#06b6d4,#0e7490)}
.lc-person-symbol.senior{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}
.lc-symbol-badge{
    position:absolute;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:19px;
    height:19px;
    border-radius:50%;
    font-size:13px;
    font-weight:950;
    border:2px solid #fff;
    box-shadow:0 3px 8px rgba(15,23,42,.22);
}
.lc-symbol-badge.honor-badge{
    right:-7px;
    top:-8px;
    background:#fbbf24;
    color:#78350f;
}
.lc-symbol-badge.board-badge{
    left:-7px;
    bottom:-7px;
    background:#172033;
    color:#fff;
}
.member-mobile-head .lc-person-symbol{
    margin-right:0;
}

/* V193 Senioren Hausnummer Fix */
.senior-table td:nth-child(3) strong{
    color:#d62f5b;
    font-size:1.15rem;
}
@media(max-width:860px){
    .senior-list-card{
        overflow-x:auto;
    }
    .senior-table{
        min-width:820px;
    }
}

/* V194 Seniorensymbole */
.senior-table .lc-person-symbol{
    margin-right:8px;
}

/* V196 Dashboard Geburtstage/Jubiläen */
.dashboard-foldout summary{
    cursor:pointer;
    font-weight:950;
    font-size:1.25rem;
    color:#172033;
    margin-bottom:10px;
}
.dashboard-foldout[open] summary{
    margin-bottom:12px;
}
.dashboard-foldout .dash-list span{
    text-align:right;
}

/* V197 Mitglieder Statistik & Prognose */
@media print{
    .topbar .actions, nav, .sidebar, .admin-nav{display:none!important}
}

/* V199 Prognose Dashboard */
.stats-animated .dash-card{
    transition:transform .18s ease, box-shadow .18s ease;
}
.stats-animated .dash-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 32px rgba(15,23,42,.14);
}
.recommendation-card{
    border:2px solid rgba(214,47,91,.20)!important;
}
@media print{
    .topbar .actions{display:none!important}
}

/* V201 Systemstabilität + mobile Veranstaltungskarten */
.events-grid-v201{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:18px;
}
.event-card-v201{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:28px;
    padding:20px;
    box-shadow:0 14px 36px rgba(15,23,42,.08);
    overflow:hidden;
}
.event-card-head-v201{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
}
.event-card-head-v201 h2{
    margin:.25rem 0 .2rem;
    font-size:1.35rem;
    line-height:1.15;
}
.event-card-head-v201 p{
    margin:.2rem 0 0;
    color:#64748b;
}
.event-date-v201{
    display:inline-block;
    font-weight:950;
    color:#d62f5b;
    background:#fff1f2;
    border:1px solid #fecdd3;
    border-radius:999px;
    padding:6px 10px;
}
.event-stats-v201{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin:16px 0;
}
.event-stats-v201 div{
    background:#f8fafc;
    border-radius:16px;
    padding:10px;
    text-align:center;
}
.event-stats-v201 span{
    display:block;
    color:#64748b;
    font-size:.78rem;
    font-weight:900;
    text-transform:uppercase;
}
.event-stats-v201 strong{
    font-size:1.2rem;
}
.event-actions-v201{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
@media(max-width:700px){
    .events-grid-v201{grid-template-columns:1fr}
    .event-card-v201{border-radius:24px;padding:16px}
    .event-card-head-v201{display:block}
    .event-stats-v201{grid-template-columns:1fr 1fr 1fr}
    .event-actions-v201 .btn{flex:1 1 auto;text-align:center}
    .dashboard-columns{display:block!important}
    .dashboard-foldout .dash-list li{
        display:block;
        padding:10px 0;
    }
    .dashboard-foldout .dash-list span{
        display:block;
        text-align:left!important;
        margin-top:4px;
    }
}


/* V208 Mitglieder Untermenü */
.nav-group{
    margin:4px 0;
}
.nav-group-title{
    display:block;
    font-weight:900;
}
.nav-submenu{
    margin:4px 0 8px 14px;
    padding-left:10px;
    border-left:2px solid rgba(214,47,91,.25);
}
.nav-submenu a{
    display:block;
    font-size:.92rem;
    padding:8px 10px;
    border-radius:10px;
    opacity:.95;
}
.nav-submenu a.active{
    font-weight:950;
}
.nav-group-members.open .nav-submenu{
    display:block;
}

/* V210 Veranstaltungen Archiv */
.event-tabs-v210{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.event-tabs-v210 a{
    display:inline-block;
    padding:10px 14px;
    border-radius:999px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    text-decoration:none;
    font-weight:900;
}
.event-tabs-v210 a.active{
    background:#fff1f4;
    border-color:#fecdd3;
    color:#d62f5b;
}
.inline-action-form{
    display:inline-flex;
    margin:0;
}
.event-actions-wide-v210{
    gap:8px;
}
.event-actions-wide-v210 form button{
    height:100%;
}
.event-archived-v210{
    opacity:.86;
    background:#fbfbfc;
}
@media(max-width:700px){
    .event-tabs-v210{display:grid;grid-template-columns:1fr}
    .event-tabs-v210 a{text-align:center}
    .inline-action-form{display:block;width:100%}
    .inline-action-form button{width:100%}
    .event-actions-wide-v210{display:grid;grid-template-columns:1fr}
}

/* V213 Narrenfahrplan Mobile Archiv */
.carnival-admin-actions-v213{display:flex;flex-wrap:wrap;gap:8px}
.carnival-next-admin-v213{border:2px solid rgba(214,47,91,.22)!important;background:#fff7f9!important}
.carnival-tabs-v213{display:flex;flex-wrap:wrap;gap:8px}
.carnival-tabs-v213 a{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;text-decoration:none;font-weight:950}
.carnival-tabs-v213 a.active{background:#fff1f4;border-color:#fecdd3;color:#d62f5b}
.carnival-tabs-v213 span{background:#fff;border-radius:999px;padding:2px 8px}
.carnival-event-grid-v213{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}
.carnival-event-card-v213{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:18px;box-shadow:0 14px 36px rgba(15,23,42,.08)}
.carnival-event-card-v213.next{border-color:#fecdd3;background:#fff7f9}
.carnival-event-card-v213.archived{opacity:.82;background:#f8fafc}
.carnival-card-date-v213{display:inline-block;font-weight:950;color:#d62f5b;background:#fff1f2;border:1px solid #fecdd3;border-radius:999px;padding:6px 10px;margin-bottom:8px}
.carnival-event-card-v213 h3{font-size:1.25rem;margin:6px 0;line-height:1.2}
.carnival-card-badges-v213{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.carnival-card-actions-v213{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.carnival-card-actions-v213 form{display:inline-flex;margin:0}
.carnival-participants-v213{margin-top:12px;background:#f8fafc;border-radius:16px;padding:10px}
.carnival-participants-v213 summary{font-weight:900;cursor:pointer}
@media(max-width:700px){
    .carnival-admin-actions-v213,.carnival-tabs-v213{display:grid;grid-template-columns:1fr}
    .carnival-admin-actions-v213 .btn,.carnival-tabs-v213 a{text-align:center;justify-content:center}
    .carnival-event-grid-v213{grid-template-columns:1fr}
    .carnival-card-actions-v213{display:grid;grid-template-columns:1fr}
    .carnival-card-actions-v213 .btn,.carnival-card-actions-v213 form,.carnival-card-actions-v213 button{width:100%;text-align:center}
    .payment-mini-summary{display:grid;grid-template-columns:1fr;gap:6px}
}

/* V215 Karnevalstermine Auto */
.carnival-date-grid-v215{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:14px;
}
.carnival-date-card-v215{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:22px;
    padding:16px;
    box-shadow:0 10px 28px rgba(15,23,42,.07);
}
.carnival-date-card-v215 h3{
    margin:0 0 8px;
    color:#d62f5b;
    font-size:1.35rem;
}
.carnival-date-card-v215 p{
    margin:6px 0;
}
.carnival-date-card-v215.past{
    opacity:.68;
    background:#f8fafc;
}
.topbar.mini{
    margin-bottom:12px;
}
@media(max-width:700px){
    .carnival-date-grid-v215{grid-template-columns:1fr}
}

/* V216 Mitglieder Heatmap */
.member-heatmap-v216{
    height:620px;
    min-height:65vh;
    border-radius:24px;
    overflow:hidden;
    border:1px solid #e2e8f0;
}
@media(max-width:700px){
    .member-heatmap-v216{
        height:70vh;
        border-radius:18px;
    }
}

/* V217 Narrenfahrplan: mobile Terminliste als klare Karten */
.carnival-public-event-list-v217{
    display:grid;
    gap:14px;
}
.carnival-public-event-card-v217{
    padding:0!important;
    border-left-width:0!important;
    border-radius:24px!important;
    overflow:hidden!important;
}
.carnival-public-event-toggle-v217{
    padding:16px!important;
    align-items:start!important;
}
.carnival-public-event-head-v217{
    display:grid;
    gap:8px;
}
.carnival-public-event-date-v217{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    padding:6px 10px;
    border-radius:999px;
    background:#fff1f2;
    border:1px solid #fecdd3;
    color:#d62f5b;
    font-size:.86rem;
    font-weight:950;
    line-height:1.2;
}
.carnival-public-event-title-v217{
    display:block;
    font-size:1.18rem;
    font-weight:950;
    color:#172033;
    line-height:1.22;
}
.carnival-public-event-badges-v217{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:10px;
}
.carnival-public-event-meta-v217{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    color:#64748b;
    font-weight:850;
    font-size:.92rem;
    margin-top:8px;
}
.carnival-public-event-meta-v217 span{
    background:#f8fafc;
    border:1px solid rgba(148,163,184,.25);
    border-radius:999px;
    padding:5px 9px;
}
.carnival-public-event-body-v217 .quick-form{
    display:grid;
    gap:10px;
}
@media(max-width:760px){
    .theme-karneval .public-wrap{
        padding-left:10px!important;
        padding-right:10px!important;
    }
    .carnival-public-event-list-v217{
        gap:10px;
    }
    .carnival-public-event-card-v217{
        border-radius:18px!important;
        box-shadow:0 8px 22px rgba(15,23,42,.07)!important;
    }
    .carnival-public-event-toggle-v217{
        grid-template-columns:1fr auto!important;
        gap:10px!important;
        padding:14px!important;
    }
    .carnival-public-event-title-v217{
        font-size:1rem!important;
    }
    .carnival-public-event-date-v217{
        font-size:.76rem!important;
        padding:5px 8px!important;
        white-space:normal;
    }
    .carnival-public-event-badges-v217{
        gap:5px;
        margin-top:8px;
    }
    .carnival-public-event-meta-v217{
        display:grid;
        grid-template-columns:1fr;
        gap:5px;
        font-size:.78rem!important;
    }
    .carnival-public-event-meta-v217 span{
        border-radius:12px;
        padding:6px 8px;
    }
    .carnival-public-event-chevron-v217{
        align-self:start;
        padding-top:2px;
    }
    .carnival-public-event-body-v217{
        padding:0 12px 12px!important;
    }
    .carnival-public-event-body-v217 .quick-form{
        grid-template-columns:1fr!important;
    }
    .carnival-public-event-body-v217 input,
    .carnival-public-event-body-v217 button{
        width:100%!important;
        min-height:42px;
    }
}

/* V217 Admin Narrenfahrplan: mobile Karten luftiger und besser bedienbar */
@media(max-width:760px){
    .carnival-event-card-v213{
        padding:14px!important;
        border-radius:18px!important;
    }
    .carnival-card-date-v213{
        display:block!important;
        width:fit-content;
        max-width:100%;
        white-space:normal;
        line-height:1.25;
    }
    .carnival-event-card-v213 h3{
        font-size:1.05rem!important;
    }
    .carnival-card-badges-v213,
    .payment-mini-summary{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:6px!important;
    }
    .carnival-card-badges-v213 .badge,
    .carnival-card-badges-v213 .mini-chip,
    .payment-mini-summary .mini-chip{
        width:100%;
        justify-content:center;
        text-align:center;
    }
}


/* V219.7 Admin Desktop/Mobile Layout Fix
   Desktop: klassische linke Sidebar, kein riesiges Logo/kein Mobile-Header.
   Mobile: bestehender schöner Topbar/Drawer bleibt erhalten. */
@media (min-width: 861px) {
    body.admin-body {
        padding-top: 0 !important;
        overflow-x: hidden !important;
        background: linear-gradient(180deg,#f8f9fc 0%,#f3f5fb 100%) !important;
    }
    body.admin-body .v141-admin-top,
    body.admin-body .v141-menu-backdrop,
    body.admin-body .v141-menu-head,
    body.admin-body .v141-menu-close {
        display: none !important;
    }
    body.admin-body .app-shell {
        display: grid !important;
        grid-template-columns: 280px minmax(0, 1fr) !important;
        min-height: 100vh !important;
        width: 100% !important;
    }
    body.admin-body #adminSidebar,
    body.admin-body aside.admin-sidebar,
    body.admin-body aside.v141-admin-menu {
        position: sticky !important;
        top: 0 !important;
        left: auto !important;
        bottom: auto !important;
        width: 280px !important;
        max-width: 280px !important;
        height: 100vh !important;
        max-height: 100vh !important;
        transform: none !important;
        display: flex !important;
        flex-direction: column !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: 26px 18px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        color: #fff !important;
        background:
            radial-gradient(circle at 20% 0%, rgba(255,255,255,.20), transparent 18rem),
            linear-gradient(180deg,var(--brand),var(--wine)) !important;
        box-shadow: 18px 0 45px rgba(109,18,48,.16) !important;
        border: 0 !important;
        z-index: 1 !important;
    }
    body.admin-body #adminSidebar > .brand {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        margin: 0 0 24px 0 !important;
        padding: 0 !important;
        min-height: auto !important;
    }
    body.admin-body #adminSidebar > .brand .logo {
        width: 56px !important;
        height: 56px !important;
        max-width: 56px !important;
        max-height: 56px !important;
        object-fit: contain !important;
        flex: 0 0 56px !important;
        background: rgba(255,255,255,.94) !important;
        border-radius: 18px !important;
        padding: 7px !important;
        box-shadow: 0 10px 26px rgba(15,23,42,.14) !important;
    }
    body.admin-body #adminSidebar .brand-title {
        color: #fff !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        text-shadow: none !important;
        min-width: 0 !important;
    }
    body.admin-body #adminSidebar .brand-main {
        display:block !important;
        font-size: 1.18rem !important;
        line-height: 1.05 !important;
        font-weight: 950 !important;
        color:#fff !important;
    }
    body.admin-body #adminSidebar .brand-sub {
        display:block !important;
        margin-top: 3px !important;
        font-size: .72rem !important;
        line-height: 1.18 !important;
        font-weight: 800 !important;
        color: rgba(255,255,255,.82) !important;
    }
    body.admin-body #adminSidebar nav,
    body.admin-body aside.admin-sidebar nav,
    body.admin-body aside.v141-admin-menu nav {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        padding: 0 0 18px 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }
    body.admin-body #adminSidebar nav a,
    body.admin-body aside.admin-sidebar nav a,
    body.admin-body aside.v141-admin-menu nav a {
        display: flex !important;
        align-items: center !important;
        min-height: 42px !important;
        width: 100% !important;
        padding: 10px 12px !important;
        margin: 0 !important;
        border-radius: 15px !important;
        color: rgba(255,255,255,.94) !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        font-size: .92rem !important;
        line-height: 1.14 !important;
        font-weight: 850 !important;
        text-decoration: none !important;
        transform: none !important;
    }
    body.admin-body #adminSidebar nav a.active,
    body.admin-body aside.admin-sidebar nav a.active,
    body.admin-body aside.v141-admin-menu nav a.active,
    body.admin-body #adminSidebar nav a:hover,
    body.admin-body aside.admin-sidebar nav a:hover,
    body.admin-body aside.v141-admin-menu nav a:hover {
        background: #fff !important;
        color: var(--brand) !important;
        box-shadow: 0 12px 28px rgba(0,0,0,.14) !important;
        text-decoration: none !important;
    }
    body.admin-body .admin-logout-bottom {
        margin-top: auto !important;
        padding-top: 18px !important;
    }
    body.admin-body .admin-logout-bottom a {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-height: 42px !important;
        padding: 10px 12px !important;
        border-radius: 15px !important;
        background: rgba(255,255,255,.95) !important;
        color: #991b1b !important;
        font-weight: 950 !important;
        text-decoration: none !important;
    }
    body.admin-body .main {
        grid-column: 2 !important;
        width: 100% !important;
        max-width: 1320px !important;
        margin: 0 auto !important;
        padding: 38px !important;
        min-width: 0 !important;
    }
}

@media (max-width: 860px) {
    body.admin-body .app-shell {
        display: block !important;
        min-height: 100vh !important;
    }
    body.admin-body .main {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 18px 16px 28px 16px !important;
    }
}

/* V227.1 Dashboard-Beitragskachel als Link */
a.dash-card{display:block;text-decoration:none;color:inherit}
a.dash-card:hover{transform:translateY(-1px);box-shadow:0 16px 38px rgba(15,23,42,.10)}
.notice.danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}

/* V243: kompaktere, modernere öffentliche Schichtplan-Ansicht */
.public-wrap{max-width:1040px;padding-top:20px}
.public-hero{padding:24px 20px 26px;border-radius:0 0 26px 26px;box-shadow:0 14px 34px rgba(109,18,48,.18)}
.public-nav{margin-bottom:8px}.public-brand .brand-sub{opacity:.86}.event-card{padding:22px 24px;border-radius:26px;margin-bottom:16px}
.event-card h1{font-size:clamp(31px,5vw,48px);letter-spacing:-.045em;margin-bottom:10px}.event-meta{gap:8px}.event-meta span{padding:8px 12px;border-radius:999px;background:#f7f8fb;font-weight:850;color:#4b5563}.event-card .actions{margin-top:12px!important}.open-filter-bar{background:#fff;border:1px solid var(--line);border-radius:22px;padding:10px 12px;box-shadow:var(--shadow-soft)}
.public-stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}.public-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 14px;box-shadow:var(--shadow-soft);display:flex;align-items:baseline;justify-content:space-between;gap:8px}.public-stat strong{font-size:22px;font-weight:950;color:var(--ink)}.public-stat span{font-size:.86rem;color:var(--muted);font-weight:850}
.day-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 14px;padding:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:6px;box-shadow:var(--shadow-soft)}.day-tab{box-shadow:none;border:0;border-radius:15px;padding:12px 10px}.day-tab.active{background:linear-gradient(135deg,var(--brand-dark),var(--brand));box-shadow:0 8px 18px rgba(169,7,52,.22)}
.day-heading{margin:14px 0 12px}.day-heading h2{font-size:26px}.day-count{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:.9rem}.area-list{gap:12px}.area-group{border:1px solid #e7eaf0;border-radius:22px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.055);overflow:hidden;border-left:5px solid var(--red)}.area-group.status-ok{border-left-color:var(--green)}.area-group.status-warn{border-left-color:var(--orange)}.area-group.status-bad{border-left-color:var(--red)}
.area-toggle{padding:15px 17px;border-radius:0;min-height:auto;background:#fff}.area-toggle:hover{background:#fafbff;transform:none}.area-title{gap:7px}.area-title strong{font-size:19px;display:flex;align-items:center;gap:8px}.area-type-icon{width:34px;height:34px;border-radius:13px;display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--brand-soft),#fff);box-shadow:inset 0 0 0 1px rgba(233,16,79,.08);font-size:18px;flex:0 0 auto}.area-status-dot{display:none}.area-summary{font-size:.95rem;margin-top:2px}.area-preview{margin-top:8px;gap:6px}.area-preview-chip{padding:5px 9px;font-size:12px;border-radius:999px}.area-chevron,.shift-chevron{color:var(--brand);font-weight:950}.area-content{padding:0 14px 14px 14px;background:#fff}.area-group.open .area-content{display:block}.shift-summary-list{display:grid;gap:8px}.shift-accordion{margin:0;border:1px solid #eef1f5;border-left:0!important;border-radius:16px;background:#fbfcff;box-shadow:none;overflow:hidden}.shift-toggle{padding:12px 14px;background:#fbfcff;min-height:auto}.shift-toggle:hover{background:#fff}.shift-title-line{font-size:16px;font-weight:950;gap:6px}.shift-time-line{font-size:.9rem;margin-top:3px}.shift-toggle-side{align-items:center}.shift-body{background:#fff}.shift-body-inner{padding:12px 14px}.shift-body input,.shift-body textarea{padding:10px 12px;border-radius:12px;margin-bottom:8px}.shift-body label{margin-top:6px;font-size:.86rem}.shift-body .progress{height:7px;margin-top:6px}.shift-needed{font-size:.92rem;margin-top:7px}.shift-req-public{padding:10px 12px;border-radius:14px;margin:8px 0}.shift-req-badge{font-size:11px!important;padding:4px 8px!important}.badge{font-size:11px;padding:4px 8px}.hidden-by-open-filter{display:none!important}
@media(max-width:720px){.public-wrap{padding:14px 10px 24px}.public-hero{padding:18px 14px 20px}.event-card{padding:18px 16px;border-radius:22px}.event-card h1{font-size:34px}.event-meta span{font-size:.9rem}.public-stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.public-stat{padding:10px 12px}.day-tabs{grid-template-columns:1fr}.day-heading h2{font-size:24px}.area-toggle{padding:13px 12px}.area-title strong{font-size:17px}.area-summary{font-size:.88rem}.area-preview{display:flex!important}.area-preview-chip{font-size:11px}.area-content{padding:0 10px 10px}.shift-toggle{padding:11px 12px}.shift-body-inner{padding:11px 12px}.public-stats-row + .notice,.open-filter-bar{margin-left:0;margin-right:0}}

.admin-shift-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:12px;background:var(--brand-soft);margin-right:4px;font-size:16px;vertical-align:middle}


/* V272 Gießdienst: mobile KW-Navigation und kompakte Bereichskarten */
.watering-week-tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
    padding:7px!important;
}
.watering-week-tabs .day-tab{
    flex:0 0 auto!important;
    min-width:96px!important;
    white-space:nowrap!important;
    scroll-snap-align:start!important;
}
.watering-slot-list{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
    gap:12px!important;
}
.watering-area-name{
    display:inline-block;
    margin-right:8px;
}
@media(max-width:720px){
    .watering-week-tabs{
        display:flex!important;
        flex-wrap:nowrap!important;
        margin:10px -2px 14px!important;
        border-radius:18px!important;
    }
    .watering-week-tabs .day-tab{
        min-width:auto!important;
        padding:10px 13px!important;
        font-size:.92rem!important;
    }
    .watering-slot-list{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }
    .watering-slot-list .task-toggle{
        padding:13px 12px!important;
        align-items:flex-start!important;
    }
    .watering-slot-list .task-title-line{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:6px!important;
        align-items:center!important;
    }
    .watering-slot-list .quick-form{
        display:block!important;
    }
    .watering-slot-list .quick-form > div{
        margin-bottom:10px!important;
    }
    .watering-slot-list input,
    .watering-slot-list textarea{
        width:100%!important;
    }
}

/* v306: Gießdienst als Wochenübersicht mit Bereichsfilter */
.watering-overview-card{margin-bottom:14px}
.watering-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.watering-filter{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 14px;box-shadow:none;font-weight:800;cursor:pointer}
.watering-filter.active{background:linear-gradient(135deg,var(--brand-dark),var(--brand));color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(169,7,52,.18)}
.watering-week-overview{display:grid;gap:14px}
.watering-week-card{padding:18px}
.watering-week-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.watering-week-head h2{margin:0 0 4px;font-size:24px}
.watering-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.watering-area-card{border:1px solid #eef1f5;border-radius:18px;overflow:hidden;background:#fbfcff}
.watering-area-card.status-bad{border-left:5px solid #e11d48}
.watering-area-card.status-ok{border-left:5px solid #16a34a}
.watering-area-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;background:transparent;color:var(--ink);border:0;box-shadow:none;padding:14px;cursor:pointer}
.watering-area-toggle:hover{background:#fff;transform:none}
.watering-area-toggle strong{display:block;font-size:18px}
.watering-area-sub{display:block;font-size:.92rem;color:var(--muted);margin-top:3px}
.watering-area-body{display:none;border-top:1px solid #eef1f5;background:#fff;padding:14px}
.watering-area-card.open .watering-area-body{display:block}
@media(max-width:720px){.watering-week-head{display:block}.watering-week-head .weather-pill{margin-top:8px}.watering-area-grid{grid-template-columns:1fr}.watering-filter{width:100%}}

/* v326 - WhatsApp-Teilen Buttons im Gießdienst */
.watering-share-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:14px;
}
.watering-share-actions .btn{
    text-decoration:none;
}
@media (max-width:700px){
    .watering-share-actions .btn{
        width:100%;
        justify-content:center;
        text-align:center;
    }
}


/* v328 - Gießdienst WhatsApp-Buttons sauber sichtbar */
.watering-share-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    margin-top:16px !important;
    align-items:center !important;
}
.watering-whatsapp-button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    min-height:42px !important;
    padding:12px 18px !important;
    border:0 !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#16a34a,#25D366) !important;
    color:#fff !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-decoration:none !important;
    box-shadow:0 12px 26px rgba(22,163,74,.22) !important;
    white-space:normal !important;
}
.watering-whatsapp-button:hover{
    transform:translateY(-1px) !important;
    color:#fff !important;
    text-decoration:none !important;
    box-shadow:0 16px 34px rgba(22,163,74,.28) !important;
}
.watering-whatsapp-button-open{
    background:linear-gradient(135deg,#15803d,#16a34a) !important;
}
.board-watering-tools .watering-whatsapp-button{
    margin-top:0 !important;
}
@media(max-width:700px){
    .watering-share-actions{
        flex-direction:column !important;
        align-items:stretch !important;
    }
    .watering-whatsapp-button{
        width:100% !important;
        box-sizing:border-box !important;
    }
}


/* v332 - WhatsApp Hover/Focus/Active Fix: Buttons bleiben immer grün */
.watering-whatsapp-button,
.watering-whatsapp-button:visited,
.watering-whatsapp-button:hover,
.watering-whatsapp-button:focus,
.watering-whatsapp-button:active{
    background:linear-gradient(135deg,#16a34a,#25D366) !important;
    color:#ffffff !important;
    text-decoration:none !important;
    border-color:transparent !important;
}
.watering-whatsapp-button-open,
.watering-whatsapp-button-open:visited,
.watering-whatsapp-button-open:hover,
.watering-whatsapp-button-open:focus,
.watering-whatsapp-button-open:active{
    background:linear-gradient(135deg,#15803d,#16a34a) !important;
    color:#ffffff !important;
    text-decoration:none !important;
    border-color:transparent !important;
}
.watering-whatsapp-button *,
.watering-whatsapp-button:hover *,
.watering-whatsapp-button:focus *,
.watering-whatsapp-button:active *{
    color:#ffffff !important;
    fill:#ffffff !important;
}

/* v334 FINAL - WhatsApp Buttons robust fix */
.watering-share-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    margin-top:16px !important;
    align-items:center !important;
}
.watering-share-actions a,
.watering-share-actions a:link,
.watering-share-actions a:visited,
.watering-whatsapp-button,
.watering-whatsapp-button:link,
.watering-whatsapp-button:visited,
.watering-whatsapp-button:hover,
.watering-whatsapp-button:focus,
.watering-whatsapp-button:active,
.watering-whatsapp-btn,
.watering-whatsapp-btn:link,
.watering-whatsapp-btn:visited,
.watering-whatsapp-btn:hover,
.watering-whatsapp-btn:focus,
.watering-whatsapp-btn:active{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    min-height:46px !important;
    width:auto !important;
    min-width:260px !important;
    padding:12px 18px !important;
    border:0 !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#16a34a,#25D366) !important;
    color:#ffffff !important;
    font-weight:900 !important;
    font-size:15px !important;
    line-height:1.2 !important;
    text-decoration:none !important;
    text-align:center !important;
    box-shadow:0 12px 26px rgba(22,163,74,.22) !important;
    white-space:normal !important;
    box-sizing:border-box !important;
    opacity:1 !important;
}
.watering-share-actions a:hover,
.watering-whatsapp-button:hover,
.watering-whatsapp-btn:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 16px 34px rgba(22,163,74,.28) !important;
}
.watering-share-actions a.watering-whatsapp-button-open,
.watering-whatsapp-button-open,
.watering-whatsapp-button-open:link,
.watering-whatsapp-button-open:visited,
.watering-whatsapp-button-open:hover,
.watering-whatsapp-button-open:focus,
.watering-whatsapp-button-open:active,
.watering-whatsapp-btn.open,
.watering-whatsapp-btn.open:hover,
.watering-whatsapp-btn.open:focus,
.watering-whatsapp-btn.open:active{
    background:linear-gradient(135deg,#15803d,#16a34a) !important;
    color:#ffffff !important;
}
.watering-share-actions a *,
.watering-whatsapp-button *,
.watering-whatsapp-btn *{
    color:#ffffff !important;
    fill:#ffffff !important;
}
@media(max-width:700px){
    .watering-share-actions{
        flex-direction:column !important;
        align-items:stretch !important;
    }
    .watering-share-actions a,
    .watering-whatsapp-button,
    .watering-whatsapp-btn{
        width:100% !important;
        min-width:0 !important;
    }
}


/* v335 - kompakte WhatsApp-Buttons mobil + dezente Gießbedarf-Legende */
.watering-weather-legend{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:12px 0 14px;
    font-size:13px;
    line-height:1.25;
    color:#64748b;
}
.watering-weather-legend span{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:5px 9px;
    border:1px solid #e5e7eb;
    border-radius:999px;
    background:#f8fafc;
    white-space:nowrap;
}
.watering-weather-legend-note{
    width:100%;
    font-size:12px;
    color:#94a3b8;
    margin-top:1px;
}

.watering-share-actions{
    gap:10px !important;
    margin-top:14px !important;
}
.watering-whatsapp-button,
.watering-whatsapp-button:link,
.watering-whatsapp-button:visited,
.watering-whatsapp-button:hover,
.watering-whatsapp-button:focus,
.watering-whatsapp-button:active{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    min-height:44px !important;
    padding:11px 16px !important;
    border:0 !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#16a34a,#22c55e) !important;
    color:#fff !important;
    font-weight:850 !important;
    line-height:1.15 !important;
    text-decoration:none !important;
    box-shadow:0 8px 18px rgba(22,163,74,.18) !important;
    white-space:normal !important;
}
.watering-whatsapp-button-open,
.watering-whatsapp-button-open:link,
.watering-whatsapp-button-open:visited,
.watering-whatsapp-button-open:hover,
.watering-whatsapp-button-open:focus,
.watering-whatsapp-button-open:active{
    background:linear-gradient(135deg,#15803d,#16a34a) !important;
    color:#fff !important;
}

@media(max-width:700px){
    .watering-share-actions{
        gap:8px !important;
        margin-top:12px !important;
    }
    .watering-whatsapp-button,
    .watering-share-actions a,
    .watering-share-actions a:link,
    .watering-share-actions a:visited,
    .watering-share-actions a:hover,
    .watering-share-actions a:focus,
    .watering-share-actions a:active{
        width:100% !important;
        min-height:42px !important;
        padding:10px 14px !important;
        font-size:15px !important;
        font-weight:800 !important;
        box-shadow:0 5px 14px rgba(22,163,74,.14) !important;
        transform:none !important;
    }
    .watering-weather-legend{
        gap:5px;
        font-size:12px;
        margin:10px 0 12px;
    }
    .watering-weather-legend span{
        padding:4px 8px;
    }
}


/* v339: Gießdienst Designangleichung öffentlich/Vorstand + kompakte WhatsApp-Buttons */
.watering-overview-card .watering-share-actions,
.watering-share-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin-top:12px !important;
    align-items:center !important;
}
.watering-share-actions a.watering-whatsapp-button,
.watering-whatsapp-button,
.watering-whatsapp-button:link,
.watering-whatsapp-button:visited,
.watering-whatsapp-button:hover,
.watering-whatsapp-button:focus,
.watering-whatsapp-button:active{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    min-height:34px !important;
    padding:8px 13px !important;
    border:0 !important;
    border-radius:999px !important;
    background:#22c55e !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
    text-decoration:none !important;
    box-shadow:0 4px 10px rgba(22,163,74,.14) !important;
    transform:none !important;
    white-space:normal !important;
    box-sizing:border-box !important;
}
.watering-share-actions a.watering-whatsapp-button-open,
.watering-whatsapp-button-open,
.watering-whatsapp-button-open:link,
.watering-whatsapp-button-open:visited,
.watering-whatsapp-button-open:hover,
.watering-whatsapp-button-open:focus,
.watering-whatsapp-button-open:active{
    background:#16a34a !important;
    color:#fff !important;
}
.watering-whatsapp-button:hover,
.watering-whatsapp-button:focus,
.watering-whatsapp-button:active{
    box-shadow:0 5px 12px rgba(22,163,74,.18) !important;
}
.watering-weather-legend{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    margin:10px 0 12px !important;
    font-size:13px !important;
    line-height:1.25 !important;
    color:#64748b !important;
}
.watering-weather-legend span{
    display:inline-flex !important;
    align-items:center !important;
    gap:4px !important;
    padding:4px 8px !important;
    border:1px solid #e5e7eb !important;
    border-radius:999px !important;
    background:#f8fafc !important;
    white-space:nowrap !important;
}
.watering-weather-legend-note{
    width:100% !important;
    font-size:12px !important;
    color:#94a3b8 !important;
    margin-top:0 !important;
}
.board-watering-tools .watering-whatsapp-button,
.board-watering-tools .board-tool-whatsapp{
    display:none !important;
}
@media(max-width:700px){
    .watering-share-actions{
        flex-direction:row !important;
        align-items:stretch !important;
        gap:7px !important;
        margin-top:10px !important;
    }
    .watering-share-actions a.watering-whatsapp-button,
    .watering-whatsapp-button,
    .watering-whatsapp-button:link,
    .watering-whatsapp-button:visited,
    .watering-whatsapp-button:hover,
    .watering-whatsapp-button:focus,
    .watering-whatsapp-button:active{
        width:100% !important;
        min-height:36px !important;
        padding:8px 10px !important;
        font-size:13px !important;
        font-weight:800 !important;
        box-shadow:0 3px 8px rgba(22,163,74,.12) !important;
    }
    .watering-weather-legend{
        gap:5px !important;
        font-size:12px !important;
        margin:9px 0 11px !important;
    }
    .watering-weather-legend span{
        padding:3px 7px !important;
    }
}

/* v342 - Gießdienst: öffentliche Ansicht und Vorstandslink optisch angleichen */
body.theme-watering .public-hero,
body.theme-giesdienst .public-hero,
body.board-watering-page .public-hero{
    background:
        radial-gradient(circle at 8% 20%, rgba(255,255,255,.24), transparent 18rem),
        radial-gradient(circle at 90% 10%, rgba(255,255,255,.16), transparent 16rem),
        linear-gradient(135deg,var(--brand) 0%,#c70845 46%,var(--wine) 100%) !important;
    color:#fff !important;
    padding:34px 26px 38px !important;
    border-radius:0 0 34px 34px !important;
    box-shadow:0 22px 55px rgba(109,18,48,.22) !important;
}
body.board-watering-page .public-wrap,
body.theme-watering .public-wrap,
body.theme-giesdienst .public-wrap{
    max-width:1160px;
}
body.board-watering-page .event-card,
body.theme-watering .event-card,
body.theme-giesdienst .event-card{
    margin-top:-18px;
    border-top:4px solid rgba(229,0,79,.22) !important;
}
body.board-watering-page .public-brand,
body.board-watering-page .brand-main,
body.board-watering-page .brand-sub{
    color:#fff !important;
}
body.board-watering-page .logo{
    background:#fff;
    border-radius:14px;
    padding:4px;
}
/* Wetter-/Infobox rechts darf nicht abschneiden */
.watering-week-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    min-width:0;
}
.watering-week-head > div:first-child{
    min-width:0;
}
.watering-week-head .weather-pill,
.weather-pill{
    max-width:min(100%,460px);
    white-space:normal !important;
    overflow-wrap:anywhere;
    word-break:normal;
    line-height:1.35;
    text-align:left;
}
@media(max-width:760px){
    .watering-week-head{
        display:block !important;
    }
    .watering-week-head .weather-pill,
    .weather-pill{
        width:100% !important;
        max-width:100% !important;
        justify-content:flex-start !important;
        text-align:left !important;
        margin-top:8px;
        box-sizing:border-box;
    }
}

/* V375 Layla Admin Fix: mobile overflow + stable save form */
.admin-body,
.admin-body *{
  box-sizing:border-box;
}
.admin-body .main,
.admin-body main.main,
.admin-body .app-shell{
  min-width:0!important;
  overflow-x:hidden!important;
}
@media(max-width:860px){
  body.admin-body{
    overflow-x:hidden!important;
  }
  body.admin-body .app-shell{
    display:block!important;
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
  }
  body.admin-body main.main,
  body.admin-body .main{
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
    margin:0!important;
    padding:18px 14px!important;
    overflow-x:hidden!important;
  }
  .layla-hero,
  .layla-grid,
  .layla-card,
  .layla-switchgrid,
  .layla-status,
  .two,
  .layla-preview,
  .layla-result,
  .layla-table{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }
  .layla-hero,
  .layla-grid,
  .layla-switchgrid,
  .layla-status,
  .two{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .layla-switch{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    align-items:flex-start!important;
  }
  .layla-switch input[type="checkbox"]{
    flex:0 0 auto!important;
  }
  .layla-switch span,
  .layla-switch b,
  .layla-switch small,
  .layla-card p,
  .layla-card label,
  .layla-card h1,
  .layla-card h2,
  .layla-card h3,
  .layla-input,
  .layla-select,
  .layla-textarea{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .layla-tabs{
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .layla-table{
    display:block!important;
    overflow-x:auto!important;
  }
}

/* V415 Gratulationen: geplanter/gesendeter Mailstatus direkt in Heute-Karten */
.grat-mail-status{margin:10px 0 8px;padding:10px 12px;border-radius:16px;font-weight:950;line-height:1.35;border:1px solid #e2e8f0;background:#f8fafc;color:#334155}
.grat-mail-status-planned{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.grat-mail-status-sending{background:#fef9c3;border-color:#fde68a;color:#854d0e}
.grat-mail-status-sent{background:#ecfdf5;border-color:#bbf7d0;color:#047857}
.grat-mail-status-failed{background:#fff1f2;border-color:#fecdd3;color:#be123c}
.grat-mail-status-skipped{background:#f8fafc;border-color:#cbd5e1;color:#475569}

/* V422 Admin Desktop: linker Markenbalken bleibt auch auf langen Seiten durchgehend */
@media (min-width: 861px) {
  body.admin-body .app-shell{
    grid-template-columns:280px minmax(0,1fr)!important;
    min-height:100vh!important;
    background:
      linear-gradient(90deg,var(--brand) 0 280px,transparent 280px)!important;
  }
  body.admin-body #adminSidebar,
  body.admin-body aside.admin-sidebar,
  body.admin-body aside.v141-admin-menu{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:280px!important;
    height:100vh!important;
    min-height:100vh!important;
    max-height:100vh!important;
  }
  @supports (height: 100dvh) {
    body.admin-body #adminSidebar,
    body.admin-body aside.admin-sidebar,
    body.admin-body aside.v141-admin-menu{
      height:100dvh!important;
      min-height:100dvh!important;
      max-height:100dvh!important;
    }
  }
  body.admin-body .main{
    grid-column:2!important;
  }
}
