:root {
  --brand: #009875;
  --brand-dark: #007b60;
  --ink: #15221f;
  --muted: #66736f;
  --line: #dce5e2;
  --soft: #f4f8f7;
  --danger: #b42318;
  --white: #ffffff;
  --shadow: 0 18px 48px rgba(21, 34, 31, .10);
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: #eef4f2; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; }
.topbar { height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 34px; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(14px); }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; color: white; background: var(--brand); font-weight: 800; font-size: 20px; }
.brand-logo{display:block;height:28px;width:auto;max-width:84px;object-fit:contain}
.brand-large .brand-logo{height:40px;max-width:120px}
.brand strong { display: block; font-size: 17px; }
.brand span { color: var(--muted); font-size: 12px; }
.brand > div{min-width:0}
.brand.admin-brand{gap:0}
.brand.admin-brand strong{font-size:16px;letter-spacing:.01em}
.save-state { color: var(--muted); font-size: 13px; }
.page { width: min(1080px, calc(100% - 32px)); margin: 34px auto 64px; }
.wizard { background: var(--white); border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); overflow: hidden; }
.wizard-head { padding: 28px 34px 18px; border-bottom: 1px solid var(--line); display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.eyebrow { color: var(--brand); font-weight: 750; letter-spacing: .03em; text-transform: uppercase; font-size: 12px; margin-bottom: 7px; }
h1 { font-size: 28px; margin: 0; letter-spacing: -.025em; }
.step-count { color: var(--muted); font-size: 13px; white-space: nowrap; padding-top: 7px; }
.progress { height: 4px; background: #edf2f0; }
.progress > div { height: 100%; background: var(--brand); transition: width .25s ease; }
.wizard-body { padding: 32px 34px 30px; min-height: 410px; }
.wizard-foot { display: flex; justify-content: space-between; gap: 12px; padding: 20px 34px 28px; border-top: 1px solid var(--line); background: #fbfcfc; position: sticky; bottom: 0; }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.grid.one { grid-template-columns: 1fr; }
.grid.three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.field { display: flex; flex-direction: column; gap: 7px; }
.field.full { grid-column: 1 / -1; }
label { font-size: 13px; font-weight: 700; color: #384742; }
input, select, textarea { width: 100%; border: 1px solid #cad7d3; border-radius: 12px; padding: 12px 13px; background: white; color: var(--ink); outline: none; transition: border-color .15s, box-shadow .15s, background .15s; }
input:focus, select:focus, textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(0,152,117,.10); }
input:disabled { background: #eff3f2; color: #95a19d; cursor: not-allowed; }
textarea { min-height: 110px; resize: vertical; }
.actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn { border: 0; border-radius: 12px; min-height: 44px; padding: 0 18px; font-weight: 750; transition: transform .1s ease, background .15s ease; }
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--brand); color: white; }
.btn-primary:hover { background: var(--brand-dark); }
.btn-secondary { background: #eaf1ef; color: var(--ink); }
.btn-ghost { background: transparent; color: var(--muted); }
.choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.choice { border: 1px solid #cddad6; border-radius: 16px; padding: 18px; background: white; text-align: left; }
.choice.active { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(0,152,117,.10); background: #f4fbf9; }
.choice strong { display: block; margin-bottom: 4px; }
.choice span { color: var(--muted); font-size: 13px; }
.section-title { font-size: 18px; margin: 0 0 18px; }
.muted { color: var(--muted); overflow-wrap: anywhere; }
.dashboard { display: grid; gap: 24px; }
.hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: white; border: 1px solid var(--line); border-radius: 24px; padding: 30px; box-shadow: var(--shadow); }
.hero h1 { margin-bottom: 6px; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.card { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 22px; min-height: 150px; }
.card strong { display: block; font-size: 16px; margin-bottom: 8px; }
.card p { color: var(--muted); margin: 0 0 18px; line-height: 1.5; }
.line-card { border: 1px solid var(--line); border-radius: 18px; padding: 20px; margin-bottom: 18px; }
.translation-grid { display: grid; grid-template-columns: 1fr 48px 1fr; gap: 14px; align-items: start; }
.translate-arrow { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line); background: var(--soft); display: grid; place-items: center; margin-top: 29px; color: var(--brand); font-weight: 900; }
.inline-note { border-left: 3px solid var(--brand); background: #f3faf8; padding: 12px 14px; border-radius: 0 10px 10px 0; color: #3d514b; font-size: 13px; }
.summary { display: grid; gap: 8px; max-width: 520px; margin-left: auto; }
.summary-row { display: flex; justify-content: space-between; gap: 30px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.summary-row.total { font-weight: 800; font-size: 18px; border-top: 2px solid var(--ink); border-bottom: 0; margin-top: 8px; }
.preview-box { border: 1px solid var(--line); border-radius: 16px; padding: 22px; background: #fff; }
.error { color: var(--danger); font-weight: 650; font-size: 13px; }
.tag { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 999px; background: #e8f7f3; color: var(--brand-dark); font-size: 12px; font-weight: 750; }
.hidden { display: none !important; }
@media (max-width: 760px) {
  .topbar { padding: 0 18px; }
  .page { width: min(100% - 18px, 1080px); margin-top: 16px; }
  .wizard-head, .wizard-body, .wizard-foot { padding-left: 20px; padding-right: 20px; }
  .grid, .grid.three, .choice-grid, .cards { grid-template-columns: 1fr; }
  .translation-grid { grid-template-columns: 1fr; }
  .translate-arrow { transform: rotate(90deg); margin: 0 auto; }
  .hero { align-items: stretch; flex-direction: column; }
}
.top-actions { display:flex; align-items:center; gap:12px; }
.save-state { display:flex; align-items:center; gap:10px; }
.top-email { color:var(--ink); font-weight:650; }
.top-link { border:0; background:transparent; color:var(--brand-dark); font-weight:750; padding:8px 4px; }
.account-badge { display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:800; background:#e8f7f3; color:var(--brand-dark); }
.status-expired,.status-blocked { background:#fff0ee; color:var(--danger); }
.auth-page { min-height:calc(100vh - 72px); display:grid; place-items:center; padding:32px 18px; }
body.customer-login-view .topbar{display:none}
body.customer-login-view .auth-page{min-height:100vh}
.auth-card { width:min(440px,100%); background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); padding:30px; }
.customer-auth-page{padding:34px 24px 52px;background:linear-gradient(180deg,#eaf1f0 0%,#f5f8f7 100%)}
.customer-auth-shell{width:min(1320px,100%);display:grid;grid-template-columns:minmax(0,1.75fr) minmax(340px,420px);gap:32px;align-items:center}
.customer-auth-banner{margin:0;min-width:0;border-radius:24px;overflow:hidden;background:#031f4a;box-shadow:0 20px 54px rgba(8,31,63,.22)}
.customer-auth-banner img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover}
.customer-auth-card{width:100%;align-self:center;padding:28px 28px 30px}
.customer-auth-card h1{margin:0 0 10px;font-size:20px;line-height:1.2}
.customer-auth-card>p{margin:0 0 20px;line-height:1.5}
.customer-auth-card .auth-form{display:grid;gap:14px}
.customer-auth-card .inline-note{margin-top:2px}
@media(max-width:980px){.customer-auth-shell{grid-template-columns:1fr;max-width:760px}.customer-auth-banner{border-radius:20px}.customer-auth-card{max-width:520px;justify-self:center}}
@media(max-width:560px){.customer-auth-page{padding:14px 10px 28px;align-items:start}.customer-auth-shell{gap:14px}.customer-auth-banner{border-radius:16px}.customer-auth-card{padding:22px 18px 24px;border-radius:18px}.customer-auth-card h1{font-size:18px}}
.brand-large { display:flex; align-items:center; gap:14px; margin-bottom:26px; }
.brand-large .brand-mark { width:48px; height:48px; border-radius:15px; }
.brand-large strong { display:block; font-size:20px; }
.brand-large span { display:block; color:var(--muted); font-size:13px; margin-top:2px; }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; background:var(--soft); padding:4px; border-radius:12px; margin-bottom:22px; }
.auth-tab { border:0; border-radius:9px; background:transparent; min-height:40px; font-weight:750; color:var(--muted); }
.auth-tab.active { background:white; color:var(--ink); box-shadow:0 2px 8px rgba(21,34,31,.08); }
.auth-form { display:grid; gap:18px; }
.btn-wide { width:100%; }
.field-note { color:var(--muted); font-size:12px; line-height:1.45; }
.switch-stack { display:grid; gap:12px; }
.switch-row { display:flex; align-items:center; gap:12px; font-weight:650; cursor:pointer; }
.switch-row input { position:absolute; opacity:0; pointer-events:none; width:auto; }
.switch { width:42px; height:24px; background:#ccd7d4; border-radius:999px; position:relative; flex:0 0 auto; transition:.15s; }
.switch::after { content:''; width:18px; height:18px; border-radius:50%; background:white; position:absolute; left:3px; top:3px; box-shadow:0 1px 4px rgba(0,0,0,.18); transition:.15s; }
.switch-row input:checked + .switch { background:var(--brand); }
.switch-row input:checked + .switch::after { transform:translateX(18px); }
.numbering-sections { display:grid; gap:16px; }
.subcard { border:1px solid var(--line); border-radius:16px; padding:18px; }
.subcard h3 { margin:0 0 15px; font-size:15px; }
.review-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.hero.compact { padding:24px 28px; }
.list-card { background:white; border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:var(--shadow); }
.customer-row { width:100%; border:0; border-bottom:1px solid var(--line); background:white; padding:18px 22px; display:flex; justify-content:space-between; align-items:center; text-align:left; }
.customer-row:last-child { border-bottom:0; }
.customer-row:hover { background:#f7fbfa; }
.customer-row strong,.admin-row strong { display:block; font-size:15px; }
.customer-row small,.admin-row small { display:block; color:var(--muted); margin-top:5px; }
.row-arrow { color:var(--brand); font-size:20px; font-weight:900; }
.empty-state { padding:44px 24px; text-align:center; display:grid; gap:6px; color:var(--muted); }
.empty-state strong { color:var(--ink); }
.admin-row { padding:18px 22px; display:flex; justify-content:space-between; align-items:center; gap:18px; border-bottom:1px solid var(--line); }
.admin-row:last-child { border-bottom:0; }
.btn-small { min-height:36px; padding:0 12px; font-size:12px; }
.actions.split { justify-content:space-between; margin-bottom:18px; }
.actions.end { justify-content:flex-end; margin-top:12px; }
.form-gap { margin-top:18px; }
.status-screen { max-width:560px; margin:60px auto; text-align:center; }
.status-screen h1 { margin:14px 0 10px; }
.status-screen p { color:var(--muted); line-height:1.6; }
@media (max-width:760px){.review-grid{grid-template-columns:1fr}.admin-row{align-items:flex-start;flex-direction:column}.top-email{display:none}.account-badge{display:none}}
.list-title { padding: 15px 22px; background: #f7fbfa; border-bottom: 1px solid var(--line); color: var(--ink); }
.actions.center { justify-content: center; margin-top: 22px; }
.btn { text-decoration: none; }
.archive-filters { padding: 20px 22px; }
.list-title { display:flex; align-items:center; justify-content:space-between; gap:16px; }

.assistant-card { margin-top: 26px; border: 1px solid #cfe2dc; border-radius: 16px; background: #f7fcfa; padding: 16px 18px; }
.assistant-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 9px; }
.assistant-head > div { display: flex; align-items: center; gap: 9px; }
.assistant-head strong { font-size: 14px; }
.assistant-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 4px rgba(0,152,117,.10); }
.assistant-source { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.assistant-message { margin: 0; color: #304640; font-size: 13px; line-height: 1.55; }
.assistant-ask { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.assistant-ask input { min-height: 38px; padding: 9px 11px; background: #fff; }
.assistant-ask .btn { min-height: 38px; }
@media (max-width:760px){.assistant-ask{align-items:stretch;flex-direction:column}.assistant-ask .btn{width:100%}}

.mail-body { min-height: 220px; line-height: 1.55; }
.delivery-note { margin: 16px auto 20px; max-width: 680px; text-align: left; }
.delivery-failed { border-left-color: var(--danger); background: #fff6f4; }
.delivery-mini { display: inline-flex; align-items: center; min-height: 28px; padding: 0 9px; border-radius: 999px; font-size: 11px; font-weight: 800; background: #edf3f1; color: var(--muted); }
.delivery-sent, .delivery-captured { background: #e8f7f3; color: var(--brand-dark); }
.delivery-failed { color: var(--danger); }

/* 0.9 · Dziennik, mobile Leistungserfassung und Arbeitszeit */
.journal-head,.journal-row{display:grid;grid-template-columns:42px minmax(230px,2fr) minmax(120px,.8fr) minmax(150px,1fr) minmax(220px,1.35fr);gap:14px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line)}
.journal-head{background:#f7fbfa;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.journal-row:last-child{border-bottom:0}.journal-select input{width:auto;transform:scale(1.12)}
.journal-main strong{display:block}.journal-meta{color:var(--muted);font-size:12px;margin-top:4px}.journal-lage{font-size:13px;font-weight:750;color:var(--brand-dark)}
.journal-actions{justify-content:flex-end}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.service-group{background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-bottom:18px;box-shadow:var(--shadow)}
.service-group-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;background:#f7fbfa;border-bottom:1px solid var(--line)}
.service-group-head strong{display:block}.service-group-head small{display:block;color:var(--muted);margin-top:4px}
.service-mobile-card,.time-mobile-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}
.service-mobile-card:last-child,.time-mobile-card:last-child{border-bottom:0}.service-mobile-card input[type=checkbox]{width:auto;transform:scale(1.15)}
.service-card-main strong,.time-mobile-card strong{display:block;line-height:1.4}.service-card-main small,.time-mobile-card small{display:block;color:var(--muted);margin-top:5px;line-height:1.45}
.time-mobile-card{grid-template-columns:minmax(0,1fr) auto}.mobile-sticky-actions{position:sticky;bottom:12px;z-index:12;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 12px 32px rgba(21,34,31,.12)}
@media(max-width:760px){
  input,select,textarea{font-size:16px;min-height:48px}.btn{min-height:48px}.wizard-foot{padding:14px 16px 18px}.wizard-foot .btn{flex:1}
  .journal-head{display:none}.journal-row{grid-template-columns:34px minmax(0,1fr);gap:9px 12px;padding:17px 15px}.journal-main{grid-column:2}.journal-row>.journal-meta,.journal-lage,.journal-actions{grid-column:2}.journal-actions{justify-content:flex-start}.journal-actions .btn{flex:1}
  .service-group{border-radius:16px}.service-group-head{align-items:flex-start;flex-direction:column}.service-group-head .btn{width:100%}
  .service-mobile-card{grid-template-columns:34px minmax(0,1fr);align-items:start;padding:16px}.service-mobile-card>.actions{grid-column:2}.service-mobile-card>.actions .btn{flex:1}
  .time-mobile-card{grid-template-columns:1fr;padding:16px}.time-mobile-card>.actions .btn{width:100%}
}


/* 0.10 · Zugänglichkeit, sichere Bestätigungen und mobile Feinarbeit */
.skip-link{position:fixed;left:12px;top:8px;z-index:1000;transform:translateY(-150%);background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:750}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid rgba(0,152,117,.35);outline-offset:3px}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(0,152,117,.28);outline-offset:2px}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-danger{background:#b42318;color:#fff}.btn-danger:hover{background:#912018}
.toast-region{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:90;display:grid;gap:10px;max-width:min(420px,calc(100vw - 28px));pointer-events:none}.toast{background:#16332c;color:#fff;padding:13px 16px;border-radius:13px;box-shadow:0 14px 38px rgba(21,34,31,.22);opacity:0;transform:translateY(8px);transition:.18s ease}.toast.show{opacity:1;transform:none}.toast-error{background:#8f271f}
.app-dialog{border:0;padding:0;background:transparent;max-width:min(520px,calc(100vw - 24px));width:100%}.app-dialog::backdrop{background:rgba(17,31,27,.48);backdrop-filter:blur(4px)}.dialog-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.dialog-card h2{margin:0 0 10px;font-size:22px}.dialog-card>p{margin:0 0 22px;color:var(--muted);line-height:1.55}
@media(max-width:760px){.topbar{height:64px;padding-top:env(safe-area-inset-top)}.page{padding-bottom:env(safe-area-inset-bottom)}.wizard-foot{bottom:0;padding-bottom:max(18px,env(safe-area-inset-bottom))}.btn-small{min-height:44px}.dialog-card{border-radius:18px;padding:20px}.dialog-card .actions{display:grid;grid-template-columns:1fr 1fr}.toast-region{left:14px;right:14px;max-width:none}}

/* 0.20 · klar abgegrenzter lokaler Entwicklungs-/Testmodus */
.local-test-banner{position:sticky;top:0;z-index:110;background:#9f241b;color:#fff;text-align:center;padding:9px 16px;font-size:12px;font-weight:900;letter-spacing:.035em}
body:has(.local-test-banner:not(.hidden)) .topbar{top:34px}
.draft-translation-note{border-left-color:#b7791f;background:#fff9e8;color:#684b13}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* 0.11 · mobile Leistungs- und Arbeitszeitübersichten */
.service-list-title{align-items:flex-start;flex-wrap:wrap}.segmented{display:flex;gap:6px;flex-wrap:wrap;background:var(--soft);padding:4px;border-radius:12px}.segmented-btn{border:0;background:transparent;color:var(--muted);min-height:34px;padding:0 11px;border-radius:9px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.segmented-btn.active{background:#fff;color:var(--brand-dark);box-shadow:0 2px 8px rgba(21,34,31,.08)}
.service-group.embedded{margin:16px 18px;box-shadow:none;border-radius:15px}.service-history-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 20px;border-bottom:1px solid var(--line)}.service-history-row:last-child{border-bottom:0}.service-history-row strong,.service-history-row small{display:block}.service-history-row small{color:var(--muted);margin-top:5px;line-height:1.45}
.period-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:18px 22px}.period-toolbar .field{min-width:180px}.time-summary{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.time-summary span{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:#f7fbfa;border-radius:999px;padding:8px 11px;color:var(--muted);font-size:12px}.time-summary strong{color:var(--ink)}
@media(max-width:760px){.service-list-title{display:grid;gap:12px}.segmented{display:grid;grid-template-columns:1fr 1fr;width:100%}.segmented-btn{min-height:42px}.service-group.embedded{margin:12px}.service-history-row{align-items:flex-start;flex-direction:column;padding:16px}.service-history-row>.actions{width:100%}.service-history-row>.actions .btn{flex:1}.period-toolbar{align-items:stretch;flex-direction:column;padding:16px}.period-toolbar .field{min-width:0;width:100%}.time-summary{justify-content:flex-start}.time-summary span{border-radius:12px}}

/* 0.12 · Security hardening: CSP ohne Inline-Styles */
.progress{display:block;width:100%;height:4px;border:0;border-radius:0;background:#edf2f0;appearance:none;-webkit-appearance:none}
.progress::-webkit-progress-bar{background:#edf2f0}
.progress::-webkit-progress-value{background:var(--brand);transition:width .25s ease}
.progress::-moz-progress-bar{background:var(--brand);transition:width .25s ease}
.admin-auth-title{font-size:22px;margin-bottom:8px}
.admin-auth-subtitle{margin-top:0;margin-bottom:22px}
.mt-8{margin-top:8px}
.mt-16{margin-top:16px}
.inline-warning{display:grid;gap:.35rem;margin:.25rem 0 1rem;padding:.8rem 1rem;border:1px solid rgba(128,94,0,.22);border-radius:14px;background:rgba(255,193,7,.08);font-size:.92rem}
.inline-warning span{display:block}
.lexware-verification{margin-top:1rem}
.file-verification-status{margin-top:.55rem;padding:.7rem .8rem;border:1px solid #d9e2df;border-radius:10px;background:#f6f8f7;color:#4b5e58;font-size:.86rem;overflow-wrap:anywhere}
.file-verification-status.success{border-color:rgba(0,152,117,.3);background:rgba(0,152,117,.08);color:#075f4b}
.file-verification-status.error{border-color:rgba(143,39,31,.3);background:rgba(143,39,31,.08);color:#8f271f}
.inline-success{display:grid;gap:.35rem;margin:.75rem 0;padding:.8rem 1rem;border:1px solid rgba(0,152,117,.3);border-radius:14px;background:rgba(0,152,117,.08);font-size:.92rem;overflow-wrap:anywhere}
.inline-success span{display:block;color:var(--muted)}

/* 0.43 · zeitraumbezogener vollständiger Stundenzettel */
.report-export-card .list-title small{display:block;color:var(--muted);font-weight:500;margin-top:4px;line-height:1.4}
.report-export-grid{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(150px,.75fr) minmax(220px,1.2fr) auto;gap:16px;align-items:end;padding:20px 22px}
.report-export-grid.employee-report-export{grid-template-columns:minmax(150px,.75fr) minmax(150px,.75fr) auto}
.report-export-actions{justify-content:flex-end;flex-wrap:nowrap}
@media(max-width:900px){.report-export-grid,.report-export-grid.employee-report-export{grid-template-columns:1fr 1fr}.report-export-grid .field:nth-child(3),.report-export-actions{grid-column:1 / -1}.report-export-actions{justify-content:stretch}.report-export-actions .btn{flex:1}}
@media(max-width:560px){.report-export-grid,.report-export-grid.employee-report-export{grid-template-columns:1fr;padding:16px}.report-export-grid .field:nth-child(3),.report-export-actions{grid-column:auto}.report-export-actions{display:grid;grid-template-columns:1fr}.report-export-actions .btn{width:100%}}

/* 0.47 · optionale TOTP-Zwei-Faktor-Anmeldung */
.mfa-tag-off{background:#edf3f1;color:var(--muted)}
.mfa-code-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.12rem;letter-spacing:.12em}
.mfa-enrollment{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:center;margin:18px 0}
.mfa-qr{display:block;width:180px;height:180px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:7px}
.mfa-secret{display:block;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.84rem;line-height:1.5;overflow-wrap:anywhere;user-select:all}
.recovery-code-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.recovery-code-list code{font-size:.96rem;font-weight:750;letter-spacing:.05em;text-align:center}
@media(max-width:560px){.mfa-enrollment{grid-template-columns:1fr}.mfa-qr{margin:auto}.recovery-code-list{grid-template-columns:1fr}.mfa-security-card .admin-row .actions{width:100%;display:grid}.mfa-security-card .admin-row .btn{width:100%}}

/* 0.49 · aggregierter MFA-Schlüsselrotationsstatus */
.mfa-rotation-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}
.mfa-rotation-metrics>div{display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fbfdfc;text-align:center}
.mfa-rotation-metrics strong{font-size:21px;color:var(--ink)}
.mfa-rotation-metrics small{color:var(--muted);line-height:1.25}
.mfa-rotation-guidance{display:grid;gap:5px}
.mfa-rotation-current,.mfa-rotation-ready_to_remove{background:#e3f5ef;color:#12624e}
.mfa-rotation-in_progress{background:#fff1c9;color:#765400}
.mfa-rotation-blocked{background:#fde5e5;color:#8f2525}
@media(max-width:760px){.mfa-rotation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.mfa-rotation-metrics>div:first-child{grid-column:1/-1}}

/* 0.14 · UX-Härtung: schnelle Kundenwahl und reduzierte Hauptwege */
.customer-search-bar{padding:18px 22px;border-bottom:1px solid var(--line);background:#fbfdfc}
.customer-search-bar .field{max-width:560px}
.customer-picker{gap:10px}
.customer-picker-list{display:grid;gap:7px;max-height:300px;overflow:auto;padding:4px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}
.customer-picker-option{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:58px;padding:11px 13px;border:1px solid transparent;border-radius:11px;background:transparent;text-align:left;color:var(--ink)}
.customer-picker-option:hover{background:#f1f8f6}
.customer-picker-option.selected{border-color:var(--brand);background:#edf9f6;box-shadow:0 0 0 2px rgba(0,152,117,.08)}
.customer-picker-option strong,.customer-picker-option small{display:block}
.customer-picker-option small{margin-top:3px;color:var(--muted);font-size:12px}
.customer-check{flex:0 0 auto;color:var(--brand);font-weight:900;font-size:18px}
.selected-customer{font-size:12px;color:var(--muted);padding:2px 2px 0}
.selected-customer strong{color:var(--brand-dark)}
.customer-picker.no-results .customer-picker-list::after{content:'Brak pasujących klientów';display:block;padding:18px;text-align:center;color:var(--muted);font-size:13px}
.quick-actions{justify-content:flex-end}
.quick-actions .btn{white-space:nowrap}
@media(max-width:760px){
  .customer-search-bar{padding:15px}
  .customer-picker-list{max-height:250px}
  .customer-picker-option{min-height:62px;padding:12px}
  .quick-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .quick-actions .btn:first-child{grid-column:1/-1}
}

/* 0.15 · mobile End-to-End-Härtung der Rechnungserfassung */
.flow-sections{display:grid;gap:18px}
.form-section{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff}
.form-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.form-section-title strong{font-size:16px}
.form-section-title span{color:var(--muted);font-size:12px;text-align:right}
.details-card{border:1px solid var(--line);border-radius:16px;background:#fbfdfc;overflow:hidden}
.details-card>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:14px 18px;cursor:pointer;user-select:none}
.details-card>summary::-webkit-details-marker{display:none}
.details-card>summary span:first-child{display:grid;gap:4px}
.details-card>summary strong{font-size:14px}
.details-card>summary small{color:var(--muted);font-size:12px;font-weight:500}
.details-chevron{color:var(--brand);font-size:20px;font-weight:900;transition:transform .15s ease}
.details-card[open] .details-chevron{transform:rotate(180deg)}
.details-body{padding:18px;border-top:1px solid var(--line);background:#fff}
.position-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.position-toolbar .section-title{margin-bottom:4px}
.compact-note{margin:0;font-size:12px;line-height:1.45}
.position-list{display:grid;gap:12px}
.position-card{padding:0;margin:0;overflow:hidden;background:#fff}
.position-head{background:#fbfdfc}
.position-toggle{width:100%;border:0;background:transparent;display:grid;grid-template-columns:34px minmax(0,1fr) 26px;gap:12px;align-items:center;padding:14px 16px;text-align:left;color:var(--ink)}
.position-toggle:hover{background:#f2f8f6}
.position-number{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#e8f7f3;color:var(--brand-dark);font-size:12px;font-weight:900}
.position-summary{min-width:0;display:grid;gap:4px}
.position-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.position-summary small{color:var(--muted);font-size:12px}
.position-chevron{justify-self:end;color:var(--brand);font-size:20px;font-weight:900;transition:transform .15s ease}
.position-card:not(.collapsed) .position-chevron{transform:rotate(180deg)}
.line-card-body{padding:18px 20px 20px;border-top:1px solid var(--line)}
.position-card.collapsed .line-card-body{display:none}
.position-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:760px){
  .top-email{display:none}
  .form-section{padding:16px;border-radius:15px}
  .form-section-title{display:grid;gap:4px}
  .form-section-title span{text-align:left}
  .details-card>summary{min-height:64px;padding:13px 15px}
  .details-body{padding:15px}
  .position-toolbar{display:grid;gap:12px}
  .position-toolbar>.actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .position-toolbar>.actions .btn{width:100%;padding-inline:10px}
  .line-card-body{padding:15px}
  .position-toggle{grid-template-columns:32px minmax(0,1fr) 24px;padding:13px 14px}
  .position-actions{align-items:stretch;flex-direction:column}
  .position-actions>.actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .position-actions>.actions:last-child{grid-template-columns:1fr}
  .position-actions .btn{width:100%}
}

/* 0.17 · Mitarbeiterzugang und Monatsübergabe an LaGe */
.empty-state.compact{padding:24px 20px}
.admin-inline-fields{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,.8fr) auto;gap:8px;align-items:center;min-width:min(520px,52vw)}
.admin-inline-fields input{min-height:40px;padding:9px 10px}
.admin-inline-fields.single{grid-template-columns:minmax(160px,1fr) auto;min-width:min(360px,42vw)}
.payroll-preflight-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.payroll-preflight-summary span{padding:6px 10px;border-radius:999px;background:var(--soft);font-size:.86rem}
.text-warning{color:#8a6100!important;font-weight:700}
.employee-portal{max-width:900px}
.employee-portal .mobile-entry{max-width:720px;margin-inline:auto}
@media(max-width:760px){
  .admin-mapping{gap:12px}
  .admin-inline-fields{grid-template-columns:1fr 1fr;min-width:0;width:100%}
  .admin-inline-fields.single{grid-template-columns:1fr;min-width:0;width:100%}
  .admin-inline-fields .btn{grid-column:1/-1;width:100%}
  .employee-portal .hero{align-items:flex-start}
}

/* 0.18 consolidation */
.customer-row-actions{display:flex;align-items:center;gap:12px;padding:0 14px 0 0}.customer-row-main{flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;text-align:left;padding:14px;color:inherit;font:inherit;cursor:pointer}.customer-row-main:hover strong{color:#009875}.customer-list-controls{align-items:center}.customer-row-actions[hidden]{display:none!important}

/* 0.23 · sicherer Offline-Puffer und korrigierbare abgewiesene Einträge */
.sync-state{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font:inherit;font-size:12px;font-weight:850;white-space:nowrap;cursor:pointer}
.sync-state::before{content:'';width:8px;height:8px;margin-right:7px;border-radius:50%;background:#6b7774;box-shadow:0 0 0 3px rgba(107,119,116,.12)}
.sync-state.online{color:var(--brand-dark);border-color:rgba(0,152,117,.28);background:#f1faf8}.sync-state.online::before{background:var(--brand);box-shadow:0 0 0 3px rgba(0,152,117,.13)}
.sync-state.offline{color:#684b13;border-color:#e3c579;background:#fff9e8}.sync-state.offline::before{background:#b7791f;box-shadow:0 0 0 3px rgba(183,121,31,.14)}
.sync-state.pending{color:#185f8d;border-color:#a7d2ec;background:#f1f8fd}.sync-state.pending::before{background:#2680b8;box-shadow:0 0 0 3px rgba(38,128,184,.14)}
.sync-state.attention{color:#8f271f;border-color:#e5aaa4;background:#fff5f4}.sync-state.attention::before{background:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.13)}
.offline-dialog{max-width:min(620px,calc(100vw - 24px))}.offline-dialog .dialog-card{max-height:min(760px,calc(100dvh - 32px));overflow:auto}.offline-list{display:grid;gap:9px;max-height:420px;overflow:auto;margin:0 0 20px;padding:2px}.offline-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fbfdfc}.offline-row>div{min-width:0}.offline-row strong,.offline-row small{display:block}.offline-row strong{line-height:1.4}.offline-row small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4}.offline-row .error-text{color:#9f241b}.offline-row .btn{flex:0 0 auto}
.offline-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
@media(max-width:760px){.sync-state{min-height:42px;padding-inline:10px}.top-actions{gap:7px}.offline-dialog .dialog-card{max-height:calc(100dvh - 20px);padding:17px}.offline-row{align-items:flex-start;flex-direction:column}.offline-row-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.offline-row .btn{width:100%}}

/* 0.24 · verschlüsselter Gerätezugang für sicheren Offline-Kaltstart */
.offline-mode-tag{background:#fff5d6;color:#6c4d00;border-color:#dfc16c}.offline-access-dialog{max-width:min(660px,calc(100vw - 24px))}.offline-access-dialog .dialog-card{max-height:calc(100dvh - 32px);overflow:auto}.offline-unlock-card .tag{margin-bottom:10px}.offline-unlock-card .actions{margin-top:18px;flex-wrap:wrap}.offline-dashboard .hero{border-color:#dfc16c;background:linear-gradient(135deg,#fffdf4,#f2fbf8)}
@media(max-width:760px){.offline-access-dialog .dialog-card{max-height:calc(100dvh - 20px);padding:17px}.offline-unlock-card .actions .btn{width:100%}}

/* 0.25 · verschlüsselte Offline-Warteschlange */
.sync-state.locked{color:#5a4b70;border-color:#cbbdde;background:#faf7ff}.sync-state.locked::before{background:#75618f;box-shadow:0 0 0 3px rgba(117,97,143,.14)}

/* 0.26 · Schlüsselrotation und Gerätewiederherstellung */
.offline-dialog .inline-warning{margin:0 0 18px}.offline-dialog .inline-warning span{display:block}.offline-dialog .inline-warning span+span{margin-top:6px}

/* 0.27 · kennwortverschlüsselte lokale Datensicherung */
.backup-admin-row{align-items:flex-start}.backup-password-fields{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end;min-width:min(100%,680px)}
@media(max-width:900px){.backup-admin-row{display:grid;gap:16px}.backup-password-fields{grid-template-columns:1fr 1fr}.backup-password-fields .btn{grid-column:1/-1}}
@media(max-width:560px){.backup-password-fields{grid-template-columns:1fr}.backup-password-fields .btn{grid-column:auto}}

/* 0.28 · datensparsamer Offline-Gerätenachweis */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stats>div{padding:17px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;gap:3px}.stats strong{font-size:24px;color:var(--ink)}.stats span{font-size:12px;color:var(--muted);font-weight:750}.status-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:850;white-space:nowrap;background:#f0f3f2;color:#52605d}.status-pill.current{background:#e8f7f3;color:var(--brand-dark)}.status-pill.outdated{background:#fff3d8;color:#775300}.status-pill.unconfirmed{background:#f3eef9;color:#654d82}
@media(max-width:620px){.stats{grid-template-columns:1fr}.status-pill{white-space:normal}}

/* 0.29 · expliziter Gerätewiderruf ohne Fernlöschung */
.device-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.status-pill.revoked{background:#fff0ee;color:#94261e}.admin-row .actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:820px){.device-stats{grid-template-columns:1fr 1fr}}@media(max-width:480px){.device-stats{grid-template-columns:1fr}}

/* 0.50 · mobile Zeitschnellerfassung ohne Hintergrund-Timer */
.time-quick-capture{grid-column:1/-1;display:grid;gap:8px;padding:14px 16px;border:1px solid #cfe2dc;border-radius:14px;background:#f7fcfa}
.time-quick-actions{display:flex;gap:10px;flex-wrap:wrap}.time-duration-preview{display:block;color:var(--brand-dark);font-size:14px;font-weight:850;line-height:1.4}.time-duration-preview.invalid{color:var(--danger)}
.time-quick-capture>small{color:var(--muted);line-height:1.45}
@media(max-width:560px){.time-quick-actions{display:grid;grid-template-columns:1fr 1fr}.time-quick-actions .btn{width:100%;white-space:normal}}

/* 0.52 · sichtbarer Verlustschutz für noch nicht gespeicherte Erfassungen */
.capture-guard-status{margin-top:16px;padding:11px 13px;border:1px solid #efc879;border-radius:12px;background:#fff8e8;color:#75510b;font-size:13px;font-weight:750;line-height:1.45}

/* 0.30 · atomare Kontosicherheits-Sperre */
.security-lock-note{color:var(--danger)!important;font-weight:750}

/* 0.85 · Modulfreischaltung und responsive Konsolidierung */
@media(max-width:900px){
  .journal-head{display:none}
  .journal-row{grid-template-columns:34px minmax(0,1fr);gap:9px 12px;padding:17px 15px}
  .journal-main{grid-column:2}
  .journal-row>.journal-meta,.journal-lage,.journal-actions{grid-column:2}
  .journal-actions{justify-content:flex-start}
  .journal-actions .btn{flex:1}
}
@media(max-width:520px){
  .topbar{padding-inline:12px}
  .brand{gap:8px;min-width:0}
  .brand-mark{width:34px;height:34px;border-radius:10px;font-size:18px;flex:0 0 auto}
  .brand strong{font-size:15px;white-space:nowrap}
  .brand span{display:none}
  .brand-logo{height:24px;max-width:72px}
  .top-actions{gap:4px;min-width:0}
  .save-state{display:flex;align-items:center;gap:4px;min-width:0}
  .save-state>.tag{display:none}
  .top-link{padding:8px 5px;font-size:13px}
}

/* Betreiberbereich · klare Kundenverwaltung */
.admin-dashboard{gap:18px}
.admin-hero{align-items:center}
.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-filter-card{overflow:visible}
.admin-filter-card .list-title{padding:20px 22px 0}
.admin-filter-card .list-title small{display:block;color:var(--muted);font-weight:500;margin-top:4px}
.admin-filter-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:16px;padding:18px 22px 22px}
.admin-account-list{overflow:hidden}
.admin-account-card{padding:20px 22px;border-bottom:1px solid var(--line);display:grid;gap:16px}
.admin-account-card:last-child{border-bottom:0}
.admin-account-summary{display:grid;gap:8px}
.admin-account-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-account-title strong{font-size:17px}
.admin-account-username{font-size:14px;color:#33443f}
.admin-account-summary small{display:block;color:var(--muted);margin-top:4px;line-height:1.45}
.admin-account-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.admin-warning{margin-top:10px;padding:9px 11px;border-radius:10px;background:#fff0ee;color:#8f271f;font-size:12px;font-weight:700}
.admin-status-active{background:#e8f7f3;color:var(--brand-dark)}
.admin-status-trial{background:#fff3d8;color:#775300}
.admin-status-expired{background:#f0f3f2;color:#52605d}
.admin-status-blocked{background:#fff0ee;color:#94261e}
.admin-secondary>summary{cursor:pointer;list-style:none;padding:20px 22px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.admin-secondary>summary::-webkit-details-marker{display:none}
.admin-secondary>summary::after{content:'▾';color:var(--muted);font-size:18px}
.admin-secondary[open]>summary::after{transform:rotate(180deg)}
.admin-secondary>summary span{color:var(--muted);font-size:13px;font-weight:500}
.admin-secondary-body{border-top:1px solid var(--line);padding:20px 22px;display:grid;gap:22px}
.admin-tool-buttons{display:flex;gap:10px;flex-wrap:wrap}
.admin-settings-block{display:grid;gap:12px}
.admin-settings-block h3{margin:0;font-size:16px}
.admin-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.admin-module-fieldset{border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;gap:18px;flex-wrap:wrap}
.admin-module-fieldset legend{font-weight:750;padding:0 6px}
.admin-module-fieldset label{display:flex;align-items:center;gap:8px;font-weight:600}
.admin-module-fieldset input{width:auto;min-height:0}
.admin-account-dialog{max-height:min(86vh,760px);overflow:auto}
.empty-action{justify-self:center;margin-top:10px}
@media(max-width:820px){.admin-stats{grid-template-columns:1fr 1fr}.admin-hero{align-items:flex-start}.admin-hero .actions{width:100%}.admin-hero .actions .btn{flex:1}.admin-filter-grid{grid-template-columns:1fr}.admin-setting-row{grid-template-columns:1fr}.admin-setting-row .btn{width:100%}.admin-secondary>summary{align-items:flex-start;flex-direction:column}.admin-secondary>summary::after{position:absolute;right:22px}}
@media(max-width:520px){.admin-stats{grid-template-columns:1fr 1fr}.admin-account-card{padding:17px 16px}.admin-account-actions{display:grid;grid-template-columns:1fr 1fr}.admin-account-actions .btn{width:100%}.admin-tool-buttons{display:grid}.admin-tool-buttons .btn{width:100%}.admin-module-fieldset{display:grid;gap:12px}.admin-filter-card .list-title,.admin-filter-grid,.admin-secondary-body{padding-left:16px;padding-right:16px}}

/* 0.90.7.8 · Firmeneinrichtung: Länder, Dokumentkopf, Assistent, Abbruch */
.company-activity-card{display:grid;gap:18px;border:1px solid var(--line);border-radius:18px;padding:20px;background:#fbfcfc}
.company-activity-card>div>p{margin:.45rem 0 0;line-height:1.5}
.company-header-preview{display:grid;gap:3px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;max-width:520px}
.company-header-preview small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;margin-bottom:6px}
.company-header-preview strong{font-size:20px}
.company-header-preview span{font-size:13px;color:var(--muted)}
.assistant-ask{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.assistant-send{min-width:104px}
@media(max-width:560px){.assistant-ask{grid-template-columns:1fr}.assistant-send{width:100%}.company-activity-card{padding:16px}}


/* 0.90.7.11 · globale UI-Schärfung und konsistente Bedienelemente */
:root{
  --ink:#14211e;
  --muted:#566762;
  --line:#cfdad7;
  --soft:#f4f7f6;
  --shadow:0 8px 24px rgba(20,33,30,.075);
}
html{font-size:16px;background:#eef3f1}
body{
  font-family:"Segoe UI Variable","Segoe UI",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:15px;
  line-height:1.5;
  text-rendering:optimizeLegibility;
  background:#eef3f1;
}
body,button,input,select,textarea{font-kerning:normal}
h1,h2,h3,strong,label,.btn{font-synthesis:none}
h1{font-size:28px;line-height:1.2;font-weight:750;letter-spacing:-.015em}
h2{line-height:1.25;letter-spacing:-.01em}
p{line-height:1.55}
.muted,.field-note,.customer-row small,.admin-row small{color:var(--muted)}

.topbar{
  background:#fff;
  border-bottom:1px solid #d5dfdc;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 1px 0 rgba(20,33,30,.02);
}
.page{width:min(1120px,calc(100% - 36px));margin:28px auto 60px}
.wizard,.hero,.list-card,.auth-card,.card{
  border-color:#d3ddda;
  box-shadow:var(--shadow);
}
.wizard,.hero,.auth-card{border-radius:20px}
.list-card{border-radius:16px}
.card{border-radius:16px}
.wizard-head{padding:26px 30px 18px}
.wizard-body{padding:28px 30px 28px}
.wizard-foot{padding:18px 30px 24px;background:#fff;border-top-color:#d6e0dd}
.list-title{background:#f7f9f8;border-bottom-color:#d6e0dd;padding:16px 20px}

.field{gap:8px}
label{font-size:13.5px;font-weight:700;color:#263833;line-height:1.35}
input,select,textarea{
  min-height:48px;
  border:1px solid #b9c8c4;
  border-radius:10px;
  padding:11px 14px;
  background:#fff;
  color:#14211e;
  font-size:15.5px;
  line-height:1.4;
  box-shadow:inset 0 1px 1px rgba(20,33,30,.025);
  transition:border-color .12s ease,box-shadow .12s ease,background .12s ease;
}
textarea{min-height:120px;padding-top:12px;padding-bottom:12px}
input::placeholder,textarea::placeholder{color:#7a8985;opacity:1}
input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:#94aaa4}
input:focus,select:focus,textarea:focus{
  border-color:#008a6b;
  box-shadow:0 0 0 3px rgba(0,152,117,.13);
  background:#fff;
}
input:disabled,select:disabled,textarea:disabled{background:#f0f3f2;color:#788681;border-color:#d4ddda}

.btn{
  min-height:44px;
  border:1px solid transparent;
  border-radius:10px;
  padding:0 17px;
  font-size:14px;
  font-weight:750;
  line-height:1.2;
  box-shadow:0 1px 2px rgba(20,33,30,.06);
  transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .08s ease;
}
.btn:hover{box-shadow:0 2px 5px rgba(20,33,30,.09)}
.btn:focus-visible,.top-link:focus-visible,.customer-row:focus-visible,.choice:focus-visible{
  outline:3px solid rgba(0,152,117,.22);
  outline-offset:2px;
}
.btn-primary{background:#009875;border-color:#009875;color:#fff}
.btn-primary:hover{background:#007f63;border-color:#007f63}
.btn-secondary{background:#f0f5f3;border-color:#c8d5d1;color:#1d302a}
.btn-secondary:hover{background:#e7efed;border-color:#afc1bc}
.btn-ghost{background:#fff;border-color:#ccd8d4;color:#435650}
.btn-ghost:hover{background:#f5f8f7;border-color:#b7c7c2;color:#1d302a}
.btn-danger{border-color:#b42318}
.btn-small{min-height:38px;padding:0 13px;font-size:12.5px;border-radius:9px}
.top-link{border-radius:8px;font-size:13px}

.choice,.subcard,.line-card,.preview-box,.company-activity-card,.company-header-preview{
  border-color:#cfdad7;
  box-shadow:0 1px 2px rgba(20,33,30,.025);
}
.choice{border-width:1px}
.choice:hover{border-color:#a9bbb6;background:#fbfdfc}
.choice.active{border-color:#009875;box-shadow:0 0 0 3px rgba(0,152,117,.11)}
.customer-row,.admin-row{border-bottom-color:#d9e2df}
.customer-row:hover{background:#f6faf8}
.inline-note{font-size:13.5px;line-height:1.55;background:#f2f8f6;color:#30443e}
.tag,.account-badge{font-weight:750}

.assistant-card{
  margin-top:26px;
  border:1px solid #b9d6cd;
  border-radius:14px;
  background:#f8fcfb;
  padding:18px;
  box-shadow:0 2px 8px rgba(20,33,30,.035);
}
.assistant-head{margin-bottom:10px}
.assistant-head strong{font-size:14.5px}
.assistant-message{font-size:14px;line-height:1.6;color:#2d423c}
.assistant-ask{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:14px;align-items:stretch}
.assistant-ask input{min-height:46px;padding:10px 13px;background:#fff}
.assistant-send{
  min-width:112px;
  min-height:46px;
  padding-inline:20px;
  font-size:14px;
  font-weight:800;
  box-shadow:0 2px 5px rgba(0,123,96,.16);
}
.assistant-send:hover{box-shadow:0 3px 8px rgba(0,123,96,.20)}

.auth-form{gap:16px}
.customer-auth-card{padding:28px 28px 30px}
.customer-auth-card h1{font-size:22px}
.admin-account-card{border-bottom-color:#d9e2df}
.admin-module-fieldset{border-color:#cfdad7;background:#fbfcfc}
.admin-secondary-body{border-top-color:#d9e2df}

@media(max-width:760px){
  body{font-size:15px}
  .page{width:min(100% - 20px,1120px);margin-top:14px}
  .wizard-head,.wizard-body,.wizard-foot{padding-left:18px;padding-right:18px}
  input,select,textarea{font-size:16px}
  .btn{min-height:46px}
}
@media(max-width:560px){
  .assistant-ask{grid-template-columns:1fr}
  .assistant-send{width:100%;min-height:48px}
}


/* 0.90.7.15 · cache-safe, visibly crisp global controls */
body{font-family:"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.45;text-rendering:auto;-webkit-font-smoothing:auto}
h1,h2,h3,strong,label,.btn{font-synthesis:weight style}
h1{font-weight:700;letter-spacing:-.01em}
label{font-weight:700;color:#1f302b}
input,select,textarea{border:1px solid #aebfba;border-radius:8px;box-shadow:none;background:#fff}
input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:#7f9992}
input:focus,select:focus,textarea:focus{border-color:#00876a;box-shadow:0 0 0 2px rgba(0,152,117,.18)}
.wizard,.hero,.list-card,.auth-card,.card,.assistant-card{box-shadow:0 5px 16px rgba(20,33,30,.065)}
.btn{border-radius:8px;font-weight:700;box-shadow:none}
.btn:hover{box-shadow:none}
.btn-primary{background:#008f70;border-color:#008f70;color:#fff}
.btn-primary:hover{background:#00765d;border-color:#00765d}
.btn-secondary{background:#edf3f1;border-color:#bccbc6;color:#152a24}
.btn-ghost{background:#fff;border-color:#bccbc6;color:#334b44}
button.assistant-send{background:#008f70 !important;border:1px solid #008f70 !important;color:#fff !important;min-width:118px;min-height:46px;font-size:14px;font-weight:700;border-radius:8px}
button.assistant-send:hover{background:#00765d !important;border-color:#00765d !important}


/* 0.90.7.15 · klare Konturen, lesbare Typografie, keine weichen UI-Schatten */
html,body{background:#f2f5f4}
body{font-family:"Segoe UI",Tahoma,Arial,sans-serif;font-size:16px;line-height:1.5;color:#101916;text-rendering:auto;-webkit-font-smoothing:auto}
body,button,input,select,textarea{font-kerning:auto}
h1{font-size:28px;font-weight:700;letter-spacing:0;color:#0d1714}
h2,h3{font-weight:700;letter-spacing:0;color:#0d1714}
p,.muted,.field-note,.customer-row small,.admin-row small{color:#42554f}
label{font-size:14px;font-weight:700;color:#172722}
.wizard,.hero,.list-card,.auth-card,.card,.assistant-card,.dialog-card,.service-group{box-shadow:none !important;border:1px solid #b8c7c2}
.wizard,.hero,.auth-card{border-radius:12px}
.list-card,.card,.assistant-card,.dialog-card{border-radius:10px}
.wizard-head,.wizard-foot,.list-title{border-color:#c4d0cc}
input,select,textarea{
  min-height:48px;
  border:1px solid #879d96;
  border-radius:6px;
  padding:11px 13px;
  background:#fff;
  color:#101916;
  font-family:"Segoe UI",Tahoma,Arial,sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.35;
  box-shadow:none !important;
}
input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:#607c73}
input:focus,select:focus,textarea:focus{border-color:#007f63;box-shadow:none !important;outline:2px solid #007f63;outline-offset:1px}
input::placeholder,textarea::placeholder{color:#677b74;opacity:1}
.btn{
  min-height:44px;
  border-radius:6px;
  padding:0 16px;
  font-family:"Segoe UI",Tahoma,Arial,sans-serif;
  font-size:15px;
  font-weight:700;
  box-shadow:none !important;
}
.btn:focus-visible,.top-link:focus-visible,.choice:focus-visible{outline:2px solid #007f63;outline-offset:2px}
.btn-primary{background:#008c6d;border:1px solid #007f63;color:#fff}
.btn-primary:hover{background:#00765d;border-color:#006c55}
.btn-secondary{background:#edf2f0;border:1px solid #9fb2ac;color:#13231e}
.btn-secondary:hover{background:#e3ebe8;border-color:#829a93}
.btn-ghost{background:#fff;border:1px solid #9fb2ac;color:#243b34}
.btn-ghost:hover{background:#f3f6f5;border-color:#829a93}
.assistant-card{background:#f8fbfa;border-color:#91b9ad}
.assistant-head strong{font-size:15px;color:#10221c}
.assistant-message{font-size:15px;line-height:1.5;color:#263d36}
.assistant-source{color:#53675f;font-size:11px;font-weight:700}
.assistant-ask input{border-color:#879d96}
button.assistant-send{background:#008c6d !important;border:1px solid #007f63 !important;color:#fff !important;font-size:15px;font-weight:700;border-radius:6px;box-shadow:none !important}
button.assistant-send:hover{background:#00765d !important;border-color:#006c55 !important}
.setup-exit-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}
.setup-exit-actions .btn{width:100%;justify-content:center}
@media(min-width:620px){.setup-exit-actions{grid-template-columns:1fr 1fr}.setup-exit-actions .btn-primary{grid-column:1/-1}}

/* 0.90.7.15 · strukturierte Schritt-für-Schritt-Hilfe */
.assistant-message{white-space:pre-line}
.assistant-head strong{font-weight:700}

/* Firmenlogo in den Dokumenteinstellungen */
.company-logo-card{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.company-logo-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.company-logo-preview{display:block;max-width:220px;max-height:88px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}
.company-logo-placeholder{display:grid;place-items:center;width:220px;height:88px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);background:#fff}
.company-logo-file{cursor:pointer}
