:root,html[data-theme=light]{color-scheme:light;--week-slot-height: 72px;--bg: #f3f5f9;--surface: #ffffff;--surface-soft: #f7f8fb;--sidebar-bg: #e9eef8;--text: #172033;--text-muted: #5f6a82;--border: #d8dfed;--primary: #2f67ff;--primary-strong: #1f4ecc;--ok: #1d8a48;--error: #c23a3a;--shadow: 0 10px 24px rgba(30, 50, 90, .08)}html[data-theme=dark]{color-scheme:dark;--bg: #10141e;--surface: #181f2d;--surface-soft: #1d2635;--sidebar-bg: #131b2b;--text: #e8edf9;--text-muted: #9ba6c1;--border: #2a354e;--primary: #6a95ff;--primary-strong: #82a8ff;--ok: #5ad48a;--error: #ff7f7f;--shadow: 0 10px 24px rgba(0, 0, 0, .35)}html[data-design=classic]{--primary: #2f67ff;--primary-strong: #1f4ecc}html[data-design=ocean]{--primary: #0b8acb;--primary-strong: #0b6fa3}html[data-design=forest]{--primary: #1f8f59;--primary-strong: #156a41}html[data-design=sunset]{--primary: #dd6a1f;--primary-strong: #b14f0e}html[data-design=violet]{--primary: #7a52e3;--primary-strong: #5a3fb1}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Tahoma,sans-serif;background:var(--bg);color:var(--text)}#root{min-height:100vh}.app-shell{display:grid;grid-template-columns:280px 1fr;height:100vh;overflow:hidden}.app-shell--login{grid-template-columns:1fr}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--sidebar-bg);border-right:1px solid var(--border);padding:22px 16px;display:flex;flex-direction:column}.sidebar-brand h1{margin:0;font-size:1.3rem}.sidebar-brand-logo{display:block;max-width:100%;max-height:88px;object-fit:contain;margin-bottom:10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);padding:4px}.sidebar-brand p{margin:6px 0 20px;color:var(--text-muted);font-size:.92rem}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.sidebar-noshowly-logo-link{display:inline-block;line-height:0;border-radius:6px;outline-offset:2px}.sidebar-noshowly-logo-link:hover .sidebar-noshowly-logo,.sidebar-noshowly-logo-link:focus-visible .sidebar-noshowly-logo{opacity:1}.sidebar-noshowly-logo{display:block;width:170px;max-width:100%;height:auto;object-fit:contain;opacity:.95}.sidebar-footer-version{font-size:.78rem;color:var(--text-muted);opacity:.9;letter-spacing:.02em}.branding-preview{display:block;max-width:min(360px,100%);max-height:120px;object-fit:contain;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:4px}.menu-group+.menu-group{margin-top:10px}.menu-group-title{width:100%;display:flex;justify-content:space-between;background:transparent;border:0;color:var(--text);font-weight:600;padding:8px 10px;border-radius:8px;cursor:pointer}.menu-group-title:hover{background:var(--surface-soft)}.submenu{list-style:none;padding:4px 0 2px;margin:0}.submenu--nested{padding-left:12px}.menu-item{width:100%;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);padding:8px 10px;cursor:pointer}.menu-item--heading{display:block;color:var(--text-muted);font-size:.84rem;text-transform:uppercase;letter-spacing:.02em;padding-top:12px;padding-bottom:4px;cursor:default}.menu-item--heading-button{display:flex;justify-content:space-between;align-items:center;color:var(--text-muted);font-size:.84rem;text-transform:uppercase;letter-spacing:.02em}.menu-item:hover{background:var(--surface-soft)}.menu-item.is-active{background:var(--surface);border-color:var(--border);color:var(--primary)}.menu-item.is-disabled{opacity:.5;cursor:not-allowed}.content{padding:20px;height:100vh;overflow-y:auto}.login-content{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 500px at 10% 10%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 60%),radial-gradient(900px 420px at 100% 100%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 55%)}.login-layout{width:min(1200px,96vw);display:grid;grid-template-columns:minmax(540px,.9fr) minmax(420px,1.1fr);gap:18px;align-items:stretch}.login-card{width:100%;border-radius:16px;padding:26px}.login-logo{display:block;max-width:min(220px,70%);max-height:86px;object-fit:contain;margin-bottom:8px}.login-title{margin:0 0 6px;font-size:clamp(1.8rem,3.6vw,2.6rem);letter-spacing:.01em}.login-form-grid{display:grid;grid-template-columns:180px minmax(320px,1fr);gap:12px 16px;align-items:center;margin-top:12px}.login-form-grid .select{width:100%}.login-form-grid label{font-size:1.05rem;font-weight:650}.login-note{margin-top:10px}.login-logo-panel{display:grid;place-items:center;min-height:460px;border-radius:16px}.login-logo-hero{width:min(680px,100%);max-height:460px;object-fit:contain}.login-logo-placeholder{display:grid;gap:8px;text-align:center;color:var(--text-muted)}.topbar{position:sticky;top:0;z-index:25;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:14px 16px;display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:18px}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.topbar-left__titles{min-width:0;flex:1}.mobile-nav-toggle{display:none;flex-shrink:0;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);color:var(--text);cursor:pointer}.mobile-nav-toggle:hover{filter:brightness(1.04)}.mobile-nav-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.mobile-nav-toggle__bar{display:block;height:2px;width:100%;background:currentColor;border-radius:1px}.mobile-nav-backdrop{display:none}@media (max-width: 900px){.app-shell{display:block;position:relative;height:auto;min-height:100vh;min-height:100dvh;overflow-x:hidden}.app-shell:not(.app-shell--login) .content{height:auto;min-height:100vh;min-height:100dvh;width:100%;max-width:100%;overflow-x:hidden;-webkit-overflow-scrolling:touch}.sidebar{position:fixed;left:0;top:0;bottom:0;height:auto;min-height:100vh;min-height:100dvh;width:min(280px,88vw);max-width:100%;z-index:90;transform:translate(-100%);transition:transform .22s ease;box-shadow:none;overflow-y:auto;-webkit-overflow-scrolling:touch;border-right:1px solid var(--border);border-bottom:none}.app-shell--mobile-nav-open .sidebar{transform:translate(0);box-shadow:0 12px 40px #0000002e}.mobile-nav-toggle{display:inline-flex}.mobile-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;margin:0;padding:0;border:0;background:#0a0e187a;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent}.app-shell--mobile-nav-open .mobile-nav-backdrop{opacity:1;pointer-events:auto}}@media (max-width: 900px) and (prefers-reduced-motion: reduce){.sidebar,.mobile-nav-backdrop{transition:none!important}}.topbar--unpinned{position:relative;top:auto}.topbar-title{margin:0;font-weight:700}.topbar-subtitle{margin:4px 0 0;color:var(--text-muted);font-size:.92rem}.topbar-actions{display:flex;align-items:center;gap:8px}.button-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 10px;font-size:.9rem;text-decoration:none}.button-link:hover{border-color:var(--primary)}.button-link.is-disabled{opacity:.55;pointer-events:none}.label{color:var(--text-muted);font-size:.9rem}.select,button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 10px;font-size:.9rem}button{cursor:pointer}button:hover{border-color:var(--primary)}.theme-toggle,.is-active{background:var(--primary);color:#fff;border-color:var(--primary)}.alert.error,.status-error{color:var(--error)}.status-ok{color:var(--ok)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:var(--shadow)}.card-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-overview{display:grid;gap:12px}.dashboard-timeframe-row{justify-content:space-between}.overview-chart-card h3{margin:0}.overview-chart-layout{display:flex;align-items:center;gap:18px;margin-top:12px;flex-wrap:wrap}.overview-pie{width:190px;height:190px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--border)}.overview-pie__inner{width:108px;height:108px;border-radius:999px;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;text-align:center}.overview-pie__inner strong{font-size:1.35rem}.overview-pie__inner span{color:var(--text-muted);font-size:.85rem}.overview-legend{display:grid;gap:8px}.overview-legend__item{display:flex;align-items:center;gap:8px}.overview-legend__dot{width:10px;height:10px;border-radius:999px}.overview-legend__dot.is-booked{background:#2563eb}.overview-legend__dot.is-confirmed{background:#16a34a}.overview-legend__dot.is-cancelled{background:#dc2626}.overview-legend__dot.is-noshow{background:#f59e0b}.stat-card h3{margin:0;color:var(--text-muted);font-size:.95rem;font-weight:500}.stat-card strong{display:block;margin-top:8px;font-size:1.8rem}.action-row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.form-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.config-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.config-panel-left,.config-panel-right{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:12px}.config-form .form-row{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:12px}.config-form .form-row>label{margin:0;justify-self:start}.config-form .form-row>input.select,.config-form .form-row>select.select,.config-form .form-row>textarea.mail-template-editor__textarea{width:min(360px,100%);justify-self:end}.config-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.compash-panel h3{margin-top:0}.calendar-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.calendar-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-grid{border:1px solid var(--border);border-radius:10px;overflow:hidden}.calendar-row{display:grid;grid-template-columns:90px 1fr;border-bottom:1px solid var(--border)}.calendar-row:last-child{border-bottom:0}.calendar-time{padding:10px;color:var(--text-muted);background:var(--surface-soft);border-right:1px solid var(--border);font-size:.85rem;height:var(--week-slot-height);min-height:var(--week-slot-height)}.calendar-slot{text-align:left;border:0;border-radius:0;padding:10px 12px;background:var(--surface);min-height:52px;cursor:pointer}.calendar-slot:hover{background:var(--surface-soft)}.calendar-slot--booked{background:color-mix(in srgb,var(--primary) 16%,var(--surface))}.calendar-slot--continuation{cursor:default;background:color-mix(in srgb,var(--primary) 9%,var(--surface))}.calendar-slot--booked strong{display:block}.calendar-slot--booked span{display:block;margin-top:3px;color:var(--text-muted);font-size:.82rem}.appointment-chip{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:8px 10px;position:relative;cursor:pointer}.appointment-chip strong{display:block;line-height:1.15}.appointment-chip span{display:block;margin-top:3px;color:var(--text-muted);font-size:.78rem}.appointment-chip__phone{font-weight:400;font-size:.74rem;opacity:.9}.appointment-chip__source{display:inline-block;width:fit-content;padding:1px 6px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);font-size:.72rem;color:var(--text-muted)}.appointment-chip__source.is-customer{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.appointment-email-reminders{display:inline-flex;flex-direction:row;gap:3px;align-items:center;flex-shrink:0}.appointment-email-reminders__badge{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 3px;border-radius:4px;font-size:9px;font-weight:800;line-height:1;border:1px solid currentColor;opacity:.28;box-sizing:border-box}.appointment-email-reminders__badge--on{opacity:1;background:color-mix(in srgb,currentColor 18%,transparent)}.appointment-chip .appointment-email-reminders span,.appointment-phase-overlay__header-main .appointment-email-reminders span{display:inline-flex;margin-top:0}.calendar-drag-grip{display:inline-grid;grid-template-columns:repeat(2,3px);grid-template-rows:repeat(2,3px);gap:2px;align-items:center;justify-items:center;line-height:0}.calendar-drag-grip__dot{width:3px;height:3px;border-radius:50%;background:currentColor;display:block}.appointment-chip .calendar-drag-grip{display:inline-grid;margin-top:0}.appointment-chip .calendar-drag-grip__dot{margin-top:0}.appointment-chip__drag-handle{position:absolute;right:6px;top:6px;color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;padding:4px 5px;border-radius:6px}.appointment-chip__drag-handle:hover{background:var(--surface-soft);color:var(--text)}.appointment-chip.is-dragging{opacity:.35;pointer-events:none!important}.appointment-chip.is-dragging *{pointer-events:none!important}.appointment-chip--phase-passive{box-shadow:inset 0 0 88px #0f172a1f}.appointment-chip__phase-label{font-weight:800;opacity:.95}.calendar-slot__phase-prefix{font-weight:800;opacity:.88;margin-right:2px}.calendar-slot__continuation-mark--passive{border:1px dashed color-mix(in srgb,currentColor 38%,transparent);font-weight:600}.week-calendar{border:1px solid var(--border);border-radius:10px;overflow:hidden}.week-calendar-body{position:relative;max-height:72vh;overflow-y:auto;scroll-behavior:smooth}.week-calendar-head,.week-calendar-row{display:grid}.week-calendar-row{min-height:var(--week-slot-height)}.week-calendar-corner{background:var(--surface-soft);border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;padding:2px 4px;flex-wrap:wrap}.week-calendar-corner-btn{width:30px;height:24px;min-width:30px;padding:0;border-radius:8px;border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border));background:color-mix(in srgb,var(--surface-soft) 78%,white);color:var(--text);font-size:16px;line-height:1}.week-calendar-corner-btn:hover{background:color-mix(in srgb,var(--primary) 12%,white)}.week-calendar-day{padding:7px 6px;background:var(--surface-soft);border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-muted);font-size:.76rem;text-align:center;line-height:1.2}.week-calendar-day--day-start{border-left:2px solid color-mix(in srgb,var(--primary) 28%,var(--border))}.week-calendar-day--today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 62%,transparent)}.week-calendar-day--today span{font-weight:800}.week-calendar-day--today small{font-weight:600;opacity:1}.week-calendar-day--today.week-calendar-day--day-start{border-left-width:4px;border-left-color:color-mix(in srgb,var(--primary) 72%,var(--border))}.week-calendar-day:last-child{border-right:0}.week-calendar-day small{display:block;margin-top:2px;font-size:.72rem;opacity:.9}.week-calendar-cell{height:var(--week-slot-height);min-height:var(--week-slot-height);padding:4px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;overflow:hidden;position:relative}.week-calendar-cell--day-start{border-left:2px solid color-mix(in srgb,var(--primary) 24%,var(--border))}.week-calendar-cell--today{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 48%,transparent)}.week-calendar-cell--today.week-calendar-cell--day-start{border-left-width:4px;border-left-color:color-mix(in srgb,var(--primary) 68%,var(--border))}.week-calendar-cell:last-child{border-right:0}.week-calendar-row:last-child .week-calendar-cell{border-bottom:0}.calendar-now-line{position:absolute;height:0;border-top:3px solid #d62828;box-shadow:0 0 0 1px #ffffffbf,0 0 8px #d6282873;z-index:6;pointer-events:none}.calendar-now-line span{position:absolute;top:-12px;right:0;transform:translateY(-100%);background:#b91c1c;border:1px solid rgba(255,255,255,.85);color:#fff;font-size:.72rem;font-weight:700;line-height:1;padding:3px 7px;border-radius:999px;box-shadow:0 2px 8px #00000040}.appointment-phase-overlay{border-radius:8px}.appointment-phase-overlay--overlap-later .appointment-phase-overlay__frame{box-shadow:inset 0 0 0 2px color-mix(in srgb,currentColor 24%,transparent),0 0 0 1px color-mix(in srgb,currentColor 18%,transparent),0 8px 16px #0f172a33;animation:overlap-shimmer 1.9s ease-in-out infinite;filter:saturate(1.15) contrast(1.08)}.appointment-phase-overlay.is-dragging{opacity:.35;pointer-events:none!important;z-index:1!important}.appointment-phase-overlay.is-dragging *{pointer-events:none!important}@keyframes overlap-shimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.08)}}.appointment-phase-overlay--lane-left{box-shadow:3px 0 8px #0f172a14}.appointment-phase-overlay--lane-right{box-shadow:-3px 0 10px #0f172a1f}.appointment-phase-overlay__frame{position:relative;display:block;height:100%;border-radius:8px;overflow:visible;border:1px solid;background:transparent;pointer-events:none}.appointment-phase-overlay__header{position:sticky;top:0;left:0;right:0;z-index:8;display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:8px;padding:6px 8px 6px 10px;border-bottom:1px solid;cursor:pointer;flex-shrink:0;pointer-events:auto;max-height:min(132px,42%);overflow-y:auto}.appointment-phase-overlay__header--left-only{right:auto;width:58%;min-width:180px;border-top-right-radius:8px}.appointment-phase-overlay__header-main{flex:1;min-width:0}.appointment-phase-overlay__header-main strong{display:block;font-size:.84rem;line-height:1.2}.appointment-phase-overlay__header-main .appointment-chip__phone{display:block;margin-top:3px}.appointment-phase-overlay__header-main .appointment-chip__source{display:inline-block;width:fit-content;margin-top:3px}.appointment-phase-overlay__leistung{margin:6px 0 0;padding:0;font-size:.84rem;font-weight:700;line-height:1.3;opacity:1}.appointment-phase-overlay__leistung-label{font-weight:800;opacity:.9}.appointment-phase-overlay__leistung-value{font-weight:700}.appointment-phase-overlay__meta{display:block;font-size:.78rem;font-weight:600;margin-top:3px}.appointment-phase-overlay__drag{flex-shrink:0;cursor:grab;-webkit-user-select:none;user-select:none;padding:4px 6px;margin:2px 0 0;border-radius:6px;line-height:0}.appointment-phase-overlay__drag:hover{background:color-mix(in srgb,currentColor 12%,transparent)}.appointment-phase-overlay__segments{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;height:100%;min-height:100%;pointer-events:auto}.appointment-phase-overlay__segment{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:4px 10px;min-height:26px;border-bottom:1px solid;box-sizing:border-box;position:relative;pointer-events:auto}.appointment-phase-overlay__segment:last-child{border-bottom:0}.appointment-phase-overlay__segment-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;min-width:0}.appointment-phase-overlay__segment-name{font-size:.78rem;font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.appointment-phase-overlay__segment-badge{flex-shrink:0;font-size:.62rem;font-weight:800;text-transform:lowercase;letter-spacing:.03em;padding:2px 7px;border-radius:999px;line-height:1.2;border:1px solid color-mix(in srgb,currentColor 40%,transparent);background:color-mix(in srgb,currentColor 12%,transparent)}.appointment-phase-overlay__segment-badge--active,.appointment-phase-overlay__segment-badge--passive{opacity:.98}.appointment-phase-overlay__segment-min{font-size:.68rem;font-weight:600;opacity:.82;margin-top:2px}.week-calendar-cell--booked,.week-calendar-cell--continuation{background:transparent}.week-calendar-cell--blocked{cursor:not-allowed;box-shadow:inset 0 0 0 1px #00000014}.calendar-slot__blocked-mark{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:24px;margin:0 auto;border:1px solid var(--border);border-radius:999px;background:#ffffff73;color:var(--text-muted);font-size:.72rem;font-weight:700;padding:2px 10px;letter-spacing:.01em}.week-calendar-add{color:var(--text-muted);font-size:1.1rem;opacity:.7}.calendar-slot__passive-add{position:absolute;top:3px;right:4px;width:20px;height:20px;padding:0;border-radius:6px;border:0;background:transparent;display:grid;place-items:center;opacity:1;cursor:pointer;z-index:40;isolation:isolate;box-shadow:none}.calendar-slot__passive-add:before{content:"+";color:#000;font-size:18px;font-weight:900;line-height:1;text-shadow:0 0 2px rgba(255,255,255,.9)}.calendar-slot__passive-add:hover{background:#ffffff38;transform:scale(1.08)}.calendar-slot__continuation-mark{display:flex;align-items:center;width:100%;height:30px;border-radius:6px;background:color-mix(in srgb,var(--primary) 20%,var(--surface));padding:0 8px;font-size:.78rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-hover-time-tooltip{position:fixed;z-index:120;pointer-events:none;padding:4px 8px;border-radius:8px;border:1px solid color-mix(in srgb,var(--border) 80%,#000);background:color-mix(in srgb,var(--surface) 92%,#000 8%);color:var(--text);font-size:.78rem;font-weight:700;line-height:1;box-shadow:0 6px 18px #00000040}.calendar-settings-section{margin-top:12px;margin-bottom:12px}.calendar-settings-section h3{margin:0 0 8px;font-size:1rem}.calendar-settings-card__head{display:flex;gap:8px;align-items:center;margin-bottom:10px}.calendar-settings-card__head .select{flex:1 1 auto}.calendar-view-picker{display:flex;flex-wrap:wrap;gap:8px 12px}.calendar-view-picker label{font-size:.84rem;color:var(--text-muted)}.calendar-settings-list{display:grid;gap:10px}.calendar-settings-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface-soft)}.calendar-settings-card--compact{padding:8px 10px}.booking-reason-row{display:grid;grid-template-columns:minmax(180px,1.2fr) auto auto auto auto;gap:8px;align-items:center}.booking-reason-check{white-space:nowrap}.booking-reason-card{padding:12px}.booking-reason-layout{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(320px,1.05fr);gap:14px;align-items:start}.booking-reason-layout__left{display:grid;gap:8px}.booking-reason-layout__name{width:min(280px,100%)}.booking-reason-layout__left-meta{display:grid;gap:6px}.booking-reason-layout__right{border-left:1px solid var(--border);padding-left:14px;display:grid;gap:8px}.booking-reason-phase-list{display:grid;gap:6px}.booking-reason-phase-row{display:grid;grid-template-columns:20px minmax(150px,1fr) 110px 86px auto;gap:6px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:6px;background:var(--surface-soft)}.booking-reason-phase-row.is-dragging{opacity:.6}.booking-reason-phase-row__drag{-webkit-user-select:none;user-select:none;cursor:grab;color:var(--text-muted);font-weight:700;letter-spacing:.04em;text-align:center}.calendar-settings-card h3{margin:0 0 10px;font-size:.96rem}.import-function-stack{display:flex;flex-direction:column;gap:18px;margin-top:16px}.import-function-frame{border:2px solid var(--border);border-radius:10px;padding:14px 16px;background:var(--surface-soft);margin:0}.import-function-frame__title{margin:0 0 10px;font-size:1rem;font-weight:700;color:var(--text)}.customer-csv-import-progress-wrap{margin-top:12px;max-width:720px}.customer-csv-import-progress{height:8px;border-radius:4px;background:color-mix(in srgb,var(--border) 75%,transparent);overflow:hidden}.customer-csv-import-progress__bar{height:100%;width:42%;border-radius:4px;background:var(--primary, #3b82f6);animation:customer-csv-import-progress-slide 1.15s ease-in-out infinite}@keyframes customer-csv-import-progress-slide{0%{transform:translate(-105%)}to{transform:translate(340%)}}@media (prefers-reduced-motion: reduce){.customer-csv-import-progress__bar{animation:none;width:100%;opacity:.55}}.calendar-settings-range{display:flex;gap:10px;flex-wrap:wrap}.calendar-settings-range label{display:flex;flex-direction:column;gap:6px;font-size:.86rem;color:var(--text-muted)}.calendar-settings-range input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 10px}.calendar-color-picker{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:4px}.calendar-color-dot{width:22px;height:22px;border-radius:999px;border:1px solid var(--border);padding:0}.calendar-color-dot.is-selected{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--primary)}.calendar-color-dot:disabled{opacity:.28;cursor:not-allowed}.calendar-settings-caldav{margin-top:10px;border-top:1px dashed var(--border);padding-top:10px}.calendar-settings-caldav__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700}.status-chip--ok{background:color-mix(in srgb,#16a34a 18%,var(--surface));color:#166534;border:1px solid color-mix(in srgb,#16a34a 38%,var(--border))}.status-chip--muted{background:color-mix(in srgb,var(--text-muted) 13%,var(--surface));color:var(--text-muted);border:1px solid var(--border)}.customer-layout{display:grid;gap:12px;grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr);align-items:start}.customer-layout--stammkunden-full{grid-template-columns:1fr}.customer-layout--stammkunden-split{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start}.customer-stammkunden-sidebar{position:sticky;top:12px;display:flex;flex-direction:column;min-width:0;max-height:calc(100vh - 80px);overflow:hidden}.customer-stammkunden-sidebar .customer-list--sidebar{flex:0 0 362px;min-height:362px;max-height:362px;overflow-y:auto}.customer-stammkunden-detail-main{min-width:0}.customer-stammkunden-panel--wide{width:100%;max-width:none}.customer-stammkunden-heading{margin-bottom:10px}.customer-stammkunden-heading--with-delete{padding-right:6.5rem}.customer-stammkunden-heading__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.customer-stammkunden-heading h3{margin:0}.customer-stammkunden-person-count{margin:0 0 8px}.customer-stammkunden-search{display:block;margin-bottom:10px}.customer-stammkunden-search .small{display:block;margin-bottom:4px}.customer-stammkunden-search .select{width:100%;box-sizing:border-box}.btn-tiny{font-size:.82rem;padding:5px 12px;border-radius:6px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.btn-tiny:hover:not(:disabled){filter:brightness(1.04)}.btn-tiny:disabled{opacity:.55;cursor:not-allowed}.btn-tiny--primary{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--primary) 18%,var(--surface));font-weight:600}.customer-communication-block{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.customer-communication-block__title{margin:0 0 .65rem;font-size:.95rem;font-weight:700}.customer-communication-layout{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.25rem 2rem}.customer-communication-mail-col{display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex:0 0 auto;max-width:100%}.customer-communication-reminders-col{flex:1 1 220px;max-width:320px;margin-left:auto;display:flex;flex-direction:column;align-items:center;text-align:center}.customer-communication-reminders-col__head{margin-bottom:4px}.customer-communication-mail-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:1rem}.customer-communication-reminders__checks{display:flex;flex-direction:column;gap:8px;margin-top:6px;align-items:flex-start;text-align:left}.customer-communication-reminders__label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem}.customer-stamm-details{margin-top:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:0 10px}.customer-stamm-details__summary{cursor:pointer;font-weight:600;padding:10px 4px;list-style:none}.customer-stamm-details__summary::-webkit-details-marker{display:none}.customer-stamm-details__body{padding:0 4px 12px;border-top:1px dashed color-mix(in srgb,var(--border) 80%,transparent)}.customer-mail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px}.customer-mail-overlay__panel{width:min(520px,100%);max-height:min(90vh,640px);overflow:auto;background:var(--surface);border-radius:12px;border:1px solid var(--border);box-shadow:0 18px 48px #0000002e;padding:16px;display:flex;flex-direction:column;gap:12px}.customer-mail-overlay__top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.customer-mail-overlay__recipient{display:flex;flex-direction:column;gap:4px;min-width:0}.customer-mail-overlay__field{display:flex;flex-direction:column;gap:4px}.customer-mail-overlay__textarea{width:100%;min-height:180px;resize:vertical;font-family:inherit}.customer-mail-overlay__footer{display:flex;justify-content:flex-end}.customer-create-form{width:fit-content;max-width:100%}.customer-create-form.is-collapsed{width:auto}.customer-create-form.is-open{width:min(520px,100%)}.customer-create-form__collapsed{margin:0}.customer-create-form .calendar-settings-card__head{justify-content:space-between;flex-wrap:wrap;gap:8px}.customer-create-form .calendar-settings-card__head h3{margin:0;flex:1 1 auto;min-width:0}.customer-stammkunden-panel{position:relative}.customer-stammkunden-delete{position:absolute;top:10px;right:10px;z-index:2;font-size:.8rem;padding:4px 10px}.customer-detail-person-title{margin:0;font-size:1rem}.customer-detail-person-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 10px}.customer-detail-person-head__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.customer-portal-badge{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:8px;border:1px solid var(--border);white-space:nowrap}.customer-portal-badge--active{color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,var(--surface));border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.customer-portal-badge--new{color:#b91c1c;background:color-mix(in srgb,#ef4444 14%,var(--surface));border-color:color-mix(in srgb,#ef4444 40%,var(--border))}.waitlist-pill{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:8px;font-size:.72rem;font-weight:700;line-height:1.3;white-space:nowrap}.waitlist-pill--offered{color:#166534;background:color-mix(in srgb,#22c55e 18%,var(--surface));border:1px solid color-mix(in srgb,#22c55e 45%,var(--border))}.my-calendar-waitlist-list{margin:0;padding-left:0;list-style:none}.my-calendar-waitlist-item+.my-calendar-waitlist-item{margin-top:8px}.my-calendar-waitlist-item__row{display:flex;align-items:flex-start;gap:8px}.my-calendar-waitlist-item__text{flex:1;min-width:0;line-height:1.35}.waitlist-inform-icon-btn{flex-shrink:0;width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--surface);font-size:.95rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.waitlist-inform-icon-btn:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.waitlist-inform-icon-placeholder{flex-shrink:0;width:28px;height:28px}.waitlist-name-link{display:inline;margin:0;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--text) 35%,transparent);text-underline-offset:2px}.waitlist-name-link:hover{color:var(--primary);text-decoration-color:color-mix(in srgb,var(--primary) 55%,transparent)}.waitlist-customer-detail-dialog{max-width:420px}.waitlist-customer-detail-grid{margin-top:10px;display:flex;flex-direction:column;gap:10px}.waitlist-customer-detail-row{display:grid;grid-template-columns:7.5rem 1fr;gap:8px 12px;align-items:start;font-size:.9rem;line-height:1.4}.waitlist-customer-detail-label{color:var(--text-muted);font-weight:600}.waitlist-customer-detail-value{word-break:break-word}.waitlist-inform-dialog{max-width:440px}.waitlist-inform-slot-list{margin:8px 0 0;padding:0;list-style:none;max-height:220px;overflow-y:auto}.waitlist-inform-slot-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0}.waitlist-inform-channel-field{border:none;padding:0;margin:0}.waitlist-inform-channel-field legend{font-size:.85rem;font-weight:600;margin-bottom:6px;padding:0}.waitlist-inform-channel-option{display:flex;align-items:center;gap:8px;margin-bottom:6px;cursor:pointer}.waitlist-pill--rejected{color:#b91c1c;background:color-mix(in srgb,#ef4444 16%,var(--surface));border:1px solid color-mix(in srgb,#ef4444 46%,var(--border))}.customer-portal-pw-panel{margin:0 0 14px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface-soft)}.customer-create-form .form-row{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px}.customer-create-form .form-row label{text-align:right}.customer-create-form .action-row{margin-left:140px}.customer-change-log-card{width:min(520px,100%)}.customer-change-log-list{max-height:320px;overflow-y:auto}.customer-list{display:grid;gap:8px;align-content:start;margin-bottom:12px;max-height:362px;overflow-y:auto;padding-right:4px}.customer-list-item{width:100%;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:10px;color:var(--text)}.customer-list-item strong{display:block}.customer-list-item span{display:block;margin-top:2px;color:var(--text-muted);font-size:.82rem}.customer-list-item.customer-list-item--selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 11%,var(--surface));color:var(--text)}.customer-list-item.customer-list-item--selected strong{color:var(--text)}.customer-list-item.is-focused{outline:2px solid var(--primary);outline-offset:-2px}.customer-list-item--static{cursor:default;box-sizing:border-box}.customer-detail{border-top:1px solid var(--border);padding-top:10px}.customer-detail--duplicates{margin-top:14px}.customer-detail-person-and-last-appt{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,320px);gap:0;align-items:start}.customer-detail-left-column{display:flex;flex-direction:column;gap:0;min-width:0}.customer-detail-photo-column{padding:8px 14px 12px 0;margin-left:0;display:flex;flex-direction:column;align-items:center;min-width:0}.customer-detail-last-appt-card{border-left:1px solid var(--border);padding:6px 0 6px 14px;margin-left:14px;min-height:120px}.customer-detail-last-appt-card__title{display:block;font-size:.95rem}.customer-risk-card{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border)}.customer-risk-card__stats{margin-top:8px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--border) 82%,transparent)}.customer-risk-card__score-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.risk-level-badge{display:inline-block;padding:2px 10px;border-radius:6px;font-size:.85rem;font-weight:600;line-height:1.4;border:1.5px solid}.risk-level-badge--low{color:#15803d;border-color:#22c55e;background:color-mix(in srgb,#22c55e 12%,transparent)}.risk-level-badge--medium{color:#b45309;border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 12%,transparent)}.risk-level-badge--high{color:#dc2626;border-color:#ef4444;background:color-mix(in srgb,#ef4444 12%,transparent)}.risk-level-badge--critical{color:#fff;border-color:#dc2626;background:#dc2626}.customer-risk-card__divider{border:none;border-top:1px dashed var(--border);margin:12px 0 10px}.customer-visit-frequency{font-size:.9rem}.visit-trend{font-size:.75rem;margin-left:2px}.visit-trend--up{color:#e53e3e}.visit-trend--down{color:#22c55e}.customer-risk-card__reasons{margin:8px 0 0;padding-left:18px}.customer-risk-card__reasons li{margin-bottom:2px;font-size:.86rem;color:var(--text-muted)}.customer-change-log-values{margin-top:4px;display:grid;gap:2px}.customer-change-log-values__row{line-height:1.35}.customer-detail-grid{display:grid;gap:8px 10px;grid-template-columns:repeat(2,minmax(0,1fr));padding-right:14px}.customer-detail-grid>div:not(.customer-detail-grid__spacer){display:flex;flex-direction:column;gap:6px}.customer-detail-person-and-last-appt .customer-detail-grid>div:not(.customer-detail-grid__spacer){border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--surface-soft) 88%,var(--surface));padding:8px 10px}.customer-detail-grid--create{grid-template-columns:minmax(0,1fr);gap:10px}.customer-detail-grid>div:not(.customer-detail-grid__spacer)>span.small.muted{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:2px 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--border) 88%,var(--text-muted));background:color-mix(in srgb,var(--surface-soft) 80%,var(--surface));color:color-mix(in srgb,var(--text) 76%,var(--text-muted));font-weight:600}.customer-detail-person-and-last-appt .customer-detail-grid>div:not(.customer-detail-grid__spacer)>span.small.muted{padding-left:0;border:0;background:transparent}.customer-detail-grid__spacer{min-height:0}.customer-detail-postal-city-inputs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.customer-photo-row{margin-top:12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.customer-photo-frame{grid-column:1;max-width:100%;margin-top:0;border:2px solid var(--border);border-radius:10px;background:var(--surface-soft);padding:8px 10px}.customer-photo-frame--portrait{width:100%;max-width:300px;margin:0 auto;grid-column:auto;padding:10px 12px}.customer-photo-frame--seamless{border:none;background:transparent;padding:0;box-shadow:none}.customer-photo-preview.customer-photo-preview--portrait{margin-top:8px;min-height:0;width:100%;max-width:300px;aspect-ratio:3 / 4;max-height:min(72vh,560px);border:1px solid color-mix(in srgb,var(--border) 85%,var(--text-muted));border-radius:8px;background:var(--surface);display:flex;align-items:center;justify-content:center;overflow:hidden}.customer-photo-preview.customer-photo-preview--auto-size{aspect-ratio:unset;max-height:none;min-height:120px;width:auto;max-width:300px;border:none;background:transparent;border-radius:10px;cursor:pointer;position:relative;transition:opacity .2s}.customer-photo-preview--auto-size:hover{opacity:.8}.customer-photo-preview--auto-size:focus-visible{outline:2px solid color-mix(in srgb,var(--accent, #3b82f6) 70%,transparent);outline-offset:2px}.customer-photo-preview.customer-photo-preview--auto-size img{width:auto;height:auto;max-width:100%;max-height:320px;object-fit:contain;border-radius:10px}.customer-photo-preview--saving{opacity:.5;pointer-events:none}.customer-photo-saving-indicator{position:absolute;bottom:8px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:3px 10px;border-radius:6px;font-size:.8rem}.customer-photo-remove-link{display:inline-block;margin-top:6px;background:none;border:none;color:var(--text-muted);font-size:.82rem;cursor:pointer;padding:2px 4px;text-decoration:underline;text-underline-offset:2px}.customer-photo-remove-link:hover{color:var(--danger, #e53e3e)}.customer-photo-preview.customer-photo-preview--portrait img{width:100%;height:100%;max-height:none;object-fit:contain}.customer-photo-preview--clickable{cursor:zoom-in}.customer-photo-preview--clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--accent, #3b82f6) 70%,transparent);outline-offset:2px}.customer-photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:24px;background:#37373ad1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.customer-photo-lightbox__close{position:absolute;top:16px;right:16px;z-index:1;padding:8px 14px;border-radius:8px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:var(--surface);color:var(--text);cursor:pointer;font-weight:600}.customer-photo-lightbox__img{max-width:min(92vw,520px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 12px 48px #00000073}.customer-photo-frame__actions{flex-wrap:wrap;gap:6px;margin-top:8px}.customer-photo-frame--portrait .customer-photo-frame__actions{flex-direction:column;align-items:stretch;width:100%;gap:8px}.customer-photo-file-wrap{position:relative;width:100%}.customer-photo-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.customer-photo-file-browse{display:block;width:100%;box-sizing:border-box;text-align:center;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 10px;font-size:.9rem;-webkit-user-select:none;user-select:none}.customer-photo-file-browse:hover{border-color:var(--primary)}.customer-photo-file-input:focus-visible+.customer-photo-file-browse{outline:2px solid color-mix(in srgb,var(--primary, #3b82f6) 70%,transparent);outline-offset:2px}.customer-photo-frame--portrait .customer-photo-frame__actions button{width:100%}.customer-photo-preview{margin-top:6px;min-height:88px;max-height:140px;border:1px solid color-mix(in srgb,var(--border) 85%,var(--text-muted));border-radius:8px;background:var(--surface);display:grid;place-items:center;overflow:hidden}.customer-photo-preview img{width:100%;max-height:120px;object-fit:contain}@media (max-width: 640px){.customer-photo-row{grid-template-columns:1fr}.customer-photo-frame{grid-column:auto}}.booking-customer-suggest-wrap{width:100%;display:grid;gap:6px}.booking-customer-suggest-list{display:grid;gap:4px;max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:6px;background:var(--surface-soft)}.booking-customer-suggest-item{width:100%;text-align:left;border:1px solid transparent;border-radius:6px;background:var(--surface);padding:7px 8px;color:var(--text)}.booking-customer-suggest-item strong{display:block;color:var(--text);font-weight:700}.booking-customer-suggest-item span{display:block;color:var(--text-muted);font-size:.78rem}.booking-customer-suggest-item.is-active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--text)}.booking-customer-suggest-item.is-active strong{color:var(--text)}.mail-template-editor{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:visible}.mail-template-editor__head{display:grid;gap:4px;padding:10px 12px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.mail-template-help{position:relative;display:inline-flex;align-items:center;width:fit-content}.mail-template-help__icon{width:22px;height:22px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.78rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:help;padding:0}.mail-template-help__tooltip{position:absolute;left:28px;top:-6px;min-width:360px;max-width:620px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 24px #00000029;padding:8px 10px;color:var(--text);opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .14s ease,transform .14s ease;z-index:15;width:min(620px,calc(100vw - 80px))}.mail-template-help__tooltip p{margin:5px 0 0;line-height:1.45;color:var(--text-muted)}.mail-template-help__tooltip ul{margin:8px 0 2px;padding-left:16px;columns:2;column-gap:18px;max-height:none;overflow:visible}.mail-template-help__tooltip li{margin:3px 0;line-height:1.45}.mail-template-help__tooltip code{font-family:Consolas,Courier New,monospace;font-size:.82rem;background:color-mix(in srgb,var(--primary) 10%,var(--surface));border:1px solid var(--border);border-radius:4px;padding:1px 5px}.mail-template-help:hover .mail-template-help__tooltip,.mail-template-help:focus-within .mail-template-help__tooltip{opacity:1;transform:translateY(0)}.mail-template-help--tooltip-left .mail-template-help__tooltip{left:auto;right:0;transform:translate(calc(-100% - 10px),4px)}.mail-template-help--tooltip-left:hover .mail-template-help__tooltip,.mail-template-help--tooltip-left:focus-within .mail-template-help__tooltip{transform:translate(calc(-100% - 10px))}.noshow-shield-help{display:inline-flex;align-items:center;gap:6px}.noshow-shield-help .mail-template-help__tooltip{min-width:300px;max-width:420px}.noshow-shield-help .mail-template-help__tooltip ul{columns:1;margin-top:4px}.noshow-shield-settings-root{display:flex;flex-direction:column;gap:0}.noshow-shield-section__title{margin:0 0 10px;font-size:1rem;font-weight:700;color:var(--text)}.noshow-shield-weekday-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 12px}.mail-template-editor__textarea{width:100%;min-height:460px;border:0;background:var(--surface);color:var(--text);font-family:Consolas,Courier New,monospace;font-size:.92rem;line-height:1.55;padding:12px;resize:vertical;outline:none}.sms-template-textarea{min-height:120px}.mail-template-editor__textarea:focus{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 65%,transparent)}.mail-template-preview{margin-top:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden}.mail-template-preview__head{padding:10px 12px;font-size:.9rem;font-weight:600;border-bottom:1px solid var(--border);background:var(--surface-soft)}.mail-template-preview__frame{width:100%;min-height:420px;border:0;background:#fff}.openai-summary-box{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:10px 0 12px;background:color-mix(in srgb,var(--surface-soft) 75%,var(--surface))}.openai-summary-box__head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.openai-summary-box__content{margin:0;font-family:inherit;white-space:pre-wrap;line-height:1.45;color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;padding:20px;z-index:50}.modal-card{width:min(420px,100%);border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);padding:16px}.modal-card--status{position:relative;width:min(620px,100%);padding:20px}.status-dialog__name-row{display:flex;align-items:flex-start;gap:10px;flex-wrap:nowrap}.status-dialog__stammkunde-link{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-top:2px;padding:0;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);cursor:pointer}.status-dialog__stammkunde-link:hover{background:color-mix(in srgb,var(--accent) 24%,var(--surface))}.status-dialog__stammkunde-link-icon{display:block}.status-dialog__name-row-input{flex:1;min-width:0}.status-dialog__name-row-text{flex:1;min-width:0;margin:0}.status-dialog__add-stammkunde{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;margin-top:2px;padding:0;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--text);cursor:pointer}.status-dialog__add-stammkunde:hover{background:color-mix(in srgb,var(--accent) 22%,var(--surface))}.status-dialog__add-stammkunde-icon{font-size:1.25rem;font-weight:700;line-height:1}.status-dialog__quick-create-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;overflow:auto;padding:18px;border-radius:inherit;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 32px color-mix(in srgb,black 18%,transparent)}.status-dialog__quick-create-title{margin:0 0 4px;font-size:1.1rem}.status-dialog__similar-block{margin-top:12px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.status-dialog__similar-kicker{margin:0 0 8px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.status-dialog__similar-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.status-dialog__similar-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.status-dialog__hero{margin:8px 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface-soft) 78%,var(--surface))}.status-dialog__name{margin:0;font-size:1.25rem;font-weight:800;line-height:1.2;color:var(--text)}.status-dialog__name-edit{margin:0;width:100%;font-size:1.12rem;font-weight:700}.status-dialog__contact-line{margin:4px 0 0;font-size:.98rem;font-weight:600;line-height:1.35;color:var(--text);word-break:break-word}.status-dialog__contact-line--placeholder{color:var(--text-muted);font-weight:500}.status-dialog__contact-edit{margin:6px 0 0;width:100%;font-size:.98rem;font-weight:600}.status-dialog__meta{margin:4px 0 0;font-size:.92rem;color:var(--text-muted)}.status-dialog__service{margin:8px 0 0;font-size:1.04rem;font-weight:700;line-height:1.35;color:var(--text)}.status-dialog__service-edit{margin-top:8px;width:100%;font-weight:700}.status-risk-widget{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:10px 0 12px;background:color-mix(in srgb,var(--surface-soft) 74%,var(--surface))}.status-risk-widget__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.status-risk-widget__summary{display:flex;align-items:center;gap:10px}.status-risk-widget__numbers{display:flex;flex-direction:column;gap:2px}.status-risk-widget__percent{display:inline-flex;align-items:center;gap:6px}.status-risk-help{position:relative;display:inline-flex;align-items:center;outline:none}.status-risk-help__icon{width:16px;height:16px;border-radius:999px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:var(--text-muted);background:var(--surface);cursor:help}.status-risk-help__tooltip{position:absolute;top:calc(100% + 8px);left:0;width:min(330px,78vw);background:color-mix(in srgb,var(--surface) 96%,#111827 4%);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 24px #00000029;color:var(--text);padding:10px;z-index:25;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease}.status-risk-help:hover .status-risk-help__tooltip,.status-risk-help:focus-within .status-risk-help__tooltip{opacity:1;transform:translateY(0)}.status-risk-help__tooltip ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}.status-risk-help__tooltip li{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.78rem;border-bottom:1px dashed color-mix(in srgb,var(--border) 75%,transparent);padding-bottom:2px}.status-risk-traffic{width:14px;height:14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 70%,#111827);box-shadow:0 0 0 3px color-mix(in srgb,var(--surface) 70%,transparent)}.status-risk-traffic--low{background:#16a34a}.status-risk-traffic--medium{background:#f59e0b}.status-risk-traffic--high{background:#f97316}.status-risk-traffic--critical{background:#dc2626}.status-risk-traffic--loading{background:#94a3b8;animation:status-risk-traffic-pulse 1.1s ease-in-out infinite}@keyframes status-risk-traffic-pulse{50%{opacity:.35}}.appointment-phase-overlay__header-risk{flex-shrink:0;align-self:center;display:flex;align-items:center;padding:0 2px}.status-risk-widget__events{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.status-risk-widget__events button{font-size:.79rem;padding:4px 8px}.modal-card h3{margin:0}.modal-card .form-row{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:start;gap:10px}.modal-card .form-row>span:first-child,.modal-card .form-row>label:first-child{text-align:right;padding-top:8px}.app-footer{display:none}ul{padding-left:20px}.my-calendar-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.95fr) minmax(260px,1fr);gap:1.25rem;align-items:start;margin-top:.5rem}.my-calendar-left{min-width:0}.my-calendar-middle-column{display:flex;flex-direction:column;gap:1rem;min-width:0}.my-calendar-details{border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem;background:var(--surface-soft)}.my-calendar-details h3{margin:0 0 .5rem;font-size:1.05rem}.my-calendar-verbuchen{border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem;background:var(--surface-soft)}.my-calendar-verbuchen h3{margin:0 0 .5rem;font-size:1.05rem}.my-calendar-customer-basis{border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem;background:var(--surface-soft)}.my-calendar-customer-basis h3{margin:0 0 .5rem;font-size:1.05rem}.my-calendar-basis-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.my-calendar-basis-appt-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:8px}.my-calendar-basis-time{font-weight:600;font-size:1rem}.my-calendar-basis-status{font-size:.82rem;padding:2px 8px;border-radius:6px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));font-weight:500;white-space:nowrap}.my-calendar-basis-phases{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.my-calendar-basis-phase{font-size:.8rem;padding:2px 7px;border-radius:5px;background:var(--surface);border:1px solid var(--border)}.my-calendar-basis-phase--active{background:color-mix(in srgb,var(--primary) 14%,var(--surface));border-color:color-mix(in srgb,var(--primary) 30%,var(--border))}.my-calendar-basis-phase--passive{background:color-mix(in srgb,var(--warning, orange) 10%,var(--surface));border-color:color-mix(in srgb,var(--warning, orange) 25%,var(--border))}.my-calendar-basis-divider{border:none;border-top:1px solid var(--border);margin:10px 0}.my-calendar-basis-name-block{margin-bottom:4px}.my-calendar-right-column{display:flex;flex-direction:column;gap:1rem;min-width:0}.my-calendar-available-services{border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem;background:var(--surface-soft)}.my-calendar-available-services h3{margin:0 0 .5rem;font-size:1.05rem}.my-calendar-services-list{list-style:none;margin:.75rem 0 0;padding:0}.my-calendar-service-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .65rem;border-bottom:1px solid var(--border);font-size:.93rem}.my-calendar-service-item:last-child{border-bottom:none}.my-calendar-service-item--clickable{cursor:pointer;border-radius:6px;transition:background .15s ease}.my-calendar-service-item--clickable:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.my-calendar-service-item--clickable:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.my-calendar-service-name{font-weight:500}.my-calendar-service-duration{white-space:nowrap;flex-shrink:0}.my-calendar-stat-list{list-style:none;margin:.75rem 0 0;padding:0}.my-calendar-stat-list li{display:flex;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--border);font-size:.95rem}.my-calendar-stat-list li:last-child{border-bottom:none}@media (min-width: 901px) and (max-width: 980px){.app-shell{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar{position:static;top:auto;height:auto;overflow-y:visible;border-right:0;border-bottom:1px solid var(--border)}.content{height:auto;overflow-y:visible}}@media (max-width: 980px){.card-grid{grid-template-columns:1fr}.topbar,.calendar-header{flex-direction:column;align-items:flex-start}.my-calendar-split{grid-template-columns:1fr}.calendar-row{grid-template-columns:76px 1fr}.booking-reason-row,.booking-reason-layout{grid-template-columns:1fr}.booking-reason-layout__right{border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:10px}.booking-reason-phase-row{grid-template-columns:20px 1fr}.customer-layout,.customer-layout--stammkunden-split{grid-template-columns:1fr}.customer-stammkunden-sidebar{position:static;max-height:none}.customer-stammkunden-sidebar .customer-list--sidebar{height:362px;max-height:362px}.customer-detail-grid,.customer-detail-person-and-last-appt{grid-template-columns:1fr}.customer-detail-photo-column{padding-left:0;padding-top:10px;margin-top:8px;align-items:stretch}.customer-photo-frame--portrait,.customer-photo-preview.customer-photo-preview--portrait{max-width:min(300px,100%)}.customer-detail-last-appt-card{border-left:0;margin-left:0;padding-left:0;margin-top:10px;border-top:1px solid var(--border);padding-top:10px}.customer-communication-reminders-col{margin-left:0;align-items:flex-start;text-align:left;max-width:none}.login-layout{grid-template-columns:1fr}.login-logo-panel{min-height:220px}.login-form-grid{grid-template-columns:1fr;gap:8px}.db-browser-layout{grid-template-columns:1fr}.db-browser-tables-panel{max-height:240px}}@media (max-width: 1024px) and (orientation: portrait){.content{padding:12px}.sidebar{padding:12px 10px}.sidebar-brand-logo{max-height:64px;margin-bottom:6px}.sidebar-brand h1{font-size:1.12rem}.sidebar-brand p{margin:4px 0 10px}.menu-group+.menu-group{margin-top:6px}.menu-group-title,.menu-item{padding:10px 12px;font-size:.95rem}.topbar{padding:12px;margin-bottom:12px}.topbar-title{font-size:1.25rem}.topbar-actions{width:100%;flex-wrap:wrap;gap:6px}.topbar-actions>*{flex:1 1 auto;min-height:40px}.card{padding:12px;border-radius:10px}.form-row{display:grid;grid-template-columns:1fr;gap:6px;align-items:stretch}.config-split,.config-two-col{grid-template-columns:1fr;gap:10px}.config-form .form-row{grid-template-columns:1fr;gap:6px}.config-form .form-row>input.select,.config-form .form-row>select.select,.config-form .form-row>textarea.mail-template-editor__textarea{width:100%;justify-self:stretch}.mail-template-editor__textarea{min-height:340px;font-size:.88rem}.mail-template-preview__frame{min-height:300px}.week-calendar-cell{height:var(--week-slot-height);min-height:var(--week-slot-height);padding:3px}.calendar-time{font-size:.76rem}.week-calendar-day{min-height:56px;padding:6px 4px}.db-browser-main{overflow-x:auto}}.db-browser-page__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.db-browser-layout{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:20px;margin-top:16px;align-items:start}.db-browser-tables-panel{background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;padding:12px 10px;max-height:min(70vh,560px);overflow:auto}.db-browser-subtitle{margin:0 0 10px;font-size:1rem;font-weight:600}.db-browser-table-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.db-browser-table-btn{display:block;width:100%;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);font:inherit;cursor:pointer}.db-browser-table-btn:hover{background:var(--surface);border-color:var(--border)}.db-browser-table-btn.is-active{background:var(--surface);border-color:var(--primary);color:var(--primary-strong);font-weight:600}.db-browser-main{min-width:0}.db-browser-pagination{flex-wrap:wrap;margin:12px 0}.db-browser-grid-wrap{outline:none;border:1px solid var(--border);border-radius:10px;overflow:auto;max-height:min(60vh,480px);background:var(--surface)}.db-browser-grid-wrap:focus-visible{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--primary)}table.db-browser-data{width:max-content;min-width:100%;border-collapse:collapse;font-size:.875rem}.db-browser-data th,.db-browser-data td{padding:8px 10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:top;text-align:left;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-browser-data th:last-child,.db-browser-data td:last-child{border-right:none}.db-browser-data thead th{position:sticky;top:0;z-index:1;background:var(--surface-soft);font-weight:600}.db-browser-col-focused{box-shadow:inset 0 -3px 0 var(--primary)}.db-browser-cell-focused{outline:2px solid var(--primary);outline-offset:-2px;background:color-mix(in srgb,var(--primary) 12%,transparent)}.db-browser-cell-input{width:100%;min-width:120px;border:1px solid var(--primary);border-radius:6px;padding:4px 6px;font:inherit;background:var(--surface);color:var(--text)}.debug-logs-page{max-width:100%}.debug-logs-page__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.debug-logs-page__head h2{margin:0}.debug-logs-page__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.debug-logs-auto-refresh{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;cursor:pointer}.btn-tiny--danger{color:#dc2626;border-color:#dc2626}.btn-tiny--danger:hover{background:#dc262614}.debug-logs-subtitle{font-size:.9rem;font-weight:700;margin:0 0 8px;display:flex;align-items:center;gap:12px}.debug-logs-modules{margin-bottom:18px;padding:12px 14px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--border)}.debug-logs-modules__all-toggle{display:inline-flex;gap:6px}.debug-logs-modules__grid{display:flex;flex-wrap:wrap;gap:8px 18px}.debug-logs-module-toggle{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;cursor:pointer}.debug-logs-module-toggle input[type=checkbox]{accent-color:var(--primary)}.debug-logs-stats{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-bottom:14px;font-size:.82rem}.debug-logs-stats__breakdown{display:inline-flex;flex-wrap:wrap;gap:6px}.debug-log-stat-chip{display:inline-block;background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:600}.debug-logs-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:10px 12px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--border)}.debug-logs-filters label{display:flex;flex-direction:column;gap:3px;font-size:.78rem;font-weight:600}.debug-logs-filters .select{min-width:110px}.debug-logs-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;max-height:68vh;overflow-y:auto}.debug-logs-table{width:100%;border-collapse:collapse;font-size:.8rem;line-height:1.35}.debug-logs-table th,.debug-logs-table td{padding:6px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.debug-logs-table thead th{position:sticky;top:0;z-index:1;background:var(--surface-soft);font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.03em}.debug-logs-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 5%,transparent)}.debug-log-row--error{background:#dc26260f}.debug-log-row--error:hover{background:#dc26261a}.debug-log-cell-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.74rem;opacity:.85}.debug-log-cell-label{font-weight:600;word-break:break-word;max-width:320px}.debug-log-cell-detail{color:var(--text-muted, #6b7280);word-break:break-word;max-width:360px;font-size:.76rem}.debug-log-cell-duration{text-align:right;white-space:nowrap}.debug-log-module-chip{display:inline-block;background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:600;white-space:nowrap}.debug-log-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.debug-log-badge--function{background:#2563eb1f;color:#2563eb;border:1px solid rgba(37,99,235,.25)}.debug-log-badge--query{background:#7c3aed1f;color:#7c3aed;border:1px solid rgba(124,58,237,.25)}.debug-log-badge--http-in{background:#16a34a1f;color:#16a34a;border:1px solid rgba(22,163,74,.25)}.debug-log-badge--http-out{background:#eab3081f;color:#b45309;border:1px solid rgba(234,179,8,.25)}.debug-log-badge--event{background:#0ea5e91f;color:#0284c7;border:1px solid rgba(14,165,233,.25)}.debug-log-badge--error{background:#dc26261f;color:#dc2626;border:1px solid rgba(220,38,38,.25)}.debug-log-badge--info{background:#6b72801f;color:#6b7280;border:1px solid rgba(107,114,128,.25)}.debug-log-duration{display:inline-block;padding:1px 7px;border-radius:999px;font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}.debug-log-duration--fast{background:#16a34a1a;color:#16a34a}.debug-log-duration--medium{background:#eab3081f;color:#b45309}.debug-log-duration--slow{background:#dc26261f;color:#dc2626}.debug-logs-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 0 4px;font-size:.82rem}.system-update-card{border-top:1px solid var(--border);padding-top:1rem}.staff-update-progress{margin:0 0 12px}.staff-update-progress__track{position:relative;height:8px;border-radius:999px;background:color-mix(in srgb,var(--border) 85%,var(--surface));overflow:hidden}.staff-update-progress__bar{position:absolute;inset:0 auto 0 0;width:38%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--accent, #3b82f6) 55%,var(--surface)),var(--accent, #3b82f6),color-mix(in srgb,var(--accent, #3b82f6) 55%,var(--surface)));animation:staff-update-progress-indeterminate 1.35s ease-in-out infinite}@keyframes staff-update-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(280%)}}@media (prefers-reduced-motion: reduce){.staff-update-progress__bar{animation:none;width:100%;opacity:.65}}.staff-update-progress__hint{margin:8px 0 0;line-height:1.35}.system-update-table{width:100%;border-collapse:collapse;font-size:.88rem}.system-update-table th,.system-update-table td{text-align:left;padding:5px 10px;border-bottom:1px solid var(--border)}.system-update-table th{font-weight:600;font-size:.82rem;color:var(--text-muted)}
