/* ==========================================================================
   Arbor App – Design-Tokens
   Palette abgeleitet aus dem Sujet (Baumpflege): Waldgrün, Rinde/Holzton,
   Papierweiss. Bewusst ruhig, ohne verspielte Effekte (gemäss Anforderung).
   ========================================================================== */
:root {
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  --bg: #F6F4EE;
  --surface: #FFFFFF;
  --surface-sunken: #EFEBE1;
  --border: #DDD6C4;
  --text: #22281F;
  --text-muted: #6B6659;
  --text-faint: #9C9585;

  --forest-900: #1C2B22;
  --forest-700: #2C4433;
  --forest-600: #37543F;
  --forest-500: #45684E;
  --forest-100: #E4ECE3;

  --bark-600: #8A5A34;
  --bark-100: #F1E4D4;

  --prio-low: #9C9585;
  --prio-low-bg: #EEEBE3;
  --prio-normal: #3D6EA6;
  --prio-normal-bg: #E3EBF4;
  --prio-high: #C4771F;
  --prio-high-bg: #F6E7D3;
  --prio-urgent: #B23A2E;
  --prio-urgent-bg: #F6DDD8;

  --danger: #B23A2E;
  --danger-bg: #F6DDD8;
  --warn: #C4771F;
  --ok: #37543F;

  --radius-sm: 4px;
  --radius: 8px;
  --radius-lg: 14px;
  --shadow-sm: 0 1px 2px rgba(28, 43, 34, 0.08);
  --shadow-md: 0 4px 16px rgba(28, 43, 34, 0.12);
  --shadow-lg: 0 12px 32px rgba(28, 43, 34, 0.18);

  --header-h: 60px;
  --nav-w: 220px;
  --nav-w-collapsed: 64px;
}

[data-theme='dark'] {
  --bg: #161F19;
  --surface: #1D2921;
  --surface-sunken: #14201A;
  --border: #33443A;
  --text: #EBEBE3;
  --text-muted: #A8AC9E;
  --text-faint: #767C6E;

  --forest-900: #EBEBE3;
  --forest-700: #A9CBAF;
  --forest-600: #8FBB98;
  --forest-500: #6FA787;
  --forest-100: #24352A;

  --bark-600: #D3A16E;
  --bark-100: #33291D;

  --prio-low: #8B9082;
  --prio-low-bg: #232920;
  --prio-normal: #7FAEDD;
  --prio-normal-bg: #1E2C39;
  --prio-high: #E3A15A;
  --prio-high-bg: #362613;
  --prio-urgent: #E08276;
  --prio-urgent-bg: #3A1F1B;

  --danger: #E08276;
  --danger-bg: #3A1F1B;
  --warn: #E3A15A;
  --ok: #8FBB98;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.4);
  --shadow-lg: 0 12px 32px rgba(0,0,0,0.5);
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 600; margin: 0; letter-spacing: -0.01em; }
::selection { background: var(--forest-100); }
:focus-visible { outline: 2px solid var(--forest-500); outline-offset: 2px; }

.app { min-height: 100%; }

