:root{--color-wine-red:#b72636;--color-petrol-blue:#0d758b;--color-ice-blue:#68b0c2;--color-teal-green:#09735f;--color-warm-yellow:#e9d636;--color-apricot-orange:#f28d35;--color-aubergine:#732666;--ink-900:#241a14;--ink-700:#4a3c33;--ink-500:#7a6c60;--ink-300:#cabfb4;--paper-0:#fdfcfa;--paper-100:#f5f2ec;--surface-page:var(--paper-0);--surface-sunken:var(--paper-100);--surface-card:#fff;--text-primary:var(--ink-900);--text-secondary:var(--ink-700);--text-muted:var(--ink-500);--text-on-brand:#fff;--border-subtle:var(--ink-300);--brand-primary:var(--color-wine-red);--brand-primary-press:#841a26;--brand-secondary:var(--color-petrol-blue);--accent-gold:var(--color-warm-yellow);--accent-teal:var(--color-teal-green);--accent-plum:var(--color-aubergine);--signal-weniger:var(--color-wine-red);--signal-weniger-flaeche:#fbeae9;--signal-ok:var(--color-teal-green);--signal-ok-flaeche:#e6f2ef;--signal-warten-flaeche:#fdf3e7;--signal-eigenes:#fdeceb;--rang-gold:#e9d636;--rang-silber:#c9c9cf;--rang-bronze:#c98a4b;--rang-text:#3a2200;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--shadow-sm:0 1px 2px #140a0514;--shadow-md:0 4px 12px #140a051f;--font-display:"Archivo Black", "Arial Black", sans-serif;--font-heading:"Futura", "Segoe UI", sans-serif;--font-body:"Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}body{background:var(--surface-sunken);font-family:var(--font-body);color:var(--text-primary);margin:0}button,input,select{font-family:inherit}.app-shell{background:var(--surface-page);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex}.app-header{border-bottom:1px solid var(--paper-100);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.app-title{font-family:var(--font-display);color:var(--brand-primary);letter-spacing:.02em;font-size:18px}.app-subtitle{color:var(--text-muted);font-size:11px}.app-content{flex-direction:column;gap:14px;padding:16px;display:flex}.section-title{font-family:var(--font-heading);font-size:20px;font-weight:700}.toggle-row{gap:8px;display:flex}.toggle-row.small{gap:6px}.pill-toggle{border-radius:var(--radius-pill);font-family:var(--font-heading);cursor:pointer;background:var(--surface-sunken);color:var(--text-secondary);border:none;flex:1;padding:9px;font-size:13px;font-weight:700}.pill-toggle.small{font-size:11px}.pill-toggle.active{background:var(--brand-primary);color:var(--text-on-brand)}.select-input{border-radius:var(--radius-md);border:1.5px solid var(--border-subtle);width:100%;font-family:var(--font-heading);color:var(--text-primary);background:var(--surface-card);padding:10px 12px;font-size:14px;font-weight:700}.hint{color:var(--text-muted);font-size:11px}.rank-list{flex-direction:column;gap:6px;display:flex}.rank-row{border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;border:none;align-items:center;gap:10px;width:100%;padding:10px 14px;display:flex}.rank-row.mine{background:var(--signal-eigenes);box-shadow:inset 0 0 0 1.5px var(--brand-primary)}.rank-badge{border-radius:var(--radius-pill);width:28px;height:28px;font-family:var(--font-heading);background:var(--surface-sunken);color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.rank-badge.gold{background:var(--rang-gold);color:var(--rang-text)}.rank-badge.silver{background:var(--rang-silber);color:var(--rang-text)}.rank-badge.bronze{background:var(--rang-bronze);color:var(--rang-text)}.rank-main{flex:1;min-width:0}.rank-name{font-size:14px;font-weight:700;font-family:var(--font-heading);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rank-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.rank-total{font-family:var(--font-display);color:var(--brand-primary);font-size:17px}.state-box{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:14px}.state-box strong{color:var(--text-primary);font-family:var(--font-heading);margin-bottom:6px;display:block}.section-sub{color:var(--text-muted);margin:2px 0 0;font-size:13px}.row-between{justify-content:space-between;align-items:center;display:flex}.label-strong{font-family:var(--font-heading);font-size:14px;font-weight:700}.big-number{font-family:var(--font-display);color:var(--brand-primary);font-size:20px}.eyebrow{color:var(--text-muted);font-size:12px;font-family:var(--font-heading);letter-spacing:.04em;font-weight:700}.avatar{background:var(--surface-sunken);width:32px;height:32px;color:var(--text-secondary);font-family:var(--font-heading);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.member-list{flex-direction:column;gap:8px;display:flex}.member-card-wrapper{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.member-card{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:12px 14px;display:flex}.member-card.locked{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:default}.member-main{flex:1;min-width:0}.member-name{font-size:14px;font-weight:700;font-family:var(--font-heading);color:var(--text-primary);display:block}.member-sub{color:var(--text-muted);font-size:11px;display:block}.member-sum{font-family:var(--font-display);color:var(--brand-primary);font-size:18px}.chevron{color:var(--text-muted);font-size:12px}.criteria{border-top:1px solid var(--border-subtle);flex-direction:column;gap:10px;padding:0 14px 14px;display:flex}.criterion{padding-top:8px}.criterion-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.criterion-label{color:var(--text-secondary);font-size:12.5px;font-weight:700;font-family:var(--font-heading)}.criterion-note{color:var(--text-muted);font-size:11px}.criterion-value{color:var(--brand-primary);font-size:12px;font-weight:700;font-family:var(--font-heading);flex-shrink:0}.criterion input[type=range]{width:100%;accent-color:var(--brand-primary)}.vers-row{border-top:1px dashed var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:14px;display:flex}.vers-row .criterion-note{display:block}.vers-checkbox{width:24px;height:24px;accent-color:var(--accent-teal);flex-shrink:0}.btn-primary{background:var(--brand-primary);width:100%;color:var(--text-on-brand);border-radius:var(--radius-pill);font-family:var(--font-heading);cursor:pointer;border:none;padding:14px;font-size:15px;font-weight:700}.btn-primary:active{background:var(--brand-primary-press)}.btn-primary:disabled{opacity:.7;cursor:default}.error-text{color:var(--brand-primary);background:var(--signal-weniger-flaeche);border-radius:var(--radius-md);margin:0;padding:10px 12px;font-size:12.5px}.lock-banner{background:var(--signal-weniger-flaeche);border-radius:var(--radius-md);text-align:center;padding:14px}.lock-icon{font-size:28px}.lock-title{font-family:var(--font-heading);margin-top:6px;font-size:15px;font-weight:700}.lock-text{color:var(--text-secondary);margin-top:4px;font-size:12.5px}.tab-button{border-radius:var(--radius-pill);font-family:var(--font-heading);cursor:pointer;background:var(--surface-sunken);color:var(--text-secondary);border:none;flex:1;padding:9px;font-size:13px;font-weight:700}.tab-button.active{background:var(--brand-secondary);color:var(--text-on-brand)}.shell-body{display:block}.shell-main{min-width:0}.nav{padding:10px 16px 0}.mode-switch{background:var(--surface-sunken);border-radius:var(--radius-pill);gap:4px;margin-bottom:10px;padding:3px;display:flex}.mode-button{border-radius:var(--radius-pill);font-family:var(--font-heading);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;padding:8px 10px;font-size:13px;font-weight:700}.mode-button.active{background:var(--surface-page);color:var(--text-primary);box-shadow:var(--shadow-sm)}.nav-groups{flex-wrap:wrap;gap:6px;display:flex}.nav-group{display:contents}.nav-group-label{display:none}.tab-button{flex:auto;min-width:84px}.nav-groups{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:0 16px 2px;position:relative;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 28px),#0000)}.nav-groups::-webkit-scrollbar{display:none}.nav-groups .tab-button{white-space:nowrap;flex:none;min-width:0;padding:9px 14px}.nav-group+.nav-group:before{content:"";background:var(--border-subtle);flex:0 0 1px;margin:8px 2px}@media (width>=900px){.app-shell{max-width:1240px}.shell-main{max-width:820px}.shell-main.weit{max-width:none}.shell-body{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:8px;display:grid}.nav{border-right:1px solid var(--paper-100);padding:12px 8px 12px 16px;position:sticky;top:12px}.mode-switch{margin-bottom:14px}.nav-groups{flex-direction:column;gap:2px;margin:0;padding:0;display:flex;overflow:visible;-webkit-mask-image:none;mask-image:none}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group+.nav-group:before{content:none}.nav-group+.nav-group{margin-top:12px}.nav-group-label{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:0 10px 4px;font-size:10px;font-weight:700;display:block}.tab-button,.nav-groups .tab-button{white-space:normal;text-align:left;border-radius:var(--radius-md);flex:none;min-width:0;padding:9px 12px}}.header-actions{align-items:center;gap:8px;display:flex}.header-link{font-family:var(--font-heading);color:var(--text-muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:6px 4px;font-size:12px;font-weight:700;text-decoration:underline}.header-link:hover{color:var(--text-secondary)}.picker{flex-direction:column;gap:12px;display:flex}.picker-title{font-family:var(--font-heading);font-size:16px;font-weight:700}.category-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.category-tab{border-radius:var(--radius-md);font-family:var(--font-heading);cursor:pointer;background:var(--surface-sunken);color:var(--text-secondary);border:none;padding:9px 2px;font-size:10px;font-weight:700;line-height:1.25}.text-input{border-radius:var(--radius-md);border:1.5px solid var(--border-subtle);width:100%;color:var(--text-primary);background:var(--surface-card);padding:12px 14px;font-size:14px}.card{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:16px}.selection-card{flex-direction:column;gap:12px;display:flex}.selection-name{font-family:var(--font-heading);font-size:16px;font-weight:700}.selection-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.close-button{background:var(--surface-sunken);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:28px;height:28px;font-size:16px;font-weight:700}.blocked-note{background:var(--signal-weniger-flaeche);border-radius:var(--radius-md);color:var(--brand-primary);font-size:13px;font-weight:700;font-family:var(--font-heading);margin:0;padding:12px}.quickpick-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.quickpick{border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;border:none;padding:10px 0;font-size:12.5px;font-weight:700}.quickpick.negative{background:var(--signal-weniger-flaeche);color:var(--brand-primary)}.quickpick.active{background:var(--brand-primary);color:var(--text-on-brand)}.empty-note{text-align:center;color:var(--text-muted);margin:0;padding:20px;font-size:13px}.recent-title{margin-bottom:8px;font-size:11px}.recent-list{flex-direction:column;gap:6px;display:flex}.recent-row{background:var(--surface-sunken);border-radius:var(--radius-md);align-items:center;gap:8px;padding:9px 12px;display:flex}.recent-dot{width:16px;height:16px;font-size:8px;font-weight:700;font-family:var(--font-heading);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.recent-name{color:var(--text-secondary);flex:1;min-width:0;font-size:13px}.recent-points{font-family:var(--font-heading);color:var(--accent-teal);font-size:13px;font-weight:700}.lock-toggle-card{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.lock-toggle-text{flex:1}.admin-buttons{gap:8px;display:flex}.admin-button{border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;border:none;flex:1;padding:10px;font-size:12px;font-weight:700}.admin-button.danger{background:var(--signal-weniger-flaeche);color:var(--brand-primary)}.edit-row{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:12px 14px;display:flex}.edit-name{font-size:13px;font-weight:700;font-family:var(--font-heading);display:block}.points-input{border-radius:var(--radius-sm);border:1.5px solid var(--border-subtle);width:64px;font-family:var(--font-heading);text-align:center;color:var(--brand-primary);padding:8px;font-weight:700}.day-bar{justify-content:space-between;align-items:center;gap:8px;padding:8px 16px 0;display:flex}.day-bar-label{color:var(--text-muted);font-size:12px}.day-bar-value{color:var(--text-secondary);font-size:12px;font-weight:700;font-family:var(--font-heading)}.day-bar select{width:auto;padding:6px 10px;font-size:12px}.balance-row{background:var(--surface-sunken);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.item-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.item-button{border-radius:var(--radius-md);text-align:left;cursor:pointer;background:var(--surface-sunken);color:var(--text-secondary);border:none;padding:10px 8px}.item-button.active{background:var(--brand-primary);color:var(--text-on-brand)}.item-label{font-family:var(--font-heading);font-size:12.5px;font-weight:700;display:block}.item-price{opacity:.85;margin-top:2px;font-size:11px;display:block}.amount-input{font-size:20px;font-family:var(--font-heading);text-align:center;color:var(--brand-primary);font-weight:700}.kiosk-points{font-family:var(--font-heading);color:var(--brand-primary);font-size:13px;font-weight:700}.winner-mark{color:var(--accent-gold);font-size:11px;font-weight:700}.program-list{flex-direction:column;gap:8px;display:flex}.program-card{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.program-head{align-items:baseline;gap:10px;display:flex}.program-time{font-family:var(--font-heading);color:var(--brand-secondary);flex-shrink:0;min-width:92px;font-size:13px;font-weight:700}.program-title{font-family:var(--font-heading);font-size:14px;font-weight:700}.program-meta{color:var(--text-muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.program-note{color:var(--text-secondary);margin:0;font-size:12.5px}.program-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.program-actions .admin-button{flex:none;padding:7px 14px}.program-actions .admin-button.danger{color:var(--signal-weniger);background:0 0}.program-actions .admin-button.danger:hover{background:var(--signal-weniger-flaeche)}.program-form{flex-direction:column;gap:10px;display:flex}.form-row{gap:8px;display:flex}.form-field{flex-direction:column;flex:1;gap:4px;display:flex}.form-label{font-size:11px;font-family:var(--font-heading);color:var(--text-muted);letter-spacing:.04em;font-weight:700}.field-error{color:var(--brand-primary);margin:0;font-size:12px}.form-actions{align-items:center;gap:8px;display:flex}.form-actions .btn-primary{flex:2}.form-actions .admin-button{flex:1}.role-list{flex-direction:column;gap:8px;display:flex}.role-card{text-align:left;border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-sm);cursor:pointer;border:none;flex-direction:column;gap:2px;padding:14px;display:flex}.role-name{font-family:var(--font-heading);font-size:15px;font-weight:700}.role-note{color:var(--text-muted);font-size:12px}.role-lock{font-size:12px}.role-chip{background:var(--surface-sunken);border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-heading);color:var(--text-secondary);border:none;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:flex}.role-dot{background:var(--accent-teal);border-radius:999px;flex-shrink:0;width:7px;height:7px}.rights-card{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.rights-role{font-family:var(--font-heading);font-size:14px;font-weight:700}.rights-chips{flex-wrap:wrap;gap:6px;display:flex}.rights-chip{border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);align-items:baseline;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.rights-chip.edit{background:var(--signal-ok-flaeche);color:var(--accent-teal)}.rights-chip-mode{opacity:.75;font-size:10px;font-family:var(--font-heading);font-weight:700}.staff-card{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.staff-head{align-items:flex-start;gap:10px;display:flex}.staff-status{font-family:var(--font-heading);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-muted);flex-shrink:0;padding:4px 8px;font-size:10px;font-weight:700}.staff-status.aktiv{background:var(--signal-ok-flaeche);color:var(--accent-teal)}.staff-status.gesperrt{background:var(--signal-weniger-flaeche);color:var(--brand-primary)}.hint-box{color:var(--text-secondary);background:var(--surface-sunken);border-radius:var(--radius-md);margin:0;padding:10px 12px;font-size:12.5px}.tent-number{border-radius:var(--radius-sm);background:var(--surface-sunken);width:32px;height:32px;color:var(--text-secondary);font-family:var(--font-heading);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.edit-row.inner{box-shadow:none;background:var(--surface-sunken);padding:8px 10px}.hint-action{margin-top:10px}.public-page{flex-direction:column;gap:16px;max-width:560px;margin:0 auto;padding:20px 16px 40px;display:flex}.public-card{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:16px;padding:20px 18px;display:flex}.public-text{color:var(--text-secondary);margin:0;font-size:13.5px;line-height:1.5}.form-section{border:none;flex-direction:column;gap:12px;margin:0;padding:0;display:flex}.form-section+.form-section{margin-top:8px}.form-legend{font-family:var(--font-heading);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--paper-100);width:100%;margin-bottom:4px;padding:0 0 4px;font-size:12px;font-weight:700}.form-note{color:var(--text-muted);font-size:11px}.checkbox-row{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.checkbox-label{color:var(--text-secondary);font-size:13px}.token-box{background:var(--surface-sunken);border-radius:var(--radius-md);text-align:center;padding:14px}.token-label{font-size:11px;font-family:var(--font-heading);color:var(--text-muted);letter-spacing:.06em;font-weight:700;display:block}.token-value{font-family:var(--font-display);letter-spacing:.12em;color:var(--brand-primary);margin-top:6px;font-size:30px;display:block}.token-input{font-family:var(--font-display);letter-spacing:.16em;text-align:center;text-transform:uppercase;font-size:24px}.wish-box{background:var(--surface-sunken);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.wish-label{font-size:11px;font-family:var(--font-heading);color:var(--text-muted);letter-spacing:.06em;font-weight:700;display:block}.wish-name{font-family:var(--font-heading);font-size:16px;font-weight:700;display:block}.link-row{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:6px;display:flex}.link-label{font-size:11px;font-family:var(--font-heading);color:var(--text-muted);min-width:72px;font-weight:700}.link-value{color:var(--brand-secondary);word-break:break-all;font-size:12px}.detail-list{flex-direction:column;gap:6px;margin:0;padding-top:8px;display:flex}.detail-row{align-items:baseline;gap:10px;display:flex}.detail-row dt{font-size:11px;font-family:var(--font-heading);color:var(--text-muted);flex-shrink:0;min-width:118px;font-weight:700}.detail-row dd{color:var(--text-primary);margin:0;font-size:13px}.staff-status.bestaetigt{background:var(--signal-ok-flaeche);color:var(--accent-teal)}.staff-status.abgelehnt{background:var(--signal-weniger-flaeche);color:var(--brand-primary)}.member-card.static{cursor:default}.select-input.compact{flex-shrink:0;width:auto;padding:6px 8px;font-size:12px}.problem-list{flex-direction:column;gap:6px;display:flex}.problem-row{color:var(--text-secondary);background:var(--signal-warten-flaeche);border-radius:var(--radius-md);margin:0;padding:9px 12px;font-size:12.5px}.stat-row{gap:8px;display:flex}.stat-box{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;flex:1;padding:10px 12px}.stat-label{font-size:10px;font-family:var(--font-heading);color:var(--text-muted);letter-spacing:.06em;font-weight:700;display:block}.stat-value{font-family:var(--font-display);color:var(--brand-primary);margin-top:2px;font-size:18px;display:block}.mail-body{font-family:var(--font-body);font-size:13px;line-height:1.5}.mail-preview{white-space:pre-wrap;font-family:var(--font-body);color:var(--text-secondary);background:var(--surface-sunken);border-radius:var(--radius-md);margin:0;padding:12px;font-size:13px;line-height:1.5}.shift-people{flex-wrap:wrap;gap:8px;display:flex}.shift-person{color:var(--text-secondary);background:var(--surface-sunken);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:12.5px;display:inline-flex}.avatar.small{width:22px;height:22px;font-size:9px}.staff-picker{flex-wrap:wrap;gap:6px;display:flex}.staff-chip{border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;text-align:left;border:none;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 10px;font-size:12px;font-weight:700;display:flex}.staff-chip.active{background:var(--brand-secondary);color:var(--text-on-brand)}.staff-chip-meta{opacity:.8;font-size:10px;font-weight:400}.nur-vorlesen{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nur-laptop{display:none}.status-zelle{display:contents}.tabelle-kopf{display:none}@media (width>=900px){.nur-handy{display:none}.nur-laptop{display:block}.tabelle-kopf,.tabelle .member-card{text-align:left;grid-template-columns:minmax(0,1.8fr) minmax(0,.9fr) minmax(0,1.2fr) minmax(0,1fr) 96px 22px;align-items:center;gap:14px;display:grid}.tabelle-kopf{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--surface-sunken);margin-bottom:2px;padding:0 14px 8px;font-size:10px;font-weight:700}.tabelle{gap:2px}.tabelle .member-card-wrapper{border-radius:var(--radius-sm)}.tabelle .member-card{padding:7px 14px}.tabelle .member-name{font-size:13.5px}.tabelle .member-main{min-width:0;display:block}.zelle{text-align:left;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0;font-size:13px;overflow:hidden}.zelle-zusatz{color:var(--text-muted);font-size:11px;display:block}.zelle-leer{color:var(--text-muted)}.status-zelle{align-items:center;gap:6px;display:flex}.staff-kopf,.tabelle .staff-card{text-align:left;grid-template-columns:28px minmax(0,1.3fr) minmax(0,1.6fr) minmax(0,1.3fr) 96px 268px;align-items:center;gap:12px;display:grid}.staff-kopf{padding-left:14px;padding-right:14px}.tabelle .staff-head{display:contents}.tabelle .staff-card{padding:6px 14px}.tabelle .staff-card .member-main{min-width:0;display:block}.tabelle .staff-card .program-actions{justify-content:flex-end;gap:4px;margin:0}.tabelle .staff-card .admin-button{flex:none;padding:6px 10px;font-size:11px}.member-list.karten{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));align-items:start;gap:10px 16px;display:grid}.member-list.spalten{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-content:start;gap:2px 20px;display:grid}}.kachel-raster{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:8px;display:grid}.kachel{border-radius:var(--radius-md);background:var(--surface-card);min-height:92px;box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;border:none;border-left:3px solid #0000;flex-direction:column;gap:3px;padding:14px;font-family:inherit;display:flex}.kachel:hover{box-shadow:var(--shadow-md)}.kachel-label{font-family:var(--font-heading);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.kachel-wert{font-family:var(--font-display);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:auto;font-size:26px;line-height:1.05;overflow:hidden}.kachel-hinweis{color:var(--text-muted);font-size:11.5px}.kachel.fehler{border-left-color:var(--signal-weniger);background:var(--signal-weniger-flaeche)}.kachel.fehler .kachel-wert{color:var(--signal-weniger)}.kachel.offen{border-left-color:var(--brand-secondary)}.kachel.offen .kachel-wert{color:var(--brand-secondary)}.kachel.erledigt{border-left-color:var(--signal-ok)}.kachel.erledigt .kachel-wert{color:var(--signal-ok);font-size:20px}.kachel.neutral .kachel-wert{font-size:20px}.kachel-laedt{color:var(--text-muted);cursor:default;box-shadow:none;background:var(--surface-sunken);place-items:center;font-size:12px;display:grid}.textarea{resize:vertical;min-height:90px;font-size:14px;line-height:1.5}.aushang-aktion{display:flex}.aushang-aktion .admin-button{flex:none;padding:9px 16px}.aushang{flex-direction:column;gap:10px;display:flex}.aushang-zettel{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-left:3px solid #0000;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.aushang-zettel.wichtig{border-left-color:var(--signal-weniger);background:var(--signal-weniger-flaeche)}.aushang-zettel.neu{border-left-color:var(--brand-secondary)}.aushang-zettel.wichtig.neu{border-left-color:var(--signal-weniger)}.aushang-kopf{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.aushang-titel{font-family:var(--font-heading);flex:1;min-width:0;margin:0;font-size:15px;font-weight:700;line-height:1.3}.aushang-marke,.aushang-neu{font-family:var(--font-heading);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-pill);white-space:nowrap;padding:3px 8px;font-size:10px;font-weight:700}.aushang-marke{background:var(--signal-weniger);color:var(--text-on-brand)}.aushang-neu{background:var(--brand-secondary);color:var(--text-on-brand)}.aushang-text{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.55}.aushang-fuss{color:var(--text-muted);margin:0;font-size:11.5px}.aushang-zettel.wichtig .admin-button{background:var(--surface-card)}.aushang-zettel.wichtig .admin-button.danger{color:var(--signal-weniger)}@media (width>=900px){.aushang-zettel{max-width:68ch}}.bewerbungen{flex-direction:column;gap:10px;display:flex}.bewerbung{border-left:3px solid var(--brand-secondary);flex-direction:column;gap:12px;display:flex}.bewerbung-angaben{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px;display:grid}.bewerbung-angaben dt{color:var(--text-secondary)}.bewerbung-angaben dd{color:var(--text-primary);margin:0}.sicherheitsabfrage{flex-direction:column;gap:6px;display:flex}.sicherheitsabfrage>div{min-height:65px}.vorfuehr-balken{background:var(--brand-secondary);color:var(--text-on-brand);flex-direction:column;gap:6px;padding:8px 16px;font-size:13px;display:flex}.vorfuehr-zeile{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.vorfuehr-titel{letter-spacing:.02em;font-weight:700}.vorfuehr-hinweis{opacity:.9}.vorfuehr-links{gap:6px}@media (width<=599px){.vorfuehr-balken{gap:4px;padding:6px 12px;font-size:12px}.vorfuehr-links{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.vorfuehr-links::-webkit-scrollbar{display:none}.vorfuehr-link{white-space:nowrap}.vorfuehr-hinweis{flex-basis:100%;order:3}}.vorfuehr-link{color:var(--text-on-brand);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:3px 10px;text-decoration:none}.vorfuehr-link:hover{border-color:currentColor}.vorfuehr-link.aktiv{background:var(--text-on-brand);color:var(--brand-secondary);font-weight:600}.vorfuehr-link:focus-visible{outline:2px solid var(--text-on-brand);outline-offset:2px}.vorfuehr-zurueck{opacity:.85;margin-left:auto}.vorfuehr-login{opacity:.9;margin:0}.vorfuehr-login code{background:color-mix(in srgb, var(--text-on-brand) 18%, transparent);border-radius:4px;padding:1px 6px;font-size:12px}.verwaltung{border-top:1px solid var(--border-subtle);flex-direction:column;gap:10px;margin-top:24px;padding-top:16px;display:flex}.verwaltung-titel{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:12px;font-weight:700}.leiste-unten{z-index:30;padding:4px 6px calc(4px + env(safe-area-inset-bottom));background:var(--surface-card);border-top:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);justify-content:space-around;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0}.leisten-knopf{border-radius:var(--radius-md);min-width:0;min-height:52px;color:var(--text-muted);font-family:var(--font-heading);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:11px;font-weight:700;display:flex}.leisten-symbol{border-radius:var(--radius-pill);justify-content:center;align-items:center;padding:3px 16px;display:flex}.leisten-text{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.leisten-knopf.aktiv{color:var(--brand-secondary)}.leisten-knopf.aktiv .leisten-symbol{background:color-mix(in srgb, var(--brand-secondary) 14%, transparent)}.leisten-knopf:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:-2px}.app-shell:has(.leiste-unten){padding-bottom:calc(72px + env(safe-area-inset-bottom))}.nav-handy .reiter{margin-bottom:2px}.nav-handy .mode-switch{margin-bottom:8px}.checkbox-label .form-note{margin-top:2px;display:block}.aufgaben-werkzeuge{align-items:center;gap:10px;display:flex}.aufgaben-neu{width:auto;margin-left:auto;padding:10px 18px}.segment{background:var(--surface-sunken);border-radius:var(--radius-pill);gap:3px;padding:3px;display:inline-flex}.segment-knopf{border-radius:var(--radius-pill);font-family:var(--font-heading);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:7px 14px;font-size:12px;font-weight:700}.segment-knopf.aktiv{background:var(--surface-page);color:var(--text-primary);box-shadow:var(--shadow-sm)}.aufgabe{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-left:3px solid #0000;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.aufgabe.ueberfaellig{border-left-color:var(--signal-weniger)}.aufgabe.erledigt .aufgabe-titel{color:var(--text-muted);text-decoration:line-through}.aufgabe-titel{all:unset;cursor:pointer;font-family:var(--font-heading);color:var(--text-primary);overflow-wrap:anywhere;font-size:14px;font-weight:700}.aufgabe-titel:hover{text-decoration:underline}.aufgabe-titel:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px;border-radius:4px}.aufgabe-notiz{color:var(--text-secondary);white-space:pre-line;margin:0;font-size:12.5px}.aufgabe-meta{color:var(--text-muted);flex-wrap:wrap;gap:4px 10px;font-size:12px;display:flex}.aufgabe-person{color:var(--text-secondary);font-weight:700}.aufgabe-datum.warnung{color:var(--signal-weniger);font-weight:700}.aufgabe-bereich{border-radius:var(--radius-pill);background:var(--surface-sunken);padding:0 8px}.aufgabe-status{align-self:flex-start;width:auto;padding:5px 10px;font-size:12px}.zaehler{border-radius:var(--radius-pill);background:var(--surface-sunken);min-width:20px;color:var(--text-secondary);text-align:center;vertical-align:middle;margin-left:4px;padding:0 6px;font-size:11px;display:inline-block}.aufgaben-personen{flex-direction:column;gap:18px;display:flex}.aufgaben-person{flex-direction:column;gap:8px;display:flex}.aufgaben-person-titel,.aufgaben-spalte-titel{font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:13px;font-weight:700}.aufgaben-erledigt summary{cursor:pointer;color:var(--text-muted);padding:4px 0;font-size:12px}.aufgaben-erledigt[open]{flex-direction:column;gap:8px;display:flex}.aufgaben-spalten{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;display:grid}.aufgaben-spalte{border-radius:var(--radius-md);background:var(--surface-sunken);flex-direction:column;gap:8px;min-height:120px;padding:10px;display:flex}.zurueck-link{all:unset;cursor:pointer;font-family:var(--font-heading);color:var(--brand-secondary);align-self:flex-start;padding:4px 0;font-size:13px;font-weight:700}.zurueck-link:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px;border-radius:4px}.ok-text{color:var(--signal-ok);margin:0;font-size:13px;font-weight:700}.protokoll-karte{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.protokoll-karte:hover{box-shadow:var(--shadow-md,var(--shadow-sm))}.protokoll-karte:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px}.protokoll-kopf{justify-content:space-between;align-items:center;gap:8px;display:flex}.protokoll-datum{color:var(--brand-secondary);font-size:12px;font-weight:700;font-family:var(--font-heading)}.protokoll-titel{font-family:var(--font-heading);color:var(--text-primary);font-size:15px;font-weight:700}.protokoll-status{border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);padding:2px 8px;font-size:11px;font-weight:700}.protokoll-status.freigegeben{background:color-mix(in srgb, var(--signal-ok) 16%, transparent);color:var(--signal-ok)}.beschluss{border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-sm);border-left:3px solid var(--signal-ok);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.beschluss-titel{font-family:var(--font-heading);font-size:14px;font-weight:700}.top{border-radius:var(--radius-md);background:var(--surface-sunken);border-left:3px solid #0000;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.top.beschluss-markiert{border-left-color:var(--signal-ok)}.top-kopf{justify-content:space-between;align-items:center;gap:8px;display:flex}.top-nr{font-family:var(--font-heading);color:var(--text-muted);letter-spacing:.04em;font-size:12px;font-weight:700}.top-weg{color:var(--signal-weniger);background:0 0;flex:none;padding:5px 10px}.protokoll-ansicht{flex-direction:column;gap:10px;display:flex}.protokoll-aktionen{justify-content:flex-end}.protokoll-aufgaben{flex-direction:column;gap:8px;margin-top:8px;display:flex}.protokoll-aufgabe{border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-sm);flex-direction:column;gap:2px;padding:8px 12px;display:flex}.protokoll-aufgabe-titel{font-size:13px;font-weight:700}.aufgabe-schnell{border:1px dashed var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.aufgabe-schnell .admin-button{flex:none;align-self:flex-start;padding:8px 14px}textarea.text-input{font:inherit;resize:vertical}.top .top-weg{background:0 0}.protokoll-aktionen .admin-button.danger{color:var(--signal-weniger);background:0 0;flex:none;margin-right:auto}.app-header{padding:10px 16px;position:relative}.app-marke{flex:none}.mode-switch.kompakt{margin:0 0 0 auto;padding:2px}.mode-switch.kompakt .mode-button{flex:none;padding:6px 10px;font-size:12px}.konto{flex:none;position:relative}.konto-knopf{border-radius:var(--radius-pill);background:var(--surface-sunken);cursor:pointer;font-family:var(--font-heading);color:var(--text-secondary);border:none;align-items:center;gap:8px;padding:3px 12px 3px 3px;font-size:12px;font-weight:700;display:flex}.konto-knopf:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px}.konto-initialen{background:var(--brand-secondary);width:30px;height:30px;color:var(--text-on-brand);letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;font-size:11px;display:flex}.konto-menue{z-index:40;border-radius:var(--radius-md);background:var(--surface-card);min-width:220px;box-shadow:var(--shadow-md);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.konto-wer{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);flex-direction:column;gap:1px;margin-bottom:4px;padding:8px 10px 10px;font-size:13px;display:flex}.konto-email{color:var(--text-muted);overflow-wrap:anywhere;font-size:11.5px}.konto-eintrag{border-radius:var(--radius-sm);text-align:left;font:inherit;color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:11px 10px;font-size:14px}.konto-eintrag:hover,.konto-eintrag:focus-visible{background:var(--surface-sunken);outline:none}.konto-eintrag.abmelden{color:var(--signal-weniger)}@media (width<=899px){.konto-knopf{padding:3px}.konto-rolle{display:none}}.kachel-raster{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}@media (width<=599px){.kachel{min-height:84px;padding:12px}.kachel-wert{font-size:24px}.category-grid{grid-template-columns:repeat(2,1fr)}.category-tab{padding:12px 6px;font-size:13px}}.day-bar{padding-top:10px}
