html{--kes-haupt: #2F5D8C;--kes-dunkel: #1E2933;--kes-grau: #5B6673;--kes-linie: #e3e7ec;--kes-flaeche: #ffffff;--kes-hintergrund: #f4f6f8;--kes-text: var(--kes-dunkel);--lumo-primary-color: var(--kes-haupt);--lumo-primary-color-50pct: rgba(47,93,140,0.5);--lumo-primary-color-10pct: rgba(47,93,140,0.1);--lumo-primary-text-color: var(--kes-haupt);--lumo-body-text-color: var(--kes-dunkel);--lumo-secondary-text-color: var(--kes-grau);--lumo-border-radius-m: 8px;--lumo-border-radius-l: 12px;background: var(--kes-hintergrund)}html[theme~="dark"]{--kes-linie: #2c3844;--kes-flaeche: #1b252f;--kes-hintergrund: #121a22;--kes-text: #e6ebf0;--lumo-primary-color: #6c9bd0;--lumo-primary-text-color: #8db4e0;--lumo-body-text-color: #e6ebf0;--lumo-secondary-text-color: #a7b3bf;--lumo-base-color: #1b252f}vaadin-app-layout::part(navbar){background: var(--kes-flaeche);border-bottom: 1px solid var(--kes-linie);box-shadow: none}vaadin-app-layout::part(drawer){background: var(--kes-dunkel);border-inline-end: none}.marke{padding: 18px 16px 10px;display: flex;justify-content: center}.marke img{max-width: 100%;max-height: 64px;box-sizing: border-box;border-radius: 6px}.logo-paar{display: flex;justify-content: center}.support .logo-paar{justify-content: flex-start}.nur-dunkel{display: none}html[theme~="dark"] .nur-hell{display: none}html[theme~="dark"] .nur-dunkel{display: block}.navigation{padding: 8px}.navigation vaadin-side-nav-item{--vaadin-side-nav-item-color: rgba(255,255,255,0.85);--lumo-contrast-60pct: rgba(255,255,255,0.85);--lumo-body-text-color: rgba(255,255,255,0.9);--lumo-primary-text-color: #fff;--lumo-secondary-text-color: rgba(255,255,255,0.7);color: rgba(255,255,255,0.9)}.navigation vaadin-side-nav-item::part(content){border-radius: 8px;color: rgba(255,255,255,0.9)}.navigation vaadin-side-nav-item[current]::part(content){background: rgba(47,93,140,0.55);color: #fff}.kopf-titel{font-weight: 600;color: var(--lumo-primary-text-color)}.kopf-rechts{margin-left: auto;padding-right: 12px;display: flex;align-items: center;gap: 4px}html{--pze-page-bg: var(--kes-hintergrund);--pze-surface: var(--kes-flaeche);--pze-border: var(--kes-linie);--pze-muted: var(--lumo-secondary-text-color);--pze-ink: var(--kes-text);--pze-soft: #e8eef5;--pze-head: #eef2f6;--pze-success: #1e7b34;--pze-warning: #c2410c;--pze-danger: #b42318}html[theme~="dark"]{--pze-soft: #24313e;--pze-head: #202c38;--pze-success: #5cc27a;--pze-warning: #f0915a;--pze-danger: #f08a80}html,body{color: var(--kes-text)}vaadin-button{border-radius: 8px}vaadin-button[theme~="primary"]{box-shadow: none}vaadin-grid{border: 1px solid var(--pze-border);border-radius: 8px;overflow: hidden}vaadin-grid::part(header-cell){background: var(--pze-head);color: var(--pze-muted);font-size: 0.82rem;font-weight: 700}vaadin-grid::part(row){min-height: 44px}.page-shell{background: var(--pze-page-bg);gap: 18px;min-height: 100%;padding: 24px;width: 100%}.page-header{display: flex;flex-direction: column;gap: 4px}.page-title,.terminal-title,.mobile-title{color: var(--pze-ink);font-size: 1.9rem;font-weight: 750;line-height: 1.15;margin: 0}.page-subtitle,.metric-note,.terminal-id,.terminal-detail,.mobile-detail,.mobile-date{color: var(--pze-muted)}.metric-grid{display: grid;gap: 16px;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));width: 100%}.metric-card,.section-panel,.terminal-panel,.mobile-panel{background: var(--pze-surface);border: 1px solid var(--pze-border);border-radius: 12px;box-shadow: none}.metric-card{display: flex;flex-direction: column;gap: 6px;min-height: 156px;padding: 18px}.metric-icon{align-items: center;background: var(--pze-soft);border-radius: 8px;color: var(--lumo-primary-text-color);display: inline-flex;height: 40px;justify-content: center;width: 40px}.metric-title{color: var(--pze-muted);font-size: 0.9rem;font-weight: 650;margin-top: 8px}.metric-value{color: var(--pze-ink);font-size: 2rem;font-weight: 760;line-height: 1.1}.section-panel{display: flex;flex-direction: column;gap: 14px;padding: 18px;width: 100%}.section-title,.mobile-section-title{color: var(--pze-ink);font-size: 1.05rem;font-weight: 720;margin: 0}.quick-actions{display: grid;gap: 10px;grid-template-columns: repeat(auto-fit,minmax(170px,1fr))}.quick-action{border: 1px solid var(--pze-border);justify-content: flex-start;min-height: 46px;width: 100%}.terminal-page,.mobile-clock-view{background: var(--pze-page-bg);min-height: 100vh}.terminal-page{gap: 20px;justify-content: center;padding: 32px 16px}.terminal-header{display: flex;flex-direction: column;gap: 6px;max-width: 680px;width: 100%}.terminal-panel{align-items: center;display: flex;flex-direction: column;gap: 16px;max-width: 680px;padding: 30px;text-align: center;width: 100%}.terminal-icon{align-items: center;background: var(--pze-soft);border-radius: 8px;color: var(--lumo-primary-text-color);display: inline-flex;height: 72px;justify-content: center;width: 72px}.terminal-icon vaadin-icon{height: 38px;width: 38px}.terminal-status{color: var(--pze-ink);font-size: 2rem;font-weight: 760;line-height: 1.15;margin: 0}.terminal-status.state-success{color: var(--pze-success)}.terminal-status.state-error{color: var(--pze-danger)}.terminal-input{max-width: 420px}.terminal-action{min-height: 54px;min-width: 220px}.mobile-clock-view{gap: 14px;padding: 18px 14px 24px}.mobile-header{max-width: 680px;width: 100%}.mobile-title-group{align-items: center;display: flex;gap: 12px}.mobile-title{font-size: 1.45rem}.mobile-panel{display: flex;flex-direction: column;gap: 14px;max-width: 680px;padding: 18px;width: 100%}.mobile-date{font-size: 0.92rem;font-weight: 650}.mobile-status{color: var(--pze-ink);font-size: 1.75rem;font-weight: 760;line-height: 1.15;margin: 0}.mobile-detail{min-height: 24px}.mobile-booking-button{font-size: 1.18rem;font-weight: 760;min-height: 76px}.mobile-booking-button.is-go{--lumo-primary-color: var(--pze-warning);--lumo-primary-text-color: var(--pze-warning);--lumo-primary-color-50pct: rgba(184,101,47,0.5);--lumo-primary-color-10pct: rgba(184,101,47,0.1)}.mobile-grid{max-height: 340px}@media (max-width: 760px){.page-shell{padding: 16px}.app-user{display: none}.page-title,.terminal-title{font-size: 1.55rem}.terminal-panel{padding: 22px 16px}}.form-actions{gap: 10px}.token-section{gap: 10px}.token-section h2{color: var(--pze-ink);font-size: 1.05rem;font-weight: 720;margin: 0}.token-form{width: 100%}.form-panel{background: var(--pze-surface);border: 1px solid var(--pze-border);border-radius: 12px;box-shadow: none;padding: 18px;width: 100%}.report-filters{align-items: end;background: var(--pze-surface);border: 1px solid var(--pze-border);border-radius: 12px;box-shadow: none;flex-wrap: wrap;gap: 12px;padding: 18px}.status-badge{align-items: center;border-radius: 999px;display: inline-flex;font-size: 0.8rem;font-weight: 700;min-height: 26px;padding: 2px 10px}.status-requested{background: #fff3d6;color: #8a5a00}.status-approved{background: #dff3e8;color: #25684d}.status-rejected{background: #f8dddd;color: #913838}.status-cancelled{background: #e8edf2;color: #4f5f6b}.vacation-form{width: 100%}.vacation-calendar-section{overflow-x: auto;padding: 28px}.vacation-calendar-section .section-title{font-size: 1.35rem}.calendar-toolbar{align-items: center;display: flex;gap: 12px;margin-bottom: 10px}.calendar-title{color: var(--pze-ink);display: inline-flex;font-size: 1.45rem;font-weight: 780;justify-content: center;min-width: 260px;text-transform: capitalize}.vacation-calendar{background: var(--pze-border);border: 1px solid var(--pze-border);border-radius: 8px;display: grid;gap: 2px;grid-template-columns: repeat(7,minmax(190px,1fr));min-width: 1330px;overflow: hidden;width: 100%}.calendar-weekday{background: var(--pze-head);color: var(--pze-muted);font-size: 0.82rem;font-weight: 750;padding: 8px 8px;text-align: center}.calendar-day{background: var(--pze-surface);display: flex;flex-direction: column;gap: 5px;min-height: 118px;padding: 8px}.calendar-day.is-empty{background: var(--kes-hintergrund)}.calendar-day.is-weekend{background: var(--pze-head)}.calendar-day.is-today{box-shadow: inset 0 0 0 2px var(--lumo-primary-color)}.calendar-date{color: var(--pze-ink);font-size: 0.85rem;font-weight: 760;line-height: 1}vaadin-button.calendar-entry{--lumo-button-size: auto;border-radius: 6px;box-shadow: none;color: var(--pze-ink);font-size: 0.76rem;font-weight: 700;justify-content: flex-start;min-height: 24px;padding: 0 7px;width: 100%}vaadin-button.calendar-entry::part(label){font-size: 0.76rem;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}vaadin-button.calendar-entry.status-requested{background: #fff3d6;color: #8a5a00}vaadin-button.calendar-entry.status-approved{background: #dff3e8;color: #25684d}vaadin-button.calendar-entry.status-rejected{background: #f8dddd;color: #913838}vaadin-button.calendar-entry.status-cancelled{background: #e8edf2;color: #4f5f6b}.calendar-more{color: var(--pze-muted);font-size: 0.78rem;font-weight: 700;padding-left: 2px}.calendar-legend{display: flex;flex-wrap: wrap;gap: 10px 16px}.calendar-legend-item{align-items: center;color: var(--pze-muted);display: inline-flex;font-size: 0.86rem;gap: 6px}.legend-dot{border-radius: 999px;display: inline-flex;height: 10px;width: 10px}.legend-dot.status-requested{background: #fff3d6;border: 1px solid #d6a93d}.legend-dot.status-approved{background: #dff3e8;border: 1px solid #69a983}.legend-dot.status-rejected{background: #f8dddd;border: 1px solid #c06a6a}.legend-dot.status-cancelled{background: #e8edf2;border: 1px solid #aeb8c2}@media (max-width: 760px){.vacation-calendar{grid-template-columns: repeat(7,128px);min-width: 896px}.calendar-day{min-height: 108px}}.vacation-planning-view{gap: 22px}.vacation-planning-view .vacation-calendar-section{min-height: 82vh;padding: 32px}.vacation-planning-view .vacation-calendar{min-height: 760px}.vacation-planning-view .calendar-toolbar{min-height: 56px}.vacation-planning-view .vacation-list-section vaadin-grid{max-height: 280px}.vacation-planning-view .vacation-form-section{padding-top: 16px}@media (max-width: 760px){.vacation-planning-view .vacation-calendar-section{min-height: 76vh;padding: 20px}.vacation-planning-view .vacation-calendar{min-height: 640px}}.rich-text-field{display: flex;flex-direction: column;gap: 6px;width: 100%}.rich-text-label{color: var(--pze-muted);font-size: 0.86rem;font-weight: 700}.vacation-rich-text-editor{min-height: 220px;width: 100%}.free-rich-text{background: var(--lumo-base-color);border: 1px solid var(--lumo-contrast-20pct);border-radius: 8px;display: flex;flex-direction: column;overflow: hidden}.free-rich-text-toolbar{border-bottom: 1px solid var(--lumo-contrast-10pct);flex-wrap: wrap;gap: 2px;padding: 6px}.free-rich-text-tool{min-height: 30px;min-width: 34px}.free-rich-text-editor{flex: 1;line-height: 1.45;min-height: 150px;outline: none;overflow: auto;padding: 10px 12px}.free-rich-text-editor:empty::before{color: var(--pze-muted);content: "Text eingeben"}.time-management-grid::part(cancelled-booking){color: var(--pze-muted);opacity: 0.72;text-decoration: line-through}.time-management-toggle{padding-bottom: 6px}.login-seite{min-height: 100vh;display: flex;align-items: center;justify-content: center;background: linear-gradient(135deg,var(--kes-dunkel),var(--kes-haupt));padding: 16px;box-sizing: border-box}.login-karte{background: #fff;color: var(--kes-dunkel);border-radius: 16px;padding: 32px 24px 12px;width: min(400px,100%);box-shadow: 0 20px 50px rgba(0,0,0,0.25);display: flex;flex-direction: column;align-items: center;box-sizing: border-box;gap: 4px}html[theme~="dark"] .login-karte{background: var(--kes-flaeche);color: var(--kes-text)}.login-logo{width: 220px;max-width: 100%;max-height: 110px;object-fit: contain}.login-titel{margin-top: 14px;font-size: 1.05rem;font-weight: 600;color: var(--kes-grau);text-align: center}.login-karte vaadin-login-form::part(form){background: transparent}.login-karte p{text-align: center;margin: 6px 0}.login-hinweis{font-size: var(--lumo-font-size-xs);color: var(--kes-grau)}.login-recht{display: flex;justify-content: center;gap: 16px;margin: 0 0 8px;font-size: var(--lumo-font-size-xs)}.login-recht a{color: var(--kes-grau)}html[theme~="dark"] .login-titel,html[theme~="dark"] .login-hinweis,html[theme~="dark"] .login-recht a{color: var(--lumo-secondary-text-color)}.support-karte{background: var(--kes-flaeche);border-radius: 12px;padding: 24px 28px;max-width: 560px;box-sizing: border-box;width: 100%}.support-logo{height: 40px;margin-bottom: 8px}.support .support-karte + .support-karte{margin-top: 16px}.support-karte h3{margin: 4px 0 0;color: var(--kes-text)}.support-karte p{margin: 4px 0 14px;color: var(--lumo-secondary-text-color)}.tipp{font-size: var(--lumo-font-size-xs);color: var(--lumo-secondary-text-color)}.support-zeile{display: flex;align-items: center;gap: 12px;padding: 8px 0;font-size: 1.05rem}.support-zeile vaadin-icon{color: var(--lumo-primary-text-color);width: 20px;height: 20px}.support-zeile a{color: var(--kes-text);text-decoration: none;font-weight: 600}.support-zeile a:hover{text-decoration: underline}.mobile-title-group .logo-paar img,.brand-logo-mobile{height: 34px;width: auto}.benutzermenue{flex: none}.mt-seite{max-width: 1400px;margin: 0 auto;padding: 12px;box-sizing: border-box;min-height: 100vh;background: var(--kes-hintergrund)}.mt-seite .terminal-title{font-size: 1.5rem;margin: 0 0 8px}.mt-status{padding: 10px 14px;margin: 10px 0;border-radius: 12px;background: var(--pze-soft);font-size: 1rem;border-left: 4px solid var(--kes-haupt)}.mt-status.ok{background: #e3f1e7;color: #1e6b31;border-left-color: #1e7b34}.mt-status.warnung{background: #fff4d6;color: #6b4a00;border-left-color: #d4a017}.mt-raster{display: grid;grid-template-columns: repeat(auto-fill,minmax(min(180px,calc((100% - 8px) / 2)),1fr));gap: 8px}vaadin-button.mt-kachel{height: auto;min-height: 116px;padding: 8px 6px;border-radius: 12px;white-space: normal;min-width: 0;font-size: 14px;line-height: 1.25;background: var(--kes-flaeche);color: var(--kes-text);border: 2px solid var(--kes-linie)}vaadin-button.mt-kachel.anwesend{background: #e3f1e7;color: #17384b;border-color: #1e7b34}html[theme~="dark"] vaadin-button.mt-kachel.anwesend{background: #1f3a2a;color: #e6ebf0}.mt-inhalt{display: flex;flex-direction: column;align-items: center;gap: 4px;width: 100%;min-width: 0;overflow-wrap: anywhere}.mt-name{font-weight: 700;white-space: normal}.mt-nr{font-size: 13px;color: var(--lumo-secondary-text-color)}@media (max-width: 700px){.kopf-name{display: none}}.eigenes-logo{object-fit: contain}.marke .menue-logo{background: #fff;padding: 8px 12px;border-radius: 8px;max-height: 72px}.logo-vorschau img{max-width: 260px;max-height: 120px;object-fit: contain;background: #fff;border: 1px solid var(--pze-border);border-radius: 8px;padding: 10px}.logo-zeile{flex-wrap: wrap;gap: 20px}html[theme~="dark"] .login-logo.eigenes-logo,html[theme~="dark"] .brand-logo-mobile.eigenes-logo{background: #fff;border-radius: 8px;padding: 6px 10px}.db-inhalt{display: flex;flex-direction: column;gap: 18px;width: 100%}.db-kennzahl{min-height: 0}.db-kennzahl.db-hinweis .metric-value{color: var(--lumo-primary-text-color)}.db-raster{display: grid;gap: 16px;grid-template-columns: repeat(auto-fit,minmax(320px,1fr));align-items: start}.db-bereich{gap: 10px;width: auto;box-sizing: border-box;min-width: 0}.db-bereich.db-warnung{border-color: var(--pze-danger)}.db-bereich.db-warnung .section-title{color: var(--pze-danger)}.db-bereich.db-breit{grid-column: 1 / -1}.db-bereich.db-hinweis{border-color: var(--lumo-primary-color)}.db-liste{display: flex;flex-direction: column;max-height: 320px;overflow-y: auto}.db-zeile{display: flex;justify-content: space-between;gap: 12px;padding: 8px 0;border-bottom: 1px solid var(--pze-border)}.db-zeile:last-child{border-bottom: none}.db-name{color: var(--pze-ink);font-weight: 600}.db-info{color: var(--pze-muted);text-align: right}.db-leer{color: var(--pze-muted)}.db-aktionen{display: grid;gap: 8px;grid-template-columns: repeat(auto-fit,minmax(150px,1fr))}@media (max-width: 480px){.db-raster{grid-template-columns: 1fr}}vaadin-app-layout::part(navbar){flex-wrap: wrap}.demo-band{flex-basis: 100%;display: flex;align-items: center;justify-content: center;gap: 8px;padding: 6px 16px;background: #fff4d6;color: #6b4e00;border-top: 1px solid #f0d58a;font-size: var(--lumo-font-size-s);text-align: center}.demo-band vaadin-icon{width: 18px;height: 18px;flex: none}.login-seite>.demo-band{position: fixed;top: 0;left: 0;right: 0;z-index: 10;border-top: 0;border-bottom: 1px solid #f0d58a}