/* Schriften lokal (fonts/) – Auswahl unter Admin → Einstellungen → Schriftarten (--font-serif / --font-sans) */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/cormorant-garamond-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;src:url('../fonts/cormorant-garamond-latin-300-italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/dm-sans-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/dm-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/dm-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/source-sans-3-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/source-sans-3-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/nunito-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/nunito-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/work-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/work-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/lora-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/lora-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/libre-baskerville-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/source-serif-4-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/source-serif-4-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Merriweather';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/merriweather-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Merriweather';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/merriweather-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Merriweather';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/merriweather-latin-700-normal.woff2') format('woff2')}
*{box-sizing:border-box;margin:0;padding:0}
html{scrollbar-gutter:stable}
:root{--cream:#FAF7F2;--rose:#C9798A;--rose-light:#F2DCE1;--rose-dark:#9A6B7D;--sage:#8A9E7E;--sage-light:#E8EFE5;--text:#2C2420;--text-light:#6B635F;--border:#E8E0D8;--white:#FFFFFF;--font-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--font-sans:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-md:15px;--text-lg:18px;--text-xl:1.625rem;--text-display:2rem;--leading-tight:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--weight-normal:400;--weight-medium:500;--weight-semibold:500}
body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);background:var(--cream);color:var(--text);min-height:100vh}
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cream)0%,var(--rose-light)100%)}
.auth-card{background:var(--white);border-radius:16px;padding:2.5rem;width:100%;max-width:420px;box-shadow:0 8px 40px rgba(44,36,32,.1)}
.auth-logo{text-align:center;margin-bottom:2rem}
.auth-logo-mark{padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}
.auth-logo img{max-height:80px;max-width:200px;object-fit:contain;margin-bottom:0;display:block;margin-left:auto;margin-right:auto}
.auth-logo h2{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:.04em;color:var(--text-light);line-height:var(--leading-tight);margin:0}
.auth-form{margin:0}
.field-group{margin-bottom:1rem}
.field-group label{display:block;font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.04em;color:var(--text-light);margin-bottom:6px;text-transform:uppercase}
.field-group input,.field-group select,.field-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);outline:none;transition:border-color .2s;background:var(--cream);color:var(--text)}
.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:var(--rose)}
.password-input-wrap{position:relative;display:flex;align-items:center}
.password-input-wrap input{width:100%;padding-right:42px}
.password-input-wrap input.password-masked{-webkit-text-security:disc}
.password-input-wrap input::-ms-reveal,.password-input-wrap input::-ms-clear{display:none}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;padding:4px;color:var(--text-light);display:flex;align-items:center;justify-content:center;line-height:0;border-radius:4px;z-index:1}
.password-toggle:hover{color:var(--text)}
.password-toggle:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
/* Buttons – einheitliches System */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:8px;border:1px solid transparent;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);cursor:pointer;transition:background .2s,border-color .2s,color .2s,opacity .2s;white-space:nowrap;background:var(--white);color:var(--text)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-block{width:100%}
.btn-sm{padding:6px 12px;font-size:var(--text-xs);border-radius:6px}
.btn-primary{background:var(--rose);color:#fff;border-color:var(--rose)}
.btn-primary:hover:not(:disabled){background:var(--rose-dark);border-color:var(--rose-dark)}
.btn-secondary{background:var(--sage);color:#fff;border-color:var(--sage)}
.btn-secondary:hover:not(:disabled){background:#758f69;border-color:#758f69}
.btn-save{background:var(--sage);color:#fff;border-color:var(--sage)}
.btn-save:hover:not(:disabled){background:#758f69;border-color:#758f69}
.btn-check{background:var(--rose);color:#fff;border-color:var(--rose)}
.btn-check:hover:not(:disabled){background:var(--rose-dark);border-color:var(--rose-dark)}
.btn-outline{background:var(--white);border-color:var(--border);color:var(--text)}
.btn-outline:hover:not(:disabled){border-color:var(--rose);color:var(--rose)}
.btn-muted{background:var(--cream);border-color:var(--border);color:var(--text)}
.btn-muted:hover:not(:disabled){border-color:var(--rose);color:var(--rose-dark)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--rose);padding:6px 8px}
.btn-ghost:hover:not(:disabled){background:var(--rose-light)}
.btn-danger{background:#c0392b;color:#fff;border-color:#c0392b}
.btn-danger:hover:not(:disabled){background:#a93226;border-color:#a93226}
.btn-danger-outline{background:var(--white);border-color:#e8c4c0;color:#c0392b}
.btn-danger-outline:hover:not(:disabled){background:#fdecea;border-color:#c0392b}
.btn-section{margin-top:.75rem}
/* Button-Rollen: primary=Hauptaktion | secondary=PDF/Status | save=Speichern (Sage) | check=Prüfen (Rose) | muted=Bearbeiten | outline=Abbrechen | danger*=Löschen/Storno */
.cal-nav button,.month-nav button{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--white);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-tight);cursor:pointer;transition:background .2s,border-color .2s,color .2s;color:var(--text)}
.cal-nav button:hover,.month-nav button:hover{border-color:var(--rose);color:var(--rose)}
.pdf-actions button{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:6px;border:1px solid var(--sage);background:var(--sage);color:#fff;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:background .2s}
.pdf-actions button:hover{background:#758f69;border-color:#758f69}
.error-msg{color:var(--rose-dark);font-size:12px;margin-top:.5rem;text-align:center}
.auth-error-box{margin:.75rem 0;padding:10px 12px;background:#fdecea;border:1px solid #f5c2c7;border-radius:8px;color:#9a3b32;font-size:var(--text-sm);line-height:var(--leading-normal);text-align:left}
.auth-error-box strong{display:block;margin-bottom:4px;font-weight:var(--weight-semibold);color:#c0392b}
.form-error-msg{color:#c0392b;font-size:11px;margin-top:.5rem;padding:6px 10px;background:#fdecea;border-radius:6px}
.admin-hint{font-size:11px;color:var(--text-light);text-align:center;margin-top:1rem}
.success-msg{color:var(--sage);font-size:12px;margin-top:.5rem;text-align:center}
.app{min-height:100vh;display:flex;flex-direction:column}
/* Hintergrund-Scroll sperren, solange ein Overlay/Modal offen ist (alle Seiten). */
body:has(.modal-overlay),
body:has(.mobile-nav-overlay),
body:has(.toolbar-month-backdrop){overflow:hidden}
/* Monats-Picker-Backdrop nur auf Mobile (siehe mobile.css). */
.toolbar-month-backdrop{display:none}
.topbar{background:var(--white);border-bottom:1px solid var(--border);padding:0 1.5rem;height:56px;display:flex;align-items:center;justify-content:space-between}
.topbar-logo{display:flex;align-items:center;min-height:40px}
.topbar-logo img{max-height:38px;max-width:min(240px,44vw);object-fit:contain;display:block;opacity:1}
.topbar-logo-text{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:400;letter-spacing:.03em;line-height:var(--leading-tight)}
.topbar-right{display:flex;align-items:center;gap:1rem}
.user-badge{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-light)}.user-badge strong{color:var(--text);font-weight:var(--weight-semibold)}
.db-dot{width:8px;height:8px;border-radius:50%;background:var(--sage);display:inline-block;margin-right:4px}
.db-dot.err{background:#c0392b}
.db-label{font-size:10px;color:var(--text-light)}
.nav-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--white);padding:0 1.5rem;overflow-x:auto}
.nav-tab{padding:12px 14px;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;color:var(--text-light);border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap;line-height:var(--leading-tight)}
.nav-tab.active{color:var(--rose);border-bottom-color:var(--rose);font-weight:var(--weight-semibold)}
.main{flex:1;padding:1.5rem;max-width:1100px;margin:0 auto;width:100%}
.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;background:var(--cream)}
.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--rose);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}
.page-title{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:400;line-height:var(--leading-tight);letter-spacing:.01em}
.contact-banner{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-bottom:1.25rem;display:flex;align-items:center;gap:12px;font-size:13px}
.contact-banner a{color:var(--rose);text-decoration:none;font-weight:500}
.cal-nav{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.cal-month{font-size:15px;font-weight:500;min-width:140px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:visible}
.cal-dow{background:var(--sage-light);padding:8px;text-align:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);font-weight:500}
.cal-day{background:var(--white);min-height:90px;padding:6px;cursor:pointer;transition:background .15s;overflow:visible;display:flex;flex-direction:column}
.cal-day:not(.unavail):hover{background:var(--rose-light)}.cal-day:not(.unavail):hover .day-hint{opacity:1}
.cal-day.unavail{background:#f2f2f2;cursor:not-allowed}.cal-day.unavail:hover{background:#f2f2f2}
.cal-day.unavail-future{cursor:pointer;background:#f2f2f2}.cal-day.unavail-future:hover{background:#e0e0e0}
.cal-day.unavail-future:hover .day-num{color:#888}
.cal-day.unavail .day-num{color:#bbb}.cal-day.unavail:not(.unavail-future) .day-hint{display:none}
.cal-day.unavail-future .day-hint{opacity:0;color:var(--text-light);line-height:1.3;white-space:normal}
.cal-day.unavail-future:hover .day-hint{opacity:1}
.cal-day.empty{background:var(--cream);cursor:default}.cal-day.empty:hover{background:var(--cream)}
.cal-day.today .day-num{background:var(--rose);color:white;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.day-num{font-size:12px;font-weight:500;margin-bottom:2px;width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.day-hint{opacity:0;font-size:9px;color:var(--rose);transition:opacity .15s}
.holiday-label{font-size:8px;color:#bbb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}
.day-event{background:var(--rose-light);border-left:2px solid var(--rose);border-radius:3px;padding:2px 5px;font-size:10px;margin-bottom:2px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--rose-dark)}
.day-event:hover{background:var(--rose);color:white}
.day-event.admin-view{background:var(--sage-light);border-left-color:var(--sage);color:#3d5c35}.day-event.admin-view:hover{background:var(--sage);color:white}
.day-event.past{opacity:.5}.day-event.shifted{border-left-color:#e67e22}
.day-summary{margin-top:2px}
.day-summary-count{background:var(--rose-light);border:1px solid var(--rose);border-left:3px solid var(--rose);border-radius:4px;padding:4px 6px;font-size:10px;font-weight:var(--weight-semibold);color:var(--rose-dark);margin-top:2px;margin-bottom:2px;line-height:1.35;cursor:pointer;display:block;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.day-summary-count:hover{background:var(--rose);border-color:var(--rose);color:white}
.day-summary-count.past{opacity:.55}
.day-summary.past .day-summary-count,.day-summary.past .day-summary-line{opacity:.5}
.day-summary-line{background:var(--rose-light);border-left:2px solid var(--rose);border-radius:3px;padding:2px 5px;font-size:10px;margin-bottom:2px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--rose-dark);line-height:1.35}
.day-summary-line:hover{background:var(--rose);color:white}
.day-summary-line.shifted{border-left-color:#e67e22}
.day-summary-more{font-weight:500;cursor:pointer;text-decoration:underline}
.day-popup-list{display:flex;flex-direction:column;gap:8px;margin-bottom:1rem;max-height:50vh;overflow-y:auto}
.day-popup-item{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;transition:border-color .15s}
.day-popup-item:hover{border-color:var(--rose)}
.day-popup-item-primary{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:4px;line-height:var(--leading-tight)}
.day-popup-item-detail{font-size:var(--text-xs);color:var(--text-light);line-height:1.45}
.cal-text-box{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-top:1rem;font-size:12px;color:var(--text-light)}
.cal-help-intro{margin-bottom:8px;line-height:var(--leading-relaxed)}
.cal-help-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);margin-bottom:6px}
.cal-help-list{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:5px;line-height:var(--leading-relaxed)}
.cal-help-list li::marker{color:var(--rose)}
.date-dropdown{position:relative}
.date-dropdown-trigger{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);background:var(--cream);color:var(--text);cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between}
.date-dropdown-trigger:hover{border-color:var(--rose)}
.date-dropdown-trigger.empty{color:var(--text-light)}
.date-dropdown-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:100%;min-width:280px;background:var(--white);border:1px solid var(--border);border-radius:12px;padding:10px;box-shadow:0 12px 32px rgba(44,36,32,.14)}
.date-dropdown-panel .cal-nav{margin-bottom:8px;gap:.5rem}
.date-dropdown-panel .cal-month{font-size:var(--text-sm);min-width:0;flex:1;text-align:center}
.date-dropdown-panel .cal-grid{border-radius:8px}
.date-dropdown-panel .cal-day{min-height:34px;padding:2px}
.date-dropdown-panel .cal-dow{padding:4px;font-size:10px}
.date-dropdown-panel .day-num{font-size:11px;width:20px;height:20px}
.date-dropdown-panel .cal-day.today .day-num{width:20px;height:20px}
.date-dropdown-panel .holiday-label{display:none}
.date-dropdown-panel .cal-day.selected{background:var(--rose-light);box-shadow:inset 0 0 0 2px var(--rose)}
.date-dropdown-panel .cal-day:not(.unavail):not(.empty):hover{background:var(--rose-light)}
.date-dropdown-panel .cal-day.unavail-future{cursor:pointer;background:#f2f2f2}
.date-dropdown-panel .cal-day.unavail-future:hover{background:#e0e0e0}
.date-dropdown-panel .cal-day.unavail-future:hover .day-num{color:#888}
.date-dropdown-hint{font-size:var(--text-xs);color:var(--text-light);margin-top:6px;line-height:var(--leading-normal)}
.modal-overlay{position:fixed;inset:0;background:rgba(44,36,32,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}
.modal-overlay.idle-timeout-overlay{z-index:250}
.modal{background:var(--white);border-radius:16px;padding:2rem;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px rgba(44,36,32,.2)}
.modal-xl{max-width:800px}
.modal.modal-day-popup{max-width:480px}
.modal.modal-idle-timeout{max-width:420px}
.modal.modal-invoice-reminder{max-width:460px}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.modal-title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:400;line-height:var(--leading-tight)}
.modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-light)}
.form-section{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);margin:1rem 0 .75rem;padding-bottom:4px;border-bottom:1px solid var(--border)}
.form-section-header{font-size:13px;font-weight:var(--weight-medium);color:var(--text);background:var(--cream);padding:8px 12px;border-radius:6px;margin:1.5rem 0 .75rem;border-left:3px solid var(--rose)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}
.modal-actions-sticky{position:sticky;bottom:0;z-index:2;background:var(--white);padding-top:.75rem;margin-top:1.5rem;border-top:1px solid var(--border)}
.modal-admin-order{display:flex;flex-direction:column;max-height:92vh;overflow:hidden;padding:0}
.modal-admin-order .modal-header{margin-bottom:0;padding:2rem 2rem 0;flex-shrink:0}
.modal-admin-order-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 2rem 1rem;-webkit-overflow-scrolling:touch}
.modal-admin-order-footer{flex-shrink:0;padding:.75rem 2rem 2rem;background:var(--white);border-top:1px solid var(--border);position:relative;z-index:5}
.modal-admin-order-footer .modal-actions{margin-top:0}
.modal-actions .btn{flex:1;padding:12px 16px;font-size:var(--text-base)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.75rem 0}
.detail-item{background:var(--cream);border-radius:8px;padding:10px 12px}
.detail-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);margin-bottom:3px}
.detail-value{font-size:13px;font-weight:500}
.shift-note-box{font-size:11px;color:#c07000;background:#fef9f0;border:1px solid #ffd591;border-radius:4px;padding:4px 8px}
.filter-tabs{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}
.filter-tab{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:6px;font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-tight);cursor:pointer;border:1px solid var(--border);background:var(--white);font-family:var(--font-sans);color:var(--text-light);transition:background .2s,border-color .2s,color .2s}
.filter-tab:hover{border-color:var(--rose);color:var(--rose)}
.filter-tab.active{background:var(--rose);color:#fff;border-color:var(--rose);font-weight:var(--weight-medium)}
.filter-tab.past-tab.active{background:#888;border-color:#888;color:#fff}
.filter-tab.future-tab.active{background:var(--sage);border-color:var(--sage);color:#fff}
.orders-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-bottom:1rem;padding:10px 14px;background:var(--white);border:1px solid var(--border);border-radius:10px}
.orders-toolbar-admin{display:grid;grid-template-columns:auto 1fr auto;align-items:center;flex-wrap:nowrap}
.toolbar-slot-hidden{visibility:hidden;pointer-events:none}
.toolbar-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.toolbar-label{font-size:10px;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);white-space:nowrap}
.toolbar-cal-nav{flex:1;justify-content:center;min-width:min(100%,240px)}
.btn-segment{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--cream)}
.toolbar-btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 14px;border:none;border-radius:0;border-right:1px solid var(--border);background:transparent;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-tight);cursor:pointer;transition:background .2s,color .2s,border-color .2s;color:var(--text-light);white-space:nowrap}
.btn-segment .toolbar-btn:last-child{border-right:none}
.toolbar-btn:hover{background:rgba(255,255,255,.55);color:var(--rose)}
.toolbar-btn.active{background:var(--rose);color:#fff;font-weight:var(--weight-semibold)}
.toolbar-btn.active:hover{background:var(--rose-dark);color:#fff}
.toolbar-btn-standalone{border:1px solid var(--border);border-radius:8px;background:var(--cream);color:var(--text-light)}
.toolbar-btn-standalone:hover{background:rgba(255,255,255,.55);color:var(--rose);border-color:var(--border)}
.toolbar-btn-standalone.active{background:var(--rose);color:#fff;border-color:var(--rose);font-weight:var(--weight-semibold)}
.toolbar-btn-standalone.active:hover{background:var(--rose-dark);border-color:var(--rose-dark);color:#fff}
.toolbar-month{font-size:var(--text-sm);font-weight:var(--weight-medium);min-width:118px;text-align:center;color:var(--text);line-height:var(--leading-tight);padding:7px 12px;border-right:1px solid var(--border);background:var(--cream)}
.btn-segment .toolbar-month:last-child{border-right:none}
.toolbar-cal-nav .btn-segment-cal-nav{overflow:visible}
.toolbar-month-picker{position:relative;display:flex;align-items:stretch;flex:0 1 auto;align-self:stretch;border-right:1px solid var(--border)}
.toolbar-month-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:none;border-right:none;cursor:pointer;font-family:var(--font-sans);transition:background .2s,color .2s;min-width:118px;height:100%}
.toolbar-month-btn:hover{background:rgba(255,255,255,.55);color:var(--rose)}
.toolbar-month-caret{font-size:9px;color:var(--text-light);line-height:1}
.toolbar-month-panel{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);z-index:40;min-width:220px;background:var(--white);border:1px solid var(--border);border-radius:10px;padding:12px;box-shadow:0 12px 32px rgba(44,36,32,.14)}
.toolbar-month-panel-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.toolbar-month-panel-row:last-of-type{margin-bottom:0}
.toolbar-month-panel-row label{font-size:11px;color:var(--text-light);min-width:42px}
.toolbar-month-panel-row select{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-family:var(--font-sans);font-size:12px;background:var(--white);outline:none;cursor:pointer}
.toolbar-month-panel-row select:focus{border-color:var(--rose)}
.toolbar-month-panel-actions{margin-top:10px}
.list-view{display:flex;flex-direction:column;gap:.5rem}
.list-item{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:12px 16px;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}
.list-item-aside{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;min-width:92px}
.list-item-admin{align-items:flex-start}
.list-item-admin .list-info{gap:3px}
.list-item:hover{border-color:var(--rose)}.list-item.past-item{opacity:.65}
.list-date{font-size:11px;text-align:center;background:var(--rose-light);border-radius:8px;padding:6px 10px;min-width:48px}
.list-date-day{font-size:18px;font-weight:var(--weight-medium);color:var(--rose-dark);line-height:1}
.list-date-mon{font-size:10px;text-transform:uppercase;color:var(--rose)}
.list-info h4{font-size:13px;font-weight:500;margin-bottom:2px}
.list-info p{font-size:11px;color:var(--text-light)}
.shift-info-mark{font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--text);background:var(--cream);border:1px solid #e67e22;border-left:3px solid #e67e22;border-radius:6px;padding:5px 8px;margin-top:4px}
.shift-info-mark-compact{font-size:9px;padding:3px 5px;margin-top:2px;line-height:1.35;flex-shrink:0;white-space:normal;word-break:break-word;max-width:100%}
.shift-info-mark-label{font-weight:var(--weight-semibold);color:#b45309;margin-right:4px}
.shift-info-mark-text{color:var(--text-light)}
.cal-day-order-wrap{margin-bottom:2px;flex-shrink:0;min-width:0}
.cal-day .day-hint{margin-top:auto;flex-shrink:0}
.day-summary-count.has-shifted{border-left-color:#e67e22;border-color:#e67e22}
.cal-day.cal-day-busy{min-height:112px}
.cal-day.cal-day-shifted{min-height:124px}
.list-badge{font-size:10px;background:var(--sage-light);color:#3d5c35;padding:3px 8px;border-radius:10px}
.order-status-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:var(--weight-medium);padding:4px 10px;border-radius:10px;border:1px solid rgba(44,36,32,.08);color:var(--text);white-space:nowrap;line-height:1.2}
.order-status-badge-compact{font-size:9px;padding:2px 7px;border-radius:8px}
.order-status-row{display:flex;align-items:center;gap:8px;margin-bottom:.75rem;flex-wrap:wrap}
.order-status-row .ld-label{font-size:12px;color:var(--text-light)}
.day-popup-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.repeat-badge{font-size:10px;background:var(--rose-light);color:var(--rose-dark);padding:2px 7px;border-radius:10px;margin-left:4px}
.empty-state{text-align:center;padding:3rem;color:var(--text-light)}
.profile-section{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}
.profile-section h3{font-family:var(--font-serif);font-size:1.2rem;font-weight:400;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.checkbox-wrap{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--sage-light);border-radius:8px;margin-top:.75rem}
.checkbox-wrap input[type=checkbox]{width:16px;height:16px;accent-color:var(--sage);margin-top:2px;cursor:pointer;flex-shrink:0}
.checkbox-label{font-size:13px;color:var(--text)}
.checkbox-label small{display:block;font-size:11px;color:var(--text-light);margin-top:2px}
.repeat-wrap{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--cream);border:1px solid var(--border);border-radius:8px;margin-top:.75rem;cursor:pointer;user-select:none}
.repeat-wrap input[type=checkbox]{width:16px;height:16px;accent-color:var(--rose);cursor:pointer;flex-shrink:0;margin-top:2px}
.repeat-label{font-size:13px;color:var(--text)}
.repeat-label small{display:block;font-size:11px;color:var(--text-light);margin-top:2px}
.bouquet-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}
.bouquet-card{border:2px solid var(--border);border-radius:10px;padding:12px;cursor:pointer;transition:all .2s;text-align:center}
.bouquet-card.selected{border-color:var(--rose);background:var(--rose-light)}
.bouquet-card h4{font-size:13px;font-weight:500;margin-bottom:4px}
.bouquet-card .price{font-size:18px;font-weight:var(--weight-medium);color:var(--rose-dark);font-family:var(--font-serif)}
.email-panel{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}
.email-preview{background:var(--cream);border:1px solid var(--border);border-radius:8px;padding:1rem;font-size:var(--text-sm);line-height:var(--leading-relaxed);white-space:pre-wrap;max-height:250px;overflow-y:auto;margin-top:1rem}
.company-summary-item{background:var(--cream);border-radius:8px;padding:10px 12px;margin-bottom:.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.send-chip{font-size:10px;background:var(--sage-light);color:#3d5c35;padding:2px 8px;border-radius:10px}
.no-send-chip{font-size:10px;background:var(--rose-light);color:var(--rose-dark);padding:2px 8px;border-radius:10px}
.info-box{padding:10px 12px;background:var(--cream);border-radius:8px;font-size:12px;color:var(--text-light);margin-bottom:.75rem}
.month-nav{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}
.month-label{font-size:15px;font-weight:500;min-width:160px;text-align:center}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}
.stat-card{background:var(--cream);border-radius:8px;padding:12px;text-align:center}
.month-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.month-table th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);font-weight:var(--weight-semibold);color:var(--text-light);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}
.month-table td{padding:6px 8px;border-bottom:1px solid var(--border)}
.bouquet-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem;align-items:stretch}
.bouquet-admin-card{background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;height:100%;min-height:100%}
.bouquet-admin-card-clickable{cursor:pointer;transition:box-shadow .2s,transform .2s}
.bouquet-admin-card-clickable:hover{box-shadow:0 8px 24px rgba(44,36,32,.12);transform:translateY(-2px)}
.bouquet-admin-card-clickable:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
.bouquet-admin-card-draggable{cursor:grab;user-select:none;transition:box-shadow .15s,opacity .15s,transform .15s}
.bouquet-admin-card-draggable:active{cursor:grabbing}
.bouquet-admin-card-draggable.is-dragging{opacity:.55;transform:scale(.98);box-shadow:0 12px 28px rgba(44,36,32,.14);z-index:2;position:relative}
.bouquet-admin-card-draggable.is-drop-target{box-shadow:0 0 0 2px var(--rose);transform:translateY(-2px)}
.bouquet-admin-card-draggable .bouquet-admin-actions,.bouquet-admin-card-draggable .bouquet-admin-actions button{cursor:pointer;user-select:auto}
.bouquet-admin-img{width:100%;height:160px;object-fit:cover;display:block;flex-shrink:0}
.bouquet-admin-media-preview{width:100%;height:160px;object-fit:cover;border-radius:8px;display:block;flex-shrink:0}
.bouquet-admin-no-img{width:100%;height:160px;background:var(--rose-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bouquet-admin-no-img-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-light)}
.bouquet-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;margin-top:.75rem}
.bouquet-gallery-item{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--cream);display:flex;flex-direction:column}
.bouquet-gallery-item.is-cover{border-color:var(--rose);box-shadow:0 0 0 1px var(--rose)}
.bouquet-gallery-item.is-dragging{opacity:.55}
.bouquet-gallery-item .bouquet-admin-media-preview,.bouquet-gallery-item .bouquet-admin-img{height:100px;border-radius:0;flex:1}
.bouquet-gallery-cover-badge{position:absolute;left:6px;top:6px;background:var(--rose);color:#fff;font-size:10px;padding:2px 7px;border-radius:999px;z-index:1}
.bouquet-gallery-drag-hint{font-size:var(--text-xs);color:var(--text-light);margin-top:4px}
.bouquet-gallery-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border:none;border-radius:999px;background:rgba(44,36,32,.72);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bouquet-gallery-remove:hover{background:#c0392b}
.bouquet-admin-media-wrap{position:relative;flex-shrink:0}
.bouquet-gallery-count{position:absolute;bottom:8px;right:8px;font-size:var(--text-xs);line-height:1;color:#fff;background:rgba(44,36,32,.62);padding:3px 8px;border-radius:999px;font-weight:var(--weight-semibold);pointer-events:none;z-index:1}
.catalog-lightbox-overlay{align-items:center;padding:1rem}
.catalog-lightbox-panel{width:100%;max-width:680px;max-height:92vh;overflow:auto;background:var(--white);border-radius:14px;padding:1rem 1.25rem 1.25rem}
.catalog-lightbox-collage{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.65rem;margin-bottom:1rem}
.catalog-lightbox-collage.count-1{grid-template-columns:minmax(120px,220px);justify-content:center}
.catalog-lightbox-collage-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--cream);border:1px solid var(--border);min-height:0}
.catalog-lightbox-collage-index{position:absolute;bottom:6px;right:6px;font-size:12px;line-height:1;color:#fff;background:rgba(44,36,32,.62);padding:3px 8px;border-radius:999px;font-weight:var(--weight-semibold);pointer-events:none;letter-spacing:.02em}
.catalog-lightbox-collage-media{width:100%;height:100%;object-fit:cover;display:block;max-height:none}
.catalog-lightbox-collage-item .bouquet-admin-no-img{height:100%;min-height:120px}
.catalog-lightbox-price{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--rose-dark);margin-bottom:.25rem}
.catalog-lightbox-desc{font-size:var(--text-base);color:var(--text);line-height:var(--leading-relaxed);white-space:pre-wrap;margin:0 0 .75rem;padding-top:.85rem;border-top:1px solid var(--border)}
.bouquet-admin-body{padding:12px;display:flex;flex-direction:column;flex:1;min-height:0}
.bouquet-admin-body h4{font-size:14px;font-weight:500;margin-bottom:4px;line-height:1.3;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bouquet-admin-body .price{font-family:var(--font-serif);font-size:20px;color:var(--rose-dark);margin-bottom:6px;flex-shrink:0}
.bouquet-admin-body p{font-size:12px;color:var(--text-light);margin-bottom:10px;line-height:1.5;flex:1;min-height:4.5em;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bouquet-admin-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:auto}
.bouquet-admin-actions .btn{width:100%;justify-content:center;padding:6px 4px;font-size:10px;line-height:1.25;white-space:normal;text-align:center;min-height:34px}
.tag-inactive{font-size:10px;background:#eee;color:#999;padding:2px 8px;border-radius:10px;margin-left:6px}
.bouquet-catalog-section{margin-top:2rem}
.bouquet-catalog-section:first-of-type{margin-top:0}
.bouquet-catalog-heading{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:400;line-height:var(--leading-tight);letter-spacing:.01em;color:var(--text);margin:0 0 .75rem}
.bouquet-catalog-heading-note{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-light);margin:-.35rem 0 .75rem;line-height:var(--leading-normal)}
.file-upload-area{border:2px dashed var(--border);border-radius:8px;padding:.75rem;text-align:center;cursor:pointer;margin-top:.5rem;font-size:12px;color:var(--text-light)}
.file-upload-area:hover{border-color:var(--rose)}
.file-upload-area input{display:none}
.reason-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.reason-chip{padding:4px 10px;border-radius:16px;font-size:11px;border:1px solid var(--border);cursor:pointer;background:var(--white);transition:all .15s}
.reason-chip:hover,.reason-chip.active{background:var(--rose-light);border-color:var(--rose);color:var(--rose-dark)}
.generating-box{background:var(--sage-light);border-radius:8px;padding:16px;text-align:center;color:#3d5c35;font-size:13px;margin-top:1rem}
.error-box{background:var(--rose-light);border-radius:8px;padding:16px;text-align:center;color:var(--rose-dark);font-size:13px;margin-top:1rem}
.confirm-box{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:14px;margin-top:1rem;font-size:13px;color:#664d03}
.confirm-actions{display:flex;gap:.75rem;margin-top:.75rem}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}
.color-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}
.color-row label{font-size:12px;color:var(--text-light);flex:1}
.color-row input[type=color]{width:40px;height:32px;border:1px solid var(--border);border-radius:6px;cursor:pointer;padding:2px}
.theme-color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.theme-color-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--white)}
.theme-color-swatch{width:100%;height:42px;border-radius:8px;border:1px solid var(--border);margin-bottom:10px}
.theme-color-card-title{font-size:12px;font-weight:var(--weight-semibold);color:var(--text);margin-bottom:4px}
.theme-color-card-desc{font-size:11px;color:var(--text-light);margin:0 0 10px;line-height:1.45;min-height:2.9em}
.theme-color-inputs{display:flex;align-items:center;gap:8px}
.theme-color-inputs input[type=color]{width:42px;height:34px;padding:2px;border:1px solid var(--border);border-radius:6px;cursor:pointer;background:var(--white);flex-shrink:0}
.theme-color-inputs input[type=text]{flex:1;font-family:ui-monospace,Consolas,monospace;font-size:12px;padding:7px 8px;border:1px solid var(--border);border-radius:6px;background:var(--cream);color:var(--text);outline:none}
.theme-color-inputs input[type=text]:focus{border-color:var(--rose)}
.theme-color-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem}
.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}
.toggle-row label{font-size:13px;color:var(--text)}
.toggle-switch{position:relative;width:44px;height:24px}
.toggle-switch input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;cursor:pointer;inset:0;background:#ccc;border-radius:24px;transition:.3s}
.toggle-slider:before{content:'';position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:white;border-radius:50%;transition:.3s}
.toggle-switch input:checked+.toggle-slider{background:var(--sage)}
.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}
.company-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.company-card-info h4{font-size:14px;font-weight:500;margin-bottom:3px}
.company-card-info p{font-size:11px;color:var(--text-light)}
.company-admin-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:min(100%,360px);flex-shrink:0}
.company-admin-actions .btn{width:100%;justify-content:center;padding:6px 4px;font-size:10px;line-height:1.25;white-space:normal;text-align:center;min-height:34px}
.company-order-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;flex-shrink:0;width:160px;align-self:flex-start}
.company-order-row-actions .btn{width:100%;justify-content:center;min-height:32px;font-size:11px;padding:6px 4px;line-height:1.25;white-space:normal;text-align:center}
.order-filter-bar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:.75rem;padding:.75rem;background:var(--cream);border-radius:8px}
.order-filter-bar select{padding:5px 10px;border:1px solid var(--border);border-radius:6px;font-family:var(--font-sans);font-size:12px;background:var(--white);outline:none;cursor:pointer}
.order-filter-bar input[type=search]{padding:5px 10px;border:1px solid var(--border);border-radius:6px;font-family:var(--font-sans);font-size:12px;background:var(--white);outline:none;min-width:160px;flex:1;max-width:280px;color:var(--text)}
.order-filter-bar input[type=search]:focus{border-color:var(--rose)}
.order-filter-bar label{font-size:12px;color:var(--text-light)}
.order-filter-bar-count{margin-left:auto}
.order-row-admin{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 10px;background:var(--white);border:1px solid var(--border);border-radius:6px;margin-bottom:6px;font-size:12px}
.year-group{margin-bottom:1rem}
.year-group-header{font-size:12px;font-weight:var(--weight-medium);color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;padding:4px 0;border-bottom:1px solid var(--border);margin-bottom:.5rem}
.welcome-modal{border-top:4px solid var(--rose)}
.welcome-email-body{background:var(--cream);border-radius:8px;padding:1rem;font-size:13px;line-height:1.7;white-space:pre-wrap;border:1px solid var(--border);max-height:250px;overflow-y:auto}

