.ez-app{--ez-bg:#f4f5f3;--ez-card:#fff;--ez-text:#17201b;--ez-muted:#68736c;--ez-line:#d9dedb;--ez-accent:#176b45;--ez-accent-soft:#e8f3ed;--ez-form:#edf6f0;--ez-form-line:#b9d7c6;--ez-danger:#a83232;width:100%;max-width:1100px;margin:0 auto;color:var(--ez-text);font-family:inherit;line-height:1.45;box-sizing:border-box}.ez-app *{box-sizing:border-box}.ez-app h1,.ez-app h2,.ez-app p{margin-top:0}.ez-header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 16px}.ez-header h1{margin:0;font-size:clamp(1.7rem,7vw,2.7rem);line-height:1.05}.ez-eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:800;color:var(--ez-muted)}.ez-subtitle{margin:5px 0 0;color:var(--ez-muted)}.ez-total{flex:0 0 auto;text-align:right}.ez-total span{display:block;color:var(--ez-muted);font-size:.78rem}.ez-total strong{font-size:1.35rem;white-space:nowrap}.ez-panel,.ez-entry-panel{border-radius:18px;padding:16px;margin:0 0 14px}.ez-panel{background:var(--ez-card);border:1px solid var(--ez-line)}.ez-entry-panel{background:var(--ez-form);border:2px solid var(--ez-form-line)}.ez-notice{border-radius:12px;padding:12px 14px;margin:0 0 14px;background:#edf7ed;border:1px solid #bad9ba}.ez-notice-error{background:#fff0f0;border-color:#e2b4b4}.ez-filter-panel{background:var(--ez-bg)}.ez-filter{display:grid;gap:12px}.ez-filter label,.ez-field{display:grid;gap:6px;font-weight:700;font-size:.92rem}.ez-filter select,.ez-field select,.ez-field input[type=text]{width:100%;min-height:50px;border:1px solid var(--ez-line);border-radius:13px;background:#fff;color:var(--ez-text);font:inherit;padding:0 13px}.ez-native-control{display:flex;width:100%;min-width:0;min-height:50px;border:1px solid var(--ez-line);border-radius:13px;background:#fff;padding:11px 13px}.ez-native-control input{display:block;width:100%;min-width:0;border:0!important;background:transparent!important;padding:0!important;margin:0!important;color:var(--ez-text);font:inherit}.ez-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.ez-section-head h2{font-size:1.25rem;margin:0}.ez-duration{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:var(--ez-accent);color:#fff;font-weight:800}.ez-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ez-field-date,.ez-field-note{grid-column:1/-1}.ez-field small{font-weight:400;color:var(--ez-muted)}.ez-field b{color:var(--ez-danger)}.ez-form-actions{display:flex;gap:10px;margin-top:16px}.ez-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:1px solid var(--ez-accent);border-radius:13px;padding:10px 16px;font:inherit;font-weight:800;text-decoration:none!important;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.ez-btn:hover{opacity:.82}.ez-btn:active{transform:scale(.98)}.ez-btn-primary{background:var(--ez-accent);color:#fff!important}.ez-btn-secondary{background:#fff;color:var(--ez-text)!important;border-color:var(--ez-line)}.ez-btn-quiet{background:transparent;color:var(--ez-text)!important;border-color:transparent}.ez-icon,.ez-table-actions svg,.ez-card-actions svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ez-overview-head{border-bottom:1px solid var(--ez-line);padding-bottom:14px}.ez-overview-total{margin:6px 0 0;color:var(--ez-muted)}.ez-overview-total strong{color:var(--ez-text)}.ez-mobile-list{display:grid;gap:10px}.ez-entry-card{border:1px solid var(--ez-line);border-radius:15px;padding:14px;background:#fff}.ez-entry-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ez-entry-card time{display:block;color:var(--ez-muted);font-size:.82rem;margin-bottom:3px}.ez-entry-card strong{font-size:1.08rem}.ez-hours{font-weight:900;white-space:nowrap}.ez-entry-meta{display:grid;gap:8px;margin-top:11px}.ez-entry-meta p{margin:0;color:var(--ez-muted)}.ez-activity{display:inline-flex;width:max-content;max-width:100%;padding:5px 9px;border-radius:999px;background:var(--ez-accent-soft);color:var(--ez-accent);font-size:.78rem;font-weight:800}.ez-activity-bademeister{background:#e7f2fb;color:#175f8d}.ez-activity-event{background:#f4eafa;color:#71418a}.ez-card-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--ez-line);padding-top:11px;margin-top:12px}.ez-card-actions a{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--ez-bg);color:var(--ez-text);text-decoration:none}.ez-card-actions .ez-delete{color:var(--ez-danger);background:#fff0f0}.ez-empty{display:grid;gap:4px;padding:20px 0;text-align:center;color:var(--ez-muted)}.ez-table-wrap{display:none}.ez-login{text-align:center;padding:28px}.ez-login .ez-btn{margin-top:10px}.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width:699px){.ez-btn-icon-mobile .ez-btn-label{display:none}.ez-btn-icon-mobile{min-width:52px;padding:10px 14px}.ez-form-actions .ez-btn-primary{flex:1}.ez-header{align-items:flex-start}.ez-filter .ez-btn{width:100%}}
@media (min-width:700px){.ez-panel,.ez-entry-panel{padding:22px}.ez-filter{grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) auto;align-items:end}.ez-fields{grid-template-columns:1.05fr .75fr .75fr 1fr 1.6fr}.ez-field-date,.ez-field-note{grid-column:auto}.ez-mobile-list{display:none}.ez-table-wrap{display:block;overflow-x:auto}.ez-table{width:100%;border-collapse:collapse}.ez-table th,.ez-table td{padding:12px 10px;border-bottom:1px solid var(--ez-line);text-align:left;vertical-align:top;white-space:nowrap}.ez-table td:nth-child(6){white-space:normal;min-width:160px}.ez-table th{color:var(--ez-muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}}
@media (max-width:380px){.ez-total strong{font-size:1.1rem}.ez-fields{grid-template-columns:1fr}.ez-field-date,.ez-field-note{grid-column:auto}.ez-header h1{font-size:1.55rem}}
.ez-header-actions{display:flex;align-items:center;gap:12px}.ez-logout{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 11px;border:1px solid var(--ez-line);border-radius:12px;background:var(--ez-card);color:var(--ez-text)!important;text-decoration:none!important;font-weight:800}.ez-logout svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ez-app-login{max-width:520px}.ez-login{text-align:left}.ez-login h1{margin-bottom:6px}.ez-login form{display:grid;gap:14px;margin-top:20px}.ez-login form p{margin:0}.ez-login label{display:grid;gap:6px;font-weight:800}.ez-login input[type=text],.ez-login input[type=password]{width:100%;min-height:52px;border:1px solid var(--ez-line);border-radius:13px;background:#fff;color:var(--ez-text);font:inherit;padding:0 14px}.ez-login .login-remember label{display:flex;align-items:center;gap:9px;font-weight:600}.ez-login .login-submit input{width:100%;min-height:52px;border:1px solid var(--ez-accent);border-radius:13px;background:var(--ez-accent);color:#fff;font:inherit;font-weight:900;cursor:pointer}.ez-forgot-link{display:inline-block;margin-top:14px;color:var(--ez-text)}.ez-login-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.ez-filter[data-ez-auto-submit]{position:relative}.ez-filter[data-ez-auto-submit]::after{content:'Wird automatisch aktualisiert';align-self:end;padding:0 0 14px;color:var(--ez-muted);font-size:.78rem}
@media (max-width:699px){.ez-header-actions{flex-direction:column;align-items:flex-end;gap:8px}.ez-logout-label{display:none}.ez-logout{width:44px;height:44px;padding:0}.ez-filter[data-ez-auto-submit]::after{display:none}}
@media (min-width:700px){.ez-filter{grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) auto}.ez-app-employee .ez-filter{grid-template-columns:minmax(220px,360px) auto}}

/* 1.2.1: Tabellenaktionen bleiben echte Tabellenzellen, damit Zeilentrenner fluchten. */
.ez-table-actions{white-space:nowrap}
.ez-table-action-buttons{display:flex;align-items:center;gap:10px;min-height:24px}
.ez-table-action-buttons a{display:inline-flex;align-items:center;justify-content:center;color:var(--ez-text)}
.ez-table-action-buttons .ez-delete{color:var(--ez-danger)}

/* Abmeldung bewusst am Ende jeder Portal-Seite. */
.ez-logout-footer{display:flex;justify-content:center;padding:18px 0 8px;margin-top:8px}
.ez-logout-prominent{min-width:180px;background:var(--ez-danger);border-color:var(--ez-danger);color:#fff!important;box-shadow:0 4px 14px rgba(168,50,50,.18)}
.ez-logout-prominent:hover{opacity:.9}
.ez-logout-prominent svg{width:21px;height:21px}

/* Sichtbares Feedback während der automatischen Aktualisierung. */
.ez-filter.ez-is-loading{opacity:.65;pointer-events:none}
.ez-filter.ez-is-loading::after{content:'Aktualisierung …'}

/* 2.0 */
.ez-logout-prominent{background:transparent;border:2px solid var(--ez-muted);color:var(--ez-text)!important;box-shadow:none}.ez-logout-prominent:hover{background:var(--ez-text);border-color:var(--ez-text);color:#fff!important}
.ez-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}.ez-summary-card{padding:14px;border:1px solid var(--ez-line);border-radius:15px;background:var(--ez-card)}.ez-summary-card span{display:block;color:var(--ez-muted);font-size:.82rem}.ez-summary-card strong{font-size:1.15rem}.ez-status-row{display:flex;justify-content:flex-end;margin:-4px 0 12px}.ez-status{padding:6px 11px;border-radius:999px;font-weight:800;font-size:.78rem;background:#eef0ef}.ez-status-submitted{background:#fff1cf;color:#755400}.ez-status-checked{background:#e6f0ff;color:#174f91}.ez-status-closed{background:#28322c;color:#fff}.ez-status-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:16px 0}.ez-btn-danger{background:var(--ez-danger);border-color:var(--ez-danger);color:#fff!important}.ez-table-wrap-always{display:block;overflow-x:auto}.ez-table-wrap-always .ez-table{min-width:680px}.ez-field-note input:required{border-color:#b36b00;background:#fff9ec}
@media(min-width:700px){.ez-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ez-fields{grid-template-columns:1.05fr .7fr .7fr .8fr .85fr 1.4fr}}