/* ---------- Login ---------- */
.login-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(ellipse at top left, var(--forest-100) 0%, transparent 55%),
    var(--bg);
  padding: 24px;
}
.login-card {
  width: 100%;
  max-width: 380px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: 36px 32px 28px;
}
.login-mark {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
}
.login-mark svg { flex-shrink: 0; }
.login-mark .name { font-family: var(--font-display); font-size: 20px; font-weight: 700; line-height: 1.1; }
.login-mark .sub { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em; }
.login-card h1 { font-size: 22px; margin-bottom: 4px; }
.login-card p.lead { color: var(--text-muted); margin: 0 0 22px; font-size: 13px; }
.field { margin-bottom: 14px; }
.field label { display: block; font-size: 12px; font-weight: 600; color: var(--text-muted); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.04em; }
.field input, .field select, .field textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg);
  color: var(--text);
}
.field textarea { resize: vertical; min-height: 70px; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--forest-500); }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 16px;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s ease, border-color .12s ease;
}
.btn-primary { background: var(--forest-700); color: #fff; }
.btn-primary:hover { background: var(--forest-600); }
.btn-secondary { background: var(--surface); border-color: var(--border); color: var(--text); }
.btn-secondary:hover { background: var(--surface-sunken); }
.btn-danger { background: var(--danger-bg); color: var(--danger); }
.btn-block { width: 100%; }
.btn-sm { padding: 6px 10px; font-size: 12px; }
.login-error { background: var(--danger-bg); color: var(--danger); padding: 8px 12px; border-radius: var(--radius-sm); font-size: 13px; margin-bottom: 14px; }
.login-demo { margin-top: 20px; border-top: 1px solid var(--border); padding-top: 14px; }
.login-demo summary { cursor: pointer; font-size: 12px; color: var(--text-muted); }
.login-demo table { width: 100%; margin-top: 8px; font-size: 12px; border-collapse: collapse; }
.login-demo td { padding: 3px 4px; font-family: var(--font-mono); color: var(--text-muted); cursor: pointer; }
.login-demo tr:hover td { color: var(--forest-600); }

/* ---------- Shell ---------- */
.shell { display: flex; min-height: 100vh; }
.nav {
  width: var(--nav-w);
  flex-shrink: 0;
  background: var(--forest-900);
  color: #EAEFE8;
  display: flex;
  flex-direction: column;
  padding: 16px 12px;
  position: sticky;
  top: 0;
  height: 100vh;
}
[data-theme='dark'] .nav { background: #0F1712; }
.nav-brand { display: flex; align-items: center; gap: 10px; padding: 6px 8px 18px; }
.nav-collapsed-brand{display:none}
.nav-brand .name { font-family: var(--font-display); font-weight: 700; font-size: 17px; color: #fff; }
.nav-brand .sub { font-size: 10px; opacity: 0.6; letter-spacing: 0.08em; text-transform: uppercase; }
.nav-items { list-style: none; margin: 0; padding: 0; flex: 1; overflow-y: auto; }
.nav-items a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  color: rgba(234,239,232,0.75);
  font-size: 13.5px;
  font-weight: 500;
  margin-bottom: 2px;
}
.nav-items a:hover { background: rgba(255,255,255,0.06); color: #fff; }
.nav-items a.active { background: var(--forest-600); color: #fff; }
.nav-items .icon { width: 17px; text-align: center; opacity: 0.9; }
.nav-group{list-style:none;margin:6px 0 2px;padding:0}.nav-group-toggle{display:flex;align-items:center;width:100%;gap:9px;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:rgba(234,239,232,.68);cursor:pointer;font:inherit;text-align:left}.nav-group-toggle:hover,.nav-group:has(a.active)>.nav-group-toggle{background:rgba(255,255,255,.055);color:#fff}.nav-group-icon{display:grid;place-items:center;width:18px;font-size:13px}.nav-group-label{flex:1;font-size:11px;font-weight:800;letter-spacing:.075em;text-transform:uppercase}.nav-group-chevron{font-size:20px;line-height:1;transition:transform .16s ease}.nav-group.is-open>.nav-group-toggle .nav-group-chevron{transform:rotate(90deg)}.nav-group-items{display:none;list-style:none;margin:0;padding:2px 0 4px 10px}.nav-group.is-open>.nav-group-items{display:block}.nav-group-items .nav-label{font-size:13px}
.arbor-app-nav-icon{display:block;width:19px;height:19px;border-radius:4px;object-fit:cover}
.arbor-task-nav-tile{display:block;width:29px;height:29px;flex:0 0 29px;border-radius:7px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.22))}.nav-group[data-nav-group="arbor-task"]>.nav-group-toggle{min-height:45px;padding:7px 9px;background:transparent;border:1px solid transparent;color:rgba(234,239,232,.9)}.nav-group[data-nav-group="arbor-task"]>.nav-group-toggle .nav-group-icon{width:29px}.nav-group[data-nav-group="arbor-task"]>.nav-group-toggle .nav-group-label{color:#f4ead8}.nav-group[data-nav-group="arbor-task"]>.nav-group-toggle .nav-group-chevron{color:#f3a13e}.nav-group[data-nav-group="arbor-task"]>.nav-group-toggle:hover,.nav-group[data-nav-group="arbor-task"].is-open>.nav-group-toggle{background:rgba(233,220,198,.13);border-color:rgba(242,147,36,.55);color:#fff}
.carabiner-nav-icon{display:block;width:21px;height:21px;object-fit:contain}.arbor-plan-nav-icon,.arbor-skills-nav-icon{display:block;width:23px;height:23px;border-radius:5px;object-fit:cover}.safety-register-nav-icon{display:block;width:23px;height:23px;border-radius:5px;object-fit:cover}.safety-register-toolbar{align-items:center}.safety-register-page-icon{display:block;width:58px;height:58px;flex:0 0 58px;border-radius:14px;object-fit:cover}
.arbor-psa-summary{display:flex;align-items:center;gap:14px;min-width:0}.arbor-psa-card-icon{display:block;width:54px;height:54px;flex:0 0 54px;border-radius:13px;object-fit:cover}.arbor-psa-summary h3{margin:0}.arbor-psa-summary .lead-small{margin-top:4px}
.nav-group-items .arbor-task-nav-tile{width:21px;height:21px;flex-basis:21px;border-radius:5px}
.nav-foot { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 10px; font-size: 12px; }
.nav-user { display: flex; align-items: center; gap: 8px; padding: 6px 8px; margin-bottom: 6px; }
.nav-user .avatar {
  width: 28px; height: 28px; border-radius: 50%; background: var(--forest-500);
  display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: #fff; flex-shrink: 0;
}
.nav-user .who { line-height: 1.25; overflow: hidden; }
.nav-user .who .n { font-weight: 600; color: #fff; font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-user .who .r { color: rgba(234,239,232,0.55); font-size: 11px; }
.nav-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}
.nav-actions .nav-language { grid-column: 1 / -1; min-width: 0; }
.nav-actions .nav-language select { min-width: 0; max-width: 100%; }
.nav-actions button {
  width: 100%;
  min-width: 0;
  background: rgba(255,255,255,0.06);
  border: none;
  color: rgba(234,239,232,0.8);
  padding: 7px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 11.5px;
}
.nav-actions button:hover { background: rgba(255,255,255,0.14); color: #fff; }

.main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.topbar {
  height: var(--header-h);
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  gap: 16px;
  position: sticky;
  top: 0;
  z-index: 100;
}
.topbar h2 { font-size: 18px; }
.topbar .crumb { color: var(--text-muted); font-size: 12px; margin-top: 1px; }
.content { padding: 24px; flex: 1; }

.menu-toggle { display: none; background: none; border: 1px solid var(--border); border-radius: var(--radius-sm); width: 34px; height: 34px; cursor: pointer; }
.nav-backdrop{display:none;border:0;padding:0;background:transparent}

/* ---------- Common bits ---------- */
.badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: 100px; font-size: 11px; font-weight: 600;
  white-space: nowrap;
}
.badge-low { background: var(--prio-low-bg); color: var(--prio-low); }
.badge-normal { background: var(--prio-normal-bg); color: var(--prio-normal); }
.badge-hoch { background: var(--prio-high-bg); color: var(--prio-high); }
.badge-dringend { background: var(--prio-urgent-bg); color: var(--prio-urgent); }
.badge-status { background: var(--surface-sunken); color: var(--text-muted); border: 1px solid var(--border); }

.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.card-pad { padding: 18px; }
.grid-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin-bottom: 22px; }
.stat-card { padding: 16px 18px; }
.stat-card .num { font-family: var(--font-display); font-size: 28px; font-weight: 700; line-height: 1; }
.stat-card .label { color: var(--text-muted); font-size: 12.5px; margin-top: 6px; }
.stat-card.accent-urgent .num { color: var(--prio-urgent); }
.stat-card.accent-warn .num { color: var(--warn); }
.stat-card.accent-ok .num { color: var(--ok); }

.toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.toolbar .spacer { flex: 1; }
.search-input { display: flex; align-items: center; gap: 6px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 7px 10px; min-width: 200px; }
.search-input input { border: none; background: none; outline: none; width: 100%; }
.order-search{min-width:min(520px,50vw)}
.order-list-section{margin-top:14px}.order-completed-section{margin-top:28px;padding-top:18px;border-top:3px solid var(--border)}
.field-label-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.field-label-actions label{margin:0}

table.data-table { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
table.data-table th {
  text-align: left; font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--text-muted); padding: 10px 14px; border-bottom: 1px solid var(--border); background: var(--surface-sunken);
}
table.data-table td { padding: 11px 14px; border-bottom: 1px solid var(--border); vertical-align: middle; }
table.data-table tbody tr:last-child td { border-bottom: none; }
table.data-table tbody tr:hover { background: var(--surface-sunken); cursor: pointer; }

.section-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.section-title h3 { font-size: 16px; }
.empty-hint { color: var(--text-faint); font-size: 13px; padding: 30px 10px; text-align: center; }

/* ---------- Modal ---------- */
.modal-backdrop { position: fixed; inset: 0; background: rgba(20,25,20,0.45); display: flex; align-items: flex-start; justify-content: center; z-index: 100; overflow-y: auto; padding: 40px 16px; }
.modal { background: var(--surface); border-radius: var(--radius-lg); width: 100%; max-width: 560px; box-shadow: var(--shadow-lg); border: 1px solid var(--border); }
.modal-header { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--border); }
.modal-header h3 { font-size: 17px; }
.modal-body { padding: 20px 22px; max-height: 65vh; overflow-y: auto; }
.modal-footer { padding: 16px 22px; border-top: 1px solid var(--border); display: flex; justify-content: flex-end; gap: 8px; }
.draft-close-dialog{position:fixed;inset:0;z-index:240;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(20,25,20,.52)}
.draft-close-card{width:min(100%,560px);overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-lg)}
.draft-close-copy{padding:22px 24px 20px}.draft-close-kicker{display:block;margin-bottom:7px;color:var(--danger);font-size:9px;font-weight:850;letter-spacing:.1em}.draft-close-copy h3{font-size:20px}.draft-close-copy p{margin:9px 0 5px;line-height:1.45}.draft-close-copy small{display:block;color:var(--text-muted);line-height:1.45}
.draft-close-actions{display:flex;align-items:center;gap:8px;padding:14px 18px;border-top:1px solid var(--border);background:var(--surface-sunken)}.draft-close-actions .spacer{flex:1}
@media(max-width:600px){.draft-close-dialog{align-items:flex-end;padding:10px}.draft-close-card{border-radius:14px}.draft-close-copy{padding:19px 18px 16px}.draft-close-actions{display:grid;grid-template-columns:1fr}.draft-close-actions .spacer{display:none}.draft-close-actions .btn{width:100%}.draft-close-actions [data-draft-decision="save"]{grid-row:1}.draft-close-actions [data-draft-decision="continue"]{grid-row:2}.draft-close-actions [data-draft-decision="delete"]{grid-row:3}}
.commercial-order-box{margin-top:18px;padding:14px 16px;border:1px solid #c9b98e;border-left:5px solid #8b6d2f;border-radius:8px;background:#fbf7ea;display:grid;gap:5px}.commercial-order-box strong{color:#5c451d}.commercial-order-box small{color:var(--text-muted)}
.import-intro{padding:14px 16px;margin-bottom:16px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--border)}.import-intro p{margin:5px 0 0;color:var(--text-muted)}.import-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin:14px 0}.import-summary>*{padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-soft)}.import-preview-table{max-height:380px;overflow:auto;border:1px solid var(--border);border-radius:7px}.import-preview-table .data-table{margin:0}.import-preview-table thead{position:sticky;top:0;z-index:1;background:var(--surface)}.import-row-duplicate{opacity:.65;background:var(--surface-sunken)}@media(max-width:900px){.import-summary{grid-template-columns:1fr 1fr}}
.order-import-drop{display:flex;min-height:150px;box-sizing:border-box;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:22px;border:2px dashed var(--forest-500);border-radius:12px;background:var(--forest-100);text-align:center;cursor:pointer;transition:.15s ease}.order-import-drop:hover,.order-import-drop.is-dragover{border-color:var(--forest-700);background:var(--surface-sunken);transform:translateY(-1px);box-shadow:0 5px 16px rgba(28,43,34,.12)}.order-import-drop.has-file{border-style:solid;background:#edf7ef}.order-import-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.order-import-drop>span:last-of-type{color:var(--text-muted);font-size:13px}.order-import-drop-icon{font-size:34px;line-height:1;color:var(--forest-700)}.order-import-drop.has-file .order-import-drop-icon{font-size:0}.order-import-drop.has-file .order-import-drop-icon::after{content:'✓';font-size:30px;color:var(--ok)}
.modal-entity-search{width:100%;box-sizing:border-box;margin:0 0 7px;padding:9px 11px;border:1px solid var(--forest-400);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.modal-entity-search:focus{outline:2px solid rgba(56,92,68,.2);border-color:var(--forest-600)}
.modal-close { background: none; border: none; font-size: 18px; cursor: pointer; color: var(--text-muted); width: 28px; height: 28px; border-radius: 50%; }
.modal-close:hover { background: var(--surface-sunken); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.checkbox-row { display: flex; align-items: center; gap: 8px; padding: 6px 0; }
.chip-select { display: flex; flex-wrap: wrap; gap: 6px; }
.chip-select label { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--border); border-radius: 100px; padding: 5px 10px 5px 8px; font-size: 12.5px; cursor: pointer; background: var(--bg); white-space: nowrap; width: auto; }
.chip-select label input[type="checkbox"] { width: auto; flex: 0 0 auto; margin: 0; accent-color: var(--forest-600); }
.chip-select label span { white-space: nowrap; }
.chip-select input:checked + span { font-weight: 600; }
.chip-select label:has(input:checked) { border-color: var(--forest-500); background: var(--forest-100); }
.warning-list { margin-top: 10px; }
.warning-item { display: flex; gap: 8px; align-items: flex-start; background: var(--danger-bg); color: var(--danger); border-radius: var(--radius-sm); padding: 8px 10px; font-size: 12.5px; margin-bottom: 6px; }

/* ---------- Toasts ---------- */
.toasts { position: fixed; bottom: 20px; right: 20px; z-index: 200; display: flex; flex-direction: column; gap: 8px; }
.toast { background: var(--forest-700); color: #fff; padding: 10px 16px; border-radius: var(--radius-sm); box-shadow: var(--shadow-md); font-size: 13px; animation: toast-in .18s ease; }
.toast.error { background: var(--danger); }
@keyframes toast-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ---------- Unplanned list ---------- */
.unplanned-card {
  background: var(--surface); border: 1px solid var(--border); border-left: 3px solid var(--prio-normal);
  border-radius: var(--radius-sm); padding: 10px 11px; margin-bottom: 8px; cursor: grab; box-shadow: var(--shadow-sm);
  min-width: 0; max-width: 100%; overflow: hidden;
}
.unplanned-card[data-priority="hoch"] { border-left-color: var(--prio-high); }
.unplanned-card[data-priority="dringend"] { border-left-color: var(--prio-urgent); }
.unplanned-card[data-priority="niedrig"] { border-left-color: var(--prio-low); }
.unplanned-card:active { cursor: grabbing; }
.unplanned-card .num { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); }
.unplanned-card .cust { font-weight: 600; font-size: 13px; line-height: 1.32; margin: 2px 0; max-width: 100%; overflow-wrap: anywhere; word-break: break-word; hyphens: auto; }
.unplanned-card .desc { font-size: 12px; color: var(--text-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.unplanned-card .meta { display: flex; justify-content: space-between; align-items: center; gap: 6px; margin-top: 6px; font-size: 11px; color: var(--text-faint); }
.unplanned-card .meta span { min-width: 0; }

/* ---------- Planning view ---------- */
.planner-shell { display: flex; gap: 16px; align-items: flex-start; }
.planner-sidebar { width: 240px; flex-shrink: 0; }
.planner-sidebar .filters { margin-bottom: 10px; }
.planner-sidebar select { width: 100%; padding: 7px 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); margin-bottom: 8px; }
.planner-main { flex: 1; min-width: 0; }
.planner-toolbar { --planner-control-height:38px;display:flex;align-items:flex-end;gap:10px;margin-bottom:12px;flex-wrap:wrap; }
.planner-product-brand{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding-right:2px}
.planner-product-brand img{display:block;width:42px;height:42px;border-radius:10px;object-fit:cover;box-shadow:0 3px 10px rgba(24,52,37,.12)}
.planner-product-brand span{display:flex;flex-direction:column;line-height:1.05}
.planner-product-brand small{font-size:8px;letter-spacing:.13em;color:var(--text-muted);font-weight:750}
.planner-product-brand strong{font-family:var(--font-display);font-size:15px;color:var(--text)}
.planner-toolbar .nav-date { display:flex;align-items:center;gap:4px; }
.planner-toolbar .date-label { font-weight: 600; min-width: 190px; text-align: center; font-family: var(--font-display); }
.seg { display: inline-flex; border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
.seg button { background: var(--surface); border: none; padding: 6px 12px; font-size: 12.5px; cursor: pointer; border-right: 1px solid var(--border); color: var(--text-muted); }
.seg button:last-child { border-right: none; }
.seg button.active { background: var(--forest-700); color: #fff; }
.planner-control-pair{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.planner-control-unit{display:flex;flex-direction:column;gap:3px}
.planner-control-unit>small{height:10px;line-height:10px;padding-left:2px;color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.planner-period-control button,.planner-raster-control button{height:var(--planner-control-height);min-height:var(--planner-control-height);white-space:nowrap;font-weight:650}
.planner-toolbar .nav-date .btn,.planner-toolbar>#toggleSeg button,.planner-toolbar>#newCalendarEvent{height:var(--planner-control-height);min-height:var(--planner-control-height);box-sizing:border-box}
.planner-toolbar>.compact-check{height:var(--planner-control-height);min-height:var(--planner-control-height);display:inline-flex;align-items:center;box-sizing:border-box;margin:0}

.grid-wrap { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: auto; box-shadow: var(--shadow-sm); }
.grid-scroll { position: relative; }
.grid-header-row { display: flex; position: sticky; top: 0; z-index: 5; background: var(--surface-sunken); border-bottom: 1px solid var(--border); }
.grid-emp-col-head { width: 190px; flex-shrink: 0; padding: 10px 12px; font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); border-right: 1px solid var(--border); position: sticky; left: 0; background: var(--surface-sunken); z-index: 6; }
.time-slot-head { flex-shrink: 0; text-align:left; font-size:10px; color:var(--text-muted); padding:8px 0; border-right:1px solid var(--border); font-family:var(--font-mono); min-height:34px; overflow:visible; }
.time-slot-head span{display:block;position:relative;z-index:1;padding-left:4px;white-space:nowrap;font-weight:650;color:var(--text)}
.time-slot-head.hour { color:var(--text); border-left:1px solid var(--text-faint); }

.emp-row { display: flex; border-bottom: 1px solid var(--border); position: relative; }
.emp-row:last-child { border-bottom: none; }
.emp-col { width: 190px; flex-shrink: 0; padding: 10px 12px; border-right: 1px solid var(--border); position: sticky; left: 0; background: var(--surface); z-index: 3; }
.emp-col .n { font-weight: 600; font-size: 13px; }
.emp-col .f { font-size: 11px; color: var(--text-muted); }
.emp-col .abs-tag { display: inline-block; margin-top: 4px; font-size: 10px; background: var(--danger-bg); color: var(--danger); border-radius: 100px; padding: 1px 7px; }
.emp-track { position: relative; flex-shrink: 0; background-image: repeating-linear-gradient(to right, transparent, transparent calc(var(--slotw) - 1px), var(--border) calc(var(--slotw) - 1px), var(--border) var(--slotw)); height: 62px; }
.emp-track.hour-lines { background-image:
  repeating-linear-gradient(to right, var(--border) 0, var(--border) 1px, transparent 1px, transparent calc(var(--hourw))); }

.block {
  position: absolute; top: 5px; bottom: 5px; border-radius: 6px; padding: 4px 8px; overflow: hidden;
  cursor: grab; border: 1.5px solid; font-size: 11.5px; box-shadow: var(--shadow-sm); user-select: none;
}
.block:active { cursor: grabbing; }
.block .b-num { font-family: var(--font-mono); font-size: 10px; opacity: 0.85; }
.block .b-cust { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.block .b-time { font-size: 10px; opacity: 0.8; }
.block.prio-niedrig { background: var(--prio-low-bg); border-color: var(--prio-low); color: var(--prio-low); }
.block.prio-normal { background: var(--prio-normal-bg); border-color: var(--prio-normal); color: var(--prio-normal); }
.block.prio-hoch { background: var(--prio-high-bg); border-color: var(--prio-high); color: var(--prio-high); }
.block.prio-dringend { background: var(--prio-urgent-bg); border-color: var(--prio-urgent); color: var(--prio-urgent); }
.block.status-provisorisch { border-style: dashed; }
.block.has-conflict { outline: 2px solid var(--danger); outline-offset: 1px; }
.block .resize-handle { position: absolute; top: 0; bottom: 0; width: 7px; cursor: ew-resize; }
.block .resize-handle.left { left: 0; }
.block .resize-handle.right { right: 0; }
.now-line { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--danger); z-index: 4; }
.team-row .emp-col { background: var(--forest-100); }
.team-row .emp-col .n { color: var(--forest-700); }
.resource-row .emp-col { background: var(--bark-100); }
.block.external-block {
  background: repeating-linear-gradient(135deg, var(--surface-sunken), var(--surface-sunken) 5px, var(--border) 5px, var(--border) 10px);
  border: 1.5px dashed var(--text-faint); color: var(--text-muted); cursor: help;
}
.block.external-block.thin {
  top: 0; bottom: auto; height: 7px; padding: 0; z-index: 6; border-radius: 0 0 3px 3px;
  background: repeating-linear-gradient(135deg, #3A3A34, #3A3A34 3px, #6B6659 3px, #6B6659 6px);
  border: none; box-shadow: 0 1px 3px rgba(0,0,0,0.35);
}
.block.external-block .b-num, .block.external-block .b-cust, .block.external-block .b-time { font-size: 10.5px; }
.block.external-block.thin .b-num, .block.external-block.thin .b-cust, .block.external-block.thin .b-time { display: none; }
.timeline-external-block{position:absolute;height:30px;z-index:4;display:flex;align-items:center;gap:6px;min-width:54px;padding:4px 9px;border:1px dashed var(--text-muted);border-radius:6px;background:repeating-linear-gradient(135deg,var(--surface-sunken),var(--surface-sunken) 7px,var(--surface) 7px,var(--surface) 14px);color:var(--text-muted);overflow:hidden;white-space:nowrap;box-shadow:var(--shadow-sm);cursor:not-allowed}.timeline-external-block strong{font-size:11.5px;overflow:hidden;text-overflow:ellipsis}.timeline-external-block small{font-size:10px;flex:0 0 auto}
.timeline-external-block.calendar-local-event{border-style:solid;border-color:var(--forest-500);background:var(--forest-100);color:var(--forest-700);cursor:pointer}.timeline-external-block.calendar-local-event:hover{filter:brightness(.97);box-shadow:0 3px 8px rgba(20,40,25,.2)}
.calendar-event-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calendar-event-wide{grid-column:1/-1}.calendar-sync-choice{align-self:end;min-height:42px}.calendar-sync-status{margin:14px 0 0;padding:10px 12px;border-radius:7px;background:var(--surface-sunken)}
@media(max-width:620px){.calendar-event-grid{grid-template-columns:1fr}.calendar-event-wide{grid-column:auto}.calendar-sync-choice{align-self:auto}}

.week-grid { display: grid; grid-template-columns: 190px repeat(7, 1fr); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.week-grid .wh { padding: 8px; font-size: 11px; text-align: center; color: var(--text-muted); border-bottom: 1px solid var(--border); border-right: 1px solid var(--border); background: var(--surface-sunken); }
.week-grid .wh.today { color: var(--forest-600); font-weight: 700; }
.week-grid .we { padding: 10px 12px; border-bottom: 1px solid var(--border); border-right: 1px solid var(--border); }
.week-grid .we .n { font-weight: 600; font-size: 13px; }
.week-grid .we .f { font-size: 11px; color: var(--text-muted); }
.week-cell { border-bottom: 1px solid var(--border); border-right: 1px solid var(--border); padding: 4px; min-height: 64px; }
.week-row-track{grid-column:2/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative;min-width:0;border-bottom:1px solid var(--border)}
.week-row-track>.week-cell{min-width:0;min-height:100%;border-bottom:0}
.week-continuous-chip{position:absolute!important;z-index:3;margin:0;box-sizing:border-box;height:34px;min-height:34px!important;max-width:none!important;overflow:hidden!important}
.week-continuous-chip[data-resize-preview]{overflow:visible!important}
.week-chip { background: var(--prio-normal-bg); border: 1px solid var(--prio-normal); color: var(--prio-normal); border-radius: 5px; padding: 3px 6px; font-size: 10.5px; margin-bottom: 3px; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.week-chip.prio-hoch { background: var(--prio-high-bg); border-color: var(--prio-high); color: var(--prio-high); }
.week-chip.prio-dringend { background: var(--prio-urgent-bg); border-color: var(--prio-urgent); color: var(--prio-urgent); }
.week-chip.prio-niedrig { background: var(--prio-low-bg); border-color: var(--prio-low); color: var(--prio-low); }
.week-cell.drop-hover, .emp-track.drop-hover { outline: none; }

.legend { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 12px; font-size: 11.5px; color: var(--text-muted); align-items: center; }
.legend .dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; margin-right: 4px; }

/* ---------- Detail panel (order) ---------- */
.detail-grid { display: grid; grid-template-columns: 140px 1fr; gap: 8px 14px; font-size: 13px; }
.detail-grid dt { color: var(--text-muted); }
.detail-grid dd { margin: 0; }

@media (max-width: 980px) {
  .nav { position: fixed; left: -100%; top: 0; height: 100vh; z-index: 50; transition: left .18s ease; width: 240px; }
  .nav.open { left: 0; box-shadow: var(--shadow-lg); }
  .nav-backdrop.open{display:block;position:fixed;inset:0;z-index:49;width:100%;height:100%;background:rgba(10,24,16,.28);backdrop-filter:blur(1px);cursor:default}
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .planner-shell { flex-direction: column; }
  .planner-sidebar { width: 100%; }
  .form-row { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Ergänzende Robustheits-, Accessibility- und Responsive-Optimierungen
   Bestehende Selektoren bleiben unverändert, damit app.js kompatibel bleibt.
   ========================================================================== */

:root {
  color-scheme: light;
}

[data-theme='dark'] {
  color-scheme: dark;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  overflow-x: hidden;
}

img,
svg {
  max-width: 100%;
}

button,
input,
select,
textarea {
  min-height: 36px;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.field input,
.field select,
.field textarea,
.search-input,
.planner-sidebar select {
  transition: border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

.field input:focus,
.field select:focus,
.field textarea:focus,
.search-input:focus-within,
.planner-sidebar select:focus {
  border-color: var(--forest-500);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--forest-500) 18%, transparent);
  outline: none;
}

.btn,
.nav-items a,
.nav-actions button,
.menu-toggle,
.seg button,
.modal-close,
.week-chip,
.unplanned-card {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.content {
  min-width: 0;
}

.card,
.modal,
.grid-wrap,
table.data-table {
  contain: paint;
}

.data-table {
  font-variant-numeric: tabular-nums;
}

.grid-wrap,
.week-grid {
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.block,
.unplanned-card,
.week-chip {
  will-change: transform;
}

.toasts {
  max-width: min(420px, calc(100vw - 32px));
  pointer-events: none;
}

.toast {
  overflow-wrap: anywhere;
}

.modal-backdrop {
  overscroll-behavior: contain;
}

.modal {
  overflow: hidden;
}

.modal-body {
  overscroll-behavior: contain;
}

.detail-grid dd,
.data-table td,
.unplanned-card .desc {
  overflow-wrap: anywhere;
}

@media (hover: hover) and (pointer: fine) {
  .btn,
  .nav-items a,
  .nav-actions button,
  .unplanned-card,
  .block,
  .week-chip {
    transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease, transform 0.12s ease;
  }

  .unplanned-card:hover,
  .week-chip:hover {
    box-shadow: var(--shadow-md);
  }
}

@media (max-width: 980px) {
  .topbar {
    padding-inline: 16px;
  }

  .content {
    padding: 18px 16px;
  }

  .planner-main {
    width: 100%;
  }

  .planner-toolbar .date-label {
    min-width: 150px;
  }

  .grid-wrap,
  .week-grid {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .login-screen {
    align-items: flex-start;
    padding: 16px;
  }

  .login-card {
    margin-top: max(24px, env(safe-area-inset-top));
    padding: 28px 20px 22px;
  }

  .topbar {
    min-height: var(--header-h);
    height: auto;
    padding-block: 10px;
  }

  .topbar h2 {
    font-size: 17px;
  }

  .content {
    padding: 14px 12px calc(14px + env(safe-area-inset-bottom));
  }

  .toolbar,
  .planner-toolbar {
    gap: 8px;
  }

  .toolbar > *,
  .search-input {
    min-width: 0;
  }

  .search-input {
    width: 100%;
  }

  .planner-toolbar .nav-date {
    width: 100%;
    justify-content: space-between;
  }

  .planner-product-brand{padding:0}
  .planner-product-brand img{width:34px;height:34px;border-radius:8px}
  .planner-product-brand span{display:none}
  .planner-control-pair{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr)}
  .planner-control-unit .seg{width:100%;overflow-x:auto;scrollbar-width:none}
  .planner-control-unit .seg::-webkit-scrollbar{display:none}
  .planner-control-unit .seg button{flex:1 0 auto;padding-inline:9px}

  .planner-toolbar .date-label {
    min-width: 0;
    flex: 1;
  }

  .seg {
    max-width: 100%;
  }

  .seg button {
    padding-inline: 10px;
  }

  .grid-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stat-card {
    padding: 14px;
  }

  .stat-card .num {
    font-size: 24px;
  }

  table.data-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .modal-backdrop {
    align-items: flex-end;
    padding: 12px 8px max(12px, env(safe-area-inset-bottom));
  }

  .modal {
    max-width: none;
    border-radius: var(--radius-lg);
  }

  .modal-body {
    max-height: 70vh;
  }

  .detail-grid {
    grid-template-columns: 1fr;
    gap: 3px 0;
  }

  .detail-grid dd {
    margin-bottom: 9px;
  }

  .toasts {
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    max-width: none;
  }
}

@media (max-width: 420px) {
  .grid-cards {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* ========================================================================== 
   Version 2 – fortlaufender Kalender, Bexio-Status, Rapporte
   ========================================================================== */
.muted { color: var(--text-muted); }
.sync-status { font-size: 11.5px; color: var(--text-muted); padding: 6px 9px; border: 1px solid var(--border); border-radius: 100px; background: var(--surface); }
.sync-status.ok { color: var(--ok); }
.compact-check { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text-muted); white-space:nowrap; }
.compact-check input { min-height:0; }
.planner-hours { font-size:12px; color:var(--text-muted); display:flex; align-items:center; gap:5px; white-space:nowrap; }
.planner-hours input { width:84px; padding:5px 6px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface); min-height:32px; }

.timeline-wrap { overflow:auto; max-width:100%; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow-sm); overscroll-behavior-x:contain; scroll-behavior:auto; }
.timeline-inner { width:max-content; min-width:100%; }
.timeline-header, .timeline-row { display:flex; min-height:64px; border-bottom:1px solid var(--border); }
.timeline-header { min-height:54px; position:sticky; top:0; z-index:8; background:var(--surface-sunken); }
.timeline-emp-head, .timeline-emp { width:190px; min-width:190px; position:sticky; left:0; z-index:7; border-right:1px solid var(--border); background:var(--surface); padding:10px 12px; }
.timeline-emp-head { background:var(--surface-sunken); text-transform:uppercase; letter-spacing:.04em; font-size:11px; color:var(--text-muted); z-index:10; }
.timeline-emp { display:flex; flex-direction:column; justify-content:center; }
.timeline-emp strong { font-size:13px; }
.timeline-emp span { font-size:11px; color:var(--text-muted); margin-top:2px; }
.timeline-track { display:flex; }
.timeline-day-head { flex:0 0 auto; border-right:1px solid var(--border); padding:7px 8px; display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:11px; color:var(--text-muted); }
.timeline-day-head[data-day],.timeline-cell[data-day]{cursor:pointer}.calendar-quick-summary{display:flex;flex-direction:column;gap:4px;padding:12px 14px;margin-bottom:14px;border:1px solid var(--forest-300);border-radius:8px;background:var(--forest-50)}.calendar-quick-summary span{color:var(--text-muted)}#calendarQuickOrder{min-height:220px}
.timeline-day-head strong { color:var(--text); font-size:12px; }
.timeline-day-head span { margin-top:1px; }
.timeline-day-head small { margin-top:2px; color:var(--text-faint); }
.timeline-day-head.today { background:var(--forest-100); }
.timeline-cell { flex:0 0 auto; min-height:64px; border-right:1px solid var(--border); padding:4px; position:relative; background:linear-gradient(to bottom, transparent, transparent); }
.timeline-day-head.week-start,.timeline-cell.week-start{border-left:2px solid var(--text-faint)}
.timeline-cell.drop-hover { outline:none; background:inherit; }
.timeline-chip { border:1px solid var(--prio-normal); background:var(--prio-normal-bg); color:var(--prio-normal); border-radius:5px; padding:3px 5px; margin-bottom:3px; font-size:10.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; }
.timeline-chip.prio-hoch, .timeline-hour-block.prio-hoch, .timeline-span-block.prio-hoch { border-color:var(--prio-high); background:var(--prio-high-bg); color:var(--prio-high); }
.timeline-chip.prio-dringend, .timeline-hour-block.prio-dringend, .timeline-span-block.prio-dringend { border-color:var(--prio-urgent); background:var(--prio-urgent-bg); color:var(--prio-urgent); }
.timeline-chip.prio-niedrig, .timeline-hour-block.prio-niedrig, .timeline-span-block.prio-niedrig { border-color:var(--prio-low); background:var(--prio-low-bg); color:var(--prio-low); }
.timeline-cell.hour-mode { background-image:repeating-linear-gradient(to right,transparent,transparent calc(var(--timeline-raster,8.333%) - 1px),rgba(41,67,49,.11) calc(var(--timeline-raster,8.333%) - 1px),rgba(41,67,49,.11) var(--timeline-raster,8.333%)); }
[data-theme='dark'] .timeline-cell.hour-mode{background-image:repeating-linear-gradient(to right,transparent,transparent calc(var(--timeline-raster,8.333%) - 1px),rgba(255,255,255,.1) calc(var(--timeline-raster,8.333%) - 1px),rgba(255,255,255,.1) var(--timeline-raster,8.333%))}
.timeline-hour-block { position:absolute; top:8px; height:44px; min-width:20px; border:1px solid var(--prio-normal); background:var(--prio-normal-bg); color:var(--prio-normal); border-radius:5px; padding:4px 5px; font-size:10px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; cursor:pointer; z-index:2; }
.timeline-hour-block span { font-family:var(--font-mono); font-size:9.5px; }

.report-summary { line-height:1.65; font-size:13px; }
.report-entry-list { display:flex; flex-direction:column; gap:7px; margin-bottom:16px; }
.report-entry-row { display:grid; grid-template-columns:minmax(150px,1.5fr) 92px 12px 92px 80px 78px; gap:6px; align-items:center; padding:7px 8px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg); font-size:12px; }
.report-entry-row input[type="time"], .report-entry-row input[type="number"] { min-height:32px; padding:4px 6px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface); }
.report-emp { display:flex; align-items:center; gap:6px; font-weight:600; }
.report-emp input { min-height:0; }
.report-consumables{margin:0 0 16px;padding:13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken)}
.report-consumables legend{padding:0 6px;font-weight:750}.report-consumables>small{display:block;margin-top:8px;color:var(--text-muted)}
.report-consumable-quick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.report-consumable-row{display:grid;grid-template-columns:minmax(180px,1fr) 86px 105px auto 34px;gap:7px;align-items:center;padding:7px 0;border-top:1px solid var(--border)}
.report-consumable-row input,.report-consumable-row select{min-width:0}.resource-row-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}

@media (max-width: 760px) {
  .timeline-emp-head, .timeline-emp { width:140px; min-width:140px; }
  .report-entry-row { grid-template-columns:1fr 1fr 12px 1fr; }
  .report-entry-row input[data-break] { grid-column:2/3; }
  .report-entry-row input[data-break] + span { grid-column:3/5; }
  .report-consumable-row{grid-template-columns:minmax(0,1fr) 76px 90px 34px}.report-consumable-row .badge{display:none}
  .planner-hours { width:100%; }
}

/* Sichtbare Build-Markierung zur Kontrolle, dass die aktuelle Version geladen ist */
.build-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--forest-100);
  color: var(--forest-700);
  border: 1px solid var(--border);
  font-size: 10px;
  font-weight: 700;
  vertical-align: 1px;
}

/* ===== Arbor App Phase 1 / v2.2 ===== */
.brand-logo-plate{background:transparent;border-radius:9px;padding:0;width:100%;display:flex;align-items:center;justify-content:center;margin-bottom:6px;overflow:hidden}.brand-logo{display:block;width:100%;height:auto;max-height:102px;object-fit:contain}.login-logo-wrap{display:flex;justify-content:center;margin-bottom:24px}.login-logo{width:min(100%,300px);height:auto;display:block}.timeline-context{display:flex;align-items:baseline;gap:12px;margin:0 0 8px;padding:9px 12px;background:var(--surface);border:1px solid var(--forest-500);border-radius:var(--radius);position:sticky;left:0;z-index:10}.timeline-context strong{font-family:var(--font-display);font-size:18px;text-transform:capitalize}.timeline-context span{font-size:11.5px;color:var(--text-muted)}.timeline-day-head.month-start,.timeline-cell.month-start{border-left:3px solid var(--forest-500)}.preplan-row .timeline-emp,.preplan-row .emp-col{background:var(--bark-100)!important}.preplan-row .timeline-emp strong,.preplan-row .emp-col .n{color:var(--bark-600)}.selection-toolbar{min-height:44px;display:flex;align-items:center;gap:8px;padding:7px 10px;margin-bottom:8px;background:var(--surface);border:1px solid var(--forest-500);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.selection-toolbar.muted{border-color:var(--border);color:var(--text-muted)}.selected-assignment{outline:3px solid var(--danger)!important;outline-offset:1px;z-index:12!important}.paste-target{cursor:copy}.paste-target:hover{box-shadow:inset 0 0 0 2px var(--forest-500)}.cloud-search{margin-bottom:9px;width:100%;min-width:0}.cloud-section{border-top:1px solid var(--border);padding-top:8px;margin-top:8px}.cloud-section summary{cursor:pointer;font-weight:650;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 0 8px}.cloud-help{font-size:11px;color:var(--text-muted);margin:0 0 8px}.cloud-card{max-height:calc(100vh - 110px);overflow:auto}.timeline-chip,.timeline-hour-block,.week-chip{cursor:grab}.timeline-chip:active,.timeline-hour-block:active,.week-chip:active{cursor:grabbing}

/* Version 2.3 */
.block .b-cust{font-size:13.5px;line-height:1.2}.block .b-num{font-size:11px}.block .b-time{font-size:11.5px}.timeline-chip,.timeline-hour-block{font-size:12.5px}.timeline-chip strong,.timeline-hour-block strong{font-size:13.5px}.week-chip{font-size:11.5px;line-height:1.25;padding:4px 6px}.badge-team{background:var(--forest-100);color:var(--forest-700);border:1px solid var(--border)}.week-section-label{grid-column:1/-1;padding:9px 12px;background:var(--bark-100);color:var(--bark-600);font-weight:700;border-top:2px solid var(--border);border-bottom:1px solid var(--border)}.week-resource-label{background:var(--bark-100)}.week-resource-cell{background:var(--bark-100)}.week-resource-chip{border-style:dashed}.billing-hint{margin-bottom:12px;color:var(--text-muted);font-size:12.5px}

/* ===== Version 2.4: Kalenderstruktur, Wochenenden, Teams ===== */
.field-help{margin-top:5px;font-size:11px;color:var(--text-muted);line-height:1.35}
.team-inline{display:block;margin-top:3px;font-size:10.5px;color:var(--forest-600);font-weight:600}

/* Fortlaufend: Monat -> KW -> Tag */
.timeline-meta-row{display:flex;min-height:28px;border-bottom:1px solid var(--border);background:var(--surface-sunken);position:sticky;top:0;z-index:9}
.timeline-meta-row+.timeline-meta-row{top:28px}
.timeline-meta-row+.timeline-meta-row+.timeline-header{top:56px}
.timeline-group-head{flex:0 0 auto;border-right:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-muted);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline-group-head.month{font-family:var(--font-display);font-size:13px;text-transform:capitalize;color:var(--text)}
.timeline-group-head.week{font-size:10.5px}
.timeline-header{top:56px;min-height:38px}
.timeline-day-head{padding:5px 7px;min-height:38px}
.timeline-section-label{position:sticky;left:0;z-index:6;padding:7px 12px;border-top:2px solid var(--border);border-bottom:1px solid var(--border);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-sunken);color:var(--text-muted)}
.timeline-section.preplanning .timeline-section-label{background:var(--bark-100);color:var(--bark-600)}
.timeline-section.resources .timeline-section-label{background:var(--bark-100);color:var(--bark-600)}
.timeline-section.teams .timeline-section-label{background:var(--forest-100);color:var(--forest-700)}
.timeline-section.resources .timeline-emp,.timeline-section.resources .timeline-cell{background:var(--bark-100)}
.timeline-section.resources .timeline-cell.hour-mode{
  background-color:var(--bark-100);
  background-image:repeating-linear-gradient(to right,transparent,transparent calc(8.333% - 1px),var(--border) calc(8.333% - 1px),var(--border) 8.333%);
}
.timeline-section.teams .timeline-emp{background:var(--forest-100)}
.timeline-cell.weekend,.timeline-day-head.weekend{background:#ececec}
[data-theme='dark'] .timeline-cell.weekend,[data-theme='dark'] .timeline-day-head.weekend{background:#222824}
.timeline-day-head.weekend strong{color:var(--danger)}
.timeline-cell.weekend{box-shadow:inset 0 0 0 9999px rgba(100,100,100,.025)}

/* Wochenansicht: gleiche Bereiche wie Tag/Fortlaufend */
.week-month-label{grid-column:1/-1;padding:8px 12px;text-align:center;font-family:var(--font-display);font-size:16px;font-weight:650;text-transform:capitalize;background:var(--surface);border-bottom:1px solid var(--border)}
.week-section-label{grid-column:1/-1;padding:8px 12px;font-weight:750;border-top:2px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-sunken);color:var(--text-muted);text-transform:uppercase;letter-spacing:.035em;font-size:11px}
.week-section-label.preplanning{background:var(--bark-100);color:var(--bark-600)}
.week-section-label.teams{background:var(--forest-100);color:var(--forest-700)}
.week-section-label.resources{background:var(--bark-100);color:var(--bark-600)}
.week-grid .wh.weekend,.week-cell.weekend{background:#ececec}
[data-theme='dark'] .week-grid .wh.weekend,[data-theme='dark'] .week-cell.weekend{background:#222824}
.week-grid .wh.weekend{color:var(--danger);font-weight:700}
.week-preplan-label,.week-preplan-cell{background:var(--bark-100)}
.week-team-label,.week-team-cell{background:var(--forest-100)}
.week-resource-label,.week-resource-cell{background:var(--bark-100)}
.week-absence{background:#8a8a8a;color:#fff;border-radius:4px;padding:4px 6px;margin-bottom:3px;text-align:center;font-size:10.5px}
.week-grid .we{min-width:0}
.week-grid .we .team-inline{font-size:10px}

/* Aufträge etwas besser lesbar */
.timeline-chip,.week-chip{font-size:12.5px;line-height:1.3;padding:5px 7px}
.timeline-hour-block{font-size:12px;line-height:1.2}
.block .b-cust{font-size:14px}

@media (max-width:980px){
  .timeline-meta-row+.timeline-meta-row+.timeline-header{top:56px}
  .timeline-section-label{left:0}
}

/* ===== Version 2.5: individuelle Mitarbeiterzeiten / Teamsteuerung ===== */
.team-group-block {
  box-shadow: inset 0 0 0 1px rgba(28,43,34,.16), var(--shadow-sm);
}
.team-group-block .b-num::after {
  content: ' · gemeinsam';
  font-family: var(--font-body);
  font-size: 9px;
  font-weight: 600;
  opacity: .75;
}
.individual-time-hint {
  margin: 0 0 16px;
  padding: 10px 12px;
  border: 1px solid var(--forest-500);
  border-radius: var(--radius-sm);
  background: var(--forest-100);
  color: var(--forest-700);
  font-size: 12.5px;
  line-height: 1.45;
}
.individual-time-list { display: grid; gap: 7px; margin-top: 14px; }
.individual-time-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface-sunken);
  font-size: 12.5px;
}
.individual-time-row span { color: var(--text-muted); font-family: var(--font-mono); }
.timeline-hour-block .resize-handle { z-index: 4; width: 8px; }
.timeline-hour-block .resize-handle.left { left: 0; }
.timeline-hour-block .resize-handle.right { right: 0; }
.timeline-hour-block.team-group-block { outline: 1px solid color-mix(in srgb, currentColor 45%, transparent); }
@media (max-width: 700px) {
  .individual-time-row { align-items: flex-start; flex-direction: column; gap: 3px; }
}


/* ===== Version 2.6: Mehrfachauswahl, Undo/Redo, Live-Konfliktfeedback ===== */
.selected-assignment {
  outline: 3px solid var(--danger) !important;
  outline-offset: 2px;
  z-index: 8 !important;
}
.selection-toolbar {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  margin-bottom: 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
.selection-toolbar.muted { color: var(--text-muted); }
.selection-toolbar .spacer { flex: 1; }
.drop-ok,
.drop-warning,
.drop-conflict {
  position: relative;
  outline: none !important;
}
.drop-ok::after,
.drop-warning::after,
.drop-conflict::after {
  content: attr(data-drop-hint);
  position: absolute;
  z-index: 30;
  right: 5px;
  top: 5px;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 750;
  pointer-events: none;
  color: #fff;
}
.drop-ok::after { background: #4f8a5b; }
.drop-warning::after { background: var(--warn); }
.drop-conflict::after { background: var(--danger); }


/* Version 2.8: individuell von Teamzeit entkoppelte Einsätze */
.team-detached-tag {
  display:inline-flex; align-items:center; padding:1px 5px; margin-left:4px;
  border-radius:999px; border:1px solid var(--warn); color:var(--warn);
  background:color-mix(in srgb, var(--warn) 10%, transparent); font-size:9px;
  font-weight:700; text-transform:uppercase; letter-spacing:.04em; vertical-align:middle;
}

/* v2.9 – präzises Drag & Drop */
.drag-time-preview {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  padding: 5px 8px;
  border-radius: 5px;
  background: var(--forest-900);
  color: #fff;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  box-shadow: var(--shadow-md);
  white-space: nowrap;
}
.drag-time-preview[hidden] { display: none; }

.drag-time-preview strong { display: block; font-size: 13px; }
.drag-time-preview span { display: block; font-size: 12px; opacity: .86; }

#gridContainer.cross-day-resize-mode { position: relative; }
#gridContainer.cross-day-resize-mode::before {
  content: "Zieltag: " attr(data-resize-target-day);
  position: sticky;
  top: 6px;
  left: 50%;
  z-index: 80;
  display: block;
  width: max-content;
  margin: 0 auto -30px;
  padding: 6px 12px;
  border: 1px solid #31563b;
  border-radius: 999px;
  background: #f5faf4;
  color: #203f2a;
  box-shadow: 0 2px 8px rgba(24, 48, 31, .18);
  font-weight: 700;
  pointer-events: none;
}


/* v2.11 – exakte Snap-Vorschau beim Drag & Drop */
.snap-slot-preview {
  position: fixed;
  z-index: 9000;
  pointer-events: none;
  border: 2px solid #4f8a5b;
  border-radius: 6px;
  background: color-mix(in srgb, #4f8a5b 15%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, #4f8a5b 25%, transparent), 0 6px 18px rgba(0,0,0,.12);
  overflow: hidden;
  transition: left .04s linear, width .04s linear, top .04s linear, height .04s linear;
}
.snap-slot-preview > span {
  position: absolute;
  left: 5px;
  top: 3px;
  padding: 1px 4px;
  border-radius: 4px;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
  color: var(--text);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}
.snap-slot-preview.snap-warning {
  border-color: var(--warn);
  background: color-mix(in srgb, var(--warn) 14%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--warn) 24%, transparent), 0 6px 18px rgba(0,0,0,.12);
}
.snap-slot-preview.snap-conflict {
  border-color: var(--danger);
  background: color-mix(in srgb, var(--danger) 14%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--danger) 24%, transparent), 0 6px 18px rgba(0,0,0,.12);
}

/* ---------- Version 3.0: Betriebsworkflow ---------- */
.workflow-strip{display:flex;align-items:center;gap:18px;margin-bottom:16px}.workflow-strip>div:not(.workflow-arrow){display:flex;flex-direction:column;gap:3px}.workflow-strip span{font-size:12px;color:var(--text-muted)}.workflow-arrow{color:var(--text-faint);font-size:20px}.resource-summary{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}.row-inactive{opacity:.55}.check-line{display:flex;align-items:center;gap:8px;margin:10px 0;color:var(--text)}.settings-grid,.sync-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px}.kv{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,1fr);gap:8px 16px;margin:0 0 18px}.kv dt{color:var(--text-muted)}.kv dd{margin:0;font-weight:600}.muted{color:var(--text-muted);font-size:12px}.modal-footer .spacer{flex:1}@media(max-width:900px){.settings-grid,.sync-grid{grid-template-columns:1fr}.workflow-strip{align-items:flex-start;flex-direction:column}.workflow-arrow{display:none}}



/* ---------- V3.1 Kontextmenü ---------- */
.aa-context-menu {
  position: fixed; z-index: 10000; min-width: 220px; max-width: 310px;
  background: var(--surface); border: 1px solid var(--border); border-radius: 8px;
  box-shadow: var(--shadow-lg); padding: 6px; color: var(--text);max-height:calc(100vh - 16px);overflow-y:auto;
}
.aa-context-label { padding: 7px 9px 6px; font-size: 11px; font-weight: 700; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aa-context-item { display:block; width:100%; border:0; background:transparent; color:var(--text); text-align:left; padding:8px 10px; border-radius:5px; cursor:pointer; font-size:13px; }
.aa-context-item:hover { background: var(--surface-sunken); }
.aa-context-item.danger { color: var(--danger); }
.aa-context-separator { height:1px; background:var(--border); margin:5px 3px; }
.order-color-picker{display:flex;align-items:center;gap:12px}.order-color-picker input[type=color],.large-color-picker{width:84px;height:52px;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}.order-color-picker span{color:var(--text-muted);font-size:12px}.order-custom-color{background:color-mix(in srgb,var(--order-color) 24%,var(--surface))!important;border-color:var(--order-color)!important;box-shadow:inset 4px 0 0 var(--order-color)!important}.timeline-span-block.order-custom-color,.timeline-hour-block.order-custom-color,.timeline-chip.order-custom-color{outline-color:var(--order-color)}

/* ===== Version 3.2: Mitarbeiter-Area / bewilligte Abwesenheiten ===== */
.absence-track,.absence-cell{background-color:#d7d7d7!important;position:relative}
[data-theme='dark'] .absence-track,[data-theme='dark'] .absence-cell{background-color:#3b3d3b!important}
.absence-overlay{position:absolute;inset:3px;z-index:1;border:1px solid #8b8b8b;border-radius:5px;background:repeating-linear-gradient(135deg,rgba(125,125,125,.18),rgba(125,125,125,.18) 8px,rgba(255,255,255,.12) 8px,rgba(255,255,255,.12) 16px);color:#555;display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:none;font-size:11px;text-transform:capitalize}
[data-theme='dark'] .absence-overlay{color:#dedede;border-color:#666;background:repeating-linear-gradient(135deg,rgba(150,150,150,.16),rgba(150,150,150,.16) 8px,rgba(0,0,0,.10) 8px,rgba(0,0,0,.10) 16px)}
.absence-overlay.compact{position:relative;inset:auto;min-height:26px;margin-bottom:3px;padding:4px 5px;text-align:center;z-index:1}
.block,.timeline-hour-block,.timeline-chip,.week-chip{z-index:2;position:relative}
.block{position:absolute}
.vacation-conflict{outline:2px solid var(--danger)!important;outline-offset:1px;background-image:repeating-linear-gradient(135deg,rgba(178,58,46,.28),rgba(178,58,46,.28) 6px,rgba(255,255,255,.05) 6px,rgba(255,255,255,.05) 12px)!important}
.timeline-hour-block.vacation-conflict,.timeline-chip.vacation-conflict,.timeline-span-block.vacation-conflict,.week-chip.vacation-conflict{border-color:var(--danger)!important}
.employee-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lead-small{margin:3px 0 0;color:var(--text-muted);font-size:12px}
.employee-upcoming-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid var(--border);font-size:12.5px}.employee-upcoming-row:last-child{border-bottom:none}.employee-upcoming-row>div:first-child{display:flex;flex-direction:column}.employee-upcoming-row span{color:var(--text-muted);font-size:11.5px;margin-top:2px}.request-actions{white-space:nowrap}.request-actions .btn+.btn{margin-left:5px}.admin-absence-panel{border-top:3px solid var(--forest-500)}
@media(max-width:900px){.employee-area-grid{grid-template-columns:1fr}.employee-upcoming-row{align-items:flex-start;flex-direction:column;gap:3px}}

/* ---------- Version 3.3: Wochen-Stundenliste ---------- */
.timesheet-card { overflow: hidden; }
.timesheet-title { align-items: flex-start; gap: 16px; }
.timesheet-title select { min-width: 220px; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.timesheet-toolbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin: 12px 0 14px; }
.timesheet-toolbar strong { margin-right:auto; }
.timesheet-summary { display:grid; grid-template-columns:repeat(6,minmax(120px,1fr)); gap:8px; margin-bottom:14px; }
.timesheet-summary > div { border:1px solid var(--border); background:var(--surface-sunken); border-radius:var(--radius-sm); padding:10px 12px; }
.timesheet-summary span { display:block; font-size:11px; color:var(--text-muted); margin-bottom:3px; }
.timesheet-summary strong { font-size:15px; font-family:var(--font-mono); }
.timesheet-summary .positive strong { color:var(--ok); }
.timesheet-summary .negative strong { color:var(--danger); }
.timesheet-week { display:grid; grid-template-columns:repeat(7,minmax(180px,1fr)); gap:8px; overflow-x:auto; padding-bottom:4px; }
.timesheet-day { min-width:180px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); padding:9px; display:flex; flex-direction:column; gap:8px; }
.timesheet-day.free-day { background:var(--surface-sunken); }
.timesheet-day-head { display:flex; justify-content:space-between; gap:8px; align-items:flex-start; padding-bottom:7px; border-bottom:1px solid var(--border); }
.timesheet-day-head strong { display:block; }
.timesheet-day-head span { display:block; color:var(--text-muted); font-size:10px; margin-top:2px; }
.day-total { font-family:var(--font-mono); font-weight:700; white-space:nowrap; }
.day-total small { display:block; margin-top:3px; color:var(--danger); font-size:10px; font-weight:700; }
.time-entry-list { display:flex; flex-direction:column; gap:6px; }
.time-entry { display:flex; justify-content:space-between; gap:6px; border-left:3px solid var(--border); background:var(--bg); border-radius:4px; padding:7px 6px 7px 8px; }
.time-entry.productive { border-left-color:var(--forest-500); }
.time-entry.nonproductive { border-left-color:var(--bark-600); }
.time-entry strong { display:block; font-size:12px; }
.time-entry span { display:block; color:var(--text-muted); font-size:10.5px; margin-top:2px; line-height:1.3; }
.time-entry small { display:block; color:var(--text-faint); margin-top:2px; }
.auto-tag { display:inline-block !important; margin-left:5px !important; padding:1px 4px; border-radius:8px; background:var(--forest-100); color:var(--forest-600) !important; font-size:9px !important; }
.icon-btn { border:0; background:transparent; color:var(--text-muted); cursor:pointer; font-size:18px; line-height:1; padding:0 2px; align-self:flex-start; }
.icon-btn:hover { color:var(--danger); }
.empty-day { color:var(--text-faint); font-size:11px; min-height:32px; }
.planned-suggestions { border-top:1px dashed var(--border); padding-top:6px; display:flex; flex-direction:column; gap:4px; }
.planned-title { color:var(--text-muted); font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.03em; }
.planned-import { text-align:left; border:1px solid var(--border); background:var(--surface); color:var(--text); border-radius:4px; padding:5px 6px; cursor:pointer; font-size:10.5px; }
.planned-import:hover { background:var(--forest-100); border-color:var(--forest-500); }
.category-breakdown { margin-top:14px; border-top:1px solid var(--border); padding-top:10px; }
.category-breakdown summary { cursor:pointer; font-weight:600; }
.category-grid { display:grid; grid-template-columns:repeat(4,minmax(140px,1fr)); gap:6px; margin-top:10px; }
.category-total { display:flex; justify-content:space-between; gap:10px; background:var(--surface-sunken); border-radius:4px; padding:7px 9px; font-size:12px; }
.category-total strong { font-family:var(--font-mono); }
@media (max-width: 1100px) { .timesheet-summary { grid-template-columns:repeat(3,1fr); } .category-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 700px) { .timesheet-summary { grid-template-columns:repeat(2,1fr); } .timesheet-week { grid-template-columns:repeat(7,220px); } .category-grid { grid-template-columns:1fr; } }

/* ---------- Version 3.4: Zeiterfassung / Mittagspause ---------- */
.time-entry-main { min-width: 0; flex: 1; }
.time-entry-actions { display:flex; align-items:center; gap:2px; flex-shrink:0; }
.time-entry.missing-order { border-left: 3px solid var(--warn); }
.lunch-check { display:flex; align-items:center; gap:8px; padding:10px 12px; margin:0 0 12px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface-sunken); cursor:pointer; }
.lunch-check input { width:18px; height:18px; }
.time-live-calc { margin:-4px 0 12px; padding:8px 10px; border-radius:var(--radius-sm); background:var(--forest-100); color:var(--forest-700); font-family:var(--font-mono); font-size:12px; }
.time-order-warning { display:none; margin:-4px 0 12px; padding:8px 10px; border-radius:var(--radius-sm); background:var(--prio-high-bg); color:var(--prio-high); font-weight:600; font-size:12px; }

/* v3.6 Auftragsadressen */
.address-panel{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft,#fafafa)}
.address-panel .section-title{margin-bottom:6px}.address-panel h4{margin:0;font-size:14px}.check-line{display:flex;gap:8px;align-items:center;font-size:13px;margin:4px 0 10px}

/* v3.7 – Dokumente & Auftragsdateien */
.order-doc-drop{border:2px dashed var(--border);border-radius:12px;padding:24px;text-align:center;background:var(--surface-soft,rgba(0,0,0,.018));transition:.15s ease;margin-bottom:12px;cursor:pointer}
.order-doc-drop.drag-active{border-color:var(--primary);background:rgba(50,120,80,.08);box-shadow:0 0 0 3px rgba(50,120,80,.08) inset}
.order-doc-list{display:flex;flex-direction:column;gap:8px}
.order-doc-row{display:grid;grid-template-columns:minmax(220px,1fr) 130px auto auto auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:9px 10px;background:var(--surface)}
.order-doc-main{min-width:0}.order-doc-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc-crew{white-space:nowrap;font-size:12px}.file-drop-row{outline:2px dashed var(--primary);outline-offset:-3px;background:rgba(50,120,80,.08)!important}
@media(max-width:800px){.order-doc-row{grid-template-columns:1fr 120px}.order-doc-main{grid-column:1/-1}.doc-crew{grid-column:1/-1}}


/* ---------- Version 3.8: Zeiterfassung -> Rapport ---------- */
.report-check{margin-top:8px;}
.report-link-state{display:inline-flex;width:max-content;padding:2px 7px;border-radius:999px;background:#e7f2e8;color:#285c30;font-weight:700;}
.report-link-state.off{background:#f1f1f1;color:#737373;}
.linked-report-times{margin:8px 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);}
.linked-report-times.compact{margin-bottom:14px;}
.linked-report-head,.linked-report-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(220px,2fr) auto;gap:10px;align-items:center;}
.linked-report-head{padding-bottom:7px;border-bottom:1px solid var(--border);margin-bottom:5px;}
.linked-report-row{padding:5px 0;font-size:12px;}
@media(max-width:760px){.linked-report-head,.linked-report-row{grid-template-columns:1fr;gap:2px;}}


/* Version 4.0 – Dashboard Cockpit */
.dashboard-v4{display:flex;flex-direction:column;gap:16px}.dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 2px 2px}.dashboard-hero h2{margin:2px 0 4px;font-size:28px;letter-spacing:-.5px}.dashboard-hero p{margin:0;color:var(--text-muted);max-width:720px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;color:var(--text-muted)}
.dash-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.dash-kpi{display:flex;flex-direction:column;gap:3px;padding:15px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--text);transition:.15s ease}.dash-kpi:hover{transform:translateY(-1px);border-color:var(--forest-600)}.dash-kpi span{font-size:25px;font-weight:800;line-height:1}.dash-kpi small{font-size:11px;color:var(--text-muted)}.dash-kpi.warn{border-left:4px solid #d89b2b}.dash-kpi.ok{border-left:4px solid #3c9a67}
.dash-main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);gap:16px}.dash-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dash-panel{padding:18px}.dash-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:12px}.dash-panel-head h3{margin:1px 0 0;font-size:17px}.dash-panel-head>a{font-size:12px;color:var(--forest-600);text-decoration:none;font-weight:700}
.dash-today-row{display:grid;grid-template-columns:72px minmax(200px,1.4fr) minmax(170px,1fr) 62px;align-items:center;gap:12px;padding:11px 2px;border-top:1px solid var(--border);color:var(--text);text-decoration:none}.dash-today-row:hover{background:var(--surface-sunken)}.dash-time{font-weight:800;font-size:13px}.dash-time span{display:block;font-weight:500;color:var(--text-muted);font-size:11px}.dash-job strong,.dash-team{display:block;font-size:12px}.dash-job span,.dash-team span{display:block;color:var(--text-muted);font-size:11px;margin-top:2px}.dash-state{justify-self:end;font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px}.dash-state.is-ok{background:rgba(60,154,103,.12);color:#318056}.dash-state.is-danger{background:rgba(190,65,65,.12);color:#b33b3b}
.dash-actions{display:flex;flex-direction:column;gap:7px}.dash-action{display:grid;grid-template-columns:10px 1fr 12px;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--border);border-radius:9px;text-decoration:none;color:var(--text);font-size:12px}.dash-action:hover{background:var(--surface-sunken)}.dash-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.dash-action.warn .dash-dot{background:#d89b2b}.dash-action.danger .dash-dot{background:#c84a4a}.dash-action.ok .dash-dot{background:#3c9a67}.dash-action.info .dash-dot{background:var(--forest-600)}.dash-action b{font-size:17px;color:var(--text-muted)}
.dash-util{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:14px;margin:10px 0 15px}.dash-util>div:first-child strong{font-size:27px;display:block}.dash-util>div:first-child span{font-size:11px;color:var(--text-muted)}.dash-util-bar{height:9px;border-radius:99px;background:var(--surface-sunken);overflow:hidden}.dash-util-bar i{display:block;height:100%;border-radius:99px;background:var(--forest-600)}.dash-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dash-mini-stats a,.dash-personnel>div{padding:10px;border-radius:9px;background:var(--surface-sunken);text-decoration:none;color:var(--text)}.dash-mini-stats strong,.dash-personnel strong{display:block;font-size:18px}.dash-mini-stats span,.dash-personnel span{font-size:10px;color:var(--text-muted)}
.dash-pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.dash-pipeline a{text-align:center;padding:10px 5px;border-radius:8px;background:var(--surface-sunken);text-decoration:none;color:var(--text)}.dash-pipeline span{display:block;font-size:19px;font-weight:800}.dash-pipeline small{display:block;margin-top:3px;font-size:9px;color:var(--text-muted);line-height:1.2}.dash-personnel{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.dash-all-good{padding:15px;border:1px solid rgba(60,154,103,.25);background:rgba(60,154,103,.07);border-radius:10px}.dash-all-good strong{display:block;font-size:12px}.dash-all-good span{display:block;margin-top:4px;font-size:11px;color:var(--text-muted)}
.dash-safety-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:16px}.dash-safety-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-safety-control{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border);border-left:5px solid #d89b2b;border-radius:10px;color:var(--text);text-decoration:none;background:var(--surface-sunken)}.dash-safety-control.is-ok{border-left-color:#3c9a67}.dash-safety-control:hover{border-color:var(--forest-600)}.dash-safety-control-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.dash-safety-control-head span{display:block;font-size:10px;letter-spacing:.08em;font-weight:800;color:var(--text-muted)}.dash-safety-control-head strong{display:block;margin-top:3px;font-size:16px}.dash-safety-control-head b{font-size:18px;white-space:nowrap}.dash-safety-assigned{font-size:12px}.dash-safety-bar{height:8px;border-radius:99px;background:var(--surface);overflow:hidden}.dash-safety-bar i{display:block;height:100%;background:var(--forest-600);border-radius:99px}.dash-safety-control small{font-size:12px;color:var(--text-muted)}.dash-safety-archive{border:1px solid var(--border);border-radius:10px;padding:12px}.dash-safety-subhead{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.dash-safety-subhead span{font-size:11px;color:var(--text-muted)}.dash-safety-archive-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border)}.dash-safety-archive-row:first-of-type{border-top:0}.dash-safety-archive-row>div{min-width:0}.dash-safety-archive-row strong,.dash-safety-archive-row span{display:block}.dash-safety-archive-row strong{font-size:13px}.dash-safety-archive-row span{font-size:11px;color:var(--text-muted);margin-top:2px}.dash-pdf-missing{color:var(--danger)!important;font-weight:700;font-size:12px}
.dash-safety-archive-group{margin:10px -4px 0;padding:7px 4px 4px;color:var(--forest-800);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border)}
@media(max-width:1200px){.dash-kpis{grid-template-columns:repeat(3,1fr)}.dash-main-grid{grid-template-columns:1fr}.dash-secondary-grid{grid-template-columns:1fr 1fr}.dash-safety-grid{grid-template-columns:1fr}.dash-today-row{grid-template-columns:68px 1fr 1fr 58px}}@media(max-width:760px){.dashboard-hero{align-items:flex-start;flex-direction:column}.dash-kpis{grid-template-columns:repeat(2,1fr)}.dash-secondary-grid{grid-template-columns:1fr}.dash-safety-open{grid-template-columns:1fr}.dash-today-row{grid-template-columns:58px 1fr 52px}.dash-team{display:none}.dash-pipeline{grid-template-columns:repeat(2,1fr)}.dash-personnel{grid-template-columns:repeat(2,1fr)}}

/* V4.1 Backup & Restore */
.backup-warning{padding:12px 14px;margin:12px 0 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft,rgba(127,127,127,.06));font-size:13px;line-height:1.45}
.backup-table-wrap{overflow:auto}
.backup-table{min-width:720px}
.backup-table td,.backup-table th{vertical-align:middle}

.safety-alert{margin:12px 0;padding:12px 14px;border:2px solid #b42318;border-radius:10px;background:#fff1f0;color:#8a1c13}
.safety-global-setting{display:flex;align-items:center;gap:18px;margin:12px 0;border-left:5px solid var(--forest-600)}
.safety-global-setting>div:first-child{display:grid;gap:4px;flex:1}.safety-global-setting>div:first-child span{color:var(--text-muted)}
.safety-global-setting-actions{display:flex;align-items:end;gap:8px}.safety-global-setting-actions label{font-weight:700}.safety-global-setting-actions input{width:90px}
.safety-global-readonly{min-height:42px;display:flex;align-items:center;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);font-weight:700;color:var(--forest-800)}
@media(max-width:760px){.safety-global-setting,.safety-global-setting-actions{align-items:stretch;flex-direction:column}.safety-global-setting-actions input{width:100%}}
.safety-run-banner{display:flex;gap:16px;align-items:center;margin:12px 0;border-left:5px solid #b42318}.safety-run-banner span{flex:1;color:#666}
.safety-assignment{display:grid;gap:4px;margin:0 0 12px;border-left:5px solid var(--forest-600)}.safety-assignment strong{font-size:16px}.safety-assignment span,.safety-assignment small{color:var(--text-muted)}
.safety-run-list{max-height:52vh;overflow:auto;margin:14px 0}.safety-run-item,.team-safety-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e5e5e5}.safety-run-item>div:first-child,.team-safety-item>div:first-child{flex:1}.safety-run-item span,.team-safety-item span{display:block;color:#666;font-size:12px;margin-top:2px}.team-safety-item>div:nth-child(2){display:grid;grid-template-columns:auto auto;gap:4px 8px;align-items:center}.danger-text{color:#b42318;font-weight:700;font-size:12px;margin-top:4px}

.safety-pending-text{font-size:12px;font-weight:700;color:#8a5a00;margin-top:4px}.safety-change-list{display:flex;flex-direction:column}.safety-change-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.safety-change-row>div:first-child{flex:1;min-width:0}.safety-change-row span,.safety-change-row small{display:block;color:var(--text-muted);font-size:12px;margin-top:3px}

/* V4.5 Sicherheitsregister Kontrollmodus & Scan */
.safety-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.block-small{display:block;font-size:10px;margin-top:3px}
.safety-register-table tbody td{padding-top:15px;padding-bottom:15px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.safety-register-table{min-width:1050px}
.safety-register-table tbody tr:last-child td{border-bottom:0}
.safety-register-table tbody td:first-child strong{display:block}
.safety-equipment-id{display:block;margin-top:4px;color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.02em}
.serial-scan-row{display:flex;gap:8px;align-items:center}.serial-scan-row input[type=text],.serial-scan-row input:not([type]){flex:1}
.safety-progress{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-sunken)}
.safety-progress>strong,.safety-progress>span{display:block}.safety-progress>span{font-size:12px;color:var(--text-muted);margin-top:2px}
.safety-progress>div{height:8px;background:var(--surface);border-radius:99px;margin-top:8px;overflow:hidden}.safety-progress i{display:block;height:100%;background:var(--forest-600);border-radius:99px}
.safety-run-item{padding:10px;border:1px solid var(--border);border-radius:8px;margin-bottom:7px}
.safety-run-item.run-open{background:#fff1f0;border-color:#e1a3a0}.safety-run-item.run-done{background:#edf7ef;border-color:#9bc9a7}.safety-run-item.run-warn{background:#fff7e6;border-color:#e0bd6d}.safety-run-item.run-bad{background:#fbe7e7;border-color:#c86464}
@media(max-width:900px){.safety-filter-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media(max-width:600px){.safety-filter-grid{grid-template-columns:1fr}.serial-scan-row{align-items:stretch;flex-direction:column}}

/* V4.6 Lesbarkeit & barriereärmere Bedienung */
:root{
  --bg:#FBFAF7;
  --surface-sunken:#F4F1E9;
  --border:#D4CEBF;
  --text:#182019;
  --text-muted:#514F47;
  --text-faint:#6F6B61;
  --header-h:68px;
  --nav-w:242px;
}
[data-theme='dark']{
  --bg:#243129;
  --surface:#2D3B32;
  --surface-sunken:#34453A;
  --border:#65756A;
  --text:#FFFFFF;
  --text-muted:#D7DED7;
  --text-faint:#BCC7BD;
}
body{font-size:16px;line-height:1.5;-webkit-font-smoothing:auto;text-rendering:optimizeLegibility}
p,li,td,dd{line-height:1.55}
h1{font-size:28px}h2{font-size:24px}h3{font-size:20px}
.content{padding:24px 28px}
.nav-items a{min-height:44px;padding:11px 12px;font-size:15px;color:rgba(255,255,255,.88)}
.nav-brand .name{font-size:19px}.nav-brand .sub{font-size:12px;opacity:.82}
.nav-user .who .n{font-size:14px}.nav-user .who .r,.nav-foot{font-size:13px;color:rgba(255,255,255,.76)}
.topbar .crumb,.muted,.field-help,.lead-small{font-size:14px}
.field{margin-bottom:18px}.field label{font-size:14px;line-height:1.35;margin-bottom:7px;letter-spacing:.025em}
.field input,.field select,.field textarea,.search-input input{min-height:46px;padding:11px 13px;background:var(--surface);border-width:1.5px}
.field textarea{min-height:96px}
.btn{min-height:44px;padding:10px 17px;font-size:15px;line-height:1.25}
.btn-sm{min-height:38px;padding:8px 12px;font-size:14px}
.icon-btn{min-width:40px;min-height:40px;padding:8px;font-size:20px}
.modal-close{width:44px;height:44px;font-size:25px}
table.data-table th{font-size:13px;padding:13px 15px;color:var(--text);letter-spacing:.035em}
table.data-table td{font-size:15px;padding:13px 15px}
.badge,.badge-status{font-size:13px;padding:4px 9px}
.empty-hint,.toast,.login-error{font-size:14px}
.login-card{max-width:440px}.login-card h1{font-size:27px}.login-card p.lead{font-size:15px}.login-mark .sub,.login-demo summary,.login-demo table{font-size:13px}
.dash-panel-head h3{font-size:20px}.dash-panel-head>a{font-size:14px}.dash-kpi small{font-size:13px}
.dash-today-row{padding:14px 4px}.dash-time,.dash-job strong,.dash-team{font-size:14px}.dash-time span,.dash-job span,.dash-team span{font-size:13px}
.dash-action{min-height:48px;font-size:14px}.dash-all-good strong{font-size:14px}.dash-all-good span{font-size:13px}
.safety-run-item,.team-safety-item{padding:13px}.safety-run-item span,.team-safety-item span,.safety-change-row span,.safety-change-row small,.safety-progress>span{font-size:14px;color:var(--text-muted)}
.block-small{font-size:13px}.safety-progress>div{height:12px}
@media(max-width:760px){body{font-size:16px}.content{padding:18px 14px}.btn{min-height:46px}.nav-items a{min-height:46px}}

/* Version 4.7: flexible Mehrtagesplanung und schneller Kontrollmodus */
.modal.modal-wide{max-width:min(1040px,96vw)}
.timeline-hour-block .resize-handle,.week-chip .resize-handle{position:absolute;top:0;bottom:0;width:12px;z-index:5;cursor:ew-resize;touch-action:none}
.timeline-hour-block .resize-handle.left,.week-chip .resize-handle.left{left:0}
.timeline-hour-block .resize-handle.right,.week-chip .resize-handle.right{right:0}
.week-chip.multi-day-segment{min-height:38px;padding-left:12px;padding-right:12px;overflow:visible;user-select:none}
.week-chip.segment-start{border-top-right-radius:2px;border-bottom-right-radius:2px}
.week-chip.segment-middle{border-radius:2px;border-left-style:dashed;border-right-style:dashed}
.week-chip.segment-end{border-top-left-radius:2px;border-bottom-left-radius:2px}
.week-chip-time{display:block;font-size:11px;font-weight:700;opacity:.82}
.week-chip[data-resize-preview]::after{content:attr(data-resize-preview);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);z-index:30;background:var(--text);color:var(--surface);padding:6px 9px;border-radius:6px;box-shadow:var(--shadow-lg);font-size:12px;white-space:nowrap}
.safety-run-quickbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:14px;align-items:end;margin:14px 0}
.safety-run-quickbar .field{margin:0}.safety-only-open{display:flex;align-items:center;gap:8px;min-height:46px;font-weight:650;white-space:nowrap}
.safety-only-open input{width:20px;height:20px}
.safety-advanced-filters{margin:0 0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-sunken)}
.safety-advanced-filters summary{cursor:pointer;padding:11px 13px;font-weight:700}.safety-advanced-filters .safety-filter-grid{padding:0 13px 4px;margin:0}
.safety-run-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){.modal.modal-wide{max-width:100%}.safety-run-quickbar{grid-template-columns:1fr}.safety-run-item{align-items:flex-start;flex-direction:column}.safety-run-actions{width:100%;justify-content:stretch}.safety-run-actions .btn{flex:1}.week-chip.multi-day-segment{min-height:42px}}
.signature-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:14px;border-left:5px solid var(--forest-600);border-radius:8px;background:var(--surface-sunken)}
.signature-summary strong,.signature-summary span{display:block}.signature-summary span{color:var(--text-muted);font-size:13px}
.signature-pad-wrap{position:relative;height:210px;border:2px dashed var(--forest-600);border-radius:12px;overflow:hidden;background:#fff;touch-action:none;user-select:none;-webkit-user-select:none}
.signature-pad-wrap canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}
.signature-pad-wrap>span{position:absolute;left:0;right:0;bottom:10px;text-align:center;color:#8a968f;font-size:12px;pointer-events:none}
.signature-confirm{margin-top:16px;padding:12px;border-radius:8px;background:var(--surface-sunken);font-weight:700}.signature-confirm input{width:22px;height:22px;flex:0 0 auto}
@media(max-width:600px){.signature-summary{align-items:flex-start;flex-direction:column}.signature-pad-wrap{height:240px}.signature-confirm{align-items:flex-start}}
/* Muss nach den kompakten Planungskopf-Regeln stehen, damit die persönliche
   Testansicht auf schmalen Mobilgeräten keinen horizontalen Überlauf erzeugt. */
@media(max-width:640px){.topbar-main{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;width:100%;gap:8px 10px}.topbar-main .menu-toggle{grid-column:1;grid-row:1}.topbar-title-group{grid-column:2;grid-row:1;min-width:0}.topbar-title-group .crumb{white-space:normal;line-height:1.35}.view-as-tools{grid-column:1/-1;grid-row:2;width:100%;gap:6px}.view-as-control{display:grid;grid-template-columns:118px minmax(0,1fr);width:100%;box-sizing:border-box;padding:5px 6px 5px 9px}.view-as-control select{width:100%;min-width:0;max-width:100%}}

/* Version 4.9.26: wiederkehrende Aufträge, Pflichttermine und Baustellenkontrollen. */

/* Version 4.9.26: dauerhafte Baustellendossiers und kalenderunabhängige Kontrollen. */
.site-inspection-dossier-choice{margin-bottom:18px;padding:14px;border:1px solid var(--forest-300);border-radius:11px;background:var(--forest-50)}
.site-inspection-new-site-settings{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.35fr);align-items:end;gap:12px}.site-inspection-new-site-settings[hidden]{display:none}.site-inspection-new-site-settings .field{margin:0}.site-inspection-new-site-settings .check-line{min-height:45px;margin:0}
.site-inspection-dossier-list{display:flex;flex-direction:column;gap:12px}.site-inspection-dossier{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm)}.site-inspection-dossier.is-warning{border-color:#d8a52d}.site-inspection-dossier.is-completed{opacity:.88}.site-inspection-dossier>summary{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;list-style:none}.site-inspection-dossier>summary::-webkit-details-marker{display:none}.site-inspection-dossier>summary>div strong,.site-inspection-dossier>summary>div span,.site-inspection-dossier>summary>div small{display:block}.site-inspection-dossier>summary>div span{margin-top:3px;color:var(--text-muted);font-size:13px}.site-inspection-dossier>summary>div small{margin-top:3px;color:var(--text-faint);font-size:12px}.site-dossier-folder{display:inline-flex;align-items:center;justify-content:center;width:34px;height:30px;border-radius:6px;background:var(--forest-100);color:var(--forest-700);font-size:21px}.site-dossier-monitor{padding:6px 10px;border-radius:999px;background:var(--forest-100);color:var(--forest-700);font-size:12px;font-weight:800}.site-dossier-monitor.is-warning{background:#fff1cb;color:#795809}.site-inspection-dossier-body{padding:0 18px 16px;border-top:1px solid var(--border)}.site-dossier-toolbar{display:flex;flex-wrap:wrap;gap:7px;padding:13px 0}.site-dossier-toolbar .btn{flex:0 0 auto;white-space:nowrap}.site-inspection-status-action[data-status="completed"]{border-color:#dfb9b2;color:#8f3025;background:#fffaf9}.site-inspection-status-action[data-status="completed"]:hover{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.site-inspection-completed-title{margin-top:22px}
.site-dossier-compact{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--border)}.site-dossier-compact.is-warning{margin:0 -9px;padding:13px 9px;border-left:4px solid #d8a52d;background:#fffaf0}.site-dossier-compact-main{display:flex;align-items:center;gap:11px;min-width:0}.site-dossier-compact-main>div strong,.site-dossier-compact-main>div span,.site-dossier-compact-main>div small,.site-dossier-compact-main>div em{display:block}.site-dossier-compact-main>div span,.site-dossier-compact-main>div small{margin-top:2px;color:var(--text-muted);font-size:12px}.site-dossier-compact-main>div em{margin-top:4px;color:var(--forest-700);font-size:12px;font-style:normal;font-weight:750}.site-dossier-compact.is-warning em{color:#8b6508}.site-dossier-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex:0 0 auto}
.site-inspection-dossier-meta,.customer-edit-source{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:12px}.site-inspection-dossier-meta[hidden]{display:none}.customer-edit-source{display:flex;flex-direction:column;gap:3px;border:1px solid var(--border);background:var(--surface-sunken)}.customer-edit-source strong{color:var(--forest-700)}
@media(max-width:820px){.site-inspection-dossier>summary{grid-template-columns:34px minmax(0,1fr)}.site-dossier-monitor{grid-column:1/-1;justify-self:start}.site-dossier-compact{align-items:flex-start;flex-direction:column}.site-dossier-actions{width:100%;justify-content:flex-start}.site-dossier-toolbar .btn{flex:1 1 190px}.site-inspection-new-site-settings{grid-template-columns:1fr}}
@media(max-width:480px){.site-dossier-toolbar .btn{flex-basis:100%;width:100%}}
.order-repeat-panel,.order-mandatory-panel{margin:14px 0 0;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-sunken)}
.order-repeat-panel legend,.order-mandatory-panel legend{padding:0 7px;font-weight:800;color:var(--forest-700)}
.order-repeat-panel>small,.order-mandatory-panel>div>small{display:block;color:var(--text-muted);font-size:12px;line-height:1.45}
.order-series-note{display:flex;flex-direction:column;gap:3px;margin-top:14px;padding:12px 14px;border-left:4px solid var(--forest-500);border-radius:8px;background:var(--forest-50)}
.order-series-note span{color:var(--text-muted);font-size:13px}
.planner-mandatory-alert{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 12px;padding:12px 14px;border:1px solid #d5ad55;border-left:5px solid #b27613;border-radius:9px;background:#fff4d6;color:#60470f}
.planner-mandatory-alert>div:first-child{min-width:210px}.planner-mandatory-alert>div:first-child strong,.planner-mandatory-alert>div:first-child span{display:block}.planner-mandatory-alert>div:first-child span{margin-top:3px;font-size:12px}
.planner-mandatory-list{display:flex;flex:1;flex-wrap:wrap;justify-content:flex-end;gap:7px}.planner-mandatory-item{min-width:205px;padding:7px 9px;border:1px solid rgba(96,71,15,.22);border-radius:7px;background:rgba(255,255,255,.48)}.planner-mandatory-item strong,.planner-mandatory-item small{display:block}.planner-mandatory-item small{margin-top:2px}.planner-mandatory-item.is-current{border-color:#b27613;background:#fff}
.cloud-series-badge,.cloud-mandatory-badge{display:inline-block;margin-left:3px;padding:1px 5px;border-radius:99px;font-family:var(--font-sans);font-size:10px;font-weight:800;vertical-align:1px}.cloud-series-badge{background:var(--forest-100);color:var(--forest-700)}.cloud-mandatory-badge{background:#fff0c7;color:#76500b}
[data-theme='dark'] .planner-mandatory-alert{background:#4b3c1f;color:#ffe6a8;border-color:#9d7a34}[data-theme='dark'] .planner-mandatory-item{background:rgba(0,0,0,.12);border-color:rgba(255,230,168,.24)}[data-theme='dark'] .planner-mandatory-item.is-current{background:rgba(0,0,0,.25)}
.site-inspection-widget{position:relative;overflow:hidden}.site-inspection-widget>.dash-panel-head{position:relative;z-index:1}.site-inspection-widget .dash-panel-head p{max-width:720px;margin:3px 0 0;color:var(--text-muted);font-size:13px}.site-inspection-widget-tree{position:absolute;right:28px;top:-58px;color:var(--forest-100);font-family:serif;font-size:210px;line-height:1;transform:rotate(180deg);opacity:.42;pointer-events:none}
.site-inspection-kpis{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:13px 0}.site-inspection-kpis>div{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-sunken)}.site-inspection-kpis strong{font-size:22px;color:var(--forest-700)}.site-inspection-kpis span{font-size:12px;color:var(--text-muted)}.site-inspection-kpis .is-warning{border-color:#d5ad55;background:#fff4d6}.site-inspection-kpis .is-warning strong{color:#9a5f00}
.site-inspection-dashboard-list{position:relative;z-index:1;display:flex;flex-direction:column}.site-inspection-dashboard-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.site-inspection-dashboard-row>div:nth-child(2){min-width:0}.site-inspection-dashboard-row strong,.site-inspection-dashboard-row span,.site-inspection-dashboard-row small{display:block}.site-inspection-dashboard-row span,.site-inspection-dashboard-row small{margin-top:2px;color:var(--text-muted);font-size:12px}.site-inspection-dashboard-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-inspection-status{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-weight:900}.site-inspection-status.is-ok{background:var(--forest-100);color:var(--forest-700)}.site-inspection-status.is-open{background:var(--danger-bg);color:var(--danger)}
.site-inspection-archive-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;width:100%;box-sizing:border-box;overflow:hidden;padding:26px 28px;border-radius:12px;background:var(--forest-900);color:#fff}.site-inspection-archive-hero>div{min-width:0;flex:1}.site-inspection-archive-hero h1{margin:3px 0 8px;color:#fff;line-height:1.08}.site-inspection-archive-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.82);line-height:1.5;white-space:normal;overflow-wrap:anywhere}.site-inspection-archive-hero .eyebrow{display:block;color:#c9ddc3}.site-inspection-archive-hero .btn{flex:0 0 auto;border-color:rgba(255,255,255,.2);background:var(--forest-700);white-space:nowrap}.site-inspection-archive-hero .btn:hover{background:var(--forest-600)}.site-inspection-archive-kpis{margin:16px 0}.site-inspection-archive{padding:18px}.site-inspection-archive-list{display:flex;flex-direction:column}.site-inspection-archive-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 2px;border-top:1px solid var(--border)}.site-inspection-archive-row:first-child{border-top:0}.site-inspection-archive-main{display:grid;min-width:0;gap:3px}.site-inspection-archive-main>span,.site-inspection-archive-main>small{color:var(--text-muted)}.site-inspection-archive-main>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-inspection-archive-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.site-inspection-archive-meta{display:flex;gap:12px;margin-top:4px}.site-inspection-archive-meta span{font-size:11px;color:var(--text-muted)}
.site-inspection-report-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.site-inspection-form{display:flex;flex-direction:column}.site-inspection-tree-intro{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:13px 15px;border-radius:10px;background:var(--forest-900);color:#fff}.site-inspection-tree-intro>img{width:52px;height:52px;flex:0 0 52px;border-radius:9px;object-fit:cover}.site-inspection-tree-intro strong,.site-inspection-tree-intro span{display:block}.site-inspection-tree-intro>div>span{margin-top:3px;color:rgba(255,255,255,.75);font-size:13px}.site-inspection-dates{margin:4px 0 14px;padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface-sunken)}.site-inspection-dates .site-inspection-section-title{margin-top:0}.site-inspection-date-row{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(240px,1.3fr) 36px;align-items:end;gap:10px;padding:9px 0;border-top:1px solid var(--border)}.site-inspection-date-row:first-child{border-top:0}.site-inspection-date-row label{display:grid;gap:4px}.site-inspection-date-row label>span{font-size:12px;font-weight:750;color:var(--text-muted)}
.site-inspection-ok{display:flex;align-items:flex-start;gap:11px;margin:2px 0 16px;padding:13px 14px;border:2px solid var(--forest-400);border-radius:10px;background:var(--forest-50);cursor:pointer}.site-inspection-ok input{width:20px;height:20px;margin-top:2px;accent-color:var(--forest-700)}.site-inspection-ok span strong,.site-inspection-ok span small{display:block}.site-inspection-ok small{margin-top:2px;color:var(--text-muted)}.site-inspection-section-title{margin-top:8px}.site-inspection-section-title p{margin:2px 0 0}
.site-inspection-entry{margin:0 0 11px;padding:13px;border:1px solid var(--border);border-left:5px solid var(--danger);border-radius:9px;background:var(--surface-sunken)}#inspectionPositiveExamples .site-inspection-entry{border-left-color:var(--forest-500)}.site-inspection-entry-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.site-inspection-entry-head strong{color:var(--forest-900)}.site-inspection-entry .field{margin-bottom:10px}.site-inspection-resolved,.site-inspection-positive-label{display:flex;align-items:center;gap:8px;align-self:center;padding:9px 11px;border-radius:8px;background:var(--surface);font-size:13px;font-weight:700}.site-inspection-resolved input{width:19px;height:19px;accent-color:var(--forest-700)}.site-inspection-positive-label{color:var(--forest-700)}
.site-inspection-finding-deadline{align-items:end}.site-inspection-finding-deadline .site-inspection-resolved{min-height:45px;margin-bottom:10px}.site-inspection-due{font-weight:750;color:var(--danger)!important}
.customer-edit-cell{width:1%;text-align:right;white-space:nowrap}.customer-edit-button{min-width:auto!important;min-height:30px!important;padding:4px 9px!important;border-color:color-mix(in srgb,var(--border) 75%,transparent);background:transparent;color:var(--text-muted);font-size:12px!important;font-weight:650;line-height:1!important;white-space:nowrap;writing-mode:horizontal-tb;word-break:normal;overflow-wrap:normal}.customer-edit-button:hover{border-color:var(--forest-400);background:var(--forest-50);color:var(--forest-700)}
.site-inspection-photo{display:grid;grid-template-columns:auto minmax(0,1fr) 90px;align-items:center;gap:9px;padding:9px 11px;border:1px dashed var(--forest-500);border-radius:8px;background:var(--surface);cursor:pointer}.site-inspection-photo>span{font-weight:700;color:var(--forest-700)}.site-inspection-photo input{min-width:0}.site-inspection-photo small{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-inspection-photo img{grid-column:3;grid-row:1;width:90px;height:60px;border-radius:6px;object-fit:cover}
@media(max-width:850px){.planner-mandatory-alert{flex-direction:column}.planner-mandatory-list{width:100%;justify-content:stretch}.planner-mandatory-item{flex:1 1 210px}.site-inspection-kpis{grid-template-columns:1fr}.site-inspection-dashboard-row,.site-inspection-archive-row{grid-template-columns:30px minmax(0,1fr)}.site-inspection-dashboard-row .btn,.site-inspection-archive-row .btn{grid-column:1/-1}.site-inspection-report-actions{grid-column:1/-1;justify-content:stretch}.site-inspection-report-actions .btn{flex:1 1 180px}.site-inspection-photo{grid-template-columns:1fr}.site-inspection-photo img{grid-column:1;grid-row:auto;width:100%;height:180px}.site-inspection-tree-intro{align-items:flex-start}.site-inspection-date-row{grid-template-columns:1fr 36px}.site-inspection-date-row label:nth-child(2){grid-column:1}.site-inspection-date-row [data-remove-inspection-date]{grid-column:2;grid-row:1}}
@media(max-width:680px){.site-inspection-archive-hero{align-items:flex-start;flex-direction:column;gap:16px;padding:21px 20px;border-radius:10px}.site-inspection-archive-hero h1{font-size:27px}.site-inspection-archive-hero .btn{min-height:40px;padding:8px 13px;font-size:13px}}
.timeline-context{border-color:var(--border)}

.capture-mode-intro{display:grid;gap:4px;margin-bottom:14px;padding:13px 15px;border-left:5px solid var(--forest-600);border-radius:9px;background:var(--surface-sunken)}.capture-mode-intro span{color:var(--text-muted)}
.capture-mode-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:16px}.capture-mode-grid>section{padding:15px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.capture-mode-grid h4{margin:0 0 13px;color:var(--forest-800)}.capture-unique{border-color:var(--forest-500)!important;background:var(--surface-sunken)!important}.capture-camera{display:grid;gap:6px;margin:12px 0}.capture-camera small{color:var(--text-muted);line-height:1.4}.capture-results{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.capture-result-list{display:grid;gap:6px}.capture-result-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-sunken)}.capture-result-row span{color:var(--text-muted);font-size:13px}.capture-result-row b{color:var(--forest-600)}
@media(max-width:760px){.capture-mode-grid{grid-template-columns:1fr}.capture-mode-grid>section{padding:12px}.capture-result-row{grid-template-columns:minmax(0,1fr) auto}.capture-result-row span{grid-column:1/-1;grid-row:2}.capture-unique .btn-block{min-height:52px}}
.login-build{margin:10px 0 16px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-sunken);color:var(--text-muted);font-size:13px;text-align:center;font-weight:650}.login-build small{font-weight:500}.login-status{min-height:24px;margin-top:10px;color:var(--forest-700);font-size:14px;text-align:center;font-weight:650}

/* Version 4.7.3: Sicherheitscockpit und direkte Tagesdauer am Block */
.planner-main #gridContainer{max-width:100%;overflow-x:auto;overflow-y:visible;padding-bottom:10px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.week-grid{grid-template-columns:190px repeat(7,minmax(145px,1fr));min-width:1205px;width:max-content;overflow:visible}.week-grid .we{position:sticky;left:0;z-index:4;background:var(--surface)}.week-grid .week-preplan-label{background:var(--bark-100)}.week-grid .week-team-label{background:var(--forest-100)}.week-grid .week-resource-label{background:var(--bark-100)}
.selection-toolbar-wrap{flex-wrap:wrap}.duration-day-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.duration-day-controls>span{font-weight:700;color:var(--text-muted);font-size:13px}.group-date-range{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-sunken)}.group-date-range span{color:var(--text-muted)}
.week-chip .visible-resize-handle,.timeline-chip .visible-resize-handle{display:flex;align-items:center;justify-content:center;width:18px;background:rgba(255,255,255,.72);color:currentColor;font-size:22px;font-weight:800;line-height:1;opacity:.9;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.12);cursor:ew-resize;touch-action:none}
.week-chip .visible-resize-handle:hover,.timeline-chip .visible-resize-handle:hover{background:#fff;opacity:1}.week-chip.multi-day-segment,.timeline-chip.multi-day-segment{padding-left:23px;padding-right:23px}.timeline-chip.multi-day-segment{position:relative;min-height:38px;display:flex;align-items:center}.timeline-chip-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.timeline-chip[data-resize-preview]::after{content:attr(data-resize-preview);position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);z-index:30;padding:6px 9px;border-radius:6px;background:var(--text);color:var(--surface);box-shadow:var(--shadow-lg);font-size:12px;white-space:nowrap}
@media(max-width:900px){.duration-day-controls{width:100%}.duration-day-controls .btn{flex:1;min-width:130px}.assignment-date-row{grid-template-columns:1fr 1fr}}

/* Version 4.7.4: persönlich anpassbares Dashboard */
.dashboard-hero-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dash-customizer{display:grid;grid-template-columns:minmax(240px,1fr) minmax(360px,2fr) auto;align-items:center;gap:16px;padding:15px 17px;border:2px solid var(--forest-500)}.dash-customizer>div:first-child strong,.dash-customizer>div:first-child span{display:block}.dash-customizer>div:first-child span{margin-top:3px;color:var(--text-muted);font-size:12px}.dash-widget-toggles{display:flex;align-items:center;gap:7px 15px;flex-wrap:wrap}.dash-widget-toggles label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:650;cursor:pointer}.dash-widget-toggles input{width:18px;height:18px;accent-color:var(--forest-600)}
.dash-widget-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:start}.dash-widget{min-width:0;position:relative}.dash-widget-full{grid-column:span 12}.dash-widget-wide{grid-column:span 7}.dash-widget-narrow{grid-column:span 5}.dash-widget-half{grid-column:span 6}.dash-widget>.card{height:100%;box-sizing:border-box}.dash-widget.is-editing{padding-top:39px;border:2px dashed var(--forest-500);border-radius:12px;background:rgba(77,123,84,.06);cursor:grab}.dash-widget.is-editing:active{cursor:grabbing}.dash-widget-editbar{position:absolute;top:0;left:0;right:0;height:39px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 7px 4px 11px;color:var(--forest-700);font-size:12px;font-weight:750}.dash-widget-editbar>div{display:flex;gap:3px}.dash-drag-handle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-widget.is-dragging{opacity:.42}.dash-widget.is-drop-target{box-shadow:0 0 0 4px var(--forest-500)}.dash-empty-widgets{grid-column:1/-1;padding:28px;text-align:center}.dash-empty-widgets strong,.dash-empty-widgets span{display:block}.dash-empty-widgets span{margin-top:5px;color:var(--text-muted)}
@media(max-width:1050px){.dash-widget-wide,.dash-widget-narrow,.dash-widget-half{grid-column:span 12}.dash-customizer{grid-template-columns:1fr}.dash-customizer .btn{justify-self:start}}@media(max-width:700px){.dashboard-hero-actions{width:100%;justify-content:stretch}.dashboard-hero-actions .btn{flex:1}.dash-widget-grid{gap:12px}.dash-widget-toggles{display:grid;grid-template-columns:1fr 1fr}.dash-widget.is-editing{padding-top:43px}.dash-widget-editbar{height:43px}}

/* Version 4.7.5: echte zusammenhängende Auftragsbalken im Kalender */
.timeline-track.continuous-track{position:relative;display:flex;align-items:stretch}.timeline-cell.continuous-cell{padding:0}.timeline-span-block{position:absolute;height:40px;box-sizing:border-box;border:2px solid var(--prio-normal);border-radius:8px;background:var(--prio-normal-bg);color:var(--prio-normal);z-index:5;display:flex;align-items:center;min-width:54px;box-shadow:0 2px 5px rgba(20,40,25,.14);cursor:grab;user-select:none;overflow:visible}.timeline-span-block:active{cursor:grabbing}.timeline-span-label{box-sizing:border-box;display:flex;align-items:baseline;gap:7px;min-width:0;width:100%;padding:4px 31px;overflow:hidden;white-space:nowrap}.timeline-span-label strong{font-size:12px;flex:0 0 auto}.timeline-span-label>span{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis}.timeline-span-label small{font-size:10.5px;opacity:.78;flex:0 0 auto}.timeline-span-block.is-compact .timeline-span-label>span,.timeline-span-block.is-compact .timeline-span-label small{display:none}.timeline-span-block.is-multiday{box-shadow:0 3px 8px rgba(20,40,25,.2)}.timeline-span-block .visible-resize-handle{position:absolute;top:2px;bottom:2px;width:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:rgba(255,255,255,.92);box-shadow:0 0 0 1px rgba(0,0,0,.16);font-size:23px;font-weight:850;line-height:1;cursor:ew-resize;touch-action:none;-webkit-user-drag:none;user-select:none;z-index:8}.timeline-span-block .visible-resize-handle.left{left:2px}.timeline-span-block .visible-resize-handle.right{right:2px}.timeline-span-block .visible-resize-handle:hover{background:#fff}.timeline-span-block[data-resize-preview]::after{content:attr(data-resize-preview);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);z-index:30;padding:7px 10px;border-radius:7px;background:var(--text);color:var(--surface);box-shadow:var(--shadow-lg);font-size:12px;white-space:nowrap}.timeline-span-block.selected-assignment{outline:3px solid var(--danger)!important}.timeline-section.resources .timeline-span-block{border-style:dashed}
.timeline-cell.minute-precision-cell{background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--timeline-raster,4%) - 1px),rgba(70,92,76,.10) calc(var(--timeline-raster,4%) - 1px),rgba(70,92,76,.10) var(--timeline-raster,4%))}
.timeline-span-block[data-move-preview]::after{content:attr(data-move-preview);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);z-index:31;padding:7px 10px;border-radius:7px;background:var(--forest-900);color:#fff;box-shadow:var(--shadow-lg);font-family:var(--font-mono);font-size:12px;white-space:nowrap}
@media(max-width:760px){.timeline-span-label small{display:none}.timeline-span-label{padding-left:26px;padding-right:26px}}

