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 a{display: flex;justify-content: center;max-width: 100%}.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: max(32px,env(safe-area-inset-top)) 16px 16px;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{max-height: 72px;max-width: 100%}.logo-vorschau img{max-width: 260px;max-height: 120px;object-fit: contain}.logo-zeile{flex-wrap: wrap;gap: 20px}.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}vaadin-grid.klickbar::part(row){cursor: pointer}vaadin-grid.klickbar::part(body-cell){cursor: pointer}vaadin-grid::part(cancelled-booking){color: var(--pze-muted);opacity: 0.72;text-decoration: line-through}vaadin-grid::part(zeile-hinweis){color: var(--pze-warning);font-weight: 600}.klickbar-karte{cursor: pointer;transition: border-color .15s,transform .15s}.klickbar-karte:hover,.klickbar-karte:focus-visible{border-color: var(--lumo-primary-color);transform: translateY(-1px);outline: none}.klickbar-karte .metric-note{color: var(--lumo-primary-text-color)}.metric-card.ist-aktiv{border: 2px solid var(--lumo-primary-color)}.metric-card.db-warnung{border-color: var(--pze-danger)}.metric-card.db-warnung .metric-value{color: var(--pze-danger)}.metric-card.db-hinweis .metric-value{color: var(--lumo-primary-text-color)}.db-zeile.db-klick{cursor: pointer;border-radius: 6px}.db-zeile.db-klick:hover{background: var(--pze-soft)}.db-zeile.db-klick .db-info{color: var(--pze-danger)}.calendar-day.ist-klickbar{cursor: pointer}.calendar-day.ist-klickbar:hover{outline: 2px solid var(--lumo-primary-color);outline-offset: -2px}.fenster-hinweis{display: block;background: color-mix(in srgb,var(--pze-warning) 14%,transparent);border-left: 4px solid var(--pze-warning);border-radius: 6px;padding: 8px 12px;margin-bottom: 10px}.fenster-historie{display: flex;flex-direction: column;gap: 6px;margin-top: 12px;font-size: var(--lumo-font-size-s)}.fenster-historie>span:first-child{font-weight: 600}.fenster-historie-zeile{display: flex;flex-direction: column;border-top: 1px solid var(--pze-border);padding-top: 6px}vaadin-button.fenster-zeile{display: flex;justify-content: flex-start;width: 100%}vaadin-dialog-overlay::part(footer){flex-wrap: wrap;gap: 8px}.mobile-navi{display: grid;grid-template-columns: 1fr 1fr;gap: 6px;max-width: 680px;width: 100%;padding: 0 18px;box-sizing: border-box}.mobile-reiter{display: flex;align-items: center;justify-content: center;gap: 8px;padding: 10px 8px;border-radius: 10px;border: 1px solid var(--pze-border);background: var(--lumo-base-color);color: var(--pze-ink);font-weight: 650;cursor: pointer}.mobile-reiter.ist-aktiv{background: var(--lumo-primary-color);border-color: var(--lumo-primary-color);color: var(--lumo-primary-contrast-color)}.mobile-reiter:focus-visible{outline: 2px solid var(--lumo-primary-color);outline-offset: 2px}.mb-kacheln{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 12px;max-width: 680px;width: 100%;padding: 18px 18px 0;box-sizing: border-box}.mb-kachel .metric-value{font-size: 1.45rem}.metric-card.ist-minus .metric-value{color: var(--pze-danger)}.mb-antraege vaadin-button{min-height: 48px}.stundenzettel{display: flex;flex-direction: column;gap: 8px;width: 100%}.sz-kopf{display: flex;align-items: center;justify-content: space-between}.sz-monat{font-weight: 700;font-size: 1.05rem}.sz-summe{color: var(--pze-muted,var(--lumo-secondary-text-color));font-size: var(--lumo-font-size-s)}vaadin-grid::part(zeile-frei){color: var(--lumo-secondary-text-color)}vaadin-grid::part(zeile-minus){color: var(--pze-danger)}.soll-tage{display: grid;grid-template-columns: repeat(7,minmax(0,1fr));gap: 8px}.soll-tage vaadin-number-field{width: 100%;min-width: 0}.dialog-text{display: flex;flex-direction: column;gap: 10px}@media (max-width: 560px){.soll-tage{grid-template-columns: repeat(4,minmax(0,1fr))}}.page-shell>.section-panel{box-sizing: border-box}.nfc-seite{display: flex;flex-direction: column;align-items: center;gap: 20px;max-width: 900px;overflow: hidden}.nfc-kopf{display: flex;align-items: center;justify-content: space-between;gap: 16px;width: 100%}.nfc-kopf .logo-paar{justify-content: flex-start}.nfc-logo{max-height: 64px;max-width: min(320px,60vw);width: auto}.nfc-terminal{color: var(--lumo-secondary-text-color);font-size: 14px;white-space: nowrap}.nfc-zeit{display: flex;flex-direction: column;align-items: center;gap: 2px;margin-top: auto}.nfc-uhr{font-size: clamp(3.5rem,12vw,6.5rem);font-weight: 750;line-height: 1;color: var(--kes-text);font-variant-numeric: tabular-nums}.nfc-datum{font-size: 1.15rem;color: var(--lumo-secondary-text-color)}.nfc-karte{display: flex;flex-direction: column;align-items: center;gap: 10px;width: 100%;box-sizing: border-box;padding: 36px 20px;border-radius: 16px;background: var(--kes-flaeche);border: 2px solid var(--kes-linie);border-left: 6px solid var(--kes-haupt);text-align: center;transition: background .2s,border-color .2s;margin-bottom: auto}.nfc-symbol{display: inline-flex;align-items: center;justify-content: center;width: 110px;height: 110px;border-radius: 50%;background: var(--lumo-primary-color-10pct);color: var(--kes-haupt);animation: nfc-puls 2.4s ease-in-out infinite}.nfc-symbol vaadin-icon{width: 56px;height: 56px}@keyframes nfc-puls{0%,100%{box-shadow: 0 0 0 0 rgba(47,93,140,.35)}50%{box-shadow: 0 0 0 18px rgba(47,93,140,0)}}.nfc-status{margin: 6px 0 0;font-size: clamp(1.6rem,5vw,2.4rem);font-weight: 750;color: var(--kes-text)}.nfc-detail{font-size: 1.15rem;color: var(--lumo-secondary-text-color)}.nfc-karte.ok{background: #e3f1e7;border-color: #1e7b34}.nfc-karte.gehen{background: #e8eef5;border-color: var(--kes-haupt)}.nfc-karte.fehler{background: #fff4d6;border-color: #d4a017}.nfc-karte.ok .nfc-symbol{background: #1e7b34;color: #fff;animation: none}.nfc-karte.gehen .nfc-symbol{background: var(--kes-haupt);color: #fff;animation: none}.nfc-karte.fehler .nfc-symbol{background: #d4a017;color: #fff;animation: none}.nfc-karte.ok .nfc-status,.nfc-karte.ok .nfc-detail{color: #1e6b31}.nfc-karte.gehen .nfc-status,.nfc-karte.gehen .nfc-detail{color: #17384b}.nfc-karte.fehler .nfc-status,.nfc-karte.fehler .nfc-detail{color: #6b4a00}html[theme~="dark"] .nfc-karte.ok{background: #1f3a2a}html[theme~="dark"] .nfc-karte.gehen{background: #1f2f44}html[theme~="dark"] .nfc-karte.fehler{background: #3a3220}html[theme~="dark"] .nfc-karte.ok .nfc-status,html[theme~="dark"] .nfc-karte.ok .nfc-detail,html[theme~="dark"] .nfc-karte.gehen .nfc-status,html[theme~="dark"] .nfc-karte.gehen .nfc-detail,html[theme~="dark"] .nfc-karte.fehler .nfc-status,html[theme~="dark"] .nfc-karte.fehler .nfc-detail{color: #e6ebf0}.nfc-knopf{min-height: 54px;margin-top: 8px}.nfc-eingabe{position: absolute;left: 0;bottom: 0;width: 1px;height: 1px;opacity: 0;overflow: hidden}.mt-terminal{max-width: 1400px;align-items: stretch;gap: 16px;overflow: visible}.mt-terminal .nfc-zeit{margin-top: 0}.mt-terminal .nfc-uhr{font-size: clamp(3rem,8vw,4.5rem)}.mt-karte{flex-direction: row;justify-content: center;text-align: left;gap: 18px;padding: 16px 20px;margin-bottom: 0}.mt-karte .nfc-symbol{width: 64px;height: 64px;flex: none}.mt-karte .nfc-symbol vaadin-icon{width: 32px;height: 32px}.mt-karte .nfc-status{margin: 0;font-size: clamp(1.3rem,3.5vw,1.8rem)}.mt-status-texte{display: flex;flex-direction: column;gap: 2px;min-width: 0}.mt-suchzeile{display: flex;gap: 8px;align-items: center}.mt-suche{flex: 1;min-width: 0}@media (prefers-reduced-motion: reduce){.nfc-symbol{animation: none}}.nfc-demo{width: 100%;display: flex;flex-direction: column;gap: 8px;align-items: center;margin-bottom: 8px}.nfc-demo-titel{font-size: 14px;color: var(--lumo-secondary-text-color)}.nfc-demo-knoepfe{display: flex;flex-wrap: wrap;gap: 8px;justify-content: center}.nfc-demo-chip{background: var(--kes-flaeche);border: 1px dashed var(--kes-linie)}html{--kes-hintergrund: #F6F4EF;--kes-flaeche: #FCFBF8;--kes-linie: #DAD5C9;--kes-seite: #EFECE4;--kes-rot: #A8392C;--kes-gruen: #2E7D4F;--kes-ocker: #B7791F;--serif: "Charter","Bitstream Charter","Sitka Text",Cambria,Georgia,serif;--pze-soft: #E9E5DB;--pze-head: transparent;--pze-danger: var(--kes-rot);--lumo-border-radius-s: 2px;--lumo-border-radius-m: 3px;--lumo-border-radius-l: 4px;--lumo-base-color: var(--kes-flaeche)}html[theme~="dark"]{--kes-hintergrund: #14181C;--kes-flaeche: #1B2026;--kes-linie: #2E353D;--kes-seite: #191E23;--kes-rot: #E0796C;--kes-gruen: #6CC08E;--kes-ocker: #D9A04A;--pze-soft: #232A31;--lumo-base-color: var(--kes-flaeche)}body{background: var(--kes-hintergrund)}vaadin-app-layout::part(navbar){background: var(--kes-hintergrund);border-bottom: 1px solid var(--kes-text);min-height: 58px;padding: 0 24px;gap: 8px}vaadin-app-layout::part(drawer){display: none}.kopf-marke{display: flex;align-items: center;margin-right: 22px;text-decoration: none}.kopf-logo{height: 30px;width: auto;max-width: 200px}.kopf-marke .logo-paar{align-items: center}.reiter{flex: 1;min-width: 0;align-self: stretch}.reiter::part(container){height: 100%;align-items: stretch}.reiter vaadin-menu-bar-button{margin: 0 4px;padding: 0 10px;height: 100%;min-height: 56px;border-radius: 0;background: transparent;color: var(--lumo-secondary-text-color);font-weight: 500;font-size: 15px;border-bottom: 3px solid transparent}.reiter vaadin-menu-bar-button:hover{color: var(--kes-text);background: transparent}.reiter vaadin-menu-bar-button.an,.reiter vaadin-menu-bar-button:has(>vaadin-menu-bar-item.an){color: var(--kes-text);font-weight: 650;border-bottom-color: var(--kes-haupt)}.reiter vaadin-icon{width: 14px;height: 14px;margin-left: 3px;color: var(--lumo-secondary-text-color)}vaadin-menu-bar-overlay::part(overlay),vaadin-context-menu-overlay::part(overlay){border-radius: 2px;background: var(--kes-flaeche);box-shadow: 0 6px 24px rgba(30,41,51,.14);border: 1px solid var(--kes-linie)}.kopf-rechts{padding-right: 0}.page-shell{background: var(--kes-hintergrund);padding: 30px 40px;gap: 22px}.page-title{font-family: var(--serif);font-weight: 400;font-size: 2.1rem;letter-spacing: -0.2px}.page-subtitle{font-size: 14px}.section-title,.mobile-section-title{font-size: 12px;font-weight: 600;text-transform: uppercase;letter-spacing: 1.1px;color: var(--lumo-secondary-text-color)}.section-panel,.terminal-panel,.mobile-panel,.support-karte,.metric-card,.form-panel{background: transparent;border: 0;border-top: 1px solid var(--kes-text);border-radius: 0;box-shadow: none;padding-left: 0;padding-right: 0}.metric-grid{gap: 28px}.metric-card{min-height: 0;padding-top: 12px;gap: 2px}.metric-icon{display: none}.metric-title,.zahl-text{font-size: 11.5px;font-weight: 600;text-transform: uppercase;letter-spacing: .9px;color: var(--lumo-secondary-text-color);margin: 0}.metric-value{font-family: var(--serif);font-weight: 400;font-size: 2.2rem;font-variant-numeric: tabular-nums}.klickbar-karte:hover,.klickbar-karte:focus-visible{transform: none;background: var(--pze-soft)}.metric-card.ist-aktiv{border: 0;border-top: 3px solid var(--kes-haupt)}vaadin-grid{border: 0;border-top: 1px solid var(--kes-text);border-radius: 0;--lumo-base-color: var(--kes-hintergrund);background: transparent}vaadin-grid::part(header-cell){background: var(--kes-hintergrund);font-size: 11.5px;text-transform: uppercase;letter-spacing: .7px;font-weight: 600}vaadin-grid::part(cell){border-top-color: var(--kes-linie)}vaadin-grid::part(body-cell){font-variant-numeric: tabular-nums}vaadin-grid::part(row):hover{background: var(--pze-soft)}vaadin-button{border-radius: 2px;font-weight: 600}vaadin-button:not([theme~="primary"]):not([theme~="tertiary"]):not([theme~="tertiary-inline"]){background: transparent;border: 1px solid var(--kes-linie);color: var(--kes-text)}vaadin-text-field::part(input-field),vaadin-password-field::part(input-field),vaadin-integer-field::part(input-field),vaadin-number-field::part(input-field),vaadin-date-picker::part(input-field),vaadin-time-picker::part(input-field),vaadin-combo-box::part(input-field),vaadin-select::part(input-field),vaadin-text-area::part(input-field),vaadin-date-time-picker::part(input-field),vaadin-email-field::part(input-field){background: var(--kes-flaeche);border: 1px solid var(--kes-linie);border-radius: 2px}vaadin-dialog-overlay::part(overlay){border-radius: 3px;background: var(--kes-hintergrund);box-shadow: 0 18px 60px rgba(30,41,51,.25)}vaadin-dialog-overlay::part(header){border-bottom: 1px solid var(--kes-text)}vaadin-dialog-overlay::part(title){font-family: var(--serif);font-weight: 400;font-size: 1.35rem}vaadin-notification-card::part(overlay){border-radius: 2px}.status-badge{border-radius: 2px}.heute{display: flex;flex-direction: column;gap: 22px;width: 100%}.heute-kopf{display: flex;justify-content: space-between;align-items: flex-end;gap: 24px;flex-wrap: wrap}.heute-wochentag{color: var(--lumo-secondary-text-color);font-size: 14px}.heute-datum{font-family: var(--serif);font-weight: 400;font-size: 2.6rem;line-height: 1.1;margin: 4px 0 0;color: var(--kes-text)}.heute-zahlen{display: flex;gap: 34px;flex-wrap: wrap}.zahl{display: flex;flex-direction: column;gap: 4px}.zahl-wert{font-family: var(--serif);font-size: 2.5rem;line-height: 1;font-variant-numeric: tabular-nums;color: var(--kes-text)}.zahl-klein{font-size: 1.3rem;color: var(--lumo-secondary-text-color)}.zahl.rot .zahl-wert{color: var(--kes-rot)}.heute-raster{display: grid;grid-template-columns: minmax(0,1fr) 340px;gap: 0;align-items: start}.heute-links{padding-right: 32px;min-width: 0}.heute-rechts{background: var(--kes-seite);margin: -8px 0 0;padding: 18px 22px 24px;display: flex;flex-direction: column;gap: 26px;min-width: 0}.rubrik{display: flex;justify-content: space-between;align-items: baseline;border-bottom: 1px solid var(--kes-text);padding-bottom: 7px;margin-bottom: 4px;color: var(--lumo-secondary-text-color);font-size: 13px}.rubrik h2{margin: 0;font-size: 12px;font-weight: 600;text-transform: uppercase;letter-spacing: 1.2px;color: var(--lumo-secondary-text-color)}.strahl{position: relative}.strahl-zeile{display: grid;grid-template-columns: minmax(150px,230px) minmax(0,1fr) 64px;align-items: center;min-height: 44px;border-bottom: 1px solid var(--kes-linie)}.strahl-zeile.klickbar-karte:hover{background: var(--pze-soft)}.strahl-wer{display: flex;align-items: baseline;gap: 9px;min-width: 0;padding-right: 10px}.strahl-name{font-weight: 650;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.strahl-bereich{color: var(--lumo-secondary-text-color);font-size: 12.5px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.punkt{width: 9px;height: 9px;flex: none;align-self: center;box-sizing: border-box}.punkt.da{background: var(--kes-gruen)}.punkt.weg{border: 1.5px solid var(--lumo-secondary-text-color)}.punkt.ab{background: var(--kes-ocker)}.strahl-spur{position: relative;height: 44px;background-image: linear-gradient(90deg,var(--kes-linie) 1px,transparent 1px);background-size: calc(100% / var(--stunden,14)) 100%}.strahl-block{position: absolute;top: 14px;height: 16px;background: var(--kes-haupt)}.strahl-block.offen{background: repeating-linear-gradient(135deg,var(--kes-haupt) 0 6px,#4F7BA8 6px 9px)}.strahl-abwesend{position: absolute;left: 0;right: 0;top: 21px;border-top: 1.5px dashed var(--kes-ocker);color: var(--kes-ocker);font-size: 12px;padding: 3px 0 0 6px;line-height: 1}.strahl-summe.rot{color: var(--kes-rot)}.heute-tabelle .plus,.heute-tabelle .minus{font-size: 14px}.strahl-summe{text-align: right;font-weight: 650;font-variant-numeric: tabular-nums}.strahl-achse{min-height: 24px;border-bottom: 0}.strahl-achse-spur{position: relative;height: 24px;color: var(--lumo-secondary-text-color);font-size: 11.5px}.strahl-achse-spur span{position: absolute;top: 5px;transform: translateX(-50%)}.strahl{padding-top: 14px}.strahl-jetzt{position: absolute;top: -1px;bottom: -1px;width: 0;border-left: 1.5px solid var(--kes-rot);pointer-events: none;z-index: 1}.strahl-jetzt-uhr{position: absolute;top: -15px;left: 0;transform: translateX(-50%);background: var(--kes-rot);color: #fff;font-size: 11px;font-weight: 650;padding: 1px 6px;line-height: 1.3}.strahl-legende{display: flex;flex-wrap: wrap;gap: 20px;margin-top: 12px;font-size: 12.5px;color: var(--lumo-secondary-text-color)}.strahl-legende>span{display: inline-flex;align-items: center;gap: 6px}.l-block,.l-offen{display: inline-block;width: 18px;height: 9px;background: var(--kes-haupt)}.l-offen{background: repeating-linear-gradient(135deg,var(--kes-haupt) 0 4px,#4F7BA8 4px 6px)}.l-ab{display: inline-block;width: 18px;border-top: 1.5px dashed var(--kes-ocker)}.l-da{display: inline-block;width: 9px;height: 9px;background: var(--kes-gruen)}.todo{display: flex;flex-direction: column;counter-reset: todo}.todo-eintrag{counter-increment: todo;display: grid;grid-template-columns: 26px 1fr;row-gap: 2px;padding: 11px 4px 11px 0;border-bottom: 1px solid var(--kes-linie)}.todo-eintrag::before{content: counter(todo);grid-row: span 3;font-family: var(--serif);font-size: 1.25rem;line-height: 1.1;color: var(--kes-haupt)}.todo-titel{font-weight: 650}.todo-titel.rot{color: var(--kes-rot)}.todo-text{color: var(--lumo-secondary-text-color);font-size: 13px}.todo-aktion{color: var(--kes-haupt);font-weight: 650;font-size: 13px;margin-top: 2px}html[theme~="dark"] .todo-aktion,html[theme~="dark"] .todo-eintrag::before{color: var(--lumo-primary-text-color)}.heute-tabelle .db-zeile{padding: 8px 0;border-bottom: 1px solid var(--kes-linie);display: flex;justify-content: space-between;gap: 10px}.heute-tabelle .db-name{font-weight: 500}.heute-tabelle .db-info{font-size: 13px;text-align: right}.heute-tabelle{display: flex;flex-direction: column;gap: 0}.strahl-block.seit-gestern{background: var(--kes-rot);opacity: .75}.heute-tabelle .plus{color: var(--kes-gruen);font-weight: 650;font-variant-numeric: tabular-nums}.heute-tabelle .minus{color: var(--kes-rot);font-weight: 650;font-variant-numeric: tabular-nums}.heute-fuss{color: var(--lumo-secondary-text-color);font-size: 13px}.heute-links-liste{display: flex;flex-wrap: wrap;gap: 6px 16px;margin-top: 8px}.heute-links-liste a{color: var(--kes-haupt);font-weight: 600;font-size: 13.5px;text-decoration: none}html[theme~="dark"] .heute-links-liste a{color: var(--lumo-primary-text-color)}.heute-links-liste a:hover{text-decoration: underline}@media (max-width: 1100px){.heute-raster{grid-template-columns: 1fr}.heute-links{padding-right: 0}.heute-rechts{margin: 24px 0 0}}@media (max-width: 700px){.page-shell{padding: 18px 14px}vaadin-app-layout::part(navbar){padding: 0 10px}.kopf-marke{margin-right: 6px}.kopf-logo{height: 24px}.strahl-zeile{grid-template-columns: 110px minmax(0,1fr) 46px}.strahl-bereich{display: none}.heute-zahlen{gap: 18px}.zahl-wert{font-size: 1.9rem}}.nfc-uhr{font-family: var(--serif);font-weight: 400}.nfc-karte{border-radius: 3px;border-width: 1px;border-left-width: 5px}.nfc-symbol{border-radius: 50%}vaadin-button.mt-kachel{border-radius: 3px;border-width: 1px}.mobile-reiter{border-radius: 2px}.login-seite{background: var(--kes-hintergrund)}.login-karte{border-radius: 3px;border: 1px solid var(--kes-linie);border-top: 3px solid var(--kes-haupt);box-shadow: 0 10px 40px rgba(30,41,51,.08);background: var(--kes-flaeche)}.login-titel{font-family: var(--serif);font-weight: 400}.demo-band{border-radius: 2px}.report-filters,.vacation-form,.token-section{background: transparent;border: 0;border-top: 1px solid var(--kes-text);border-radius: 0;padding: 14px 0 4px}