.pdf-actions{
  position:fixed;
  top:18px;
  right:24px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  z-index:999;
}

.pdf-actions-hint{
  font-size:10px;
  color:#777;
  max-width:360px;
  text-align:right;
  line-height:1.35;
  background:white;
  padding:4px 6px;
  border-radius:4px;
}

/* Typografie – einheitliche Stufen & Lesbarkeit */
.list-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.list-primary{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text);line-height:var(--leading-tight)}
.list-detail{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text)}
.list-detail .ld-label{color:var(--text-light);font-weight:var(--weight-medium)}
.list-meta{font-size:var(--text-xs);color:var(--text-light);line-height:var(--leading-normal)}
.list-group-header{margin:18px 0 8px;padding:8px 12px;border-radius:10px;background:var(--cream);border:1px solid var(--border);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);line-height:var(--leading-tight);display:flex;align-items:center;justify-content:space-between;gap:12px}
.list-group-header-stats{font-weight:var(--weight-medium);font-size:var(--text-xs);color:var(--text-light);white-space:nowrap;margin-left:auto}
.address-suggest-wrap{position:relative}
.address-suggest-list{position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:4px;background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 14px rgba(44,36,32,.1);max-height:200px;overflow-y:auto}
.address-suggest-item{padding:9px 12px;cursor:pointer;font-size:var(--text-sm);line-height:var(--leading-normal);border-bottom:1px solid var(--border)}
.address-suggest-item:last-child{border-bottom:none}
.address-suggest-item:hover,.address-suggest-item.active{background:var(--rose-light)}
.address-suggest-item strong{font-weight:var(--weight-semibold);color:var(--text)}
.address-suggest-item span{display:block;font-size:var(--text-xs);color:var(--text-light);margin-top:2px}
.address-suggest-hint{margin-top:6px;font-size:var(--text-xs);color:var(--text-light)}
.list-date{min-width:52px}
.list-date-day{font-size:var(--text-lg);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}
.list-date-mon{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.04em}
.list-info h4,.list-info p,.list-info .shift-info,.list-badge{font-size:var(--text-sm);line-height:var(--leading-normal)}
.list-info .shift-info{font-size:var(--text-xs)}
.list-badge{font-size:var(--text-xs);font-weight:var(--weight-medium)}
.empty-state{font-size:var(--text-base);line-height:var(--leading-relaxed)}
.profile-section h3,.email-panel h3{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}
.form-section{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;margin:1.25rem 0 .75rem}
.form-section-header{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-normal)}
.detail-label{font-size:var(--text-xs);font-weight:var(--weight-semibold)}
.detail-value{font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-normal)}
.contact-banner,.info-box,.email-preview,.checkbox-label,.repeat-label{font-size:var(--text-sm);line-height:var(--leading-normal)}
.contact-banner{font-size:var(--text-sm)}
.stat-val{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;line-height:var(--leading-tight)}
.stat-label{font-size:var(--text-xs);font-weight:var(--weight-medium);margin-top:4px}
.company-card-info h4{font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}
.company-card-info p{font-size:var(--text-sm);line-height:var(--leading-normal)}
.cal-dow,.day-event,.holiday-label,.day-hint,.cal-text-box{font-size:var(--text-xs)}
.day-hint,.holiday-label{font-size:var(--text-xs)}
.day-event{line-height:1.35}
.cal-text-box{line-height:var(--leading-relaxed)}
.month-label,.cal-month{font-size:var(--text-md);font-weight:var(--weight-semibold)}
.db-label,.send-chip,.no-send-chip,.repeat-badge,.tag-inactive,.pdf-actions-hint,.reason-chip{font-size:var(--text-xs)}
.anon-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#f5f5f5;border:1px solid var(--border);color:var(--text-light);font-size:var(--text-xs);font-weight:var(--weight-semibold)}
.admin-prod-panel{margin-bottom:16px;padding:14px 16px;background:var(--white);border:1px solid var(--border);border-radius:12px}
.admin-prod-title{font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:4px;line-height:var(--leading-tight)}
.admin-prod-subtitle{font-size:var(--text-xs);color:var(--text-light);margin-bottom:10px;line-height:var(--leading-relaxed)}
.admin-prod-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-prod-table{width:100%;min-width:520px;border-collapse:collapse;font-size:var(--text-sm)}
.admin-prod-table th,.admin-prod-table td{padding:10px 12px;border:1px solid var(--border);text-align:center;vertical-align:middle}
.admin-prod-table thead th{background:var(--cream);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text);white-space:nowrap}
.admin-prod-table tbody th{background:var(--white);text-align:left;font-weight:var(--weight-semibold);font-size:var(--text-sm);white-space:nowrap}
.admin-prod-table tfoot th,.admin-prod-table tfoot td{background:var(--cream);font-weight:var(--weight-semibold);font-size:var(--text-sm)}
.admin-prod-table tbody td,.admin-prod-table tfoot td{min-width:44px}
.admin-prod-count{display:inline-block;min-width:1.4em;font-size:26px;font-weight:var(--weight-semibold);line-height:1.1;font-variant-numeric:tabular-nums;text-align:center}
.admin-prod-count.zero{color:var(--text-light);font-weight:var(--weight-medium)}
.admin-prod-sum{display:inline-block;min-width:1.4em;font-size:18px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;text-align:center;line-height:1.1}
.admin-prod-sum.zero{color:var(--text-light);font-weight:var(--weight-medium)}
.admin-prod-table .admin-prod-week-start{border-left:3px solid var(--rose)}
.admin-prod-table thead th.admin-prod-week-start{background:var(--cream)}
.admin-prod-table tbody td.admin-prod-week-start{background:var(--white)}
.admin-prod-table tfoot td.admin-prod-week-start{background:var(--cream)}
.admin-prod-table .admin-prod-col-name{border-right:2px solid rgba(44,36,32,.22)}
.admin-prod-table .admin-prod-col-total{border-left:2px solid rgba(44,36,32,.22)}
.admin-prod-pack-section{margin-top:16px;border-top:1px solid var(--border);padding-top:14px}
.admin-prod-pack-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.admin-prod-pack-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text)}
.admin-prod-pack-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-prod-open-toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-light);cursor:pointer;user-select:none}
.admin-prod-open-toggle input{accent-color:var(--rose);cursor:pointer}
.admin-prod-day-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.admin-prod-day-tab{padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--cream);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-light);cursor:pointer;transition:background .15s,border-color .15s,color .15s;line-height:var(--leading-tight);white-space:nowrap}
.admin-prod-day-tab:hover{border-color:var(--rose);color:var(--rose-dark)}
.admin-prod-day-tab.active{background:var(--rose);border-color:var(--rose);color:#fff;font-weight:var(--weight-semibold)}
.admin-prod-day-tab-count{opacity:.85;font-weight:var(--weight-medium)}
.admin-prod-day-tab.active .admin-prod-day-tab-count{opacity:.95}
.admin-prod-day-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:8px 12px;background:var(--cream);border:1px solid var(--border);border-radius:8px}
.admin-prod-day-summary-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text)}
.admin-prod-day-progress{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-light)}
.admin-prod-day-progress.done{color:var(--sage);font-weight:var(--weight-semibold)}
.admin-prod-bouquet-groups{display:flex;flex-direction:column;gap:14px}
.admin-prod-bouquet-group{display:flex;flex-direction:column;gap:8px}
.admin-prod-bouquet-group-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);padding:6px 2px 2px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.admin-prod-bouquet-group-count{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-light)}
.admin-prod-pack-cards{display:flex;flex-direction:column;gap:8px}
.admin-prod-pack-card{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--white)}
.admin-prod-pack-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.admin-prod-pack-card-bouquet{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text);line-height:var(--leading-tight);min-width:0}
.admin-prod-pack-card-price{display:block;margin-top:2px;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-light);font-family:var(--font-sans)}
.admin-prod-status-select{padding:6px 10px;border:1px solid var(--border);border-radius:8px;font-size:var(--text-sm);font-family:var(--font-sans);flex-shrink:0;min-width:130px}
.admin-prod-pack-card-meta{display:flex;flex-direction:column;gap:3px;margin-bottom:8px;font-size:var(--text-sm);line-height:var(--leading-normal)}
.admin-prod-pack-card-meta-row{color:var(--text)}
.admin-prod-pack-card-meta-row .ld-label{color:var(--text-light);font-size:var(--text-xs);font-weight:var(--weight-medium)}
.admin-prod-pack-card-occasion{padding:10px 12px;border-radius:8px;background:var(--cream);border:1px solid var(--border);display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.admin-prod-pack-card-occasion.empty{opacity:.65}
.admin-prod-pack-card-occasion .ld-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-light);margin-right:4px}
.admin-prod-pack-card-occasion-note{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text);line-height:var(--leading-normal);margin-top:2px}
.admin-prod-day-empty{font-size:var(--text-sm);color:var(--text-light);padding:20px 12px;text-align:center;border:1px dashed var(--border);border-radius:10px;background:var(--cream)}
.admin-prod-list-split{margin:48px 0 32px;border-top:2px solid rgba(44,36,32,.2)}
.admin-detail-under-calendar{margin-top:32px}
.admin-list-controls{display:flex;flex-direction:column;gap:10px;margin-bottom:1rem;padding:10px 14px;background:var(--white);border:1px solid var(--border);border-radius:10px}
.admin-list-controls-row{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap}
.admin-list-controls-row .toolbar-label{min-width:58px}
.admin-list-controls-fields{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-list-controls-fields label{font-size:var(--text-xs);color:var(--text-light);font-weight:var(--weight-medium)}
.admin-list-controls-select{padding:7px 12px;border:1px solid var(--border);border-radius:8px;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);background:var(--cream);color:var(--text);outline:none;cursor:pointer;min-height:32px;line-height:var(--leading-tight)}
.admin-list-controls-select:focus{border-color:var(--rose)}
.admin-list-controls-select:disabled{opacity:.55;cursor:not-allowed}
.admin-list-controls-meta{font-size:var(--text-xs);color:var(--text-light);text-align:right;padding-top:8px;margin-top:2px;border-top:1px solid var(--border)}
.dhl-labels-banner{margin-bottom:1rem;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#fff8e6;font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.dhl-labels-banner.warn{background:#fff8e6;border-color:#ffe08a}
.dhl-labels-banner.error{background:#fdecea;border-color:#f5c2c7}
.dhl-labels-banner.success{background:#e8f5e9;border-color:#c3e6cb}
.dhl-labels-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--white)}
.dhl-labels-table{width:100%;min-width:880px;border-collapse:collapse;font-size:var(--text-sm)}
.dhl-labels-table th,.dhl-labels-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}
.dhl-labels-table thead th{background:var(--cream);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap}
.dhl-labels-table tbody tr:hover{background:rgba(250,247,242,.65);cursor:pointer}
.dhl-label-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:var(--weight-semibold);white-space:nowrap}
.dhl-label-badge.ready{background:#e8f5e9;color:#2e7d32}
.dhl-label-badge.incomplete{background:#fff3cd;color:#856404}
.dhl-label-badge.printed{background:#d4edda;color:#155724}
.dhl-label-badge.cancelled{background:#eee;color:#666}
.dhl-label-badge.anonymized{background:#f8d7da;color:#842029}
.dhl-label-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dhl-label-modal-actions{justify-content:flex-end;flex-wrap:wrap}
.dhl-label-modal-actions .btn{flex:0 0 auto}
.dhl-labels-section-title{margin:1.25rem 0 .5rem;font-family:var(--font-serif);font-size:var(--text-lg);font-weight:400;color:var(--text);line-height:var(--leading-tight)}
.dhl-labels-section-title:first-of-type{margin-top:.5rem}
.dhl-labels-section-sub{font-size:var(--text-xs);color:var(--text-light);font-weight:var(--weight-medium);margin-left:8px}
.dhl-labels-more{margin-top:.5rem}
.dhl-labels-month-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--white);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);cursor:pointer;text-align:left;line-height:var(--leading-tight)}
.dhl-labels-month-toggle:hover{background:var(--cream)}
.dhl-labels-month-toggle.open{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:0;border-bottom-color:transparent}
.dhl-labels-month-meta{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-light)}
.dhl-labels-month-body .dhl-labels-table-wrap{border-top:none;border-top-left-radius:0;border-top-right-radius:0;margin-bottom:12px}
.dhl-labels-empty-today{padding:16px;border:1px dashed var(--border);border-radius:10px;text-align:center;color:var(--text-light);font-size:var(--text-sm);background:var(--white)}
.address-validation-hint{margin-top:8px;padding:8px 10px;border-radius:8px;font-size:var(--text-xs);line-height:var(--leading-relaxed)}
.address-validation-hint.checking{background:#f5f5f5;color:var(--text-light)}
.address-validation-hint.valid{background:#e8f5e9;border:1px solid #c3e6cb;color:#2e7d32}
.address-validation-hint.invalid{background:#fdecea;border:1px solid #f5c2c7;color:#c0392b}
.address-validation-hint.warn{background:#fff8e6;border:1px solid #ffe08a;color:#856404}
.dhl-label-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:12px 0;font-size:var(--text-sm)}
.dhl-label-detail-grid label{display:block;font-size:10px;color:var(--text-light);font-weight:var(--weight-medium);margin-bottom:2px}
.dhl-label-detail-box{padding:10px 12px;background:var(--cream);border-radius:8px;border:1px solid var(--border)}
.dhl-label-detail-box.warn{background:#fff8e6;border-color:#ffe08a}
.dhl-label-recipient-edit{margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--white)}
.dhl-label-package-edit{margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--white)}
.dhl-label-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.dhl-label-section-head .dhl-label-section-title{font-size:12px;font-weight:600;margin:0}
.dhl-label-readonly{font-size:var(--text-sm);line-height:1.5}
.dhl-label-readonly-name{font-weight:var(--weight-medium);color:var(--text)}
.dhl-label-readonly-line{margin-top:4px;color:var(--text-light)}
.dhl-label-edit-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.dhl-label-recipient-edit .field-group,.dhl-label-package-edit .field-group{margin-bottom:.75rem}
.dhl-label-recipient-edit .field-group:last-child,.dhl-label-package-edit .field-group:last-child{margin-bottom:0}
.dhl-label-parse-hint{font-size:11px;color:var(--text-light);margin-top:6px}
.dhl-label-parse-hint.ok{color:#2e7d32}
.dhl-label-parse-hint.warn{color:#856404}
@media(max-width:720px){.dhl-label-detail-grid{grid-template-columns:1fr}}
.bouquet-card h4,.bouquet-admin-body h4{font-size:var(--text-sm);font-weight:var(--weight-medium)}
.bouquet-card .price,.bouquet-admin-body .price{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-semibold)}
.year-group-header{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.05em}
.order-row-admin,.order-filter-bar label,.order-filter-bar select{font-size:var(--text-sm)}
.audit-table{font-size:var(--text-sm)}
.audit-table thead th{font-size:var(--text-xs)}
.error-msg,.success-msg,.admin-hint{font-size:var(--text-sm)}
.auth-error-box{font-size:var(--text-sm)}
.form-error-msg{font-size:var(--text-xs)}

/* Audit-Log Tabelle */
.audit-table-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px;
  box-shadow:0 4px 18px rgba(44,36,32,.06);
  overflow:hidden;
}

.audit-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:12px;
}

.audit-table thead th{
  background:var(--cream);
  color:var(--text-light);
  font-size:11px;
  font-weight:var(--weight-medium);
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:11px 12px;
  border-bottom:1px solid var(--border);
  text-align:left;
}

.audit-table thead th:first-child{
  border-top-left-radius:12px;
}

.audit-table thead th:last-child{
  border-top-right-radius:12px;
}

.audit-table tbody tr{
  transition:background .15s, transform .15s;
}

.audit-table tbody tr:hover{
  background:var(--cream) !important;
}

.audit-table tbody td{
  padding:12px;
  border-bottom:1px solid var(--border);
  vertical-align:top;
}

.audit-table tbody tr:last-child td{
  border-bottom:none;
}

.audit-details-box{
  white-space:pre-wrap;
  word-break:break-word;
  font-size:11px;
  line-height:1.45;
  background:#fafafa;
  border:1px solid var(--border);
  border-radius:10px;
  padding:10px;
  margin:0;
  max-height:180px;
  overflow-y:auto;
}

.audit-action-badge{
  display:inline-block;
  padding:5px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:var(--weight-medium);
  background:var(--rose-light);
  color:var(--rose-dark);
}

.audit-id{
  font-size:10px;
  color:var(--text-light);
  margin-top:4px;
  font-family:monospace;
}

/* Fix: Textfelder in Dialogfenstern sofort anklickbar machen */
.modal input,
.modal textarea,
.modal select,
.modal-content input,
.modal-content textarea,
.modal-content select,
.profile-section input,
.profile-section textarea,
.profile-section select {
  pointer-events: auto !important;
  user-select: text !important;
  -webkit-user-select: text !important;
  position: relative;
  z-index: 5;
}

.company-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:1.25rem}
.company-dashboard-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:14px 16px;min-height:88px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.company-dashboard-label{font-size:var(--text-xs);color:var(--text-light);font-weight:var(--weight-medium);line-height:var(--leading-tight)}
.company-dashboard-value{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text);line-height:var(--leading-tight)}
.company-dashboard-meta{font-size:var(--text-xs);color:var(--text-light);line-height:var(--leading-relaxed);margin-top:2px}
.retention-preview-box{margin:0 0 1rem;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--cream);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text)}
.retention-preview-box strong{color:var(--text)}
.monthly-preview-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px}
.monthly-preview-bar .field-group{margin-bottom:0;flex:0 1 auto;min-width:min(100%,200px)}
.monthly-preview-bar .btn{flex-shrink:0;margin-bottom:1px}
.monthly-preview-hint{font-size:var(--text-xs);color:var(--text-light);margin-top:8px;line-height:var(--leading-relaxed)}
.monthly-preview-status{margin:0 0 12px;padding:10px 12px;border-radius:8px;font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.monthly-preview-status.ok{background:#e8f5e9;border:1px solid #c3e6cb;color:#1b5e20}
.monthly-preview-status.warn{background:#fff8e6;border:1px solid #ffe08a;color:#7a5b00}
.monthly-preview-status.info{background:var(--cream);border:1px solid var(--border);color:var(--text-light)}