/* Version 4.9: persönlicher Mitarbeiterbereich «Arbor App» */
.arbor-app-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:14px;padding:4px 2px}.arbor-app-identity{display:flex;align-items:center;gap:18px;min-width:0}.arbor-app-logo{width:98px;height:98px;flex:0 0 98px;border-radius:22px;object-fit:cover;box-shadow:0 7px 22px rgba(18,55,32,.24)}.arbor-app-hero h2{margin:3px 0 5px;font-size:30px}.arbor-app-hero p{margin:0;max-width:760px;color:var(--text-muted)}.arbor-app-person{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.arbor-app-person span{color:var(--text-muted);font-size:13px}.arbor-app-jump{position:sticky;top:0;z-index:25;display:flex;gap:6px;overflow-x:auto;margin:0 0 14px;padding:8px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 4px 14px rgba(24,40,29,.08);backdrop-filter:blur(10px)}.arbor-app-jump a{flex:0 0 auto;padding:8px 11px;border-radius:7px;color:var(--forest-700);font-size:13px;font-weight:750;text-decoration:none}.arbor-app-jump a:hover{background:var(--forest-100)}.arbor-app-stack{display:flex;flex-direction:column;gap:14px}.arbor-app-card{scroll-margin-top:76px}.portal-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.portal-two-columns h4{margin:0 0 10px;font-size:16px}.portal-list-row,.my-report-row,.manager-queue-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--border)}.portal-list-row>div,.my-report-row>div,.manager-queue-row>div{min-width:0}.portal-list-row strong,.portal-list-row span,.portal-list-row small,.my-report-row strong,.my-report-row span,.manager-queue-row strong,.manager-queue-row span{display:block}.portal-list-row span,.portal-list-row small,.my-report-row span,.manager-queue-row span{margin-top:3px;color:var(--text-muted);font-size:13px}.regular-control-start{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:14px;border:1px solid var(--forest-300);border-left:5px solid var(--forest-600);border-radius:10px;background:var(--forest-50)}.regular-control-start div{min-width:0}.regular-control-start strong,.regular-control-start span{display:block}.regular-control-start span{margin-top:4px;color:var(--text-muted);font-size:13px}.regular-control-start.is-active{background:var(--bark-100);border-color:var(--bark-500)}.my-assignment{border-bottom:1px solid var(--border)}.my-assignment summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px;cursor:pointer;list-style:none}.my-assignment summary::-webkit-details-marker{display:none}.my-assignment summary strong,.my-assignment summary span{display:block}.my-assignment summary span{margin-top:3px;color:var(--text-muted);font-size:13px}.my-assignment[open] summary b{transform:rotate(90deg)}.my-assignment-body{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:0 2px 14px}.my-assignment-body p{margin:0}.my-assignment-body a{color:var(--forest-700);font-weight:650}.knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.knowledge-tile{display:flex;flex-direction:column;min-height:115px;padding:14px;border:1px solid var(--border);border-radius:9px;color:var(--text);text-decoration:none;background:var(--surface-sunken)}.knowledge-tile span{font-size:11px;font-weight:800;color:var(--forest-600);text-transform:uppercase}.knowledge-tile strong{margin-top:6px}.knowledge-tile small{margin-top:5px;color:var(--text-muted)}.concern-lookup{margin-top:16px}.concern-lookup>div{display:flex;gap:7px}.concern-lookup input{min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:7px}.portal-permissions{margin-top:17px;padding:14px;border:1px solid var(--border);border-radius:9px}.portal-permissions legend{padding:0 7px;font-weight:800}.portal-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}.manager-queue-row.is-critical{margin:0 -8px;padding:11px 8px;border-left:4px solid var(--danger);background:var(--danger-bg)}.manager-queue-row>div:last-child{display:flex;gap:6px;flex:0 0 auto}.manager-queue-row span{max-width:760px;white-space:normal}.employee-area-table{min-width:620px}.arbor-safety-collapsible{padding:0;overflow:hidden}.arbor-safety-collapsible>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;padding:17px 20px}.arbor-safety-collapsible>summary::-webkit-details-marker{display:none}.arbor-safety-collapsible h3{margin:0}.arbor-safety-collapsible p{margin:4px 0 0}.arbor-safety-chevron{font-size:30px;line-height:1;transition:transform .18s}.arbor-safety-collapsible[open] .arbor-safety-chevron{transform:rotate(90deg)}.arbor-safety-body{padding:0 20px 20px;border-top:1px solid var(--border)}
.leave-compact{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,.7fr);gap:24px;align-items:start}.leave-request-compact{display:grid;grid-template-columns:minmax(170px,1.15fr) minmax(110px,.65fr) minmax(110px,.65fr) minmax(140px,1fr) auto;gap:8px;align-items:end}.leave-request-compact .field{min-width:0;margin:0}.leave-request-compact .field label{margin-bottom:5px;font-size:12px}.leave-request-compact .field input,.leave-request-compact .field select{width:100%;min-height:40px;padding:8px 10px}.leave-request-compact .btn{min-height:40px;padding:8px 12px;font-size:13px;white-space:nowrap}.leave-requests-compact h4{margin:0 0 5px;font-size:15px}.leave-requests-compact .empty-hint{padding:12px 8px;text-align:left}
.view-as-tools{display:flex;align-items:center;gap:7px;margin-left:auto}.view-as-control{display:flex;align-items:center;gap:8px;padding:5px 7px 5px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:12px;font-weight:750;white-space:nowrap}.view-as-control select{min-height:34px;padding:5px 28px 5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-sunken)}.view-as-banner{position:sticky;top:0;z-index:24;display:flex;align-items:center;justify-content:center;gap:12px;padding:7px 16px;border-bottom:1px solid #d5ad55;background:#fff4d6;color:#60470f;font-size:13px}.view-as-banner button{padding:5px 9px;border:1px solid #b98b2e;border-radius:6px;background:#fffaf0;color:#60470f;font-weight:750}.choice-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.choice-card{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1.5px solid var(--border);border-radius:9px;background:var(--surface-sunken);cursor:pointer}.choice-card:has(input:checked){border-color:var(--forest-600);background:var(--forest-50)}.choice-card input{margin-top:3px}.choice-card strong,.choice-card small{display:block}.choice-card small{margin-top:4px;color:var(--text-muted);line-height:1.4}
.arbor-app-jump button{flex:0 0 auto;padding:8px 11px;border:0;border-radius:7px;background:transparent;color:var(--forest-700);font:inherit;font-size:13px;font-weight:750;cursor:pointer}.arbor-app-jump button:hover,.arbor-app-jump button:focus-visible{background:var(--forest-100)}#my-time{scroll-margin-top:76px}
.nav-language{display:flex;align-items:center;justify-content:space-between;gap:7px;color:rgba(255,255,255,.78);font-size:11px}.nav-language select,.login-language select{min-height:34px;padding:5px 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.login-language{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:8px;color:var(--text-muted);font-size:12px}.manager-create-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.manager-audience-list{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin:-6px 0 16px;padding:11px;border:1px solid var(--border);border-radius:8px}.manager-audience-list.is-visible{display:grid}
.manager-material-summary{margin:4px 0 14px;padding:13px;border:1px solid var(--forest-300);border-radius:10px;background:var(--forest-50)}.manager-material-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}.manager-material-head strong,.manager-material-head span{display:block}.manager-material-head span{margin-top:2px;color:var(--text-muted);font-size:12px}.manager-material-list{display:flex;flex-direction:column}.manager-material-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid color-mix(in srgb,var(--forest-300) 65%,transparent)}.manager-material-qty{font-size:17px;font-weight:850;color:var(--forest-700)}.manager-material-row strong,.manager-material-row span,.manager-material-row small,.manager-material-row a{display:block}.manager-material-row span,.manager-material-row small,.manager-material-row a{margin-top:2px;font-size:12px}.manager-material-row span,.manager-material-row small{color:var(--text-muted)}.manager-material-row a{color:var(--forest-700);font-weight:700}.manager-material-row>div:last-child{display:flex;gap:6px}.btn.is-disabled{pointer-events:none;opacity:.5}
@media(max-width:1150px){.leave-compact{grid-template-columns:1fr}.leave-request-compact{grid-template-columns:1fr 1fr}.leave-request-compact .leave-type,.leave-request-compact .leave-note{grid-column:auto}.leave-request-compact .btn{grid-column:1/-1}}
@media(max-width:850px){.portal-two-columns,.knowledge-grid{grid-template-columns:1fr}.arbor-app-hero{align-items:flex-start;flex-direction:column}.arbor-app-person{align-items:flex-start}.regular-control-start,.manager-queue-row{align-items:flex-start;flex-direction:column}.manager-queue-row>div:last-child{width:100%}.manager-queue-row .btn{flex:1}.portal-permission-grid{grid-template-columns:1fr}.leave-request-compact{grid-template-columns:1fr 1fr}.leave-request-compact .leave-note,.leave-request-compact .btn{grid-column:1/-1}.view-as-tools{width:100%;margin-left:0;flex-direction:column}.view-as-control{width:100%}.view-as-control select{flex:1}.view-as-banner{align-items:flex-start;flex-wrap:wrap}.choice-cards{grid-template-columns:1fr}.manager-material-head{align-items:flex-start;flex-direction:column}.manager-material-row{grid-template-columns:34px minmax(0,1fr)}.manager-material-row>div:last-child{grid-column:1/-1}.manager-material-row>div:last-child .btn{flex:1}}
@media(max-width:640px){.topbar-main{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;width:100%;gap:8px 10px}.topbar-main .menu-toggle{grid-column:1;grid-row:1}.topbar-title-group{grid-column:2;grid-row:1;min-width:0}.topbar-title-group .crumb{white-space:normal;line-height:1.35}.view-as-tools{grid-column:1/-1;grid-row:2;gap:6px}.view-as-control{display:grid;grid-template-columns:118px minmax(0,1fr);box-sizing:border-box;padding:5px 6px 5px 9px}.view-as-control select{width:100%;min-width:0}.view-as-banner{justify-content:flex-start}.arbor-app-jump{overflow-x:auto;justify-content:flex-start}.arbor-app-jump button{flex:0 0 auto}}
@media(max-width:520px){.arbor-app-logo{width:74px;height:74px;flex-basis:74px;border-radius:17px}.arbor-app-identity{align-items:flex-start;gap:12px}}
@media(max-width:520px){.leave-request-compact{grid-template-columns:1fr}.leave-request-compact .leave-note,.leave-request-compact .btn{grid-column:auto}.leave-request-compact .btn{width:100%}}

