:root {
  --bg: #f4f7fb;
  --panel: #ffffff;
  --text: #172033;
  --muted: #6b7280;
  --line: #e5eaf1;
  --brand: #2557d6;
  --brand-dark: #173c9e;
  --sidebar: #111827;
  --sidebar-muted: #94a3b8;
  --success: #0f9f6e;
  --danger: #dc2626;
  --radius: 18px;
  --shadow: 0 12px 35px rgba(15, 23, 42, .07);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--text);
}
a { color: var(--brand); text-decoration: none; }
button, input, select, textarea { font: inherit; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 270px 1fr; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 270px;
  display: flex;
  flex-direction: column;
  padding: 22px 16px;
  background: var(--sidebar);
  color: white;
  z-index: 20;
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: white;
  padding: 4px 8px 24px;
}
.brand-mark, .login-logo {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: linear-gradient(135deg, #4f7cf7, #1f49bf);
  color: white;
  font-size: 1.3rem;
  font-weight: 800;
  box-shadow: 0 10px 25px rgba(37, 87, 214, .35);
}
.brand strong, .brand small { display: block; }
.brand small { color: var(--sidebar-muted); margin-top: 2px; }
.sidebar nav { display: grid; gap: 4px; overflow-y:auto; padding-right:3px; }
.sidebar nav a {
  color: #dbe3ef;
  padding: 11px 12px;
  border-radius: 10px;
}
.sidebar nav a:hover, .sidebar nav a.active {
  color: white;
  background: rgba(255,255,255,.09);
}
.nav-section {
  margin: 22px 12px 6px;
  color: var(--sidebar-muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sidebar-user {
  margin-top: auto;
  padding: 14px 12px 4px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.sidebar-user strong, .sidebar-user span { display: block; }
.sidebar-user span { color: var(--sidebar-muted); font-size: .86rem; margin: 3px 0 8px; }
.link-button {
  padding: 0;
  border: 0;
  background: none;
  color: #a5baf2;
  cursor: pointer;
}
main { grid-column: 2; min-width: 0; }
.topbar {
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 34px;
  background: rgba(255,255,255,.84);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(10px);
  position: sticky;
  top: 0;
  z-index: 10;
}
.menu-button { display: none; }
.status-dot {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: .9rem;
}
.status-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--success);
  box-shadow: 0 0 0 4px rgba(15,159,110,.12);
}
.content { padding: 32px 34px 50px; max-width: 1540px; margin: 0 auto; }
.page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
}
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 8px; font-size: clamp(1.8rem, 4vw, 2.35rem); letter-spacing: -.035em; }
h2 { margin-bottom: 0; font-size: 1.15rem; }
.page-heading p, .panel-heading p { color: var(--muted); margin-bottom: 0; }
.eyebrow {
  display: block;
  color: var(--brand);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 7px;
}
.primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 0 17px;
  border: 0;
  border-radius: 11px;
  background: var(--brand);
  color: white;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(37,87,214,.2);
}
.primary-button:hover { background: var(--brand-dark); }
.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
  margin-bottom: 22px;
}
.metric-card, .panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.metric-card { padding: 22px; }
.metric-card span { display: block; color: var(--muted); font-size: .9rem; }
.metric-card strong { display: block; margin-top: 8px; font-size: 2rem; letter-spacing: -.04em; }
.dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.panel { overflow: hidden; }
.panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 22px 22px 16px;
}
.panel-heading a { font-size: .88rem; font-weight: 700; }
.item-list { padding: 0 12px 12px; }
.list-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 10px;
  border-top: 1px solid var(--line);
}
.list-item:first-child { border-top: 0; }
.list-item strong, .list-item span { display: block; }
.list-item span { color: var(--muted); font-size: .87rem; margin-top: 3px; }
.grow { flex: 1; min-width: 0; }
.right-note { color: var(--muted); font-size: .82rem; text-align: right; }
.date-badge {
  width: 46px;
  height: 50px;
  display: grid;
  place-content: center;
  text-align: center;
  border-radius: 11px;
  background: #edf3ff;
  color: var(--brand);
}
.date-badge strong { font-size: 1.15rem; line-height: 1; }
.date-badge span { color: var(--brand); margin: 3px 0 0; font-size: .68rem; text-transform: uppercase; }
.color-marker { width: 9px; height: 44px; border-radius: 999px; flex: 0 0 auto; }
.empty-state, .empty-cell { padding: 34px; color: var(--muted); text-align: center; }
.table-panel { padding: 5px 0; }
.responsive-table { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 15px 20px; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; }
th { color: var(--muted); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
tbody tr:last-child td { border-bottom: 0; }
.type-chip, .status-chip { display: inline-flex; align-items: center; gap: 8px; }
.type-chip > span { width: 9px; height: 9px; border-radius: 999px; }
.status-chip { padding: 5px 9px; border-radius: 999px; background: #eef2ff; color: #3c4fa3; font-size: .78rem; font-weight: 700; }
.message { padding: 12px 15px; margin-bottom: 18px; border-radius: 10px; background: #eaf8f2; }
.message.error { background: #feecec; color: var(--danger); }
.login-main { grid-column: 1 / -1; min-height: 100vh; display: grid; place-items: center; background: radial-gradient(circle at top, #eaf0ff, var(--bg) 50%); }
.login-main .content { width: 100%; max-width: 460px; padding: 24px; }
.login-card {
  background: white;
  padding: 38px;
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow);
}
.login-logo { margin-bottom: 22px; }
.login-card h1 { margin-bottom: 7px; }
.login-card > p { color: var(--muted); margin-bottom: 25px; }
.stacked-form { display: grid; gap: 8px; }
.stacked-form label { margin-top: 8px; font-size: .86rem; font-weight: 700; }
.stacked-form input {
  width: 100%;
  min-height: 46px;
  padding: 0 13px;
  border: 1px solid #ccd4e0;
  border-radius: 10px;
  outline: none;
}
.stacked-form input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(37,87,214,.12); }
.stacked-form .primary-button { margin-top: 16px; width: 100%; }

@media (max-width: 1050px) {
  .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .app-shell { display: block; }
  .sidebar { transform: translateX(-100%); transition: transform .2s ease; }
  body.menu-open .sidebar { transform: translateX(0); }
  main { min-height: 100vh; }
  .topbar { padding: 0 18px; }
  .menu-button {
    display: inline-block;
    margin-right: 12px;
    border: 0;
    background: none;
    font-size: 1.2rem;
    cursor: pointer;
  }
  .content { padding: 24px 18px 40px; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .metric-card { padding: 17px; }
  .metric-card strong { font-size: 1.55rem; }
}


/* v0.2 – Kalender, Formulare und Workflows */
.button-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.secondary-button, .icon-button {
  display:inline-flex; align-items:center; justify-content:center; min-height:43px;
  padding:0 16px; border:1px solid var(--line); border-radius:11px; background:#fff;
  color:var(--text); font-weight:700; cursor:pointer;
}
.secondary-button:hover, .icon-button:hover { border-color:#aebbd0; background:#f8faff; }
.icon-button { width:43px; padding:0; font-size:1.6rem; }
.calendar-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 16px; margin-bottom:16px; }
.month-nav, .inline-filter { display:flex; align-items:center; gap:10px; }
.inline-filter label { color:var(--muted); font-size:.84rem; font-weight:700; }
.inline-filter select { min-width:245px; }
.calendar { overflow:auto; min-width:0; }
.calendar-weekdays, .calendar-week { display:grid; grid-template-columns:repeat(7,minmax(145px,1fr)); min-width:1015px; }
.calendar-weekdays { background:#f8fafc; border-bottom:1px solid var(--line); }
.calendar-weekdays div { padding:12px 10px; color:var(--muted); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.calendar-day { min-height:145px; padding:9px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.calendar-day:nth-child(7n) { border-right:0; }
.calendar-day.outside { background:#f8fafc; }
.calendar-day.outside .day-number { color:#b2bac7; }
.calendar-day.today { box-shadow:inset 0 0 0 2px var(--brand); }
.day-number { width:28px; height:28px; display:grid; place-items:center; border-radius:999px; font-size:.82rem; font-weight:800; margin-bottom:7px; }
.calendar-day.today .day-number { background:var(--brand); color:#fff; }
.day-events { display:grid; gap:5px; }
.calendar-event { display:block; padding:6px 7px; border-left:4px solid var(--event-color); border-radius:6px; background:color-mix(in srgb, var(--event-color) 10%, white); color:var(--text); overflow:hidden; }
.calendar-event strong, .calendar-event span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.calendar-event strong { font-size:.75rem; }
.calendar-event span { margin-top:2px; color:var(--muted); font-size:.67rem; }
.calendar-event.pending { opacity:.62; border-left-style:dashed; }
.calendar-legend { display:flex; flex-wrap:wrap; gap:18px; margin-top:12px; color:var(--muted); font-size:.8rem; }
.calendar-legend span { display:flex; align-items:center; gap:7px; }
.calendar-legend i { width:12px; height:12px; border-radius:3px; display:inline-block; }
.legend-duty { background:#004b87; }.legend-absence { background:#dc2626; }.legend-pending { background:#94a3b8; opacity:.55; }
.app-form { padding:24px; max-width:1050px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 22px; }
.form-group { display:flex; flex-direction:column; gap:7px; }
.form-group:has(textarea), .checkbox-group { grid-column:1/-1; }
.form-group > label { font-size:.86rem; font-weight:750; }
.form-control { width:100%; min-height:44px; padding:9px 11px; border:1px solid #ccd4e0; border-radius:10px; background:#fff; color:var(--text); outline:none; }
.form-control:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(37,87,214,.12); }
textarea.form-control { resize:vertical; }
.checkbox-label { display:flex; align-items:flex-start; gap:10px; font-weight:650; cursor:pointer; }
.checkbox-input { width:18px; height:18px; margin-top:1px; accent-color:var(--brand); }
.help-text { color:var(--muted); font-size:.76rem; }
.field-error { color:var(--danger); font-size:.78rem; font-weight:650; }
.form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.table-actions { display:flex; gap:6px; }
.table-actions form { margin:0; }
.mini-button { border:0; border-radius:8px; padding:6px 9px; font-size:.74rem; font-weight:750; cursor:pointer; }
.mini-button.approve { color:#08734f; background:#e4f7ef; }.mini-button.reject { color:#b91c1c; background:#feecec; }
.status-approved { background:#e4f7ef; color:#08734f; }.status-rejected { background:#feecec; color:#b91c1c; }.status-submitted,.status-manager_approved { background:#fff5dc; color:#9a6500; }
.type-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.type-card { padding:20px; }
.type-card-head { display:flex; align-items:center; gap:12px; }
.type-card-head h2 { margin:0 0 3px; }.type-card-head code { color:var(--muted); font-size:.75rem; }
.type-card-head .status-chip { margin-left:auto; }
.large-color { width:38px; height:38px; border-radius:10px; flex:0 0 auto; }
.type-card > p { color:var(--muted); margin:16px 0; min-height:42px; }
.rule-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; color:#475569; font-size:.8rem; }
.type-card-footer { display:flex; justify-content:space-between; align-items:center; margin-top:18px; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:.8rem; }
.type-card-footer a { font-weight:750; }
@media (max-width:760px) {
  .calendar-toolbar,.inline-filter { align-items:stretch; flex-direction:column; }
  .month-nav { justify-content:center; }
  .inline-filter select { min-width:0; width:100%; }
  .form-grid,.type-card-grid { grid-template-columns:1fr; }
  .form-group { grid-column:1/-1; }
}

/* v0.3 – Stammdaten, Freigaben und Historie */
.metric-grid-five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.metric-card a { display:inline-block; margin-top:7px; font-size:.78rem; font-weight:750; }
.metric-attention { border-color:#f4c86a; background:linear-gradient(145deg,#fff,#fff9e9); }
.approval-preview { margin-bottom:22px; }
.list-link { color:inherit; }
.list-link:hover { background:#f8faff; }
.attention-button { border-color:#edbe57; background:#fff9e8; color:#8a5a00; }
.table-main-link { color:var(--text); font-weight:700; }
.table-main-link:hover { color:var(--brand); }
.table-subline { display:block; color:var(--muted); margin-top:3px; }
.mini-button.neutral { color:#334155; background:#edf1f6; }
.danger-button { display:inline-flex; align-items:center; justify-content:center; min-height:43px; padding:0 16px; border:0; border-radius:11px; background:#dc2626; color:#fff; font-weight:750; cursor:pointer; }
.danger-button:hover { background:#b91c1c; }
.form-spacer { flex:1; }
.checkbox-select { list-style:none; padding:10px 12px; margin:0; max-height:220px; overflow:auto; border:1px solid #ccd4e0; border-radius:10px; background:#fff; }
.checkbox-select > div { margin:5px 0; }
.checkbox-select label { display:flex; align-items:center; gap:8px; font-weight:500; cursor:pointer; }
.checkbox-select input { width:17px; height:17px; accent-color:var(--brand); }
.detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; }
.detail-card { padding:24px; }
.detail-status-row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-bottom:19px; margin-bottom:5px; border-bottom:1px solid var(--line); }
.detail-list { margin:0; }
.detail-list > div { display:grid; grid-template-columns:150px 1fr; gap:18px; padding:14px 0; border-bottom:1px solid var(--line); }
.detail-list > div:last-child { border-bottom:0; }
.detail-list dt { color:var(--muted); font-size:.82rem; font-weight:700; }
.detail-list dd { margin:0; font-weight:600; }
.detail-danger { padding-top:20px; margin-top:8px; border-top:1px solid var(--line); }
.timeline-card { overflow:hidden; }
.timeline { padding:0 22px 22px; }
.timeline-item { position:relative; display:grid; grid-template-columns:18px 1fr; gap:12px; padding:10px 0 20px; }
.timeline-item:not(:last-child)::before { content:""; position:absolute; left:6px; top:24px; bottom:-5px; width:2px; background:#dbe2ec; }
.timeline-dot { width:14px; height:14px; border-radius:999px; background:var(--brand); box-shadow:0 0 0 4px #eaf0ff; margin-top:3px; z-index:1; }
.timeline-item strong,.timeline-item span { display:block; }
.timeline-item span { color:var(--muted); font-size:.78rem; margin-top:3px; }
.timeline-item p { margin:9px 0 0; padding:10px 12px; border-radius:9px; background:#f6f8fb; color:#475569; font-size:.86rem; }
.decision-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:22px; align-items:start; }
.decision-summary { padding:24px; }
.compact-form { max-width:none; }
.card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.master-card { padding:21px; }
.master-card > div { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.master-card h2 { margin:0; }
.master-card p { min-height:42px; margin:17px 0; color:var(--muted); }
.master-card > a { font-weight:750; }
.small-chip { display:inline-flex; padding:4px 8px; margin:2px; border-radius:999px; background:#eef2ff; color:#4054a5; font-size:.74rem; font-weight:750; }
.status-planned,.status-confirmed { background:#e8f0ff; color:#2451b4; }
.status-changed { background:#fff5dc; color:#9a6500; }
.status-cancelled { background:#edf0f4; color:#64748b; }
.status-completed { background:#e4f7ef; color:#08734f; }

@media (max-width:1250px) {
  .metric-grid-five { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1100px) {
  .detail-grid,.decision-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .metric-grid-five,.card-grid { grid-template-columns:1fr 1fr; }
  .detail-list > div { grid-template-columns:1fr; gap:4px; }
  .form-actions { flex-wrap:wrap; }
  .form-spacer { display:none; }
}
@media (max-width:480px) {
  .metric-grid-five,.card-grid { grid-template-columns:1fr; }
}

/* v0.4 – Urlaubskonten, Feiertage, Exporte und Impressum */
main { display:flex; flex-direction:column; min-height:100vh; }
.content { flex:1 0 auto; width:100%; }
.site-footer {
  flex:0 0 auto; display:flex; align-items:center; justify-content:space-between;
  gap:18px; padding:18px 34px; border-top:1px solid var(--line);
  color:var(--muted); background:rgba(255,255,255,.78); font-size:.84rem;
}
.site-footer a { font-weight:700; }
.login-main { display:flex; flex-direction:column; justify-content:center; }
.login-main .content { display:grid; place-items:center; flex:1 0 auto; }
.login-main .site-footer { width:100%; }
.metric-grid-six { grid-template-columns:repeat(6,minmax(0,1fr)); }
.metric-card a { display:inline-block; margin-top:8px; font-size:.78rem; font-weight:750; }
.day-head { display:flex; align-items:flex-start; justify-content:space-between; gap:5px; min-height:30px; }
.holiday-name {
  max-width:105px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:#a33b16; background:#fff1e8; border-radius:999px; padding:3px 7px;
  font-size:.62rem; font-weight:800;
}
.legend-holiday { background:#f97316; }
.notice-box { padding:15px 17px; border:1px solid #d7dfeb; border-radius:12px; background:#f8fafc; color:#526074; }
.compact-notice { margin:0 0 18px; font-size:.86rem; }
.balance-value { font-weight:800; color:#08734f; }
.balance-value.negative { color:var(--danger); }
.muted { color:var(--muted); }
.legal-card { max-width:850px; padding:28px; }
.legal-card h2 { font-size:1.4rem; margin-bottom:14px; }
.legal-card h3 { margin:24px 0 8px; font-size:1rem; }
.legal-card p { color:#465569; line-height:1.65; }
.legal-additional { margin-top:25px; padding-top:22px; border-top:1px solid var(--line); color:#465569; line-height:1.65; }
.holiday-filter { flex-wrap:wrap; }
.table-actions { text-align:right; }

@media (max-width:1450px) {
  .metric-grid-six { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .site-footer { padding:16px 18px; }
  .metric-grid-six { grid-template-columns:1fr 1fr; }
  .holiday-filter { align-items:stretch; }
  .holiday-filter .inline-filter { width:100%; flex-direction:column; align-items:stretch; }
  .holiday-filter .inline-filter select { min-width:0; width:100%; }
}
@media (max-width:480px) {
  .metric-grid-six { grid-template-columns:1fr; }
  .site-footer { align-items:flex-start; flex-direction:column; gap:6px; }
}

/* v0.5 – Sollzeiten, Wochenplan, Planungsprüfung und Diensthistorie */
.sidebar { overflow-y:auto; }
.metric-grid-dashboard { grid-template-columns:repeat(auto-fit,minmax(165px,1fr)); }
.metric-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.planning-preview { margin-bottom:22px; }
.issue-marker { width:10px; height:44px; border-radius:999px; flex:0 0 auto; }
.issue-danger { background:#dc2626; }
.issue-warning { background:#f59e0b; }
.issue-chip-danger { background:#feecec; color:#b91c1c; }
.issue-chip-warning { background:#fff5dc; color:#9a6500; }
.legend-gap { background:#dc2626; }
.calendar-event.gap { background:#fff1f1; color:#991b1b; }

.week-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.week-day-card { overflow:hidden; }
.week-day-card.week-today { border-color:#8cabff; box-shadow:0 12px 35px rgba(37,87,214,.13); }
.week-day-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px; border-bottom:1px solid var(--line); background:#fbfcfe; }
.week-day-head span,.week-day-head strong { display:block; }
.week-day-head > div > span { color:var(--brand); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.week-day-head > div > strong { margin-top:3px; }
.week-section { padding:16px 20px; border-bottom:1px solid var(--line); }
.week-section:last-child { border-bottom:0; }
.week-section h3 { margin:0 0 10px; color:#475569; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.compact-text { margin:0; font-size:.84rem; }
.requirement-row,.week-entry { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 11px; border-radius:10px; margin-top:8px; }
.requirement-row:first-of-type,.week-entry:first-of-type { margin-top:0; }
.requirement-row > div,.week-entry { min-width:0; }
.requirement-row strong,.requirement-row span,.week-entry strong,.week-entry span { display:block; }
.requirement-row > div > span,.week-entry span { margin-top:3px; color:var(--muted); font-size:.76rem; }
.requirement-row.covered { background:#effaf5; border:1px solid #c9eddd; }
.requirement-row.missing { background:#fff1f1; border:1px solid #fecaca; }
.coverage-chip { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#fff; font-size:.75rem; font-weight:800; }
.week-entry { color:inherit; border:1px solid var(--line); background:#fff; }
.week-entry:hover { border-color:#a9bdf5; background:#f8faff; }
.duty-entry { border-left:4px solid var(--brand); }
.absence-entry { border-left:4px solid #dc2626; }
.change-list { margin-top:9px; }
.change-list p { margin:5px 0 0; padding:8px 10px; background:#f6f8fb; border-radius:8px; color:#475569; font-size:.8rem; }

@media (max-width:1000px) {
  .week-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .metric-grid-three { grid-template-columns:1fr; }
}

/* v0.6 – Planungszeiträume, Antragsworkflows und Mitarbeiterportal */
.section-gap { margin-top:22px; }
.message.warning { background:#fff6df; color:#805800; border:1px solid #f2d183; }
.small-warning { display:inline-block; margin-top:5px; color:#9a6500; font-size:.72rem; font-weight:750; }
.status-review,.status-waiting_manager,.status-waiting_employee,.status-in_review,.status-regional_approved { background:#fff5dc; color:#9a6500; }
.status-published { background:#e4f7ef; color:#08734f; }
.status-draft { background:#edf1f6; color:#475569; }
.status-resolved { background:#e4f7ef; color:#08734f; }
.status-cancellation_requested { background:#fff5dc; color:#9a6500; }
.workflow-actions { margin:0 0 22px; }
.metric-text { font-size:1.05rem !important; letter-spacing:0 !important; }
.planning-days { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:0 20px 22px; }
.planning-day { min-height:145px; border:1px solid var(--line); border-radius:13px; background:#fff; overflow:hidden; }
.planning-day.weekend { background:#f8fafc; }
.planning-day header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 12px; border-bottom:1px solid var(--line); background:#f8fafc; }
.planning-day header a { font-size:.76rem; font-weight:750; }
.planning-day > div { display:grid; gap:7px; padding:10px; }
.schedule-duty { display:block; padding:9px 10px; border-radius:9px; background:#edf3ff; color:var(--text); }
.schedule-duty strong,.schedule-duty span { display:block; }
.schedule-duty span { margin-top:3px; color:var(--muted); font-size:.73rem; }
.muted-line { color:var(--muted); font-size:.8rem; }
.warning-panel { border-color:#f2d183; }
.decision-panel { max-width:900px; padding:24px; }
.decision-panel .decision-summary { padding:0 0 18px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.subscription-box { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; padding:0 22px 22px; align-items:center; }
.subscription-box form { margin:0; }
@media (max-width:1250px) { .planning-days { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:900px) { .planning-days { grid-template-columns:repeat(2,minmax(0,1fr)); } .subscription-box { grid-template-columns:1fr; } }
@media (max-width:560px) { .planning-days { grid-template-columns:1fr; } }

/* Blau-Gelb-Oberfläche und eingebettete Bereitschaftsauswertung */
:root {
  --bg: #f2f5f8;
  --panel: #ffffff;
  --text: #10243b;
  --muted: #647386;
  --line: #dbe3eb;
  --brand: #004b87;
  --brand-dark: #00345f;
  --accent: #ffd400;
  --accent-dark: #ddb700;
  --sidebar: #003b70;
  --sidebar-muted: #b9c9d8;
  --shadow: 0 12px 35px rgba(0, 59, 112, .08);
}

body { background: linear-gradient(135deg, #eaf0f5 0, var(--bg) 42%, #f9fbfc 100%); }
a { transition: color .15s ease, background .15s ease, border-color .15s ease; }
.sidebar { border-right: 4px solid var(--accent); }
.brand-mark, .login-logo {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--accent);
  color: var(--brand-dark);
  box-shadow: 0 10px 25px rgba(255, 212, 0, .24);
}
.brand-mark::before, .login-logo::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 4px solid var(--brand);
  border-radius: 999px;
  z-index: -1;
}
.brand-mark span, .login-logo span { position: relative; z-index: 1; font-weight: 950; }
.brand-word, .login-brand-word { letter-spacing: .08em; font-weight: 950; }
.brand-word::first-letter { color: var(--accent); }
.login-brand-word { display: block; margin: -14px 0 8px; font-size: .78rem; color: var(--brand); }
.login-brand-word::first-letter { color: var(--accent-dark); }
.sidebar nav a { color: #e8f0f7; border-left: 3px solid transparent; }
.sidebar nav a:hover { background: rgba(255,255,255,.08); border-left-color: rgba(255,212,0,.65); }
.sidebar nav a.active { background: var(--accent); color: var(--brand-dark); border-left-color: #ffffff; }
.link-button { color: #ffe66f; }
.topbar { background: rgba(255,255,255,.92); border-top: 3px solid var(--accent); }
.eyebrow { color: var(--brand); }
.primary-button { background: var(--brand); box-shadow: 0 8px 20px rgba(0,75,135,.22); }
.primary-button:hover { background: var(--brand-dark); }
.metric-card, .panel { border-top-color: #c8d6e3; }
.metric-card:hover { border-top-color: var(--accent-dark); }
.date-badge { background: #fff8cc; color: var(--brand); }
.date-badge span { color: var(--brand); }
.status-chip { background: #edf3f8; color: var(--brand-dark); }
.login-main { background: radial-gradient(circle at top, #fff8cf, #e9f0f6 55%, var(--bg)); }
.stacked-form input:focus, .form-control:focus { box-shadow: 0 0 0 3px rgba(0,75,135,.12); }
.secondary-button:hover, .icon-button:hover { border-color: #8ca9c0; background: #f2f7fb; }
.small-chip { background: #eaf2f8; color: var(--brand-dark); }
.week-day-card.week-today { border-color: var(--accent-dark); box-shadow: 0 12px 35px rgba(0,75,135,.13); }
.week-day-head > div > span { color: var(--brand); }
.week-entry:hover { border-color: #72a0c4; background: #f4f9fd; }
.timeline-dot { background: var(--accent); box-shadow: 0 0 0 4px #e4eef6; }
.site-footer { border-bottom: 4px solid var(--accent); }
.attention-button { border-color: var(--accent-dark); background: #fff8cc; color: var(--brand-dark); }
.attention-button:hover { border-color: var(--brand); background: #fff3a3; }

.duty-statistics-panel { border-top: 4px solid var(--accent); }
.statistics-heading { align-items: flex-end; }
.statistics-filter { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.statistics-filter label { display: grid; gap: 5px; color: var(--muted); font-size: .75rem; font-weight: 800; }
.statistics-filter select {
  min-height: 39px;
  min-width: 125px;
  padding: 0 34px 0 11px;
  border: 1px solid #bfcddb;
  border-radius: 9px;
  background: #ffffff;
  color: var(--text);
}
.statistics-filter label:last-of-type select { min-width: 190px; }
.statistics-table-wrap { border-top: 1px solid var(--line); }
.statistics-table th, .statistics-table td { padding-top: 12px; padding-bottom: 12px; }
.statistics-table thead tr:first-child th { border-bottom: 0; }
.statistics-table thead tr:nth-child(2) th { padding-top: 5px; }
.statistics-table .statistics-group { text-align: center; border-left: 1px solid var(--line); }
.statistics-table .statistics-past { color: #526579; }
.statistics-table .statistics-future { color: var(--brand); background: #fff9d8; }
.statistics-table .statistics-total { color: var(--brand-dark); background: #eaf2f8; }
.statistics-table .number-cell { text-align: center; font-variant-numeric: tabular-nums; }
.statistics-table .future-value { background: #fffdf0; }
.statistics-table .total-value { background: #f2f7fb; font-weight: 800; }
.statistics-table tbody tr:hover td { background-color: #f5f9fc; }
.statistics-table tfoot th, .statistics-table tfoot td { border-top: 2px solid #9fb4c7; border-bottom: 0; background: #e8eff5; font-weight: 900; }

/* v0.7.2 – Live-Urlaubsprüfung und organisatorische Vertretung */
.absence-form-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,380px);
  gap:22px;
  align-items:start;
}
.absence-form-layout .app-form { max-width:none; }
.absence-overlap-panel { position:sticky; top:92px; overflow:hidden; }
.overlap-content { display:grid; gap:14px; padding:0 20px 18px; }
.overlap-summary { display:grid; gap:5px; padding:14px; border-radius:12px; border:1px solid var(--line); }
.overlap-summary strong { line-height:1.35; }
.overlap-summary span { color:var(--muted); font-size:.78rem; }
.overlap-success { background:#effaf5; border-color:#b9e7d3; }
.overlap-warning { background:#fff8d8; border-color:#eed06e; }
.overlap-danger { background:#fff0f0; border-color:#f3b4b4; }
.overlap-neutral { background:#f5f8fb; }
.overlap-section { display:grid; gap:8px; }
.overlap-section h3 { margin:2px 0 0; color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.07em; }
.overlap-item { display:grid; gap:3px; padding:11px 12px; border:1px solid var(--line); border-left:4px solid var(--brand); border-radius:10px; color:inherit; background:#fff; }
.overlap-item span { color:var(--muted); font-size:.76rem; }
.overlap-pending { border-left-color:var(--accent-dark); }
.overlap-duty { border-left-color:var(--danger); }
.overlap-loading { padding:18px; border-radius:10px; background:#f5f8fb; color:var(--muted); text-align:center; }
.overlap-privacy-note { margin:0; padding:13px 20px; border-top:1px solid var(--line); color:var(--muted); background:#f8fafc; font-size:.73rem; line-height:1.45; }
.compact-empty { padding:18px 10px; }
.representation-list .list-item { align-items:flex-start; }
@media (max-width:1050px) {
  .absence-form-layout { grid-template-columns:1fr; }
  .absence-overlap-panel { position:static; }
}

/* Kontext-Hilfe v0.7.4 */
.info-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  margin-left: .3rem;
  padding: 0;
  border: 1px solid var(--border, #cbd5e1);
  border-radius: 50%;
  background: #fff;
  color: #004b87;
  font-size: .85rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  vertical-align: middle;
}
.info-button:hover { background: #fff3a6; border-color: #f4c300; }
.info-dialog {
  width: min(34rem, calc(100vw - 2rem));
  border: 0;
  border-radius: 14px;
  padding: 0;
  box-shadow: 0 20px 60px rgba(15, 23, 42, .3);
}
.info-dialog::backdrop { background: rgba(15, 23, 42, .55); }
.info-dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.2rem;
  background: #004b87;
  color: #fff;
}
.info-dialog-header h2 { margin: 0; color: inherit; font-size: 1.1rem; }
.info-dialog > p { margin: 0; padding: 1.2rem; line-height: 1.6; white-space: pre-line; }
.info-dialog-close { border: 0; background: transparent; color: #fff; font-size: 1.6rem; cursor: pointer; }
.help-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.help-card h2 { margin-top: 0; }
.help-card ul { margin: 0; padding-left: 1.2rem; }
.help-card li { margin: .65rem 0; line-height: 1.5; }


/* v0.7.5: ausführliche Hilfe, Urlaubsübersicht, Online-Status und Wartung */
.help-jump { display:flex; flex-wrap:wrap; gap:8px; padding:16px; margin-bottom:18px; }
.help-jump a { padding:8px 11px; border-radius:999px; background:#eef3f8; color:var(--brand-dark); font-size:.8rem; font-weight:800; text-decoration:none; }
.detailed-help-grid { align-items:start; }
.help-card { position:relative; scroll-margin-top:20px; }
.help-card .help-number { position:absolute; right:18px; top:14px; font-size:1.8rem; font-weight:900; color:rgba(17,53,91,.12); }
.help-card h3 { margin:18px 0 8px; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.help-card ol { margin:0; padding-left:22px; display:grid; gap:9px; }
.help-purpose { color:var(--muted); line-height:1.55; padding-right:28px; }
.help-note { margin-top:16px; border-left:4px solid var(--accent); background:#fff9d8; padding:12px 14px; border-radius:8px; }
.help-note ul { margin:6px 0 0; padding-left:18px; }
.vacation-filter { display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.vacation-filter label { display:grid; gap:5px; font-size:.78rem; font-weight:800; color:var(--muted); min-width:220px; }
.vacation-summary { display:flex; justify-content:space-between; gap:15px; margin-bottom:14px; }
.vacation-summary span { color:var(--muted); }
.vacation-employee-list { display:grid; gap:12px; }
.vacation-employee-card { padding:18px; }
.vacation-employee-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.vacation-employee-head h2 { margin:0 0 4px; font-size:1.05rem; }
.vacation-employee-head p { margin:0; color:var(--muted); font-size:.83rem; }
.vacation-totals { text-align:right; display:grid; }
.vacation-totals strong { font-size:1.35rem; color:var(--brand-dark); }
.vacation-totals span,.vacation-totals small { color:var(--muted); font-size:.72rem; }
.vacation-periods { display:flex; flex-wrap:wrap; gap:9px; margin-top:15px; }
.vacation-period { display:flex; align-items:center; gap:9px; border:1px solid var(--line); padding:9px 11px; border-radius:10px; text-decoration:none; color:var(--text); background:#fff; }
.empty-inline { color:var(--muted); font-style:italic; }
.presence-indicator { display:inline-flex; align-items:center; gap:7px; font-size:.8rem; font-weight:700; }
.presence-dot { width:10px; height:10px; display:inline-block; border-radius:50%; box-shadow:0 0 0 3px rgba(0,0,0,.05); }
.presence-dot.online { background:#24a148; }
.presence-dot.offline { background:#d62828; }
.maintenance-admin-banner { background:#b42318; color:#fff; display:flex; justify-content:center; align-items:center; gap:12px; padding:8px 15px; font-size:.82rem; }
.maintenance-admin-banner a { color:#fff; font-weight:900; text-decoration:underline; }
.maintenance-body { min-height:100vh; display:grid; place-items:center; background:linear-gradient(145deg,#092d52,#124f86); padding:20px; }
.maintenance-card { width:min(620px,100%); background:#fff; padding:38px; border-radius:20px; box-shadow:0 25px 70px rgba(0,0,0,.3); text-align:center; }
.maintenance-card h1 { margin:12px 0; color:var(--brand-dark); }
.maintenance-card p { font-size:1.05rem; line-height:1.65; }
.maintenance-card small { color:var(--muted); }
.maintenance-mark { margin:0 auto 18px; }
.maintenance-active-panel { display:flex; gap:15px; align-items:flex-start; border:2px solid #b42318; }
.maintenance-state-dot { width:16px; height:16px; border-radius:50%; background:#d62828; margin-top:5px; box-shadow:0 0 0 5px rgba(214,40,40,.14); flex:0 0 auto; }
.active-user-list { display:flex; flex-wrap:wrap; gap:10px; }
.active-user-list > span { display:inline-flex; align-items:center; gap:7px; padding:8px 10px; background:#f4f7fa; border-radius:10px; }
.active-user-list small { color:var(--muted); }
@media (max-width:700px) {
  .vacation-filter,.vacation-employee-head,.vacation-summary { align-items:stretch; flex-direction:column; }
  .vacation-filter label { min-width:0; width:100%; }
  .vacation-totals { text-align:left; }
  .maintenance-card { padding:28px 22px; }
}

/* v0.7.5.1: Admin-Aktivitätsansicht */
.activity-filter-panel {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.activity-filter-panel > div { max-width:620px; }
.activity-filter-panel p { margin:5px 0 0; color:var(--muted); font-size:.8rem; }
.activity-filter-panel label { display:grid; gap:5px; min-width:245px; color:var(--muted); font-size:.76rem; font-weight:800; }
.muted-text { color:var(--muted); font-size:.8rem; }
.heading-actions { display:flex; align-items:center; gap:8px; }
.maintenance-user-warning { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.maintenance-user-warning span { font-size:.82rem; }
.section-heading-inline { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:14px; }
.section-heading-inline h2 { margin:0 0 5px; }
.section-heading-inline p { margin:0; color:var(--muted); }
.activity-count {
  min-width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--brand-dark);
  color:#fff;
  font-size:1.1rem;
}
.maintenance-recent-heading { padding:18px 20px 0; }
@media (max-width:800px) {
  .activity-filter-panel,.maintenance-user-warning,.section-heading-inline { align-items:stretch; flex-direction:column; }
  .activity-filter-panel label { min-width:0; width:100%; }
  .heading-actions { align-self:flex-start; }
}


/* v0.7.5.2: zusammengeführte Planungserstellung */
.planning-create-form { display:grid; gap:18px; }
.planning-step { display:grid; grid-template-columns:52px minmax(0,1fr); gap:18px; padding:22px; }
.planning-step-number { width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--brand-dark); color:#fff; font-size:1.1rem; font-weight:900; }
.planning-step-content { min-width:0; }
.planning-step-content .panel-heading { margin-bottom:16px; }
.planning-step-content .panel-heading h2 { margin:2px 0 5px; }
.planning-step-content .panel-heading p { margin:0; color:var(--muted); }
.planning-compact-grid { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.selected-profile-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:12px; align-items:center; padding:14px; margin-top:14px; border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:12px; background:#f8fafc; }
.selected-profile-summary > div { display:grid; gap:4px; }
.selected-profile-summary span { color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.selected-profile-summary strong { line-height:1.35; }
.compact-message { margin-top:14px; }
.planning-confirm { margin:12px 0 4px; }
@media (max-width:900px) {
  .selected-profile-summary { grid-template-columns:1fr 1fr; }
}
@media (max-width:650px) {
  .planning-step { grid-template-columns:1fr; }
  .planning-step-number { width:34px; height:34px; }
  .selected-profile-summary { grid-template-columns:1fr; }
}

/* v0.7.5.3 – Nachweise, kompakte Freigaben und Urlaubskonten */
.evidence-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.evidence-summary-grid>div{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);display:flex;flex-direction:column;gap:4px}.evidence-summary-grid small,.evidence-document-row span{display:block;color:var(--muted);font-size:.84rem}.evidence-status{display:inline-flex}.evidence-confirmed{color:#16803c}.evidence-missing,.evidence-rejected{color:#b42318}.evidence-submitted,.evidence-review,.evidence-incomplete{color:#9a6700}.evidence-document-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border);border-radius:12px;margin-top:12px}.compact-details{margin-top:14px}.compact-details summary{cursor:pointer;font-weight:700}.compact-timeline{margin-top:12px}.approval-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}.segmented-tabs,.category-tabs{display:flex;flex-wrap:wrap;gap:8px}.segmented-tabs a,.category-tabs a{padding:8px 12px;border:1px solid var(--border);border-radius:999px;text-decoration:none;color:var(--text);font-weight:700;font-size:.9rem}.segmented-tabs a.active,.category-tabs a.active{background:var(--brand);color:#fff;border-color:var(--brand)}.approval-card-list{display:grid;gap:10px}.approval-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.approval-card::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:4px;background:var(--brand)}.approval-card.urgent::before{background:#d92d20}.approval-card.soon::before{background:#fdb022}.approval-card-main{display:grid;gap:4px;padding-left:5px}.approval-card-main span{font-size:.88rem;color:var(--muted)}.approval-card-actions{display:flex;align-items:center;gap:10px}.scope-hint{font-size:.88rem;color:var(--muted)}.leave-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.leave-card{padding:16px}.leave-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.leave-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.leave-metrics div{padding:10px;border-radius:10px;background:var(--surface-soft);display:grid;gap:2px}.leave-metrics span{font-size:.78rem;color:var(--muted)}.leave-metrics strong{font-size:1.05rem}.balance-ok{color:#16803c}.balance-low{color:#9a6700}.balance-none{color:#b42318}.filter-panel{margin:0 0 14px}.filter-panel summary{cursor:pointer;font-weight:700}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}@media(max-width:900px){.evidence-summary-grid,.leave-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-card-grid{grid-template-columns:1fr}}@media(max-width:600px){.evidence-summary-grid,.leave-metrics,.filter-grid{grid-template-columns:1fr}.approval-card,.evidence-document-row{align-items:flex-start;flex-direction:column}.approval-card-actions{width:100%;justify-content:flex-end}}

.visually-hidden{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}.section-gap-small{margin-top:10px}.compact-filter-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:14px}.compact-filter-bar label{font-weight:700}.compact-filter-bar .form-control{min-width:260px}.compact-detail-list{margin-top:12px}.compact-actions{margin-top:12px}.evidence-filter{padding:12px;margin-top:10px}.evidence-filter form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}

/* SaaS-Plattformverwaltung */
.status-badge { display:inline-flex; align-items:center; padding:.25rem .6rem; border-radius:999px; font-size:.78rem; font-weight:700; background:#e2e8f0; color:#334155; }
.status-active { background:#dcfce7; color:#166534; }
.status-trial { background:#dbeafe; color:#1d4ed8; }
.status-suspended, .status-cancelled { background:#fee2e2; color:#991b1b; }
.small-value { font-size:1rem !important; overflow-wrap:anywhere; }
.simple-list { list-style:none; padding:0; margin:0; display:grid; gap:.75rem; }
.simple-list li { display:flex; flex-direction:column; padding:.75rem 0; border-bottom:1px solid #e2e8f0; }
.simple-list li:last-child { border-bottom:0; }
.simple-list span { color:#64748b; font-size:.88rem; }
.detail-list { margin-top:1.25rem; }
.detail-list dd { overflow-wrap:break-word; word-break:normal; }

/* v0.7.9.8 – zentrale Mitarbeiterverwaltung */
.employee-section { margin-bottom: 22px; }
.unified-employee-form .schedule-table input[type="time"],
.unified-employee-form .schedule-table input[type="number"] { min-width: 105px; }
.unified-employee-form .schedule-table input[type="checkbox"] { width: 20px; height: 20px; }
.unified-employee-form .schedule-table td { vertical-align: middle; }
.unified-employee-form .schedule-net { white-space: nowrap; font-weight: 600; }
.compact-grid { grid-template-columns: minmax(180px, 280px) minmax(300px, 1fr); }
.wide-field { grid-column: span 1; }
.sticky-actions { position: sticky; bottom: 0; z-index: 5; padding: 14px; background: rgba(255,255,255,.96); border: 1px solid var(--border-color, #dbe3ec); border-radius: 14px; box-shadow: 0 -6px 24px rgba(15,23,42,.08); }
@media (max-width: 760px) { .compact-grid { grid-template-columns: 1fr; } .sticky-actions { position: static; } }

/* v0.7.9.10 – Support und Kontosicherheit */
.login-links { margin-top: 14px; text-align: center; }
.login-secondary-action { margin: 12px 0; text-align: center; }
.compact-filter { display:flex; gap:12px; align-items:end; padding:16px; margin-bottom:18px; }
.compact-filter label { display:grid; gap:6px; }
.support-filter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; padding:18px; margin-bottom:18px; align-items:end; }
.support-filter-grid label { display:grid; gap:6px; font-weight:700; }
.support-filter-grid input,.support-filter-grid select,.compact-filter select { width:100%; }
.support-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:20px; align-items:start; }
.support-layout > div,.support-layout > aside { display:grid; gap:20px; }
.support-ticket-description { padding:20px; }
.support-message-body { line-height:1.65; white-space:normal; }
.support-meta { margin-top:16px; color:var(--muted); font-size:.9rem; word-break:break-word; }
.support-thread { display:grid; gap:12px; padding:18px; }
.support-message { border:1px solid var(--border); border-radius:12px; padding:14px; background:#fff; }
.support-message.internal { border-style:dashed; background:#fff7df; }
.support-message header { display:flex; justify-content:space-between; gap:12px; margin-bottom:8px; }
.support-message header span { color:var(--muted); font-size:.85rem; }
.attachment-list { list-style:none; margin:0; padding:16px 20px; display:grid; gap:12px; }
.attachment-list li { display:grid; gap:3px; }
.attachment-list small { color:var(--muted); }
@media (max-width: 900px) { .support-layout { grid-template-columns:1fr; } }

/* v0.7.9.11 – Präsentationsreife, lesbare Chips und klare Übersichten */
.status-chip, .status-badge, .deadline-chip, .demo-badge, .small-chip, .type-chip,
.mini-button, .secondary-button.small {
  max-width: 100%;
  min-height: 30px;
  height: auto;
  padding-top: 6px;
  padding-bottom: 6px;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}
.responsive-table td { white-space: normal; vertical-align: top; }
.responsive-table th { white-space: normal; }
.form-control, .app-form input, .app-form select, .app-form textarea {
  min-height: 44px;
  height: auto;
  line-height: 1.35;
  padding-top: 10px;
  padding-bottom: 10px;
}
.deadline-chip { display:inline-flex; border-radius:999px; background:#edf6ff; color:#004b87; font-size:.78rem; font-weight:800; }
.deadline-overdue { background:#feecec; color:#b91c1c; }
.row-overdue td { background:#fffafa; }
.demo-badge { display:inline-flex; vertical-align:middle; border-radius:999px; background:#fff2a8; color:#5e4b00; font-size:.68rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.role-focus-card {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:22px 24px; margin-bottom:22px; border-radius:18px;
  color:#fff; background:linear-gradient(135deg,#003b70,#0062a8); box-shadow:var(--shadow);
}
.role-focus-card .eyebrow { color:#ffe365; }
.role-focus-card h2 { font-size:1.35rem; margin-bottom:6px; }
.role-focus-card p { margin:0; color:#dceaf5; }
.role-focus-actions { display:flex; gap:9px; flex-wrap:wrap; justify-content:flex-end; }
.role-focus-actions a { padding:9px 12px; border-radius:10px; background:rgba(255,255,255,.12); color:#fff; font-weight:750; }
.role-focus-actions a:hover { background:#ffd400; color:#00345f; }
.payroll-reminder-panel { margin-bottom:22px; border-top:4px solid #ffd400; }
.time-overview-panel { margin-bottom:22px; border-top:4px solid var(--brand); }
.time-overview-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:0 20px 20px; }
.time-overview-grid article { min-width:0; padding:17px; border:1px solid var(--line); border-radius:14px; background:#f7fafc; }
.time-overview-grid span,.time-overview-grid small { display:block; color:var(--muted); }
.time-overview-grid strong { display:block; margin:8px 0 5px; font-size:1.55rem; letter-spacing:-.03em; overflow-wrap:anywhere; }
.time-overview-grid small { font-size:.77rem; }
.time-overview-note { margin:0 20px 20px; padding:13px 15px; border-radius:11px; background:#fff8d8; color:#745800; }
.negative-value { color:#b91c1c; }
.setup-progress { padding:18px 20px; display:flex; align-items:center; gap:16px; }
.setup-progress-bar { flex:1; height:12px; overflow:hidden; border-radius:999px; background:#e4eaf0; }
.setup-progress-bar span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#004b87,#ffd400); }
.setup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.setup-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--text); box-shadow:var(--shadow); }
.setup-card.complete { border-left:5px solid #0f9f6e; }
.setup-check { display:grid; place-items:center; width:38px; height:38px; border-radius:999px; background:#edf3f8; color:var(--brand); font-weight:900; }
.setup-card.complete .setup-check { background:#e4f7ef; color:#08734f; }
.setup-card h2 { margin-bottom:5px; }
.setup-card p { margin:0; color:var(--muted); }
.setup-link { color:var(--brand); font-weight:800; white-space:nowrap; }
.error-card { max-width:720px; margin:8vh auto; padding:42px; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:var(--shadow); text-align:center; }
.error-code { display:inline-grid; place-items:center; min-width:90px; min-height:46px; margin-bottom:18px; border-radius:999px; background:#edf3f8; color:var(--brand); font-size:1.3rem; font-weight:950; }
.error-card .button-row { justify-content:center; margin:24px 0 16px; }
.error-card small { color:var(--muted); }
.detail-body { padding:0 22px 22px; }
.warning-box { padding:14px 16px; border:1px solid #f2d183; border-radius:11px; background:#fff8d8; color:#745800; }
code { overflow-wrap:anywhere; }
@media (max-width:1000px) {
  .time-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .setup-grid { grid-template-columns:1fr; }
  .role-focus-card { align-items:flex-start; flex-direction:column; }
  .role-focus-actions { justify-content:flex-start; }
}
@media (max-width:560px) {
  .time-overview-grid { grid-template-columns:1fr; }
  .setup-card { grid-template-columns:auto minmax(0,1fr); }
  .setup-link { grid-column:2; }
  .error-card { padding:28px 20px; margin:4vh auto; }
  .metric-grid { grid-template-columns:1fr; }
}

/* v0.7.9.12 – kompakte Mitarbeiterübersicht */
/* v0.7.9.13 – robuste Demo-Erstellung */
/* v0.7.9.14 – Bedienbarkeit, Benachrichtigungen und Performance */
.employee-filter-panel { padding:20px; margin-bottom:20px; overflow:visible; }
.employee-filter-grid { display:grid; grid-template-columns:minmax(240px,1.7fr) repeat(5,minmax(145px,1fr)); gap:14px; align-items:end; }
.employee-filter-grid label { display:grid; gap:6px; color:var(--muted); font-size:.76rem; font-weight:800; }
.employee-filter-grid .form-control { width:100%; min-width:0; }
.employee-filter-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:16px; }
.employee-filter-actions small { margin-left:auto; color:var(--muted); }
.employee-card-list { display:grid; gap:14px; }
.employee-summary-card { display:grid; grid-template-columns:minmax(260px,1.35fr) minmax(330px,1.6fr) minmax(230px,1.1fr) auto; grid-template-areas:"main facts modules actions" "main status status actions"; align-items:center; gap:14px 22px; padding:18px 20px; overflow:visible; }
.employee-summary-main { grid-area:main; display:flex; align-items:center; gap:14px; min-width:0; }
.employee-avatar { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border-radius:14px; background:#eaf2f8; color:var(--brand-dark); font-weight:900; text-transform:uppercase; }
.employee-summary-name { min-width:0; }
.employee-title-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.employee-title-row strong { font-size:1rem; }
.employee-summary-name p { margin:5px 0 0; color:var(--muted); font-size:.79rem; overflow-wrap:anywhere; }
.employee-summary-facts { grid-area:facts; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.employee-summary-facts > div { min-width:0; }
.employee-summary-facts span,.employee-summary-label { display:block; color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; margin-bottom:4px; }
.employee-summary-facts strong { display:block; font-size:.83rem; overflow-wrap:anywhere; }
.employee-summary-modules { grid-area:modules; min-width:0; }
.employee-summary-modules .chip-row { display:flex; flex-wrap:wrap; gap:6px; }
.employee-summary-status { grid-area:status; display:flex; align-items:center; justify-content:space-between; gap:14px; min-width:0; }
.employee-summary-status small { color:var(--muted); }
.employee-completeness { display:flex; flex-wrap:wrap; gap:7px; }
.employee-completeness span { padding:5px 8px; border-radius:8px; font-size:.7rem; font-weight:800; }
.employee-completeness .complete { background:#e4f7ef; color:#08734f; }
.employee-completeness .missing { background:#fff5dc; color:#9a6500; }
.employee-summary-actions { grid-area:actions; display:flex; align-items:center; justify-content:flex-end; }
.employee-summary-actions .secondary-button { white-space:nowrap; }
@media (max-width:1250px) {
  .employee-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .employee-search-field { grid-column:span 2; }
  .employee-summary-card { grid-template-columns:minmax(250px,1fr) minmax(300px,1.35fr) auto; grid-template-areas:"main facts actions" "modules status actions"; }
}
@media (max-width:1100px) {
  .employee-page-heading { align-items:stretch; flex-direction:column; }
  .employee-page-heading .primary-button { align-self:flex-start; }
  .employee-filter-grid { grid-template-columns:1fr 1fr; }
  .employee-search-field { grid-column:1 / -1; }
  .employee-filter-actions small { width:100%; margin-left:0; }
  .employee-summary-card { grid-template-columns:1fr; grid-template-areas:"main" "facts" "modules" "status" "actions"; align-items:stretch; }
  .employee-summary-facts { grid-template-columns:1fr 1fr; }
  .employee-summary-status { align-items:flex-start; flex-direction:column; }
  .employee-summary-actions { justify-content:flex-start; }
}
@media (max-width:520px) {
  .employee-filter-grid { grid-template-columns:1fr; }
  .employee-search-field { grid-column:auto; }
  .employee-summary-facts { grid-template-columns:1fr; }
  .employee-title-row { align-items:flex-start; }
}
.employee-activity-details { display:flex; gap:12px; flex-wrap:wrap; }

/* v0.7.9.14 – Bedienbarkeit, Warnhinweise und kompakte Fachansichten */
.nav-with-badge { display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; }
.nav-with-badge > span:first-child { min-width:0; overflow-wrap:anywhere; }
.nav-badge { min-width:20px; height:20px; padding:0 6px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; font-size:.68rem; font-weight:900; line-height:1; color:#fff; flex:0 0 auto; box-shadow:0 0 0 2px rgba(255,255,255,.35); }
.nav-badge.danger { background:#c62828; }
.nav-badge.warning { background:#d97706; }
.nav-badge.neutral { background:#47647c; }

.employee-record-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:22px; align-items:start; margin-bottom:18px; }
.employee-record-main { display:flex; align-items:center; gap:16px; min-width:0; }
.employee-record-main .employee-avatar { width:58px; height:58px; flex-basis:58px; font-size:1.05rem; }
.employee-record-title { min-width:0; }
.employee-record-title h1 { margin:0 0 6px; overflow-wrap:anywhere; }
.employee-record-title p { margin:0; color:var(--muted); overflow-wrap:anywhere; }
.employee-record-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.completeness-card { min-width:245px; padding:16px 18px; border-radius:15px; border:1px solid var(--line); background:#fff; }
.completeness-card.complete { border-left:5px solid #0f9f6e; }
.completeness-card.warning { border-left:5px solid #d97706; }
.completeness-card.critical { border-left:5px solid #c62828; }
.completeness-card strong { display:block; margin-bottom:5px; }
.completeness-card small { color:var(--muted); }
.profile-tabs { position:sticky; top:0; z-index:8; display:flex; gap:8px; overflow-x:auto; padding:10px; margin:0 0 18px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.97); box-shadow:0 8px 22px rgba(31,58,79,.08); scrollbar-width:thin; }
.profile-tab { border:0; border-radius:10px; background:transparent; color:var(--muted); padding:10px 13px; font:inherit; font-size:.78rem; font-weight:850; white-space:nowrap; cursor:pointer; }
.profile-tab:hover,.profile-tab.active { background:#eaf2f8; color:var(--brand-dark); }
.profile-panel { display:none; }
.profile-panel.active { display:block; }
.profile-section { padding:22px; margin-bottom:18px; overflow:visible; }
.profile-section-heading { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:18px; }
.profile-section-heading h2 { margin:0 0 5px; }
.profile-section-heading p { margin:0; color:var(--muted); }
.profile-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 20px; }
.profile-field-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.profile-field-grid > p,.profile-field-grid > div,.profile-field-grid label { min-width:0; }
.profile-field-grid input,.profile-field-grid select,.profile-field-grid textarea { max-width:100%; min-width:0; }
.profile-wide { grid-column:1 / -1; }
.schedule-day-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.schedule-day-card { padding:14px; border:1px solid var(--line); border-radius:13px; background:#f8fafc; min-width:0; }
.schedule-day-card > strong { display:block; margin-bottom:10px; }
.schedule-day-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.schedule-day-fields label { display:grid; gap:5px; color:var(--muted); font-size:.72rem; font-weight:800; }
.schedule-day-fields input { width:100%; min-width:0; }
.schedule-summary { display:flex; gap:12px; flex-wrap:wrap; margin-top:14px; }
.schedule-summary span { padding:8px 11px; border-radius:10px; background:#edf3f8; font-size:.78rem; font-weight:800; }
.rights-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.rights-summary-card { padding:16px; border:1px solid var(--line); border-radius:13px; background:#f8fafc; }
.rights-summary-card h3 { margin:0 0 8px; }
.rights-summary-card ul { margin:0; padding-left:18px; }
.rights-summary-card li { margin:5px 0; overflow-wrap:anywhere; }
.history-list { display:grid; gap:10px; }
.history-entry { padding:13px 15px; border-left:4px solid #b8c9d6; border-radius:0 11px 11px 0; background:#f8fafc; }
.history-entry p { margin:4px 0 0; color:var(--muted); }
.sticky-save-bar { position:sticky; bottom:12px; z-index:12; display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:22px; padding:13px 16px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.96); box-shadow:0 10px 30px rgba(31,58,79,.18); backdrop-filter:blur(8px); }
.sticky-save-bar small { color:var(--muted); }

.task-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.task-card { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); gap:13px; align-items:start; padding:18px; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--text); box-shadow:var(--shadow); text-decoration:none; min-width:0; }
.task-card:hover { transform:translateY(-1px); border-color:#aac0cf; }
.task-card-count { min-width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#edf3f8; color:var(--brand-dark); font-weight:950; }
.task-card.warning .task-card-count { background:#fff3d6; color:#9a6500; }
.task-card.danger .task-card-count { background:#fde8e7; color:#a51d17; }
.task-card.success .task-card-count { background:#e4f7ef; color:#08734f; }
.task-card h2 { margin:1px 0 5px; font-size:.96rem; }
.task-card p { margin:0; color:var(--muted); font-size:.78rem; overflow-wrap:anywhere; }

.absence-card-list { display:grid; gap:14px; }
.absence-review-card { padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow); min-width:0; }
.absence-review-card.current { border-left:5px solid var(--brand); }
.absence-review-card.conflict { border-left:5px solid #c62828; }
.absence-review-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.absence-review-person { min-width:0; }
.absence-review-person h2 { margin:0 0 5px; font-size:1rem; overflow-wrap:anywhere; }
.absence-review-person p { margin:0; color:var(--muted); overflow-wrap:anywhere; }
.absence-review-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:15px 0; }
.absence-review-facts span { display:block; color:var(--muted); font-size:.68rem; font-weight:850; text-transform:uppercase; letter-spacing:.04em; margin-bottom:4px; }
.absence-review-facts strong { display:block; font-size:.82rem; overflow-wrap:anywhere; }
.absence-conflict-box { padding:11px 13px; border-radius:10px; background:#fdeceb; color:#8e1d18; font-size:.78rem; }
.absence-review-actions { display:flex; flex-wrap:wrap; gap:9px; align-items:center; }
.absence-details { margin-top:12px; border-top:1px solid var(--line); padding-top:12px; }
.absence-details summary { cursor:pointer; color:var(--brand); font-weight:800; }

.help-toolbar { position:sticky; top:0; z-index:7; padding:14px; margin-bottom:18px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.97); box-shadow:0 8px 22px rgba(31,58,79,.08); }
.help-search { width:100%; min-width:0; font-size:1rem; }
.help-topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.help-topic-link { padding:14px 16px; border:1px solid var(--line); border-radius:13px; background:#fff; color:var(--brand-dark); font-weight:850; text-decoration:none; overflow-wrap:anywhere; }
.help-topic-link:hover { background:#edf3f8; }
.help-section { margin-bottom:16px; scroll-margin-top:90px; }
.help-section > summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:17px 19px; border:1px solid var(--line); border-radius:14px; background:#fff; cursor:pointer; font-weight:900; }
.help-section > summary::-webkit-details-marker { display:none; }
.help-section[open] > summary { border-radius:14px 14px 0 0; background:#edf3f8; }
.help-section-body { padding:18px 20px; border:1px solid var(--line); border-top:0; border-radius:0 0 14px 14px; background:#fff; }
.help-question { border-bottom:1px solid var(--line); }
.help-question:last-child { border-bottom:0; }
.help-question summary { padding:13px 0; cursor:pointer; color:var(--brand-dark); font-weight:800; }
.help-question div { padding:0 0 15px; color:var(--text); line-height:1.6; }
.help-hidden { display:none !important; }

.time-action-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.time-action-card { display:block; min-width:0; padding:17px; border:1px solid var(--line); border-radius:15px; background:#fff; color:var(--text); text-decoration:none; box-shadow:var(--shadow); }
.time-action-card:hover { transform:translateY(-1px); border-color:#aac0cf; }
.time-action-card strong { display:block; margin-bottom:5px; color:var(--brand-dark); }
.time-action-card span { display:block; color:var(--muted); font-size:.78rem; overflow-wrap:anywhere; }
.time-report-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.time-report-summary .metric-card { min-width:0; }
.platform-inline-setting { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; }
.platform-inline-setting p { margin:5px 0 0; color:var(--muted); }

.form-control,.primary-button,.secondary-button,.danger-button,.status-chip,.chip,.badge,.button-link { max-width:100%; overflow-wrap:anywhere; white-space:normal; }
.card,.panel,.metric-card,.summary-card,.employee-summary-card { min-width:0; }

@media (max-width:1050px) {
  .task-card-grid,.help-topic-grid,.time-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .time-report-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-field-grid.three { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .absence-review-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .employee-record-header,.profile-section-heading,.absence-review-head,.platform-inline-setting,.sticky-save-bar { grid-template-columns:1fr; flex-direction:column; align-items:stretch; }
  .completeness-card { min-width:0; }
  .profile-tabs { position:relative; top:auto; }
  .profile-field-grid,.profile-field-grid.three,.schedule-day-grid,.rights-summary,.task-card-grid,.help-topic-grid,.time-action-grid,.time-report-summary { grid-template-columns:1fr; }
  .schedule-day-fields { grid-template-columns:1fr; }
  .absence-review-facts { grid-template-columns:1fr 1fr; }
  .sticky-save-bar { bottom:6px; }
}
@media (max-width:480px) {
  .absence-review-facts { grid-template-columns:1fr; }
  .employee-record-main { align-items:flex-start; }
  .employee-record-main .employee-avatar { width:46px; height:46px; flex-basis:46px; }
}

/* Klassen der Mitarbeiterakte und Hilfezentrale */
.employee-record-header.panel { padding:20px 22px; }
.employee-record-identity { display:flex; align-items:center; gap:15px; min-width:0; }
.employee-record-identity > div { min-width:0; }
.employee-record-identity h1 { margin:2px 0 5px; overflow-wrap:anywhere; }
.employee-record-identity p { margin:0; color:var(--muted); overflow-wrap:anywhere; }
.completeness-box { min-width:190px; padding:13px 15px; border:1px solid var(--line); border-radius:13px; background:#f8fafc; }
.completeness-box span,.completeness-box small { display:block; color:var(--muted); font-size:.72rem; }
.completeness-box strong { display:block; margin:4px 0; }
.completeness-box.complete { border-left:5px solid #0f9f6e; }
.completeness-box.warning { border-left:5px solid #d97706; }
.completeness-box.critical { border-left:5px solid #c62828; }
.profile-alerts { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.record-tabs { position:sticky; top:8px; z-index:8; display:flex; gap:7px; overflow-x:auto; padding:9px; margin-bottom:16px; }
.record-tabs button { flex:0 0 auto; border:0; border-radius:10px; padding:10px 13px; background:transparent; color:var(--muted); font:inherit; font-size:.78rem; font-weight:850; cursor:pointer; white-space:nowrap; }
.record-tabs button.active,.record-tabs button:hover { background:#eaf2f8; color:var(--brand-dark); }
.record-panel { display:none; padding:22px; margin-bottom:17px; overflow:visible; }
.record-panel.active { display:block; }
.record-panel .panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.record-panel .panel-heading h2 { margin:2px 0 5px; }
.record-panel .panel-heading p { margin:0; color:var(--muted); }
.record-panel .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 19px; }
.record-panel .form-grid.single-column { grid-template-columns:1fr; }
.record-panel .form-group { min-width:0; }
.record-panel .form-group input,.record-panel .form-group select,.record-panel .form-group textarea { width:100%; min-width:0; max-width:100%; }
.record-panel .wide-field { grid-column:1 / -1; }
.schedule-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.schedule-card-grid .schedule-day-card { padding:14px; border:1px solid var(--line); border-radius:13px; background:#f8fafc; min-width:0; }
.schedule-card-grid .schedule-day-card > strong { display:block; margin-bottom:10px; }
.schedule-clock-row { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:9px 0; }
.schedule-day-card label { display:grid; gap:5px; color:var(--muted); font-size:.72rem; font-weight:800; min-width:0; }
.schedule-day-card .checkbox-label { display:flex; align-items:center; gap:8px; }
.schedule-day-card input { width:100%; min-width:0; }
.schedule-day-card input[type=checkbox] { width:auto; }
.schedule-day-card .schedule-net { display:block; margin-top:9px; font-weight:850; color:var(--brand-dark); }
.schedule-total { margin-top:13px; padding:11px 13px; border-radius:10px; background:#edf3f8; }
.content-grid.two-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,.9fr); gap:22px; }
.content-grid .rights-summary { display:block; padding:16px; border:1px solid var(--line); border-radius:13px; background:#f8fafc; }
.content-grid .rights-summary ul { margin:8px 0 0; padding-left:18px; }
.content-grid .rights-summary li { margin:6px 0; overflow-wrap:anywhere; }
.security-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr); gap:22px; }
.security-status-card { padding:17px; border:1px solid var(--line); border-radius:13px; background:#f8fafc; }
.security-status-card > span,.security-status-card small { display:block; color:var(--muted); font-size:.74rem; }
.security-status-card > strong { display:block; margin:5px 0; font-size:1.05rem; }
.security-status-card p { color:var(--muted); line-height:1.5; }
.history-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.history-item { display:grid; gap:4px; padding:11px 0; border-bottom:1px solid var(--line); }
.history-item span { color:var(--muted); font-size:.76rem; overflow-wrap:anywhere; }
.save-hint { color:var(--muted); font-size:.78rem; }
.employee-record-form .sticky-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; bottom:10px; }

.help-search.panel { position:sticky; top:8px; z-index:7; padding:15px; }
.help-search > label { display:block; margin-bottom:7px; font-weight:850; }
.help-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.help-search small { display:block; margin-top:7px; color:var(--muted); }
.help-topic-grid button { padding:14px 16px; border:1px solid var(--line); border-radius:13px; background:#fff; color:var(--brand-dark); font:inherit; font-weight:850; text-align:left; cursor:pointer; overflow-wrap:anywhere; }
.help-topic-grid button:hover { background:#edf3f8; }
.help-accordion { display:grid; gap:12px; }
.help-topic { overflow:hidden; scroll-margin-top:100px; }
.help-topic > summary { list-style:none; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:13px; align-items:center; padding:17px 19px; cursor:pointer; }
.help-topic > summary::-webkit-details-marker { display:none; }
.help-topic > summary small { display:block; margin-top:4px; color:var(--muted); font-weight:500; }
.help-number { display:grid; place-items:center; width:35px; height:35px; border-radius:10px; background:#edf3f8; color:var(--brand-dark); font-weight:900; }
.help-chevron { color:var(--muted); font-size:1.2rem; }
.help-topic[open] .help-chevron { transform:rotate(180deg); }
.help-topic-body { padding:0 20px 19px 67px; line-height:1.6; }
.help-topic-body h3 { margin-top:0; }
.help-note { margin-top:15px; padding:13px 15px; border-radius:11px; background:#fff5dc; }

.approval-control { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(210px,.7fr) minmax(170px,.55fr) auto; gap:13px; align-items:end; padding:16px; }
.approval-control .segmented-tabs { align-self:center; }
.approval-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; }
.approval-symbol { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; background:#edf3f8; color:var(--brand-dark); font-weight:900; }
.approval-title-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.approval-card-main p { margin:4px 0; overflow-wrap:anywhere; }

@media (max-width:900px) {
  .record-panel .form-grid,.schedule-card-grid,.history-columns { grid-template-columns:1fr; }
  .content-grid.two-columns,.security-grid { grid-template-columns:1fr; }
  .approval-control { grid-template-columns:1fr 1fr; }
  .approval-control .segmented-tabs { grid-column:1 / -1; }
}
@media (max-width:650px) {
  .employee-record-header { grid-template-columns:1fr; }
  .employee-record-identity { align-items:flex-start; }
  .completeness-box { min-width:0; }
  .record-tabs,.help-search.panel { position:relative; top:auto; }
  .schedule-clock-row,.help-search-row,.approval-control { grid-template-columns:1fr; }
  .approval-card { grid-template-columns:auto minmax(0,1fr); }
  .approval-card-actions { grid-column:2; justify-content:flex-start; }
  .help-topic-body { padding-left:20px; }
  .employee-record-form .sticky-actions { align-items:stretch; flex-direction:column; }
}
.absence-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:15px; align-items:center; padding:17px 19px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow); min-width:0; }
.absence-card.has-conflict { border-left:5px solid #c62828; }
.absence-card-main { display:grid; grid-template-columns:auto minmax(0,1fr); gap:16px; align-items:center; min-width:0; color:var(--text); text-decoration:none; }
.absence-date-block { min-width:92px; padding:11px; border-radius:12px; background:#edf3f8; text-align:center; }
.absence-date-block strong,.absence-date-block span,.absence-date-block small { display:block; }
.absence-date-block strong { font-size:1.05rem; color:var(--brand-dark); }
.absence-date-block span,.absence-date-block small { margin-top:3px; color:var(--muted); font-size:.7rem; }
.absence-card-body { min-width:0; }
.absence-title-row { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.absence-title-row h2 { margin:0; font-size:1rem; overflow-wrap:anywhere; }
.absence-card-body p { margin:7px 0; color:var(--muted); overflow-wrap:anywhere; }
.absence-card-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.meta-chip-row { display:flex; gap:7px; flex-wrap:wrap; }
@media (max-width:760px) {
  .absence-card { grid-template-columns:1fr; align-items:stretch; }
  .absence-card-actions { justify-content:flex-start; padding-left:108px; }
}
@media (max-width:480px) {
  .absence-card-main { grid-template-columns:1fr; }
  .absence-date-block { text-align:left; min-width:0; }
  .absence-card-actions { padding-left:0; }
}

/* v0.7.9.15 – kompakte Filter, lesbare Namen und einheitliche Formulare */
.module-tabs{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:10px;margin:0 0 16px;scrollbar-width:thin}
.module-tabs a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;padding:9px 14px;border-radius:10px;color:var(--muted);font-weight:850;font-size:.86rem;text-decoration:none;white-space:nowrap}
.module-tabs a:hover,.module-tabs a.active{background:#eaf2f8;color:var(--brand-dark)}
.compact-filter-grid{display:grid;grid-template-columns:minmax(220px,360px) minmax(110px,150px) minmax(160px,240px) minmax(150px,210px) auto;justify-content:start;gap:12px;align-items:end;padding:16px;margin-bottom:16px}
.compact-filter-grid .form-group{min-width:0;margin:0}
.compact-filter-grid .filter-search{max-width:520px}
.compact-filter-grid .filter-field-small{max-width:150px}
.compact-filter-grid .filter-field-medium{max-width:230px}
.compact-filter-grid .filter-field-wide{max-width:340px}
.compact-filter-grid .form-control{width:100%;min-width:0;min-height:44px}
.filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.person-name,.approval-item-title,.employee-name-block h2,.employee-name-block strong{word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important;white-space:normal;min-width:8ch}
.approval-card-main{min-width:0}.approval-item-title{display:block;font-size:1rem;line-height:1.35}
.detail-list dd.person-name{min-width:12ch}
.record-panel .form-group input:not([type=checkbox]):not([type=radio]),.record-panel .form-group select{height:44px;min-height:44px;padding-block:9px}
.record-panel .form-group textarea{min-height:96px;resize:vertical}
.record-panel .form-group .select2-container,.record-panel .form-group ul{max-width:100%}
.record-panel .checkbox-group{display:flex;align-items:center;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}
.record-panel .checkbox-label{min-height:24px}
@media(max-width:1050px){.compact-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-filter-grid .filter-search,.compact-filter-grid .filter-field-small,.compact-filter-grid .filter-field-medium,.compact-filter-grid .filter-field-wide{max-width:none}.filter-actions{grid-column:1/-1}}
@media(max-width:650px){.compact-filter-grid{grid-template-columns:1fr}.filter-actions{grid-column:auto;justify-content:stretch;flex-direction:column}.filter-actions a,.filter-actions button{width:100%;justify-content:center}.module-tabs{padding:8px}.module-tabs a{padding:9px 12px}}
/* v0.7.9.15 – kompakte Zeitauswertung */
.time-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;align-items:end;padding:16px}.time-filter-grid .form-group{margin:0;min-width:0}.time-filter-grid .filter-actions{grid-column:1/-1}.time-employee-list{display:grid;gap:9px}.time-employee-row{display:grid;grid-template-columns:minmax(190px,1.6fr) repeat(5,minmax(90px,.55fr)) minmax(190px,1fr);gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.time-employee-row.needs-attention{border-left:4px solid #d97706}.time-employee-row>div{min-width:0}.time-employee-row>div>span,.time-employee-name span{display:block;color:var(--muted);font-size:.75rem}.time-row-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.time-row-actions form{margin:0}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;padding-top:16px}.pagination a{font-weight:800}.job-progress{height:6px;margin-top:7px;border-radius:999px;background:#e5e7eb;overflow:hidden}.job-progress span{display:block;height:100%;background:var(--brand);border-radius:inherit}.inline-confirm-form{display:inline-flex;margin-left:10px}.time-overview-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
@media(max-width:1100px){.time-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-employee-row{grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(85px,.6fr))}.time-row-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:650px){.time-filter-grid,.time-employee-row{grid-template-columns:1fr}.time-filter-grid .filter-actions{grid-column:auto}.inline-confirm-form{display:flex;margin:10px 0 0}.inline-confirm-form button{width:100%}}

.payroll-time-check{border-left:5px solid #0f9f6e}.payroll-time-check.needs-attention{border-left-color:#d97706}.payroll-time-check .time-report-summary{margin:12px 0}.notice-box.success{background:#ecfdf3;border-color:#a7f3d0;color:#166534}

.grouped-warning-list{display:grid;gap:10px}.grouped-warning{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.grouped-warning.danger{border-left:4px solid #c62828}.grouped-warning.warning{border-left:4px solid #d97706}.grouped-warning-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grouped-warning p{margin:5px 0;color:var(--muted);line-height:1.45}.grouped-warning details{margin-top:8px}.grouped-warning summary{cursor:pointer;font-weight:750;font-size:.82rem}.grouped-warning .meta-chip-row{margin-top:8px}@media(max-width:650px){.grouped-warning{grid-template-columns:auto minmax(0,1fr)}.grouped-warning>a{grid-column:2;justify-self:start}}
/* v0.7.9.15 – abschließende Formular- und Namenskorrekturen */
.approval-control.compact-filter-grid{grid-template-columns:minmax(260px,auto) minmax(220px,360px) minmax(160px,230px) auto}
.approval-control .segmented-tabs{min-width:0;align-self:end}
.record-panel .form-grid{align-items:start}
.record-panel .form-group{min-width:0}
.record-panel .form-group[data-field-name="managed_regions"],
.record-panel .form-group[data-field-name="managed_locations"],
.record-panel .form-group[data-field-name="managed_networks"],
.record-panel .form-group[data-field-name="working_days"]{grid-column:1/-1}
.record-panel .form-group ul:not(.errorlist){list-style:none;margin:0;padding:10px 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px 14px;max-height:190px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#f8fafc}
.record-panel .form-group ul:not(.errorlist) li{margin:0;min-width:0}
.record-panel .form-group ul:not(.errorlist) label{display:flex;align-items:flex-start;gap:8px;margin:0;font-weight:650;line-height:1.35;overflow-wrap:normal;word-break:normal}
.record-panel .form-group ul:not(.errorlist) input{flex:0 0 auto;margin-top:2px}
.detail-list dd.person-name,.page-heading .person-name,.absence-title-row .person-name{min-width:12ch;max-width:100%;word-break:keep-all!important;overflow-wrap:break-word!important}
@media(max-width:1050px){.approval-control.compact-filter-grid{grid-template-columns:1fr 1fr}.approval-control .segmented-tabs{grid-column:1/-1}}
@media(max-width:650px){.approval-control.compact-filter-grid{grid-template-columns:1fr}.approval-control .segmented-tabs{grid-column:auto}.record-panel .form-group ul:not(.errorlist){grid-template-columns:1fr}}

/* v0.7.9.15 – Release-Audit: mittlere Breiten, Listen und Namensdarstellung */
.list-result-summary{display:flex;align-items:center;gap:6px;margin:0 0 10px;color:var(--muted);font-size:.82rem}
.list-result-summary strong{color:var(--text)}
.compact-empty-panel{padding:12px}
.detail-list>div{min-width:0}
.detail-list dd,.detail-list dt{min-width:0;word-break:normal;overflow-wrap:break-word;hyphens:none}
.person-name{display:inline-block;max-width:100%;line-height:1.35}
.time-employee-name{min-width:0}
.time-employee-name .person-name{min-width:14ch}
@media(max-width:1100px){
  .employee-summary-card{grid-template-columns:1fr;grid-template-areas:"main" "facts" "modules" "status" "actions";align-items:stretch}
  .employee-summary-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .employee-summary-status{align-items:flex-start;flex-direction:column}
  .employee-summary-actions{justify-content:flex-start}
  .detail-list>div{grid-template-columns:minmax(120px,160px) minmax(0,1fr)}
  .time-employee-row{grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(90px,.6fr))}
}
@media(max-width:760px){
  .detail-list>div{grid-template-columns:1fr;gap:4px}
  .employee-summary-facts{grid-template-columns:1fr 1fr}
  .vacation-employee-head,.leave-card-head{min-width:0}
}
@media(max-width:520px){.employee-summary-facts{grid-template-columns:1fr}}

@media (min-width:651px) and (max-width:1100px){
  .record-tabs{flex-wrap:wrap;overflow-x:visible}
}
.employee-record-form .sticky-actions .primary-button,.employee-record-form .sticky-actions .secondary-button{white-space:nowrap;min-width:max-content}

/* Kommunikation 0.7.9.16 */
.communication-tabs{margin-bottom:18px}.communication-form{display:grid;gap:18px}.communication-form-section{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.communication-form-section h3{margin:0 0 14px}.compact-form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;align-items:end}.smtp-grid{grid-template-columns:minmax(230px,2fr) minmax(110px,.6fr) minmax(160px,1fr)}.field-smtp_username,.field-smtp_password{grid-column:span 2}.field-clear_password{align-self:center}.sticky-form-actions{position:sticky;bottom:12px;z-index:3;display:flex;justify-content:flex-end;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(0,52,95,.12)}.inline-test-form{display:grid;grid-template-columns:minmax(240px,520px) auto;gap:14px;align-items:end}.delivery-filter{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,.8fr) auto;gap:14px;align-items:end;margin-bottom:16px}.delivery-log-scroll{max-height:620px;overflow:auto;border:1px solid var(--line);border-radius:13px}.delivery-log-table{min-width:1050px;margin:0}.delivery-log-table thead th{position:sticky;top:0;z-index:2;background:#f4f7fa}.delivery-recipient{max-width:250px;overflow-wrap:anywhere}.delivery-subject{min-width:260px;max-width:420px;white-space:normal}.technical-error{max-width:560px;max-height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;padding:12px;border-radius:9px;background:#101820;color:#fff;font-size:.78rem}.delivery-attempts{min-width:360px;margin:10px 0 0;padding-left:18px}.nowrap{white-space:nowrap}@media(max-width:900px){.compact-form-grid,.smtp-grid,.inline-test-form,.delivery-filter{grid-template-columns:1fr}.field-smtp_username,.field-smtp_password{grid-column:auto}.sticky-form-actions{position:static}.delivery-log-scroll{max-height:70vh}}

/* v0.7.9.17 – zustandsbehaftete Zeitprüfung und Zeitkonto */
.time-period-navigation{display:grid;grid-template-columns:auto minmax(240px,1fr) auto;gap:16px;align-items:center;padding:14px 16px}.time-period-navigation>div{text-align:center;display:grid;gap:3px}.time-period-navigation strong{font-size:1.02rem}.time-period-navigation small{color:var(--muted)}
.record-navigation{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin-bottom:18px;padding:11px 15px}.record-navigation>span:last-child{text-align:right}.record-navigation a{font-weight:850}
.account-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.account-summary-grid article{padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff;display:grid;gap:5px}.account-summary-grid span{font-size:.76rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.account-summary-grid strong{font-size:1.35rem}.account-admin-note{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.account-admin-note p{flex:1 1 460px;margin:0}.account-opening-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 17px;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.account-opening-row div{display:grid;gap:3px}.account-opening-row small{color:var(--muted)}.account-balance-chip{padding:10px 13px;border-radius:999px;background:#e7f7ef;color:#146c43;font-weight:900;white-space:nowrap}.account-balance-chip.negative{background:#fff0f0;color:#a61b1b}.account-movement-table td:nth-last-child(-n+2),.account-movement-table th:nth-last-child(-n+2){text-align:right}.positive-value{color:#137447;font-weight:800}

/* v0.7.9.17 – geführte SMTP-Konfiguration */
.communication-settings-panel{overflow:visible}.delivery-mode-control{display:grid;gap:14px}.delivery-mode-select{max-width:520px}.delivery-mode-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.delivery-mode-cards button{display:grid;gap:6px;text-align:left;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;font:inherit;cursor:pointer;transition:.15s ease}.delivery-mode-cards button:hover{border-color:#79a7c8;transform:translateY(-1px)}.delivery-mode-cards button.active{border:2px solid var(--brand);background:#eef6fb;box-shadow:0 8px 20px rgba(0,52,95,.08)}.delivery-mode-cards strong{font-size:.95rem}.delivery-mode-cards span{font-size:.79rem;color:var(--muted);line-height:1.45}.smtp-custom-settings{display:grid;gap:18px;padding-top:6px}.communication-step-heading{padding-top:17px;border-top:1px solid var(--line)}.communication-step-heading h2{margin:2px 0 4px;font-size:1.12rem}.communication-step-heading p{margin:0;color:var(--muted)}.smtp-settings-grid{display:grid;gap:14px;align-items:end}.sender-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.server-grid{grid-template-columns:minmax(260px,2fr) minmax(110px,.55fr) minmax(170px,.8fr) minmax(140px,.65fr)}.credentials-grid{grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) minmax(210px,.8fr)}.credentials-grid .field-enabled{grid-column:1/-1}.password-field-wrap{position:relative}.password-field-wrap input{padding-right:86px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:#eaf2f8;color:var(--brand-dark);border-radius:7px;padding:6px 8px;font:inherit;font-size:.72rem;font-weight:850;cursor:pointer}.smtp-mode-note{padding:13px 15px;border-radius:12px;border:1px solid var(--line);background:#f8fafc}.smtp-mode-note.mode-custom{background:#fff8e8;border-color:#efd18a}.smtp-mode-note.mode-disabled{background:#fff0f0;border-color:#efb3b3}.sticky-form-actions>span{margin-right:auto;color:var(--muted);align-self:center}.communication-status-grid .stat-card strong{font-size:1rem}

@media(max-width:900px){.time-period-navigation{grid-template-columns:1fr}.time-period-navigation>a{width:100%;text-align:center}.account-summary-grid,.delivery-mode-cards,.sender-grid,.server-grid,.credentials-grid{grid-template-columns:1fr}.record-navigation{grid-template-columns:1fr auto 1fr}.account-admin-note{align-items:flex-start}.sticky-form-actions>span{display:none}}
@media(max-width:600px){.account-summary-grid{grid-template-columns:1fr}.record-navigation{grid-template-columns:1fr;text-align:center}.record-navigation>span:last-child{text-align:center}.account-opening-row{align-items:flex-start;flex-direction:column}}

/* v0.7.9.18 – gemeinsame Zeitprüfung und eingerückte Kommunikation */
.time-review-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.time-review-comparison>.panel{padding:22px}
.time-review-source-card{border-left:5px solid #6b7d8f}
.time-review-current-card{border-left:5px solid var(--brand)}
.compact-detail-list .time-emphasis{background:#f3f7fa;border-radius:9px;padding:9px 10px;margin:2px 0}
.compact-detail-list .time-emphasis dt{color:var(--brand-dark)}
.compact-detail-list .time-emphasis dd{font-size:1rem;font-weight:900}
.compact-notice{margin-top:16px}
.compact-notice ul{margin:8px 0 0;padding-left:18px}
.time-review-form{max-width:none;padding:24px}
.time-review-form form{display:grid;gap:18px}
.review-step{min-width:0;margin:0;padding:19px;border:1px solid var(--line);border-radius:15px;background:#fbfcfe}
.review-step legend{display:flex;align-items:center;gap:10px;padding:0 8px;font-size:1rem;font-weight:900;color:var(--brand-dark)}
.review-step legend span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--brand);color:#fff;font-size:.78rem}
.review-step-help{margin:0 0 15px;color:var(--muted)}
.review-time-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(190px,.85fr);gap:14px;align-items:end}
.review-duration-preview{display:grid;gap:4px;min-height:86px;padding:13px 15px;border:1px solid #b8ccdc;border-radius:12px;background:#eef6fb}
.review-duration-preview span,.review-duration-preview small{color:var(--muted);font-size:.73rem}
.review-duration-preview strong{font-size:1.12rem;color:var(--brand-dark)}
.review-allocation-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin:15px 0}
.review-decision-step{background:#f7fafc}
.review-radio-group ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.review-radio-group li{margin:0}
.review-radio-group label:has(input){display:flex;align-items:flex-start;gap:9px;height:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-weight:800}
.review-radio-group label:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 2px rgba(0,75,135,.12);background:#eef6fb}
.review-radio-group input{margin-top:2px;accent-color:var(--brand)}
.time-review-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.communication-page-frame{width:100%;max-width:1320px;margin-inline:auto;padding-inline:clamp(8px,1.5vw,22px)}
.communication-page-frame .communication-settings-panel{margin-inline:clamp(0px,.8vw,12px)}
@media(max-width:1050px){.time-review-comparison,.time-review-history{grid-template-columns:1fr}.review-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-duration-preview{grid-column:1/-1}.review-allocation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.review-time-grid,.review-allocation-grid,.review-radio-group ul{grid-template-columns:1fr}.communication-page-frame{padding-inline:0}.time-review-comparison>.panel,.time-review-form{padding:18px}.review-step{padding:15px}}
.plan-module-list{display:flex;flex-wrap:wrap;gap:6px;min-width:250px}.plan-module-list span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf3f8;color:var(--brand-dark);font-size:.72rem;font-weight:800}.plan-module-list span.muted{background:#f4f4f4;color:var(--muted)}

/* v0.7.9.19 – ruhiges Dashboard, sortierbare Auswertung und klarer Diensttausch */
.dashboard-page-heading{margin-bottom:18px}
.dashboard-priority-panel{margin-bottom:18px}
.dashboard-priority-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;padding:0 18px 18px}
.dashboard-task-card{display:grid;gap:5px;min-height:116px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;color:var(--text)}
.dashboard-task-card:hover{border-color:#bfd0f5;background:#f4f7ff}
.dashboard-task-card.attention{border-left:5px solid #d97706}
.dashboard-task-card span,.dashboard-task-card small{color:var(--muted)}
.dashboard-task-card span{font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.dashboard-task-card strong{font-size:1.8rem;line-height:1;color:var(--brand-dark)}
.dashboard-task-card small{line-height:1.4}
.dashboard-all-clear{grid-column:1/-1;display:grid;gap:5px;padding:18px;border:1px solid #b7e4d2;border-radius:14px;background:#effaf5}
.dashboard-all-clear span{color:var(--muted)}
.dashboard-section{margin-bottom:18px;overflow:hidden}
.dashboard-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;cursor:pointer;user-select:none}
.dashboard-section>summary::-webkit-details-marker{display:none}
.dashboard-section>summary:hover{background:#f8fafc}
.dashboard-section>summary h2{margin-bottom:3px}
.dashboard-section>summary p{margin:0;color:var(--muted)}
.dashboard-section-chevron{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf3f8;color:var(--brand-dark);font-size:1.25rem;transition:transform .15s ease}
.dashboard-section[open] .dashboard-section-chevron{transform:rotate(180deg)}
.dashboard-section[open]>summary{border-bottom:1px solid var(--line)}
.dashboard-section-content{padding:20px}
.dashboard-metrics{margin:0}
.dashboard-inner-panel{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}
.statistics-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}
.statistics-sort-link{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none}
.statistics-sort-link:hover,.statistics-sort-link.active{color:var(--brand-dark)}
.panel-heading-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.list-item-main{display:flex;align-items:center;gap:14px;min-width:0;color:var(--text)}
.swap-guidance-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;margin-bottom:18px}
.swap-guidance-panel p{margin:5px 0 0;color:var(--muted);line-height:1.5}
.swap-guidance-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#edf3f8;color:var(--brand-dark);font-size:1.4rem;font-weight:900}
.swap-source-grid{display:grid;gap:14px}
.swap-source-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px}
.swap-source-card h2{margin:0 0 5px}
.swap-source-card p{margin:0;color:var(--muted)}
.swap-source-date{display:grid;place-items:center;min-width:76px;padding:12px;border-radius:13px;background:#edf3ff;color:var(--brand);text-align:center}
.swap-source-date strong{font-size:1.55rem;line-height:1}
.swap-source-date span{margin-top:4px;font-size:.72rem;text-transform:uppercase}
.swap-empty-panel .empty-state{display:grid;justify-items:center;gap:9px}
.swap-empty-panel .empty-state p{max-width:680px;margin:0;line-height:1.55}
@media(max-width:800px){
  .swap-guidance-panel,.swap-source-card{grid-template-columns:1fr;align-items:stretch}
  .swap-guidance-icon{display:none}
  .swap-source-card .primary-button,.swap-guidance-panel .secondary-button{justify-self:start}
  .dashboard-section-content{padding:14px}
}

/* v0.7.9.20 – ruhige Monatsreports, sichere Sammelbestätigung und persönliche Einstellungen */
.sidebar-user-link{display:block;color:#fff;text-decoration:none;border-radius:9px;padding:4px 0 7px}
.sidebar-user-link:hover strong{color:#c8d8ff}
.sidebar-user-link span{margin-bottom:2px}

.personal-settings-section{margin-bottom:18px;scroll-margin-top:86px}
.settings-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px}
.settings-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;color:var(--text)}
.settings-card:hover{border-color:#b9caf2;background:#f3f7ff}
.settings-card-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#e7eefc;color:var(--brand-dark);font-weight:900}
.settings-card strong,.settings-card small{display:block}
.settings-card small{margin-top:4px;color:var(--muted);line-height:1.45}

.time-summary-cards{gap:14px}
.time-report-summary>article,.time-summary-card{display:grid;align-content:start;gap:5px;min-width:0;padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#f7fafc)}
.time-report-summary>article span,.time-summary-label{color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
.time-report-summary>article strong,.time-summary-card strong{font-size:1.42rem;line-height:1.2;color:var(--brand-dark);overflow-wrap:anywhere}
.time-report-summary>article small,.time-summary-card small{color:var(--muted);font-size:.76rem;line-height:1.4}

.bulk-confirm-panel{max-width:980px;margin-inline:auto;padding:24px;overflow:visible}
.bulk-confirm-warning{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;align-items:start;padding:18px;border:1px solid #f0c36b;border-radius:14px;background:#fff8e7}
.bulk-confirm-warning p{margin:5px 0 0;color:#72510b;line-height:1.5}
.bulk-confirm-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:#d97706;color:#fff;font-size:1.2rem;font-weight:900}
.bulk-confirm-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.bulk-confirm-facts>div{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.bulk-confirm-facts span{color:var(--muted);font-size:.75rem;text-transform:uppercase;font-weight:850;letter-spacing:.04em}
.bulk-confirm-facts strong{overflow-wrap:anywhere}
.bulk-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}

.payroll-page-frame{width:100%;max-width:1320px;margin-inline:auto;padding-inline:clamp(6px,1vw,16px)}
.payroll-notice{padding:16px 18px;line-height:1.5}
.payroll-filter-panel{overflow:visible}
.payroll-filter-form{padding:0 22px 22px}
.payroll-filter-form .form-grid{grid-template-columns:minmax(240px,1.4fr) minmax(140px,.55fr) minmax(180px,.7fr)}
.payroll-report-section{overflow:hidden}
.payroll-report-table-wrap{padding:0}
.payroll-report-table-wrap table{background:#fff}
.payroll-edit-form{max-width:none;padding:0}
.payroll-panel-body{padding:0 22px 22px}
.payroll-header-fields{margin-top:18px}
.payroll-employee-section{overflow:visible}
.payroll-employee-list{display:grid;gap:14px;padding:0 22px 22px}
.payroll-employee-card{box-shadow:none;border-radius:14px;overflow:hidden}
.payroll-employee-card>summary{list-style:none;cursor:pointer;padding:18px 20px;background:#f8fafc;line-height:1.5}
.payroll-employee-card>summary::-webkit-details-marker{display:none}
.payroll-employee-card>summary::after{content:"⌄";float:right;color:var(--brand-dark);font-size:1.1rem;transition:transform .15s ease}
.payroll-employee-card[open]>summary{border-bottom:1px solid var(--line);background:#f2f6fb}
.payroll-employee-card[open]>summary::after{transform:rotate(180deg)}
.payroll-employee-body{padding:20px}
.payroll-time-check{padding-bottom:22px}
.payroll-time-check>.time-report-summary,.payroll-time-check>.compact-details,.payroll-time-check>.notice-box,.payroll-time-check>small{margin-left:22px;margin-right:22px}
.payroll-release-panel{padding-bottom:20px}
.payroll-release-panel>.button-row{padding:0 22px;flex-wrap:wrap}

.organization-record-panel{max-width:1180px}
.organization-core-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.15fr) minmax(220px,.8fr);gap:16px;align-items:start}
.organization-core-field{min-width:0}
.organization-core-field.checkbox-group{grid-column:auto;min-height:76px;align-self:stretch;justify-content:center}
.organization-scope-heading{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.organization-scope-heading h3{margin:2px 0 5px}
.organization-scope-heading p{margin:0;color:var(--muted)}
.organization-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:15px;align-items:start}
.organization-scope-card{min-width:0;padding:15px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}
.organization-scope-card>label{font-weight:850;color:var(--brand-dark)}
.organization-scope-card ul:not(.errorlist){grid-template-columns:1fr!important;max-height:155px!important;margin-top:2px!important;padding:8px 9px!important;background:#fff!important}
.organization-scope-card .help-text{line-height:1.45}
.organization-record-panel input,.organization-record-panel select,.organization-record-panel textarea{text-align:left}

@media(max-width:950px){
  .payroll-filter-form .form-grid,.bulk-confirm-facts,.organization-core-grid,.organization-scope-grid{grid-template-columns:1fr}
  .organization-core-field.checkbox-group{min-height:auto;justify-content:flex-start}
}
@media(max-width:650px){
  .bulk-confirm-panel{padding:17px}
  .bulk-confirm-warning{grid-template-columns:1fr}
  .bulk-confirm-actions{align-items:stretch;flex-direction:column-reverse}
  .bulk-confirm-actions .primary-button,.bulk-confirm-actions .secondary-button{width:100%}
  .payroll-page-frame{padding-inline:0}
  .payroll-filter-form,.payroll-panel-body,.payroll-employee-list,.payroll-employee-body{padding-left:16px;padding-right:16px}
  .payroll-time-check>.time-report-summary,.payroll-time-check>.compact-details,.payroll-time-check>.notice-box,.payroll-time-check>small{margin-left:16px;margin-right:16px}
}
.demo-showcase-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px}
.demo-showcase-notice p{margin:5px 0 0;max-width:760px}
.demo-showcase-notice .primary-button{flex:0 0 auto}
@media (max-width:760px){.demo-showcase-notice{align-items:flex-start;flex-direction:column}.demo-showcase-notice .primary-button{width:100%;text-align:center}}
/* v0.8 RC1 – anonymisierter Notdienst-Demoreport für den Live-Pilotbetrieb */

/* 0.8 RC1.1: tageweise Arbeitszeitprüfung und privates Urlaubskonto */
.status-disputed {
  background: #fee2e2;
  color: #991b1b;
  border-color: #fecaca;
}
.employee-time-day-list {
  display: grid;
  gap: .85rem;
}
.employee-time-day {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(190px, 240px);
  gap: 1rem;
  align-items: start;
  padding: 1rem;
  border: 1px solid var(--border-color, #dbe3ec);
  border-radius: 14px;
  background: #fff;
}
.employee-time-day.is-disputed {
  border-color: #fca5a5;
  background: #fffafa;
}
.employee-time-day-main,
.employee-time-day-actions {
  min-width: 0;
}
.employee-time-day-title {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .55rem;
}
.employee-time-day-actions {
  display: grid;
  gap: .55rem;
}
.employee-time-day-actions form {
  margin: 0;
}
.employee-time-day-actions .mini-button {
  width: 100%;
  justify-content: center;
}
.day-dispute-form {
  border: 1px solid #fecaca;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.day-dispute-form > summary {
  cursor: pointer;
  padding: .55rem .7rem;
  color: #991b1b;
  font-weight: 700;
  list-style: none;
}
.day-dispute-form > summary::-webkit-details-marker {
  display: none;
}
.day-dispute-form form {
  display: grid;
  gap: .55rem;
  padding: 0 .7rem .7rem;
}
.day-dispute-form label {
  font-size: .82rem;
  font-weight: 700;
}
.day-dispute-form textarea {
  width: 100%;
  resize: vertical;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: .65rem;
  font: inherit;
}
.employee-dispute-note {
  margin-top: .7rem;
  padding: .75rem;
  border-left: 4px solid #dc2626;
  border-radius: 8px;
  background: #fef2f2;
}
.employee-dispute-note p {
  margin: .25rem 0;
}
.dispute-note {
  max-width: 28rem;
  white-space: normal;
  color: #991b1b;
}
.leave-own-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 920px) {
  .employee-time-day {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .employee-time-day-actions {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
  }
  .leave-own-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .employee-time-day {
    grid-template-columns: 1fr;
  }
  .employee-time-day .date-badge {
    width: fit-content;
  }
  .employee-time-day-actions,
  .leave-own-grid {
    grid-template-columns: 1fr;
  }
}

.muted-section { opacity: .58; filter: grayscale(.15); }
.muted-section input:not([type="checkbox"]), .muted-section select { pointer-events: none; }
.legal-content { max-width: 980px; margin: 0 auto; line-height: 1.65; }
.legal-content h2 { margin-top: 1.6rem; }
.site-footer { flex-wrap: wrap; gap: .75rem 1rem; }

.experimental-clock{border:3px solid #dc2626;border-radius:16px;padding:1.1rem;background:#fff7f7}.experimental-heading{display:flex;justify-content:space-between;gap:1rem}.experimental-heading h2{margin:.35rem 0}.experimental-badge{display:inline-flex;background:#dc2626;color:#fff;border-radius:999px;padding:.25rem .65rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.clock-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.clock-status-grid>div{display:grid;gap:.25rem;padding:.8rem;border:1px solid #fecaca;border-radius:10px;background:#fff}.clock-actions{display:flex;flex-wrap:wrap;gap:.65rem}.clock-timeline{display:grid;gap:.55rem;margin-top:1rem}.clock-timeline>div{display:grid;grid-template-columns:minmax(150px,.45fr) 1fr;gap:.7rem;padding:.65rem;border-top:1px solid #fecaca}.clock-timeline span{overflow-wrap:anywhere}@media(max-width:650px){.clock-status-grid{grid-template-columns:1fr}.clock-actions>*{width:100%;text-align:center}.clock-timeline>div{grid-template-columns:1fr}}
.clock-modal[hidden]{display:none}.clock-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:1rem}.clock-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68)}.clock-modal-card{position:relative;width:min(520px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 24px 70px rgba(0,0,0,.35)}.clock-modal-card h2{margin-top:0}.clock-modal-card select,.clock-modal-card textarea{width:100%;margin:.35rem 0 .8rem}.clock-modal-actions{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.clock-progress{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin:1rem 0}.clock-progress span{display:block;width:40%;height:100%;background:currentColor;border-radius:inherit;animation:clock-loading 1.2s ease-in-out infinite}.clock-modal #clock-location-preview{padding:.8rem;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:10px}.clock-modal #clock-fallback{padding:.8rem;border:1px solid #fecaca;background:#fff7f7;border-radius:10px}.modal-open{overflow:hidden}@keyframes clock-loading{0%{transform:translateX(-110%)}100%{transform:translateX(360%)}}@media(max-width:650px){.clock-modal{align-items:end;padding:0}.clock-modal-card{border-radius:18px 18px 0 0;width:100%;padding:1.1rem}.clock-modal-actions>*{flex:1;min-width:140px}}
.clock-modal .link-button{background:transparent;border:0;color:#475569;text-decoration:underline;padding:.65rem .8rem;font-weight:700;cursor:pointer}.clock-modal .link-button:hover{color:#0f172a}.clock-modal-actions .link-button{flex-basis:100%;box-shadow:none}