/* Version 4.9.8: E-Mail-Zugänge und fein steuerbare Zuständigkeiten */
.access-intro,.credential-notice{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;padding:13px 15px;border-left:5px solid var(--forest-600);border-radius:8px;background:var(--forest-50)}
.access-intro span,.credential-notice span{color:var(--text-muted);font-size:13px;line-height:1.45}.access-table-wrap{overflow:auto}.access-table{min-width:760px}.access-table td:first-child strong,.access-table td:first-child small{display:block}.access-table td:first-child small{margin-top:3px;color:var(--text-muted)}.access-table td:last-child{text-align:right}
.access-status{display:inline-flex;align-items:center;padding:4px 9px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:750}.access-status.is-active{background:var(--forest-100);color:var(--forest-700)}.access-status.is-missing{background:var(--surface-sunken);color:var(--text-muted)}.access-status.is-locked{background:var(--danger-bg);color:var(--danger)}
.access-account-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.75fr);gap:12px}.access-active{min-height:46px;align-self:end;margin-bottom:16px}.access-permissions{margin-top:15px;padding:15px;border:1px solid var(--border);border-radius:10px}.access-permissions legend{padding:0 7px;font-weight:800}.access-permission-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.access-permission-head p{margin:0}.access-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.access-permission-card{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-sunken);cursor:pointer}.access-permission-card:has(input:checked){border-color:var(--forest-500);background:var(--forest-50)}.access-permission-card input{width:19px;height:19px;margin:1px 0 0;accent-color:var(--forest-600);flex:0 0 auto}.access-permission-card strong,.access-permission-card small{display:block}.access-permission-card small{margin-top:4px;color:var(--text-muted);font-size:12px;line-height:1.38}.access-permission-card.is-disabled{opacity:.48;cursor:not-allowed}.credential-box{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:9px 14px;padding:15px;border:1px solid var(--border);border-radius:9px;background:var(--surface-sunken)}.credential-box label{font-weight:750}.credential-box code{display:block;padding:9px 11px;border-radius:6px;background:var(--surface);font-family:var(--font-mono);font-size:14px;overflow-wrap:anywhere}
@media(max-width:760px){.access-account-grid,.access-permission-grid{grid-template-columns:1fr}.access-permission-head{align-items:flex-start;flex-direction:column}.credential-box{grid-template-columns:1fr}.credential-box label:not(:first-child){margin-top:7px}}
.timeline-span-block{touch-action:none;-webkit-user-drag:none}
.precision-view-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}

/* Schlichte Planung: Mitte verschiebt, feste Griffe ändern die Dauer */
.planner-secondary-bar{flex:1 0 100%;display:flex;align-items:center;gap:12px;min-width:0;overflow-x:auto;padding-bottom:3px}
.planner-secondary-bar .planner-hours{flex:0 0 auto}
.planner-secondary-bar .selection-toolbar{flex:1 0 max-content;min-width:max-content;min-height:42px;margin:0;padding:2px 0 2px 14px;border:0;border-left:2px solid var(--border);border-radius:0;background:transparent;box-shadow:none;flex-wrap:nowrap}
.planner-secondary-bar .selection-toolbar strong,.planner-secondary-bar .selection-toolbar span,.planner-secondary-bar .selection-toolbar .btn{white-space:nowrap;flex-shrink:0}
.planner-secondary-bar .selection-toolbar .btn{min-height:38px}
.block,.timeline-hour-block,.timeline-span-block,.timeline-chip,.week-chip{cursor:grab!important}
.block:active,.timeline-hour-block:active,.timeline-span-block:active,.timeline-chip:active,.week-chip:active{cursor:grabbing!important}
.block{padding-left:39px;padding-right:39px}
.mode-resize-handle,.visible-resize-handle{position:absolute;top:3px;bottom:3px;width:32px!important;display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;border:2px solid currentColor;border-radius:7px;background:#fff;color:inherit;font-size:26px;font-weight:900;line-height:1;box-shadow:0 1px 4px rgba(0,0,0,.18);cursor:ew-resize!important;touch-action:none;-webkit-user-drag:none;user-select:none;z-index:14}
.mode-resize-handle.left,.visible-resize-handle.left{left:3px!important}
.mode-resize-handle.right,.visible-resize-handle.right{right:3px!important}
.timeline-hour-block,.timeline-chip,.week-chip{padding-left:38px;padding-right:38px}
.timeline-span-label{padding-left:38px;padding-right:38px}
.mode-resize-handle:hover,.visible-resize-handle:hover{background:var(--surface-sunken)}
.timeline-span-block.is-compact .visible-resize-handle{width:22px!important;font-size:20px}
.timeline-span-block.is-compact .timeline-span-label{padding-left:25px;padding-right:25px}

.nav-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:24px;line-height:1;cursor:pointer}
.planner-shell.cloud-collapsed{gap:10px}
.planner-shell.cloud-collapsed .planner-sidebar{width:54px}
.cloud-title{gap:7px}.cloud-title h3{flex:1;min-width:0;font-size:18px}
.cloud-minimize,.cloud-tab{display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--surface);color:var(--forest-700);cursor:pointer;box-shadow:var(--shadow-sm)}
.cloud-minimize{flex:0 0 34px;width:34px;height:34px;border-radius:8px;font-size:23px;line-height:1}
.cloud-minimize:hover,.cloud-tab:hover{background:var(--forest-100);border-color:var(--forest-500)}
.cloud-tab{position:sticky;top:82px;width:54px;min-height:64px;padding:7px 4px;flex-direction:column;gap:1px;border-radius:12px;font-size:26px}
.cloud-tab strong{font-size:12px;line-height:1;color:var(--text)}
@media(min-width:981px){
  .nav{transition:width .16s ease,padding .16s ease}
  .nav.collapsed{width:68px;padding-left:8px;padding-right:8px}
  .nav.collapsed .nav-brand{height:auto;padding:2px 0 12px;justify-content:center}
  .nav.collapsed .brand-logo-plate{display:none}
  .nav.collapsed .nav-collapsed-brand{display:flex;flex-direction:column;align-items:center;gap:7px}
  .nav.collapsed .nav-collapsed-brand a,.nav.collapsed .nav-collapsed-brand img{display:block;width:44px;height:44px;border-radius:11px}
  .nav.collapsed .nav-collapsed-brand img{object-fit:cover;box-shadow:0 2px 7px rgba(0,0,0,.25)}
  .nav.collapsed .nav-collapsed-brand button{display:grid;place-items:center;width:44px;height:31px;border:1px solid rgba(255,255,255,.22);border-radius:7px;background:rgba(255,255,255,.08);color:#fff;font-size:19px;line-height:1;cursor:pointer}
  .nav.collapsed .nav-collapsed-brand button:hover{background:rgba(255,255,255,.16)}
  .nav.collapsed .nav-items a{justify-content:center;gap:0;padding-left:8px;padding-right:8px}
  .nav.collapsed .nav-items .icon{width:auto;font-size:20px}
  .nav.collapsed .nav-group-toggle{display:none}.nav.collapsed .nav-group-items{display:block!important;padding-left:0}.nav.collapsed .nav-group{margin:0}
  .nav.collapsed .nav-label,.nav.collapsed .nav-user .who,.nav.collapsed .nav-actions{display:none}
  .nav.collapsed .nav-user{justify-content:center;padding-left:0;padding-right:0}
}
@media(max-width:980px){.nav-collapse-btn{display:none}.planner-shell.cloud-collapsed .planner-sidebar{width:54px}.cloud-tab{position:static}}

/* Kompaktere Planung mit durchgehender Heute-Orientierung */
.timeline-inner{position:relative}
.unified-calendar-head{position:relative;z-index:60;background:var(--surface-sunken);will-change:transform;box-shadow:none}
.unified-calendar-head.is-floating{box-shadow:0 3px 10px rgba(20,40,25,.14)}
.unified-calendar-head .timeline-meta-row,.unified-calendar-head .timeline-header{position:relative;top:0!important}
.unified-calendar .timeline-header{min-height:48px}
.unified-calendar .timeline-day-head{position:relative;min-height:48px;padding:5px 7px 20px;overflow:hidden}
.unified-calendar.view-timeline[data-calendar-zoom='day'] .timeline-day-head,.unified-calendar.view-timeline[data-calendar-zoom='week'] .timeline-day-head{padding-bottom:5px}
.calendar-hour-guide{position:absolute;left:0;right:0;bottom:2px;height:15px;margin:0!important;color:var(--text-muted)!important;font-family:var(--font-mono);font-size:9px;line-height:15px;pointer-events:none}
.calendar-hour-guide span{position:absolute;margin:0;transform:translateX(-50%);white-space:nowrap}
.calendar-hour-guide span.is-start{left:4px!important;transform:none}
.calendar-hour-guide span.is-end{right:4px;left:auto!important;transform:none}
.unified-calendar.view-day .timeline-day-head,.unified-calendar.view-day .timeline-cell,
.unified-calendar.view-timeline[data-calendar-zoom='hour'] .timeline-day-head,.unified-calendar.view-timeline[data-calendar-zoom='hour'] .timeline-cell{border-right:0;border-left:2px solid var(--text-faint)}
.unified-calendar.view-week .timeline-day-head,.unified-calendar.view-week .timeline-cell,
.unified-calendar.view-timeline[data-calendar-zoom='day'] .timeline-day-head,.unified-calendar.view-timeline[data-calendar-zoom='day'] .timeline-cell{border-right:0;border-left:1px solid var(--border)}
.unified-calendar .timeline-day-head.week-start,.unified-calendar .timeline-cell.week-start{border-left-width:3px;border-left-color:var(--forest-600)}
.calendar-hour-range{display:block;width:100%;margin:2px 0 0!important;overflow:hidden;color:var(--text-muted)!important;font-family:var(--font-mono);font-size:8px;line-height:12px;text-align:center;white-space:nowrap}
.planner-raster-control button:disabled{cursor:not-allowed;opacity:.38;background:var(--surface-sunken);color:var(--text-faint)}
.unified-calendar.view-day .timeline-day-head strong{font-family:var(--font-display);font-size:14px}
.unified-calendar.view-week .timeline-day-head strong{font-size:12px}
.timeline-today-line{position:absolute;top:0;bottom:0;width:2px;background:#d92d20;z-index:16;pointer-events:none;box-shadow:0 0 0 1px rgba(217,45,32,.08)}.timeline-today-line::before{content:'';position:absolute;top:55px;left:50%;transform:translate(-50%,-1px);border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #d92d20}.timeline-today-line span{position:absolute;top:64px;left:7px;padding:2px 5px;border-radius:4px;background:#d92d20;color:#fff;font-size:10px;font-weight:800;white-space:nowrap}
.timeline-day-head.today{background:#fff1f0;color:#b42318}.timeline-day-head.today strong{color:#b42318}.week-grid .wh.today{position:relative;background:#fff1f0;color:#b42318}.week-grid .wh.today::after{content:'';position:absolute;left:-1px;right:-1px;bottom:0;height:3px;background:#d92d20}.week-cell.today{border-left:2px solid #d92d20}
.emp-track{height:54px}.block{top:4px;bottom:4px}.timeline-cell{min-height:52px;padding:3px}.timeline-emp{padding:7px 10px}.timeline-section-label{padding-top:5px;padding-bottom:5px}.timeline-hour-block{top:7px;height:38px}.timeline-span-block{height:34px;border-radius:7px}.timeline-span-label{gap:6px}.timeline-span-label strong{font-size:12.5px}.timeline-span-block .visible-resize-handle{top:2px;bottom:2px}.week-cell{min-height:52px;padding:3px}.week-grid .we{padding:7px 10px}.week-chip.multi-day-segment,.timeline-chip.multi-day-segment{min-height:32px}.week-chip-time{font-size:10.5px}.now-line{background:#d92d20}.now-line::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #d92d20}
[data-theme='dark'] .timeline-day-head.today,[data-theme='dark'] .week-grid .wh.today{background:#4b2b28;color:#ffb4ab}

/* Kompakte Bereichstrenner statt leerer Abstandszeilen in der fortlaufenden Planung */
.timeline-section-label{
  height:4px;
  min-height:4px;
  padding:0;
  border:0;
  overflow:hidden;
  font-size:0;
  line-height:0;
  background:var(--border)!important;
}

/* Kontaktimport: bewusst einfacher Drei-Schritt-Ablauf mit gut lesbarer Vorschau */
.contact-import-intro{display:flex;flex-direction:column;gap:3px;margin-bottom:14px}.contact-import-intro span{color:var(--text-muted)}
.contact-import-drop{display:flex;min-height:118px;box-sizing:border-box;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:18px;border:2px dashed var(--forest-500);border-radius:12px;background:var(--forest-100);text-align:center;cursor:pointer;transition:.15s ease}.contact-import-drop:hover,.contact-import-drop.is-dragover{border-color:var(--forest-700);background:var(--surface-sunken);transform:translateY(-1px)}.contact-import-drop.is-loading{opacity:.65;pointer-events:none}.contact-import-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.contact-import-drop>span:last-of-type{color:var(--text-muted);font-size:13px}.contact-import-icon{font-size:30px;line-height:1;color:var(--forest-700)}
.contact-import-filebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:11px 13px;border:1px solid var(--border);border-radius:9px;background:var(--surface-sunken)}.contact-import-filebar strong,.contact-import-filebar span{display:block}.contact-import-filebar span{color:var(--text-muted);font-size:13px}
.contact-import-section{margin-top:18px}.contact-import-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.contact-import-heading strong,.contact-import-heading span{display:block}.contact-import-heading span{color:var(--text-muted);font-size:13px;margin-top:2px}
.contact-import-mapping{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px 12px}.contact-import-mapping label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700}.contact-import-mapping select{min-height:42px;padding:8px 10px;border:1.5px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:14px}
.contact-preview-scroll{max-width:100%;overflow:auto;border-radius:9px}.contact-preview-table{min-width:760px}.contact-preview-table td{font-size:13px!important;padding:9px 11px!important}.contact-preview-table .import-row-invalid{background:#fff1f0}.contact-preview-more{padding:8px 4px;color:var(--text-muted);font-size:13px}.import-notice{padding:10px 12px;border-radius:8px;background:var(--surface-sunken);color:var(--text-muted)}.import-notice.warn{background:#fff7e6;color:#795200}.import-notice.error{background:#fff1f0;color:var(--danger)}
.import-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.import-result{display:flex;flex-direction:column;align-items:center;padding:18px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-sunken);text-align:center}.import-result strong{font-size:28px;line-height:1;color:var(--text)}.import-result span{margin-top:6px;color:var(--text-muted)}.import-result.ok{background:#edf7ef;border-color:#9bc9a7}.import-result.warn{background:#fff7e6;border-color:#e0bd6d}.import-result-list{margin:8px 0 0;padding-left:20px}.import-result-list li{margin:5px 0}.import-result-list span{color:var(--text-muted);font-size:13px}
@media(max-width:780px){.contact-import-mapping{grid-template-columns:1fr 1fr}.contact-import-filebar{align-items:flex-start;flex-direction:column}.import-result-grid{grid-template-columns:1fr}}
@media(max-width:520px){.contact-import-mapping{grid-template-columns:1fr}}

/* Version 4.7.12: stabile Wochenansicht und klarere Kalenderbedienung */
.planner-main #gridContainer[data-planner-view='week']{scroll-behavior:auto}
.week-grid{grid-template-columns:190px repeat(7,minmax(0,1fr));width:100%;min-width:1205px;max-width:none}
.week-grid>.wh,.week-grid>.week-cell{min-width:0}
.week-cell{overflow:hidden}
.week-chip.multi-day-segment{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden;display:flex;align-items:center}
.week-chip.multi-day-segment[data-resize-preview]{overflow:visible}
.week-chip-content{display:flex;flex:1;min-width:0;flex-direction:column;overflow:hidden;line-height:1.18}
.week-chip-customer{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.cloud-main-help{margin:-2px 0 9px;padding:7px 9px;border-radius:7px;background:var(--forest-100);color:var(--forest-700);font-weight:650;line-height:1.3}
.settings-subsection{display:flex;flex-direction:column;gap:2px;margin:18px 0 9px;padding-top:14px;border-top:1px solid var(--border)}
.settings-subsection strong{font-size:15px}.settings-subsection span{color:var(--text-muted);font-size:13px}
.individual-schedule-toggle{margin:12px 0 8px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-sunken);font-weight:700}
.individual-schedule-fields{padding:10px 12px;border-left:3px solid var(--forest-500);transition:opacity .15s ease}
.individual-schedule-fields.is-disabled{opacity:.48}
.weekly-schedule-head{display:grid;grid-template-columns:120px 1fr;gap:10px;margin-bottom:5px;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.weekly-schedule-grid{display:flex;flex-direction:column;gap:5px}.weekly-schedule-row{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:center;min-height:43px;padding:5px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}
.weekly-schedule-row>label{display:flex;align-items:center;gap:7px;cursor:pointer}.weekly-schedule-row>label input{width:19px;height:19px;accent-color:var(--forest-600)}
.weekly-schedule-row>div{display:grid;grid-template-columns:minmax(105px,1fr) auto minmax(105px,1fr);align-items:center;gap:7px}.weekly-schedule-row input[type='time']{min-width:0;width:100%;min-height:38px}.weekly-schedule-row>div>span{color:var(--text-muted);font-size:13px}.weekly-schedule-row.is-off{background:var(--surface-sunken);opacity:.62}
.work-hours-band{position:absolute;top:0;bottom:0;z-index:0;pointer-events:none;background:rgba(73,122,82,.10);border-left:1px solid rgba(73,122,82,.28);border-right:1px solid rgba(73,122,82,.28)}
.work-hours-band.individual{background:rgba(53,105,173,.10);border-color:rgba(53,105,173,.30)}
.non-working-schedule{background-color:rgba(90,98,92,.075)!important;background-image:repeating-linear-gradient(135deg,transparent,transparent 9px,rgba(90,98,92,.055) 9px,rgba(90,98,92,.055) 11px)!important}
.emp-track>.block,.timeline-cell>.timeline-hour-block,.timeline-cell>.timeline-chip{z-index:2}
[data-theme='dark'] .work-hours-band{background:rgba(132,190,143,.12)}
[data-theme='dark'] .work-hours-band.individual{background:rgba(109,157,219,.14)}
@media(max-width:760px){.week-grid{grid-template-columns:155px repeat(7,minmax(135px,1fr));min-width:1100px}.cloud-main-help{font-size:12px}.weekly-schedule-head{display:none}.weekly-schedule-row{grid-template-columns:1fr}.weekly-schedule-row>div{grid-template-columns:1fr auto 1fr}}

/* Version 4.7.13: ruhiges Touchpad-Scrollen und ein einziger Kopierablauf */
.copy-target-hint{color:var(--forest-700);white-space:nowrap}
.copy-mode-active,.copy-mode-active:hover,.copy-mode-active:focus{background:#d87818!important;border-color:#b9610d!important;color:#fff!important;box-shadow:inset 0 2px 4px rgba(80,35,0,.28),0 0 0 2px rgba(216,120,24,.18)!important}

/* Version 4.7.14: kompakter, ruhig markiert und beim Ziehen randnah mitscrollend */
.planner-main{--planner-label-width:165px}.planner-toolbar{position:sticky;top:var(--header-h);z-index:80;margin:0 -4px 8px;padding:7px 4px;background:var(--bg);box-shadow:0 7px 9px -10px rgba(20,40,25,.55)}
.planner-secondary-bar{gap:8px;padding-bottom:0}
.planner-secondary-bar:empty{display:none}
.planner-secondary-bar .selection-toolbar{min-height:34px;padding-left:10px}
.planner-secondary-bar .selection-toolbar .btn{min-height:32px;padding:5px 10px}
.clear-selection-compact{width:32px;min-width:32px!important;padding:3px!important;font-size:21px;line-height:1}
.block.selected-assignment,.timeline-hour-block.selected-assignment,.timeline-span-block.selected-assignment,.timeline-chip.selected-assignment,.week-chip.selected-assignment{outline:none!important;box-shadow:inset 0 0 0 2px var(--forest-700)!important;z-index:12!important}
.mode-resize-handle,.visible-resize-handle{width:14px!important;top:2px;bottom:2px;border:0;border-radius:0;background:transparent;font-size:0;box-shadow:none;opacity:1}
.mode-resize-handle.left,.visible-resize-handle.left{left:2px!important}.mode-resize-handle.right,.visible-resize-handle.right{right:2px!important}
.mode-resize-handle.left:hover,.visible-resize-handle.left:hover{background:transparent;box-shadow:inset 3px 0 0 currentColor}.mode-resize-handle.right:hover,.visible-resize-handle.right:hover{background:transparent;box-shadow:inset -3px 0 0 currentColor}
.block,.timeline-hour-block,.timeline-chip,.week-chip{padding-left:16px;padding-right:16px}.timeline-span-label{padding-left:16px;padding-right:16px}
.timeline-span-block.is-compact .visible-resize-handle{width:12px!important}.timeline-span-block.is-compact .timeline-span-label{padding-left:14px;padding-right:14px}
.grid-emp-col-head,.emp-col{width:165px;padding:6px 9px}.emp-col .n{font-size:12.5px;line-height:1.15}.emp-col .f{font-size:10.5px;line-height:1.15;margin-top:2px}.emp-col .abs-tag{margin-top:2px}
.emp-track{height:44px}.block{top:3px;bottom:3px}
.timeline-emp-head,.timeline-emp{width:165px;min-width:165px;padding:5px 8px}.timeline-emp strong{font-size:12.5px}.timeline-emp span{font-size:10.5px}
.timeline-cell{min-height:44px}.timeline-span-block{height:30px}.timeline-hour-block{top:5px;height:34px}
.week-grid{grid-template-columns:165px repeat(7,minmax(0,1fr));min-width:1030px}.week-grid .we{padding:5px 8px}.week-grid .we .n{font-size:12.5px}.week-grid .we .f{font-size:10.5px}.week-cell{min-height:44px}
.week-grid .wh{display:flex;flex-direction:column;gap:3px;padding:5px 4px}.week-grid .wh>strong{font-size:11px;color:var(--text)}.week-time-scale{display:flex;justify-content:stretch;gap:0;width:100%;font-family:var(--font-mono);color:var(--text-muted)}.week-time-scale small{flex:1;min-width:0;padding-left:3px;border-left:1px solid var(--border);font-size:8.5px;text-align:left}
.week-cell{position:relative}.week-cell::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--week-raster) - 1px),rgba(75,92,80,.06) calc(var(--week-raster) - 1px),rgba(75,92,80,.06) var(--week-raster))}.week-chip{position:relative;z-index:2}
@media(max-width:760px){.planner-main{--planner-label-width:145px}.planner-toolbar{top:var(--header-h)}.grid-emp-col-head,.emp-col,.timeline-emp-head,.timeline-emp{width:145px;min-width:145px}.week-grid{grid-template-columns:145px repeat(7,minmax(125px,1fr));min-width:1020px}}

/* Kompakter Planungskopf und fixierte Orientierung der Wochenansicht */
.topbar-main{display:flex;align-items:center;gap:12px;min-width:0}
.planning-topbar{height:50px;min-height:50px;padding-top:0;padding-bottom:0}
.planning-topbar .topbar-title-group{display:flex;align-items:baseline;gap:12px;min-width:0;white-space:nowrap}
.planning-topbar h2{font-size:18px;flex:0 0 auto}
.planning-topbar .crumb{margin:0;font-size:12.5px;overflow:hidden;text-overflow:ellipsis}
.planning-topbar+.content{padding-top:14px}
.planning-topbar+.content .planner-toolbar{top:50px}
.planner-main{--planner-toolbar-height:54px}
.week-month-label{position:sticky;top:calc(50px + var(--planner-toolbar-height));z-index:15;font-size:14px;padding-top:6px;padding-bottom:6px;box-shadow:0 1px 0 var(--border)}
.week-grid>.wh{position:sticky;top:calc(50px + var(--planner-toolbar-height) + 31px);z-index:14}
.week-grid>.wh:first-of-type{z-index:16}
@media(max-width:760px){.planning-topbar .topbar-title-group{gap:7px}.planning-topbar .crumb{font-size:11px}.planning-topbar .build-badge{display:none}}

/* Version 6.0.10: dauerhaft sichtbarer und bewusst abschaltbarer Löschmodus. */
.delete-mode-button-active,.delete-mode-button-active:hover,.delete-mode-button-active:focus{background:#d87818!important;border:3px solid #ff2a00!important;color:#fff!important;box-shadow:inset 0 2px 4px rgba(80,35,0,.28),0 0 0 2px rgba(255,42,0,.22)!important}
.delete-mode-toolbar{border:2px solid #ff2a00!important;background:#fff3e8!important;color:#792000!important}
.delete-mode-toolbar .delete-mode-hint{font-weight:700;color:#a22b09}
.delete-mode-active .planner-toolbar{box-shadow:inset 0 0 0 3px #ff2a00,0 7px 9px -10px rgba(20,40,25,.55);border-radius:9px}
.delete-mode-active #gridContainer{box-shadow:inset 0 0 0 3px #ff2a00;border-radius:9px;cursor:crosshair}
.delete-mode-active [data-assignment-id],.delete-mode-active [data-group-id]{cursor:crosshair!important}
.delete-mode-active .resize-handle{pointer-events:none!important;opacity:0!important}
.delete-mode-legend{color:#d12600}
[data-theme='dark'] .delete-mode-toolbar{background:#512115!important;color:#ffe9dd!important}

/* Sondageprotokoll: Kunden- und Serviceadressen übernehmen, danach frei bearbeiten. */
.sondage-address-actions{display:grid;grid-template-columns:auto minmax(240px,1fr) auto;gap:8px;align-items:center;margin-bottom:8px}
.sondage-address-actions select{min-width:0;min-height:36px}
@media(max-width:760px){.sondage-address-actions{grid-template-columns:1fr}.sondage-address-actions .btn{width:100%}}

/* V4.7.20: ein Auftrag bleibt auch über mehrere Wochentage ein Balken. */
.week-grid>.week-row-track{grid-column:2/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative;min-width:0;border-bottom:1px solid var(--border)}
.week-grid>.week-row-track>.week-cell{min-width:0;min-height:100%;border-bottom:0;overflow:hidden}
.week-grid .week-continuous-chip.multi-day-segment{position:absolute!important;box-sizing:border-box;width:auto;max-width:none;min-height:34px;height:34px;margin:0;overflow:hidden;display:flex;align-items:center;z-index:3}
.week-grid .week-continuous-chip.multi-day-segment[data-resize-preview]{overflow:visible}
.nav-customize-btn{width:100%;margin:0 0 8px;padding:7px 9px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.88);cursor:pointer;font-size:11px}
.nav-customize-btn.active{background:var(--forest-600);color:#fff}
.nav-items.is-customizing li{cursor:grab;border-radius:6px}
.nav-items.is-customizing li:active{cursor:grabbing}
.nav-items.is-customizing li.is-dragging{opacity:.45}
.nav-items.is-customizing a{pointer-events:none;border:1px dashed rgba(255,255,255,.18)}
.nav-drag-handle{margin-left:auto;font-size:18px;color:#fff}
.nav.collapsed .nav-customize-btn{font-size:0}.nav.collapsed .nav-customize-btn::after{content:'↕';font-size:18px}
.week-grid>.week-month-label,.week-grid>.wh{position:relative;top:auto;will-change:transform}
.week-grid>.week-month-label{z-index:15}.week-grid>.wh{z-index:14}.week-grid>.wh:first-of-type{z-index:16}
.resource-only-header{position:relative;top:auto;min-height:30px;border-top:3px solid var(--border);background:var(--bark-100)}
.resource-only-header .grid-emp-col-head{position:sticky;left:0;padding-top:7px;padding-bottom:7px;background:var(--bark-100);color:var(--bark-600);font-weight:750}
.resource-header-fill{flex:0 0 auto;min-height:30px;background:var(--bark-100);border-bottom:1px solid var(--border)}
.grid-scroll{width:calc(var(--planner-label-width) + var(--day-track-width));min-width:100%}
.grid-scroll>.grid-header-row,.grid-scroll .emp-row{width:100%;box-sizing:border-box}
.grid-emp-col-head,.emp-col,.timeline-emp-head,.timeline-emp,.week-grid .we{z-index:40!important}
.grid-emp-col-head,.timeline-emp-head{z-index:42!important}
.time-slot-head{border-right:0;background:var(--surface-sunken)}
.time-slot-head.hour{border-left:1px solid var(--text-faint)}
.time-slot-head.work-start{border-left:2px solid var(--forest-600)}
.time-slot-head span{padding-left:5px;font-weight:750}

/* V4.7.32: durchgehend lesbarer und beim Seitenscrollen fixierter Zeitkopf. */
.day-time-header{position:relative;top:auto;z-index:45!important;will-change:transform;background:var(--surface-sunken);isolation:isolate}
.day-time-header.is-floating{box-shadow:0 5px 10px -8px rgba(20,40,25,.7)}
.day-time-head-track{position:relative;display:flex;flex:0 0 auto;min-height:34px;overflow:visible;background:var(--surface-sunken)}
.day-time-head-track .time-slot-head{position:relative;box-sizing:border-box;background:transparent}
.day-hour-label{position:absolute;top:0;bottom:0;z-index:3;display:block;box-sizing:border-box;padding:8px 0 0 5px;border-left:1px solid var(--text-faint);font-family:var(--font-mono);font-size:10px;font-weight:750;line-height:1;color:var(--text);white-space:nowrap;pointer-events:none}
.day-hour-label.work-start{border-left:2px solid var(--forest-600)}
.day-time-header.is-horizontally-scrolled .grid-emp-col-head::after{content:'';position:absolute;left:100%;top:0;bottom:0;width:28px;z-index:5;pointer-events:none;background:linear-gradient(to right,var(--surface-sunken) 0 72%,transparent)}
.resource-only-header{display:block;width:calc(var(--planner-label-width) + var(--day-track-width));min-height:30px;border:0;background:transparent}
.resource-only-header .grid-emp-col-head{box-sizing:border-box;width:var(--planner-label-width);min-height:30px;border-top:3px solid var(--border);border-bottom:1px solid var(--border)}
.resource-rows{width:calc(var(--planner-label-width) + var(--day-track-width))}
.resource-header-fill{display:none!important}

/* ==========================================================================
   PLANUNG: Namensspalte beim Scrollen und Ziehen stabil halten (v4.7.25)
   Die Auftragsbalken haben "position:absolute" ohne eigene Ebene und werden
   dadurch über der klebenden Namensspalte gezeichnet - beim Scrollen und
   besonders beim Ziehen verdeckten sie die Namen, sodass nicht mehr
   erkennbar war, zu wem ein Balken gehört.
   ========================================================================== */

/* Balken auf eine eigene, niedrigere Ebene legen ... */
.block, .week-chip, .timeline-block { z-index: 1; }

/* ... und die feste Spalte darüber halten. */
.emp-col,
.week-grid .we,
.timeline-emp,
.grid-emp-col-head,
.timeline-emp-head,
.timeline-section-label {
  z-index: 8;
  background-color: var(--surface);
  /* Eigene Ebene auf der Grafikkarte: Safari muss beim Scrollen mit
     Trackpad/Magic Mouse nichts neu berechnen und die Spalte flackert nicht. */
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  box-shadow: 1px 0 0 var(--border);
}
.grid-emp-col-head, .timeline-emp-head, .timeline-section-label { background-color: var(--surface-sunken); }
.preplan-row .emp-col, .preplan-row .timeline-emp { background-color: var(--bark-100); }
.team-row .emp-col, .team-row .timeline-emp { background-color: var(--forest-100); }
.resource-row .emp-col, .resource-row .timeline-emp { background-color: var(--bark-100); }

/* Beim Ziehen soll der Balken sichtbar über den anderen liegen - aber
   weiterhin UNTER der Namensspalte. */
.block.is-dragging, .block:active { z-index: 5; }

/* Erklärender Hinweis in Formularen (z.B. Nachtarbeit im Einsatz-Detail) */
.hint-note { font-size: 12.5px; color: var(--text-muted); background: var(--surface-sunken);
  border-left: 3px solid var(--forest-500); border-radius: 4px; padding: 8px 11px; margin: 4px 0 10px; }

/* V4.7.29: sichtbares Ziel und Rand-Autoscroll beim Verschieben ganzer Blöcke */
.emp-track.drop-hover,.timeline-cell.drop-hover,.week-cell.drop-hover{
  outline:2px solid var(--forest-600)!important;outline-offset:-2px;
  background-color:color-mix(in srgb,var(--forest-100) 78%,transparent)!important;
}
.drop-target-row{position:relative;box-shadow:inset 0 2px 0 var(--forest-600),inset 0 -2px 0 var(--forest-600)}
.emp-row.drop-target-row>.emp-col,.timeline-row.drop-target-row>.timeline-emp{
  background:var(--forest-100)!important;color:var(--forest-900);box-shadow:inset 3px 0 0 var(--forest-600),1px 0 0 var(--border);
}
.drop-target-row::after{
  content:attr(data-drop-target-hint);position:absolute;z-index:80;right:7px;top:5px;
  max-width:min(360px,55%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  padding:3px 7px;border-radius:5px;background:var(--forest-700);color:#fff;
  font-size:10px;font-weight:750;pointer-events:none;box-shadow:var(--shadow-sm);
}

/* V4.9.6: kompaktes Lohnmodul. Die Abrechnung bleibt gross genug für eine
   sichere Kontrolle, ohne den Bildschirm mit übergrossen Formularen zu füllen. */
.modal:has(.payroll-manager){max-width:min(1120px,96vw)}
.payroll-manager [hidden],.modal-footer [hidden]{display:none!important}
.payroll-manager{display:grid;gap:10px}
.payroll-manager details{border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.payroll-manager summary{cursor:pointer;padding:11px 14px;font-weight:800;color:var(--forest-900)}
.payroll-manager details>form,.payroll-manager details>.payroll-settings-grid{padding:0 14px 14px}
.payroll-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.payroll-rate-help{display:grid;gap:2px;margin-bottom:9px;padding:9px 11px;border-radius:8px;background:var(--forest-100)}.payroll-rate-help span{font-size:12px;color:var(--text-muted)}
.payroll-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px 12px;margin:8px 0}
.payroll-profile-grid label{display:grid;gap:4px;font-size:12px;font-weight:750;color:var(--text-muted)}
.payroll-profile-grid input,.payroll-profile-grid select{width:100%}
.payroll-profile-intro{display:grid;gap:3px;padding:11px 13px;border-radius:9px;background:var(--forest-100);color:var(--forest-900)}
.payroll-profile-intro strong{font-size:16px}.payroll-profile-intro span{font-size:13px;color:var(--text-muted)}
.payroll-auto-rates{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:10px 0 14px}
.payroll-auto-rates>div{display:grid;grid-template-columns:1fr auto;gap:1px 8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-sunken)}
.payroll-auto-rates span,.payroll-auto-rates small{font-size:11px;color:var(--text-muted)}
.payroll-auto-rates strong{font-size:14px;color:var(--forest-900);font-variant-numeric:tabular-nums}.payroll-auto-rates small{grid-column:1/-1}
.payroll-global-rate-overview{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));margin:0}
.payroll-global-expense-rule{grid-column:1/-1;display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border:2px solid var(--forest-500);border-radius:9px;background:var(--forest-100);cursor:pointer}
.payroll-global-expense-rule input{margin-top:3px}.payroll-global-expense-rule>span{display:grid;gap:3px}.payroll-global-expense-rule strong{color:var(--forest-900)}.payroll-global-expense-rule small{color:var(--text-muted);line-height:1.4}
.payroll-step{display:flex;align-items:center;gap:9px;margin:14px 0 7px}.payroll-step>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--forest-900);color:white;font-weight:850}.payroll-step>div{display:grid}.payroll-step strong{font-size:14px}.payroll-step small{color:var(--text-muted)}
.payroll-profile-basics{grid-template-columns:1.5fr .75fr}
.payroll-workload-info{display:grid;align-content:center;gap:3px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-sunken)}.payroll-workload-info span{font-size:12px;color:var(--text-muted)}.payroll-workload-info strong{color:var(--forest-900)}
.payroll-personal-values{grid-template-columns:repeat(2,minmax(160px,1fr));max-width:720px}.payroll-personal-common{margin-top:10px}
.payroll-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.payroll-choice{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid var(--border);border-radius:9px;cursor:pointer;background:var(--surface)}
.payroll-choice.is-selected{border-color:var(--forest-700);background:var(--forest-100)}.payroll-choice>span{display:grid}.payroll-choice small{color:var(--text-muted)}
.payroll-wage-panel,.payroll-source-panel{margin-top:9px;padding:10px 12px;border-radius:9px;background:var(--surface-sunken);border:1px solid var(--border)}
.payroll-hourly-note{font-size:12px;color:var(--forest-900);padding:7px 9px;border-radius:7px;background:var(--forest-100)}
.payroll-toggle{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:9px;cursor:pointer}.payroll-toggle>span{display:flex;align-items:center;gap:8px}.payroll-toggle small{padding:2px 7px;border-radius:999px;background:var(--surface-sunken);color:var(--text-muted);font-weight:800}
.payroll-advanced{margin-top:12px!important;background:var(--surface-sunken)!important}.payroll-advanced summary{font-size:13px}.payroll-advanced>div,.payroll-advanced>.check-line{margin-left:12px;margin-right:12px}.payroll-advanced>.check-line{margin-bottom:12px}
.payroll-profile-note{font-size:12px;color:var(--text-muted);margin:6px 0 9px}
.payroll-timesheet-link{display:grid;gap:2px;margin-bottom:10px;padding:10px 12px;border-radius:9px;background:var(--forest-100);color:var(--forest-900)}.payroll-timesheet-link span{font-size:12px;color:var(--text-muted)}
.payroll-preview{margin-top:12px}
.payroll-preview-head{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.payroll-preview-head>div{display:grid;grid-template-columns:1fr auto;align-items:end;padding:10px 12px;border-radius:8px;background:var(--forest-100)}
.payroll-preview-head span,.payroll-preview-head small{font-size:12px;color:var(--text-muted)}
.payroll-preview-head strong{grid-row:1 / span 2;grid-column:2;font-size:21px;color:var(--forest-900)}
.payroll-balance-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:8px 0}
.payroll-balance-grid>div{display:grid;gap:2px;padding:8px;border:1px solid var(--border);border-radius:7px}
.payroll-balance-grid span{font-size:11px;color:var(--text-muted)}
.payroll-lines{width:100%;border-collapse:collapse;font-size:13px}
.payroll-lines td{padding:5px 8px;border-bottom:1px solid var(--border)}
.payroll-lines td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.payroll-lines td small{color:var(--text-muted)}
.payroll-lines .payroll-gross-total{font-weight:850;background:var(--forest-100)}
.payroll-lines .payroll-deduction-heading td{padding-top:11px;font-weight:800;color:var(--forest-900);background:var(--surface-sunken)}
.payroll-lines .payroll-deduction-total{font-weight:800}
.payroll-lines .total{font-weight:850;background:var(--forest-100)}
.payroll-history{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:9px 12px;border:1px solid var(--border);border-radius:9px}
.payroll-history a{padding:5px 8px;border-radius:6px;background:var(--surface-sunken)}
.payroll-document-row span{line-height:1.45}
@media(max-width:850px){
  .payroll-settings-grid{grid-template-columns:1fr}
  .payroll-profile-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}
  .payroll-profile-basics{grid-template-columns:repeat(2,minmax(130px,1fr))}
  .payroll-auto-rates{grid-template-columns:repeat(3,minmax(0,1fr))}
  .payroll-balance-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .payroll-profile-grid,.payroll-profile-basics,.payroll-choice-grid,.payroll-preview-head{grid-template-columns:1fr}
  .payroll-auto-rates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .payroll-balance-grid{grid-template-columns:repeat(2,1fr)}
}

/* Sekretariat: Verrechnung und Lohnabrechnungen als gemeinsamer Arbeitsort. */
.secretariat-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}
.secretariat-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:190px}
.secretariat-card>strong{font-family:var(--font-serif);font-size:24px;color:var(--text)}
.secretariat-card p{margin:0;color:var(--text-muted);line-height:1.5;max-width:620px}
.secretariat-card small{display:block;margin-top:auto;color:var(--text-muted)}
.secretariat-billing{scroll-margin-top:24px}
@media(max-width:900px){.secretariat-overview{grid-template-columns:1fr}}

/* Abschliessende Mobile-Regel: übersteuert auch den später definierten
   kompakten Planungskopf in der Geschäftsführer-Testansicht. */
@media(max-width:640px){.topbar-main{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;width:100%;gap:8px 10px}.topbar-main .menu-toggle{grid-column:1;grid-row:1}.topbar-title-group{grid-column:2;grid-row:1;min-width:0}.topbar-title-group .crumb{white-space:normal;line-height:1.35}.view-as-tools{grid-column:1/-1;grid-row:2;width:100%;gap:6px}.view-as-control{display:grid;grid-template-columns:118px minmax(0,1fr);width:100%;box-sizing:border-box;padding:5px 6px 5px 9px}.view-as-control select{width:100%;min-width:0;max-width:100%}}
/* Management: Offerten und optionale Notfallblätter ---------------------- */
.arbor-task-hub,.training-page{max-width:1180px;margin:0 auto}.arbor-task-hub-hero,.training-page-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin-bottom:18px;border:1px solid #dccfb6;border-radius:18px;background:linear-gradient(135deg,#f5efe3,#fffaf1);box-shadow:var(--shadow-sm)}.arbor-task-hub-hero>img{width:68px;height:68px;border-radius:16px}.arbor-task-hub-hero>div,.training-page-hero>div{flex:1}.arbor-task-hub-hero h2,.training-page-hero h2{margin:3px 0 6px;font:700 clamp(26px,4vw,40px) var(--font-display);color:var(--forest-800)}.arbor-task-hub-hero p,.training-page-hero p{margin:0;color:var(--text-muted)}.arbor-task-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.arbor-task-hub-card{display:flex;align-items:center;gap:13px;padding:20px;color:var(--text);transition:.15s ease}.arbor-task-hub-card:hover{transform:translateY(-2px);border-color:#df8f2c}.arbor-task-hub-card h3{margin:0 0 5px;color:var(--forest-800)}.arbor-task-hub-card p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.45}.arbor-task-hub-card>b{margin-left:auto;font-size:26px;color:#df8f2c}.arbor-task-hub-card-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#f2e6d3;font-size:21px}.training-profile-note{margin:0 0 12px;color:var(--text-muted);font-size:13px}.training-list{display:grid;gap:10px}.training-list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px}.training-list-row>div{display:flex;flex-direction:column;gap:4px}.training-list-row span{color:var(--text-muted);font-size:12px}.training-list-row a{font-size:13px;color:var(--forest-700);font-weight:700}.work-instruction-register{display:grid;gap:10px}.work-instruction-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.work-instruction-row>div{display:flex;flex-direction:column;gap:4px}.work-instruction-row span{color:var(--text-muted);font-size:12px}.work-instruction-status{white-space:nowrap}.training-participant-table{width:100%;border-collapse:collapse}.training-participant-table th,.training-participant-table td{padding:9px;border-bottom:1px solid var(--border);text-align:left;font-size:12px}.training-participant-table th{color:var(--text-muted)}
.site-control-symbol{display:flex;align-items:flex-end;justify-content:center;gap:0;font-size:17px;line-height:1}.site-control-symbol span:last-child{margin-left:-4px;font-size:19px}.work-instructions-page{max-width:1180px;margin:0 auto}.binding-safety-notice{display:flex;flex-direction:column;gap:5px;margin-bottom:16px;padding:16px 18px;border-left:5px solid #b74632;border-radius:10px;background:#fff1ec;color:#54241b}.work-instruction-grid{display:grid;gap:12px}.work-instruction-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px}.work-instruction-card h3{margin:2px 0 5px;color:var(--forest-800)}.work-instruction-card p{margin:0 0 6px;color:var(--text-muted)}.work-instruction-card small{color:var(--text-muted)}.work-instruction-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e5eee5;color:var(--forest-800);font-size:21px}
@media(max-width:760px){.arbor-task-hub-grid{grid-template-columns:1fr}.arbor-task-hub-hero,.training-page-hero{align-items:flex-start;flex-direction:column;padding:19px}.training-list-row{align-items:flex-start;flex-direction:column}.training-list-row .btn{width:100%}.work-instruction-row{flex-direction:column}.work-instruction-card{grid-template-columns:auto 1fr}.work-instruction-card .btn{grid-column:1/-1;width:100%}.arbor-task-hub-card{padding:16px}}
.skills-pass-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-2px 0 18px;padding:18px;border:1px solid #d8c8aa;border-radius:14px;background:linear-gradient(135deg,#f4ecdc,#fffaf2)}.skills-pass-identity{display:flex;align-items:center;gap:15px;min-width:0}.skills-pass-icon{display:block;width:68px;height:68px;flex:0 0 68px;border-radius:16px;object-fit:cover}.skills-pass-head h3{margin:3px 0 4px;font:700 25px var(--font-display);color:var(--forest-800)}.skills-pass-head p{margin:0;color:var(--text-muted)}.skills-pass-columns>div{min-width:0}.skills-pass-row{align-items:flex-start;gap:12px}.skills-pass-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.skills-pass-protection{margin:16px 0 0;padding:11px 13px;border-left:4px solid var(--forest-600);background:var(--surface-soft);color:var(--text-muted);font-size:12px}.training-list-row small{display:block;max-width:760px;color:var(--text-muted);line-height:1.45}.training-list-row>.skills-pass-actions{flex-direction:row}.training-list-row>.skills-pass-actions .btn{width:auto}
@media(max-width:760px){.skills-pass-head{align-items:stretch;flex-direction:column;padding:15px}.skills-pass-head>.btn{width:100%}.skills-pass-identity{align-items:flex-start}.skills-pass-icon{width:58px;height:58px;flex-basis:58px;border-radius:14px}.skills-pass-columns{grid-template-columns:1fr}.skills-pass-actions{justify-content:flex-start}.skills-pass-row{align-items:flex-start!important;flex-direction:column}.training-list-row>.skills-pass-actions{width:100%}.training-list-row>.skills-pass-actions .btn{width:100%}}
.management-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:30px;border-radius:18px;background:linear-gradient(135deg,#173b27,#245a3b);color:#fff;margin-bottom:18px}.management-hero.compact{align-items:center}.management-hero h1{font-family:var(--font-display);font-size:clamp(30px,4vw,48px);margin:4px 0 8px}.management-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.82);line-height:1.5}.management-hero .eyebrow{color:#bcd8c4}.management-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.management-actions.bottom{justify-content:flex-end;margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.management-back{display:inline-block;margin-bottom:12px;color:var(--text-muted)}.management-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.management-kpis>div{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.management-kpis strong{display:block;color:var(--green);font:700 26px var(--font-display)}.management-kpis span{color:var(--text-muted);font-size:12px}.management-list{display:grid;gap:9px}.management-list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:13px;color:var(--text);box-shadow:var(--shadow-sm);transition:.15s ease}.management-list-row:hover{transform:translateY(-1px);border-color:var(--green)}.management-list-row>div{display:flex;flex-direction:column;gap:4px}.management-list-row>div:last-child{align-items:flex-end}.management-list-row span{color:var(--text-muted);font-size:12px}.management-detail{max-width:1100px;margin-inline:auto}.offer-status-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.offer-position-summary{display:grid;gap:9px;margin-top:18px}.offer-position-summary article{display:flex;flex-direction:column;gap:4px;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.offer-position-summary span,.offer-position-summary small{color:var(--text-muted)}.offer-sketch-preview{margin-top:20px}.offer-sketch-preview img{display:block;width:100%;max-height:420px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:12px}.management-form fieldset{border:1px solid var(--border);border-radius:12px;padding:16px;margin:16px 0}.management-form fieldset legend{padding:0 8px;font-weight:700;color:var(--green)}.offer-position{padding:16px;margin-bottom:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.offer-position-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.offer-position-head strong{font:700 18px var(--font-display);color:var(--green)}.offer-work-types{border:1px solid var(--border);border-radius:10px;background:var(--surface);margin:12px 0}.offer-work-types summary{padding:11px 13px;font-weight:700;cursor:pointer}.offer-work-types>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 13px 13px}.offer-work-types label{display:flex;align-items:flex-start;gap:7px;font-size:13px}.offer-sketch-field{margin:18px 0}.offer-sketch-field canvas{display:block;width:100%;height:auto;aspect-ratio:1000/420;background:#fff;border:2px solid var(--border);border-radius:12px;touch-action:none;cursor:crosshair}.optional-document-note{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid #d8cfae;background:#faf7ed;border-radius:12px;margin-bottom:16px;color:#4b4532}.optional-document-note span{font-size:13px}.emergency-call-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:20px}.emergency-call-strip strong{padding:10px;text-align:center;border-radius:9px;background:#173b27;color:#fff;font-size:13px}.order-emergency-row{display:flex;align-items:center;gap:8px;padding:11px 0;border-bottom:1px solid var(--border)}.order-emergency-row>div{display:flex;flex-direction:column;gap:2px;margin-right:auto}.order-emergency-row span{color:var(--text-muted);font-size:12px}
@media(max-width:900px){.management-hero{align-items:flex-start;flex-direction:column}.management-kpis{grid-template-columns:1fr}.offer-work-types>div{grid-template-columns:repeat(2,minmax(0,1fr))}.emergency-call-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.management-hero{padding:20px}.management-list-row{align-items:flex-start;flex-direction:column}.management-list-row>div:last-child{align-items:flex-start}.offer-work-types>div{grid-template-columns:1fr}.management-actions{width:100%}.management-actions .btn{flex:1}.order-emergency-row{align-items:flex-start;flex-wrap:wrap}}

/* Mobile Testansicht: Die Rollen-/Mitarbeiterauswahl gehört zum Seitenkopf,
   darf auf dem iPhone aber nicht dauerhaft die Arbeitsfläche verdecken. */
@media(max-width:640px){
  .topbar:has(.view-as-tools){
    position:relative;
    top:auto;
  }
  .topbar:has(.view-as-tools)~.content .planner-toolbar{
    top:0;
  }
  .topbar:has(.view-as-tools)+.view-as-banner{
    position:relative;
    top:auto;
  }
}

/* V4.9.27: neue Arbor-App-Wortmarke und direkte Kundenerfassung aus Offerten. */
.brand-logo{border-radius:9px}
.login-logo{width:min(100%,400px);border-radius:12px}
.inline-input-action{display:flex;align-items:stretch;gap:8px}
.inline-input-action input{min-width:0;flex:1}
.offer-customer-search{grid-column:span 2}
.offer-new-customer{margin:2px 0 18px;padding:16px;border:1px solid var(--forest-300);border-left:5px solid var(--forest-600);border-radius:12px;background:var(--forest-50)}
.offer-new-customer .section-title{margin-bottom:12px}
.offer-new-customer .check-line{display:flex;align-items:center;gap:8px;margin-top:4px;font-weight:650}
.offer-new-customer .check-line input{width:auto;min-height:0}
.offer-new-customer>small{display:block;margin-top:7px;color:var(--text-muted)}
.offer-address-row{align-items:end}
.emergency-map-actions{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.emergency-map-actions .is-active{background:var(--forest-700);color:#fff}.emergency-map-drop{display:flex;align-items:center;justify-content:center;gap:12px;min-height:76px;margin:10px 0;padding:12px 16px;border:2px dashed var(--forest-500);border-radius:10px;background:var(--forest-100);cursor:pointer;text-align:left;transition:.15s ease}.emergency-map-drop:hover,.emergency-map-drop.is-dragover{background:var(--surface-sunken);border-color:var(--forest-700);box-shadow:0 4px 14px rgba(28,43,34,.12)}.emergency-map-drop.has-file{border-style:solid;background:#edf7ef}.emergency-map-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.emergency-map-drop span:not(.emergency-map-drop-icon){display:flex;flex-direction:column;gap:3px}.emergency-map-drop small{color:var(--text-muted)}.emergency-map-drop-icon{font-size:28px;color:var(--forest-700)}.emergency-map-drop.has-file .emergency-map-drop-icon{font-size:0}.emergency-map-drop.has-file .emergency-map-drop-icon::after{content:'✓';font-size:27px;color:var(--ok)}.emergency-map-config-status{margin:10px 0;padding:9px 11px;border-radius:8px;background:var(--surface-sunken);color:var(--text-muted);font-size:.82rem}.emergency-map-config-status.is-warning{background:var(--warning-bg);color:var(--warning)}.emergency-map-config-status.is-ready{background:var(--ok-bg);color:var(--ok)}.emergency-google-map,.emergency-fallback-map{display:block;width:100%;height:min(58vh,560px);border:1px solid var(--border);border-radius:11px;background:#edf1ec}.emergency-fallback-map{height:auto;aspect-ratio:25/16;touch-action:none;cursor:crosshair}.emergency-coordinate-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:9px 0}.emergency-coordinate-status span{padding:8px 10px;border-radius:8px;background:var(--surface-sunken);font-size:.82rem}
.emergency-map-preview,.emergency-rescue-summary{margin:18px 0;padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--surface-sunken)}.emergency-map-preview img{display:block;width:100%;max-height:620px;object-fit:contain;border-radius:8px}.emergency-rescue-summary p{margin:7px 0}
.emergency-map-source-actions,.emergency-map-freeze{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:10px 0}.emergency-map-freeze{padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-sunken)}.emergency-map-freeze span{color:var(--text-muted);font-size:.82rem}.emergency-map-actions.is-disabled{opacity:.5}.emergency-live-map{margin:9px 0;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.emergency-live-map>summary{padding:10px 12px;cursor:pointer;font-weight:700}.emergency-live-map:not([open]) .emergency-swiss-map{display:none}.emergency-map-stage{position:relative;overflow:hidden;border-radius:11px;background:#edf1ec}.emergency-map-stage .emergency-fallback-map{border:0;border-radius:11px}.emergency-map-stage .emergency-fallback-map:not(.is-fixed){cursor:grab}.emergency-map-stage .emergency-fallback-map.is-panning{cursor:grabbing}.emergency-map-stage .emergency-fallback-map.is-fixed{cursor:crosshair}.emergency-map-zoom{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid rgba(23,59,39,.25);border-radius:9px;background:rgba(255,255,255,.94);box-shadow:0 2px 9px rgba(0,0,0,.14)}.emergency-map-zoom .btn{min-width:38px;min-height:36px;padding:6px 10px}.emergency-map-zoom output{min-width:58px;text-align:center;font-weight:750;color:#173b27}
.offer-work-types>div{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:0 18px}
.offer-work-row{display:grid;grid-template-columns:minmax(175px,.8fr) minmax(0,1.2fr);align-items:center;gap:9px;min-width:0;padding:7px 0;border-bottom:1px solid var(--border)}
.offer-work-row>*{min-width:0}.offer-work-row label{align-items:center;margin:0;line-height:1.25}.offer-work-row input[data-work-detail]{box-sizing:border-box;width:100%;min-width:0}.offer-work-row input[data-work-detail]:disabled{opacity:.42;background:var(--surface-sunken)}
.offer-optional-measures{display:flex;flex-wrap:wrap;gap:8px 18px;margin:11px 0}.offer-optional-measures label,.offer-felling>label{display:flex;align-items:center;gap:7px;font-weight:650}.offer-optional-measures input,.offer-position-options input,.offer-felling>label input{width:auto;min-height:0}
.offer-position-options{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px;margin:14px 0}
.offer-position-options label{display:flex;align-items:center;gap:8px;min-width:0;min-height:42px;margin:0;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);font-weight:650;line-height:1.25}
.offer-felling{margin:14px 0 4px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.offer-felling>label{width:max-content;margin:0}.offer-felling [data-felling-fields]{margin-top:11px}.offer-felling [data-felling-fields][hidden]{display:none!important}
.offer-add-tree-bottom{margin:0 0 18px}.offer-additional-block{margin:4px 0 20px}.offer-additional-row{display:grid;grid-template-columns:minmax(190px,1fr) 100px 95px minmax(190px,1fr);align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.offer-additional-row label{display:flex;align-items:center;gap:7px;font-weight:650}.offer-additional-row label input{width:auto;min-height:0}.offer-sketch-actions{display:flex;flex-wrap:wrap;gap:7px}.offer-additional-summary{margin-top:18px}.offer-additional-summary>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}
@media(max-width:760px){.inline-input-action{align-items:stretch;flex-direction:column}.offer-customer-search{grid-column:auto}.offer-address-row{grid-template-columns:1fr}}
@media(max-width:900px){.offer-position-options{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:760px){.offer-work-types>div,.offer-work-row,.offer-additional-row{grid-template-columns:1fr}.offer-work-row{gap:5px;padding:10px 0}.offer-position-options{grid-template-columns:1fr}.offer-additional-row{padding:12px 0}.offer-sketch-actions{width:100%}.offer-sketch-actions>*{flex:1}}
@media(max-width:760px){.emergency-coordinate-status{grid-template-columns:1fr}.emergency-map-actions>*,.emergency-map-source-actions>*{flex:1}.emergency-google-map{height:420px}.emergency-map-zoom{left:7px;right:7px;justify-content:center}.emergency-map-zoom .btn{min-height:42px}.emergency-map-zoom .btn:last-child{margin-left:auto}.emergency-map-freeze{align-items:stretch;flex-direction:column}.emergency-map-freeze .btn{width:100%}}
/* Version 5.0 - Sondageprotokolle */
.sondage-page{display:grid;gap:16px}.sondage-hero,.sondage-detail-head{background:linear-gradient(125deg,#173d28,#285b3e);color:#fff;border-radius:16px;padding:24px 26px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.sondage-hero h2,.sondage-detail-head h2{margin:4px 0 8px;color:#fff}.sondage-hero p,.sondage-detail-head p{margin:0;color:#dce9df;max-width:720px}.sondage-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sondage-kpis>div{background:var(--card,#fff);border:1px solid var(--border);border-radius:12px;padding:15px;display:flex;align-items:baseline;gap:10px}.sondage-kpis strong{font:700 26px/1 Georgia,serif;color:#234c34}.sondage-kpis span{color:var(--text-muted)}.sondage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sondage-toolbar input{max-width:580px}.sondage-list{display:grid}.sondage-list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 4px;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.sondage-list-row:hover{background:rgba(38,89,60,.055)}.sondage-list-row>div{display:grid;gap:4px}.sondage-list-row>div:last-child{text-align:right;justify-items:end}.sondage-list-row span{color:var(--text-muted);font-size:.88rem}.sondage-list-row .badge{color:inherit}.sondage-actions{display:flex;flex-wrap:wrap;gap:9px}.sondage-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:14px}.sondage-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:12px 0 22px}.sondage-facts div{border-bottom:1px solid var(--border);padding-bottom:8px}.sondage-facts dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.sondage-facts dd{margin:4px 0 0;font-weight:650}.sondage-sketch-preview{display:block;width:100%;max-height:280px;object-fit:contain;border:1px solid var(--border);border-radius:10px;background:#fff}.sondage-photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.sondage-photo-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.sondage-points-read{display:grid;gap:9px}.sondage-points-read>div{display:grid;gap:3px;border-left:3px solid #5f826b;padding:8px 12px;background:rgba(38,89,60,.045);border-radius:0 8px 8px 0}.sondage-points-read span,.sondage-points-read small{color:var(--text-muted)}.sondage-history summary{cursor:pointer;font-weight:700}.sondage-history>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border)}.sondage-history>div span{color:var(--text-muted)}
.sondage-point-card{border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:12px;background:rgba(246,248,244,.65)}.sondage-point-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sondage-photo-input{display:flex;align-items:center;justify-content:center;min-height:54px;border:1px dashed #789281;border-radius:9px;background:#f5f8f5;color:#254934;font-weight:650;cursor:pointer;padding:10px;text-align:center}.sondage-photo-input input{position:absolute;width:1px;height:1px;opacity:0}.sondage-photo-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:10px}.sondage-photo-strip figure{position:relative;margin:0}.sondage-photo-strip img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.sondage-photo-strip figcaption{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.sondage-photo-remove{position:absolute;right:4px;top:4px;width:27px;height:27px;border:0;border-radius:50%;background:rgba(21,28,23,.78);color:#fff;font-size:19px;cursor:pointer}.sondage-plan-viewport{position:relative;margin-bottom:7px;overflow:hidden;border:1px solid #829487;border-radius:10px;background:#fff}.sondage-sketch{display:block;width:100%;height:auto;aspect-ratio:15/7;border:0;border-radius:0;background:#fff;touch-action:none;margin:0;cursor:crosshair}.sondage-plan-viewport.is-zoomed .sondage-sketch{cursor:grab}.sondage-plan-viewport.is-zoomed .sondage-sketch:active{cursor:grabbing}.sondage-zoom-controls{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid rgba(23,59,39,.25);border-radius:9px;background:rgba(255,255,255,.94);box-shadow:0 2px 9px rgba(0,0,0,.14)}.sondage-zoom-controls .btn{min-width:38px;min-height:36px;padding:6px 10px}.sondage-zoom-controls output{min-width:58px;text-align:center;font-weight:750;color:#173b27}.sondage-zoom-hint{display:block;margin:0 2px 10px;color:var(--text-muted)}
.sondage-trench-card{position:relative;margin:0 0 18px;border:2px solid #cbd7cc;background:#fbfcfa}.sondage-trench-card>legend{display:flex;align-items:center;gap:8px;font-size:1.03rem}.sondage-trench-card>.sondage-trench-remove{position:absolute;right:12px;top:10px}.sondage-trench-dot,.sondage-marker-swatch{display:inline-block;width:13px;height:13px;border-radius:50%;background:var(--trench-color,var(--marker-color,#d32f2f));box-shadow:0 0 0 2px #fff,0 0 0 3px currentColor}.sondage-roots{margin-top:16px;border-top:2px solid #d7dfd8;padding-top:14px}.sondage-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sondage-subhead>div{display:grid;gap:2px}.sondage-subhead small{color:var(--text-muted)}.sondage-plan-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.sondage-plan-actions label{cursor:pointer}.sondage-plan-actions input{position:absolute;width:1px;height:1px;opacity:0}.sondage-marker-controls{display:grid;gap:8px;margin-top:12px}.sondage-marker-row{display:grid;grid-template-columns:18px minmax(125px,.8fr) repeat(3,minmax(130px,1fr));align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:#f8faf7}.sondage-marker-row label{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--text-muted)}.sondage-marker-row input[type="color"]{width:34px;height:28px;padding:1px}.sondage-marker-row input[type="range"]{min-width:0}.sondage-marker-row output{min-width:38px;color:var(--text);font-weight:700}.sondage-direction-label{grid-column:2/-1;font-weight:700;color:var(--forest-700)}.sondage-trench-summary{display:grid;gap:4px;padding:11px 0;border-bottom:1px solid var(--border)}.sondage-trench-summary strong{display:flex;align-items:center;gap:9px}.sondage-trench-summary span,.sondage-trench-summary small{color:var(--text-muted)}
@media(max-width:760px){.sondage-hero,.sondage-detail-head{padding:19px;display:grid}.sondage-kpis{grid-template-columns:1fr}.sondage-detail-grid{grid-template-columns:1fr}.sondage-facts{grid-template-columns:1fr}.sondage-list-row{align-items:flex-start}.sondage-list-row>div:last-child{text-align:left;justify-items:start}.sondage-toolbar{align-items:stretch;flex-direction:column}.sondage-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.sondage-history>div{display:grid}.sondage-subhead{align-items:stretch;flex-direction:column}.sondage-marker-row{grid-template-columns:18px 1fr}.sondage-marker-row label{grid-column:1/-1}.sondage-plan-actions{display:grid}.sondage-plan-actions>*{width:100%}.sondage-zoom-controls{left:7px;right:7px;bottom:7px;justify-content:center}.sondage-zoom-controls .btn{min-height:42px}.sondage-zoom-controls .btn:last-child{margin-left:auto}}

/* Version 5.0.8: einheitliche mobile Formulare. Alle Arbeitsdialoge nutzen
   die ganze iPhone-Breite, bleiben vertikal scrollbar und schneiden weder
   Felder noch Abschlussaktionen ab. Desktop-Regeln bleiben unverändert. */
@media(max-width:760px){
  html,body,.shell,.main,.content{max-width:100%;min-width:0}
  body{overflow-x:hidden}
  .content{box-sizing:border-box;width:100%}

  .modal-backdrop{
    box-sizing:border-box;
    align-items:stretch;
    padding:0;
    overflow:hidden;
  }
  .modal,.modal.modal-wide,.modal:has(.payroll-manager){
    display:flex;
    flex-direction:column;
    width:100vw;
    max-width:100vw;
    height:100dvh;
    max-height:100dvh;
    margin:0;
    border:0;
    border-radius:0;
    contain:none;
  }
  .modal-header{flex:0 0 auto;min-width:0;padding:12px 14px}
  .modal-header h3{min-width:0;margin:0;overflow-wrap:anywhere}
  .modal-body{
    flex:1 1 auto;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    min-height:0;
    max-height:none;
    padding:14px;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .modal-footer{
    flex:0 0 auto;
    box-sizing:border-box;
    width:100%;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    overflow-x:auto;
    justify-content:flex-start;
    flex-wrap:wrap;
    background:var(--surface);
  }
  .modal-footer .spacer{display:none}
  .modal-footer .btn{flex:1 1 145px;white-space:normal}

  .modal-body form,.modal-body section,.modal-body article,.modal-body fieldset,
  .management-form,.management-detail,.offer-position,.offer-new-customer,
  .site-inspection-entry,.capture-mode-grid>section{
    box-sizing:border-box;
    max-width:100%;
    min-width:0;
  }
  .modal-body fieldset,.management-form fieldset{padding:12px;margin:12px 0}
  .form-row,.address-row,.calendar-event-grid,.choice-cards,
  .capture-mode-grid,.safety-filter-grid,.safety-run-quickbar,
  .site-inspection-new-site-settings,.site-inspection-finding-deadline,
  .offer-position-options,.offer-work-types>div,.offer-work-row,
  .offer-additional-row,.offer-address-row,.offer-customer-row,
  .payroll-settings-grid,.payroll-profile-grid,.payroll-profile-basics,
  .payroll-choice-grid,.payroll-preview-head,.sondage-detail-grid,
  .sondage-facts,.emergency-coordinate-status{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .field,.field>*,.form-row>*,.address-row>*,.offer-work-row>*,
  .offer-additional-row>*,.site-inspection-date-row>*,.capture-mode-grid>*,
  .payroll-manager>*,.management-form>*{min-width:0;max-width:100%}
  .field input,.field select,.field textarea,.modal-entity-search,
  input:not([type='checkbox']):not([type='radio']):not([type='color']):not([type='range']),
  select,textarea{box-sizing:border-box;max-width:100%}
  input[type='file']{width:100%;font-size:14px}

  .section-title,.site-inspection-section-title,.offer-position-head,
  .contact-import-heading,.management-actions,.management-actions.bottom{
    align-items:stretch;
    flex-direction:column;
    gap:8px;
  }
  .section-title .btn,.site-inspection-section-title .btn,
  .management-actions .btn,.management-actions.bottom .btn{width:100%}
  .site-inspection-photo{grid-template-columns:minmax(0,1fr)}
  .site-inspection-photo img{grid-column:1;grid-row:auto;width:100%;height:auto;max-height:220px}
  .site-inspection-date-row{grid-template-columns:minmax(0,1fr) 42px!important}
  .site-inspection-date-row label:nth-child(2){grid-column:1}
  .site-inspection-date-row [data-remove-inspection-date]{grid-column:2;grid-row:1}
  .site-inspection-resolved{align-self:stretch}
  .offer-work-row input[data-work-detail]{width:100%}
  .offer-position{padding:12px}
  .offer-optional-measures{display:grid;grid-template-columns:1fr;gap:7px}
  .offer-optional-measures label,.offer-position-options label{width:auto}
  .emergency-call-strip{grid-template-columns:1fr 1fr}
  .emergency-map-actions{display:grid;grid-template-columns:1fr}
  .emergency-map-actions>*{width:100%}
  .emergency-google-map{height:min(55dvh,420px)}
  .sondage-trench-card>.sondage-trench-remove{position:static;margin:0 0 10px auto}
  .sondage-marker-row{grid-template-columns:18px minmax(0,1fr)!important}
  .modal-body table.data-table,.modal-body .payroll-lines{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:430px){
  .modal-footer{display:grid;grid-template-columns:1fr}
  .modal-footer .btn{width:100%;min-width:0}
  .emergency-call-strip{grid-template-columns:1fr}
  .site-inspection-tree-intro{display:grid;grid-template-columns:44px minmax(0,1fr);padding:11px}
  .site-inspection-tree-intro>img{width:44px;height:44px}
}

/* Version 5.0.9: Baumartensuche, Mobile-Zeit, Schweizer Karte und kompakte PSA-Kontrolle. */
.tree-species-combobox{position:relative;display:flex;min-width:0}.tree-species-combobox>input{flex:1;min-width:0;padding-right:44px}.tree-species-toggle{position:absolute;top:2px;right:2px;bottom:2px;width:40px;border:0;border-left:1px solid var(--border);border-radius:0 7px 7px 0;background:var(--surface-sunken);color:var(--forest-700);font-size:20px}.tree-species-menu{position:absolute;z-index:180;top:calc(100% + 4px);left:0;right:0;max-height:min(420px,55vh);overflow:auto;padding:5px;border:1px solid var(--forest-400);border-radius:9px;background:var(--surface);box-shadow:var(--shadow-lg)}.tree-species-menu button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 10px;width:100%;padding:9px 10px;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left}.tree-species-menu button span{color:var(--forest-700);font-style:italic}.tree-species-menu button small{grid-column:1/-1;color:var(--text-muted)}.tree-species-empty{padding:12px;color:var(--text-muted)}
.time-order-picker{position:relative;min-width:0}.time-order-picker>input[type=search]{width:100%;padding-right:44px}.time-order-clear{position:absolute;top:3px;right:3px;width:40px;height:40px;border:0;border-radius:7px;background:var(--surface-sunken);font-size:20px}.time-order-results{position:absolute;z-index:180;top:calc(100% + 4px);left:0;right:0;max-height:min(360px,50vh);overflow:auto;padding:5px;border:1px solid var(--forest-400);border-radius:9px;background:var(--surface);box-shadow:var(--shadow-lg)}.time-order-results button{display:block;width:100%;padding:10px;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left}.time-order-results button:hover,.time-order-results button.is-selected{background:var(--forest-100)}.time-order-results strong,.time-order-results span{display:block}.time-order-results span{margin-top:2px;color:var(--text-muted);font-size:12px}.time-order-empty{padding:12px;color:var(--text-muted)}
.emergency-swiss-map{display:block;width:100%;height:420px;margin:10px 0;border:1px solid var(--border);border-radius:10px;background:#edf1ec}.safety-mobile-run-menu{display:contents}.safety-mobile-run-menu>summary{display:none}.safety-mobile-run-menu>div{display:flex;gap:8px}.manager-productivity-list{display:grid;gap:6px}.manager-productivity-row{display:grid;grid-template-columns:minmax(170px,1.5fr) repeat(3,minmax(105px,1fr)) 60px;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-sunken)}.manager-productivity-row span{font-size:13px;color:var(--text-muted)}.manager-productivity-row b{text-align:right;color:var(--forest-700)}
@media(max-width:700px){
  .timesheet-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.timesheet-summary .employee-mobile-secondary{display:none}.timesheet-summary>div{padding:9px 7px}.timesheet-summary span{font-size:10px}.timesheet-summary strong{font-size:13px}
  #timeEntryForm .form-row{grid-template-columns:minmax(0,1fr)!important}#timeEntryForm input[type=time]{width:100%;min-width:0}
  .emergency-swiss-map{height:min(48dvh,360px)}
  .team-safety-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.team-safety-item>div:nth-child(2){grid-column:1/-1}.team-safety-item>.btn{min-height:38px;padding:7px 10px;font-size:13px}
  .safety-run-list{max-height:none;overflow:visible}.safety-run-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:9px}.safety-run-actions{display:flex;width:auto}.safety-run-actions .btn{min-height:34px;padding:6px 9px;font-size:12px}.safety-run-actions .srQuickOk{min-width:54px}
  .modal:has(#srRunBody) .modal-footer{display:flex;align-items:center;gap:7px;padding:7px 10px calc(7px + env(safe-area-inset-bottom))}.modal:has(#srRunBody) .modal-footer>.btn{flex:0 0 auto;width:auto;min-height:38px;padding:7px 12px}.safety-mobile-run-menu{display:block;position:relative}.safety-mobile-run-menu>summary{display:block;min-height:38px;padding:7px 11px;border:1px solid var(--border);border-radius:7px;font-weight:700;list-style:none}.safety-mobile-run-menu>div{position:absolute;bottom:calc(100% + 6px);left:0;z-index:210;display:grid;gap:6px;min-width:175px;padding:7px;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:var(--shadow-lg)}.safety-mobile-run-menu:not([open])>div{display:none}.safety-mobile-run-menu .btn{width:100%}
  .manager-productivity-row{grid-template-columns:minmax(0,1fr) auto}.manager-productivity-row span{grid-column:1}.manager-productivity-row b{grid-column:2;grid-row:1}
}
/* Fixierter Kartenausschnitt vor der maßstabilen Sondage-Markierung */
.sondage-fix-map{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:9px 0 14px;padding:10px 12px;border:1px solid #cbd7cc;border-radius:9px;background:#f2f6f1}.sondage-fix-map span{color:var(--text-muted);font-size:.84rem}.sondage-marker-controls.is-disabled{opacity:.45;pointer-events:none}
.sondage-polyline-editor{display:block;grid-template-columns:none;padding:13px}.sondage-marker-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sondage-marker-head>strong{margin-right:auto}.sondage-marker-head label{display:flex;align-items:center;gap:6px}.sondage-marker-head .btn{min-height:40px}.sondage-geometry-points{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.sondage-geometry-point{position:relative;display:grid;place-items:center;min-width:54px;min-height:48px;padding:5px 23px 5px 9px;border:1px solid #aac0ae;border-radius:9px;background:#fff;color:#173b27}.sondage-geometry-point strong{font-size:1rem}.sondage-geometry-point small{font-size:.65rem;color:var(--text-muted)}.sondage-geometry-point button{position:absolute;right:2px;top:2px;width:22px;height:22px;border:0;border-radius:6px;background:#f4ded9;color:#a92f22;font-weight:800;cursor:pointer}.sondage-segment-list{display:grid;gap:8px}.sondage-segment-row{display:grid;grid-template-columns:minmax(120px,.65fr) minmax(170px,1fr) minmax(210px,1.2fr) minmax(160px,.8fr) minmax(160px,.8fr);gap:10px;align-items:center;padding:9px 10px;border-left:4px solid var(--forest-700);border-radius:7px;background:#fff}.sondage-segment-row label{display:grid;gap:4px;color:var(--text-muted);font-size:.75rem}.sondage-segment-row label:has(input[type="checkbox"]){display:flex;align-items:center}.sondage-segment-row input[type="checkbox"]{width:20px;height:20px}.sondage-segment-auto{font-size:.78rem;color:var(--text-muted)}.sondage-address-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.sondage-address-summary dl>div{padding:10px;border:1px solid var(--border);border-radius:9px;background:#f8faf7}.sondage-address-summary dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.sondage-address-summary dd{margin:5px 0 0;font-weight:650}.sondage-geometry-summary{display:grid;gap:10px}.sondage-geometry-summary article{padding:10px 12px;border:1px solid var(--border);border-radius:9px}.sondage-geometry-summary h4{display:flex;align-items:center;gap:9px;margin:0 0 8px}.sondage-geometry-summary ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.sondage-geometry-summary li{display:flex;justify-content:space-between;gap:10px;padding-top:5px;border-top:1px solid var(--border)}.sondage-geometry-summary li span{color:var(--text-muted)}
@media(max-width:1050px){.sondage-segment-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sondage-segment-row>strong,.sondage-segment-auto{grid-column:auto}.sondage-address-summary dl{grid-template-columns:1fr}}
@media(max-width:760px){.sondage-marker-head{align-items:stretch}.sondage-marker-head>*{width:100%}.sondage-marker-head .sondage-marker-swatch{width:13px}.sondage-segment-row{grid-template-columns:1fr}.sondage-geometry-point{min-width:64px;min-height:54px}.sondage-geometry-point button{width:30px;height:30px}.sondage-geometry-summary li{display:grid}}
.arbor-safety-export-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.arbor-safety-export-actions span{color:var(--text-muted);font-size:13px}
@media(max-width:640px){.arbor-safety-export-actions{align-items:stretch;flex-direction:column}.arbor-safety-export-actions .btn{width:100%}}

/* Version 6.0.8: eine gemeinsame Kopfzeile für alle regulären Bereiche.
   Die Planung behält absichtlich ihren kompakten Steuerkopf. */
.app-page-header{display:flex;align-items:center;justify-content:space-between;gap:22px;width:100%;min-height:116px;box-sizing:border-box;margin:0 0 18px;padding:22px 24px;overflow:visible;border:1px solid #dccfb6;border-radius:18px;background:linear-gradient(135deg,#f5efe3,#fffaf1);color:var(--text);box-shadow:var(--shadow-sm)}
.app-page-header>div{min-width:0}.app-page-header .eyebrow{display:block;margin:0 0 5px;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.13em;line-height:1.25;text-transform:uppercase}
.app-page-header :is(h1,h2,h3),.app-page-header .section-title :is(h1,h2,h3){margin:0 0 6px;color:var(--forest-800);font:700 clamp(28px,3vw,38px)/1.08 var(--font-display);letter-spacing:-.35px}
.app-page-header :is(p,.muted){max-width:780px;margin:0;color:var(--text-muted);font-size:14px;line-height:1.45}.app-page-header .section-title{margin:0}
.app-page-header :is(.arbor-app-logo,.safety-register-page-icon),.app-page-header.arbor-task-hub-hero>img{display:block;width:72px;height:72px;flex:0 0 72px;border-radius:17px;object-fit:cover;box-shadow:0 5px 16px rgba(18,55,32,.14)}
.app-page-header .arbor-app-identity{align-items:center;gap:18px;flex:1}.app-page-header-actions,.app-page-header :is(.dashboard-hero-actions,.management-actions){display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.app-page-header .arbor-app-person{align-items:flex-end;flex-direction:column;text-align:right}.app-page-header.safety-register-toolbar{gap:18px}.app-page-header.safety-register-toolbar>.spacer{flex:1 1 20px}.app-page-header.safety-register-toolbar>.app-page-header-actions{flex:0 1 auto}
.app-page-header.management-hero,.app-page-header.site-inspection-archive-hero,.app-page-header.sondage-hero,.app-page-header.sondage-detail-head{padding:22px 24px;border:1px solid #dccfb6;border-radius:18px;background:linear-gradient(135deg,#f5efe3,#fffaf1);color:var(--text)}
.app-page-header.site-inspection-archive-hero .btn{border-color:var(--border);background:var(--forest-700)}.app-page-header.sondage-detail-head .badge{flex:0 0 auto}
@media(max-width:900px){.app-page-header{align-items:flex-start;flex-direction:column;min-height:0;padding:19px 20px}.app-page-header .spacer{display:none}.app-page-header-actions,.app-page-header :is(.dashboard-hero-actions,.management-actions){width:100%;justify-content:flex-start}.app-page-header .arbor-app-person{align-items:flex-start;text-align:left;white-space:normal}.app-page-header.safety-register-toolbar>.app-page-header-actions{width:100%}}
@media(max-width:560px){.app-page-header{gap:15px;padding:16px;border-radius:14px}.app-page-header :is(h1,h2,h3),.app-page-header .section-title :is(h1,h2,h3){font-size:27px}.app-page-header :is(.arbor-app-logo,.safety-register-page-icon),.app-page-header.arbor-task-hub-hero>img{width:60px;height:60px;flex-basis:60px;border-radius:14px}.app-page-header .arbor-app-identity{align-items:flex-start;gap:13px}.app-page-header-actions .btn,.app-page-header :is(.dashboard-hero-actions,.management-actions) .btn{flex:1 1 150px}}

/* Kompakte Gültigkeitswahl und konsistente Datei-Dropzone. */
#qualificationForm .qualification-validity-check{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;min-height:24px;margin:8px 0 0;color:var(--text-muted);font-size:12px;font-weight:700;line-height:1.25;text-transform:none;cursor:pointer}
#qualificationForm .qualification-validity-check input[type="checkbox"]{appearance:auto;-webkit-appearance:checkbox;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;margin:0;padding:0;border-radius:3px;accent-color:var(--forest-700)}
.file-drop-zone{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:100%;min-height:132px;box-sizing:border-box;margin:14px 0 18px;padding:22px 18px;overflow:hidden;border:2px dashed var(--forest-400);border-radius:12px;background:var(--forest-50);color:var(--forest-800);text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.file-drop-zone::before{content:"⇧";display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--surface);box-shadow:0 1px 5px rgba(18,55,32,.12);font-size:22px;line-height:1}.file-drop-zone:hover,.file-drop-zone.is-dragover{border-color:var(--forest-700);background:var(--forest-100)}.file-drop-zone.is-dragover{transform:translateY(-1px)}.file-drop-zone.has-file{border-style:solid}
.file-drop-zone input[type="file"]{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;margin:-1px!important;padding:0!important;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0!important;white-space:nowrap}.file-drop-zone strong{font-size:15px}.file-drop-zone span{color:var(--text-muted);font-size:13px;font-weight:500}.file-drop-zone small{display:block;max-width:100%;margin-top:3px;overflow:hidden;color:var(--forest-700);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:560px){.file-drop-zone{min-height:118px;padding:18px 14px}}
