:root{
  font-family:var(--app-font,Arial,sans-serif);
  color:var(--text-color,#1f2937);
  background:var(--page-bg,#f3f4f6);
  --navy:#162E4D;
  --orange:#F6A01D;
  --surface-shadow:0 14px 38px rgba(15,23,42,.12),0 3px 10px rgba(15,23,42,.06)
}
*{box-sizing:border-box}
html{width:100%;max-width:100%;background:var(--page-bg);font-size:var(--base-font-size,16px);overflow-x:clip}
body{width:100%;max-width:100%;margin:0;background:var(--page-bg);color:var(--text-color);min-height:100vh;overflow-x:clip}
.site-header{background:var(--navy);color:white;padding:var(--header-vertical-padding,4px) 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:50;box-shadow:0 6px 24px rgba(15,23,42,.16)}
.brand{display:flex;align-items:center;color:white;text-decoration:none;min-width:0;flex:0 1 auto}
.brand img{display:block;object-fit:contain;object-position:left center;flex:0 0 auto}
.brand img.header-logo-icon{width:var(--header-logo-size,54px);height:var(--header-logo-size,54px)}
.brand img.header-logo-wide{width:var(--header-logo-size,180px);height:auto;max-height:92px}
.header-navigation{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}
.main-nav{display:flex;align-items:center;gap:18px}
.main-nav a{color:white;text-decoration:none;position:relative;padding:10px 0 9px;white-space:nowrap}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:3px;border-radius:99px;background:var(--orange);transition:right .22s ease}
.main-nav a:hover{color:#fff}
.main-nav a:hover::after,.main-nav a.active::after{right:0}
.main-nav a.active{font-weight:700}
.menu-toggle{display:none;width:44px;height:42px;padding:9px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);border-radius:9px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:23px;height:2px;border-radius:2px;background:#fff;transition:transform .22s ease,opacity .22s ease}
.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
main{padding:28px 24px;max-width:1450px;margin:auto}
h1{margin-top:0;color:var(--navy)}
h2{color:var(--navy);margin-bottom:12px}
a{color:var(--navy)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px}
.cards>*{background:#fff;padding:20px;border:1px solid rgba(22,46,77,.12);border-radius:14px;box-shadow:var(--surface-shadow)}
.panel,details,.form-card,.toolbar,.dashboard-section,.settings-preview{background:white;padding:20px;border-radius:14px;box-shadow:var(--surface-shadow)}
.cards span{display:block;color:#64748b;margin-bottom:8px}
.cards strong{font-size:21px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.form-card{margin:12px 0 24px}
label{display:grid;gap:6px;font-size:.9rem;color:#475569}
input,select,textarea,button,.button{padding:10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}
input,select,textarea{background:#fff;color:#1f2937;width:100%}
textarea{min-height:82px}
button,.button{background:var(--navy);color:white;cursor:pointer;text-decoration:none;display:inline-block;width:auto}
button:hover,.button:hover{background:var(--orange);color:#111}
.button.secondary{background:white;color:var(--navy);border-color:rgba(22,46,77,.28)}
.button.secondary:hover{background:#f8fafc;color:var(--navy);border-color:var(--navy)}
.button.small{padding:7px 10px;font-size:.88rem}
button.danger{background:#a61b1b}
table{width:100%;border-collapse:collapse;background:white;margin:16px 0 28px;box-shadow:var(--surface-shadow);border-radius:12px;overflow:hidden}
th,td{padding:11px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}
th{background:color-mix(in srgb,var(--navy) 13%,white);color:var(--navy)}
tr:last-child td{border-bottom:0}
.flash{background:#dcfce7;border:1px solid #86efac;padding:12px 14px;margin-bottom:18px;border-radius:9px;box-shadow:0 7px 20px rgba(15,23,42,.07)}
.inline{display:inline-flex;gap:8px;margin:8px 0}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.toolbar input{min-width:280px;flex:1}
.page-head,.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.muted{color:#64748b}
.danger-zone{border:1px solid #f2b8b5;background:#fff5f5;padding:18px;border-radius:12px;margin-top:30px}
.table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;border-radius:12px}
.trip-gap-row td{background:#f8fafc;color:#94a3b8;font-style:italic}

.mail-import-panel{border-left:4px solid var(--orange)}
.mail-import-list{display:grid;gap:10px}
.mail-import-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,auto) auto;gap:16px;align-items:center;padding:13px 15px;border:1px solid #dbe3ec;border-radius:12px;background:#fff;box-shadow:var(--surface-shadow)}
.mail-import-main{min-width:0;display:grid;gap:3px}
.mail-import-headline{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.mail-import-headline strong{color:var(--navy)}
.mail-import-meta{font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-import-amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:800;color:var(--navy);white-space:nowrap}
.mail-import-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mail-import-job-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mail-import-job-form select{min-width:290px;max-width:100%;padding:9px 11px;font:inherit;border:1px solid #dbe3ec;border-radius:9px;background:#fff;color:var(--text)}
@media(max-width:800px){
  .mail-import-row{grid-template-columns:1fr;gap:10px}
  .mail-import-amount{text-align:left}
  .mail-import-job-form,.mail-import-job-form select,.mail-import-job-form .button{width:100%}
}

.todo-day-head{align-items:baseline}
.todo-day-km{font-weight:800;color:var(--navy);white-space:nowrap;text-align:right}
.todo-job-list{display:grid;gap:8px}
.todo-job-row{display:grid;grid-template-columns:70px 100px minmax(120px,1fr) minmax(150px,1.4fr) minmax(120px,1fr) auto;gap:14px;align-items:center;padding:11px 14px;border:1px solid #dbe3ec;border-radius:12px;background:#fff;box-shadow:var(--surface-shadow)}
.todo-job-time{font-variant-numeric:tabular-nums;font-weight:800;color:var(--navy)}
.todo-job-date{color:#64748b;font-size:.9rem}
.todo-job-name{font-weight:800;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.todo-job-place,.todo-job-phone{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:820px){
  .todo-job-row{grid-template-columns:1fr 1fr;grid-auto-rows:auto;row-gap:4px}
}
.table-wrap table{min-width:700px}
.status-form{display:flex;gap:7px;align-items:center;margin:0}
.status-form select{min-width:125px;padding:7px}
.dashboard-section{margin:0 0 26px}
.dashboard-section>h2,.section-head h2{margin-top:0}
.section-head p{margin:0 0 10px}
.appointment-list{display:grid;gap:12px}
.appointment-card{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px;border:1px solid #e2e8f0;border-left:5px solid var(--orange);border-radius:12px;background:#fff;box-shadow:0 7px 22px rgba(15,23,42,.07)}
.appointment-card.overdue{border-left-color:#b91c1c;background:#fffafa}
.appointment-date strong{display:block;font-size:1.25rem;color:var(--navy)}
.appointment-date span{color:#64748b}
.appointment-title{font-weight:700;font-size:1.05rem;color:var(--navy)}
.appointment-main p{margin:7px 0 0;white-space:pre-wrap}
.appointment-action{margin:0}
.empty-state{padding:24px;text-align:center;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;background:#f8fafc}
.settings-form{display:grid;gap:24px}
.settings-group{padding-bottom:22px;border-bottom:1px solid #e2e8f0}
.settings-group:last-of-type{border-bottom:0;padding-bottom:0}
.settings-group h2{margin-top:0}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.settings-grid input[type=color]{height:48px;padding:4px;cursor:pointer}
.check-setting{display:flex;align-items:center;grid-template-columns:auto 1fr;gap:10px;padding-top:25px}
.check-setting input{width:20px;height:20px;margin:0}
.settings-actions{display:flex;gap:10px;flex-wrap:wrap}
.settings-preview{margin-top:24px}
.settings-preview h2{margin-top:0}

/* Dezente Einblendbewegungen */
.motion-on main>*,.motion-on .dashboard-section,.motion-on .settings-preview{animation:slide-soft .38s ease both}
.motion-on .cards>*,.motion-on .appointment-card,.motion-on .form-card>*{animation:slide-soft .34s ease both}
.motion-on .cards>*:nth-child(2),.motion-on .appointment-card:nth-child(2),.motion-on .form-card>*:nth-child(2){animation-delay:.035s}
.motion-on .cards>*:nth-child(3),.motion-on .appointment-card:nth-child(3),.motion-on .form-card>*:nth-child(3){animation-delay:.07s}
.motion-on .cards>*:nth-child(4),.motion-on .appointment-card:nth-child(4),.motion-on .form-card>*:nth-child(4){animation-delay:.105s}
.motion-on .cards>*:nth-child(5),.motion-on .appointment-card:nth-child(5),.motion-on .form-card>*:nth-child(5){animation-delay:.14s}
@keyframes slide-soft{from{opacity:0;transform:translateY(11px)}to{opacity:1;transform:translateY(0)}}

/* Rechnung */
.invoice-body{background:#ddd;padding:24px}
.invoice{max-width:850px;margin:auto;background:white;position:relative;min-height:1120px;padding:50px 55px 92px;box-sizing:border-box;box-shadow:var(--surface-shadow)}
/* Tabellen-Layout statt Flexbox: der PDF-Erzeuger setzt Flexbox anders um als
   der Browser, wodurch Logo und Absenderadresse übereinander rutschten. */
.invoice-top{background:transparent;color:#1f2937;padding:0;display:table;width:100%;table-layout:fixed}
.invoice-sender{display:table-cell;vertical-align:top;line-height:1.55}
.invoice-logo-cell{display:table-cell;vertical-align:top;text-align:right}
.invoice-logo-corner{width:var(--invoice-logo-size,220px);max-width:100%;height:auto;display:inline-block;margin:0}
.invoice-meta{display:table;width:100%;table-layout:fixed;margin:65px 0 38px}
.invoice-recipient,.invoice-details{display:table-cell;vertical-align:top;line-height:1.55}
.invoice-details{text-align:right}
.invoice h1{font-size:2rem;margin-bottom:22px;text-transform:uppercase}
.invoice-table{margin:0 0 28px;box-shadow:none;border-radius:0;font-size:13px}
.invoice-table td:last-child,.invoice-table th:last-child{text-align:right}
.invoice-total th{font-size:14px}
.invoice>p{font-size:12.5px;padding-left:11px;padding-right:11px}
.invoice-thanks{margin-top:34px;font-weight:600;color:var(--navy)}
.invoice-footer{position:absolute;left:55px;right:55px;bottom:28px;padding-top:12px;border-top:1px solid var(--orange);font-size:9.5px;line-height:1.4;text-align:center;color:rgba(31,41,55,.5);white-space:nowrap}
.print-button{margin-top:20px}
.small-action{padding:6px 10px}

@media(max-width:1180px){
  .main-nav{gap:12px}
  .main-nav a{font-size:.92rem}
}
@media screen and (max-width:800px){
  .site-header{padding:var(--header-vertical-padding,4px) 14px}
  .brand img.header-logo-icon{width:min(var(--header-logo-size,54px),56px);height:min(var(--header-logo-size,54px),56px)}
  .brand img.header-logo-wide{width:min(var(--header-logo-size,180px),220px);height:auto;max-height:58px}
  .menu-toggle{display:flex}
  .main-nav{display:none;position:absolute;left:12px;right:12px;top:calc(100% + 8px);background:var(--navy);padding:10px 14px 16px;border-radius:12px;box-shadow:0 18px 45px rgba(15,23,42,.28);flex-direction:column;align-items:stretch;gap:0}
  .main-nav.open{display:flex}
  .main-nav a{padding:12px 5px;border-bottom:1px solid rgba(255,255,255,.12)}
  .main-nav a:last-child{border-bottom:0}
  .main-nav a::after{bottom:5px;right:100%}
  main{padding:22px 14px}
  .page-head,.section-head{display:block}
  .section-head .button{margin-bottom:12px}
  .toolbar{display:grid}
  .toolbar input{min-width:0}
  .appointment-card{grid-template-columns:86px 1fr;gap:12px}
  .appointment-action{grid-column:1/-1;text-align:right}
  .status-form{min-width:230px}
  .invoice{min-height:0;padding:22px 20px 105px}
  .invoice-top,.invoice-meta{display:block}
  .invoice-sender,.invoice-logo-cell,.invoice-recipient,.invoice-details{display:block}
  .invoice-logo-cell{text-align:left}
  .invoice-logo-corner{width:100%;max-width:280px;margin:22px 0 0}
  .invoice-details{text-align:left;margin-top:25px}
  .invoice-footer{left:20px;right:20px;bottom:20px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{@page{size:A4;margin:0}.invoice-body{background:white;padding:0}.invoice{width:210mm;min-height:297mm;padding:18mm 18mm 25mm;box-shadow:none}.invoice-top,.invoice-meta{display:table!important;width:100%;table-layout:fixed}.invoice-sender,.invoice-logo-cell,.invoice-recipient,.invoice-details{display:table-cell!important;vertical-align:top}.invoice-logo-cell{text-align:right}.invoice-logo-corner{width:var(--invoice-logo-size,220px)!important;max-width:100%;margin:0!important}.invoice-details{text-align:right!important;margin-top:0!important}.invoice-footer{position:fixed;left:18mm;right:18mm;bottom:10mm;color:rgba(31,41,55,.5)}.print-button{display:none}}

/* Aufträge bearbeiten */
.wide-field{grid-column:1/-1}
.form-actions{display:flex;align-items:end}
.notice-info{margin:0 0 18px;padding:13px 15px;border-radius:10px;background:#eff6ff;border:1px solid #93c5fd;color:#1e3a5f;box-shadow:0 7px 20px rgba(15,23,42,.07)}
.appointment-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.change-history{display:grid;gap:10px}
.change-entry{display:grid;grid-template-columns:155px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid #e2e8f0}
.change-entry:last-child{border-bottom:0}
.change-entry strong{color:var(--navy);font-size:.92rem}
.change-entry span{overflow-wrap:anywhere}

@media(max-width:800px){
  .appointment-actions{grid-column:1/-1;justify-content:flex-end}
  .change-entry{grid-template-columns:1fr;gap:4px}
}

/* HELFERLINE-Felder */
#helperline-number-field{border:1px solid transparent;border-radius:10px;padding:8px;transition:border-color .2s ease,background .2s ease}
#helperline-number-field.helperline-active{border-color:color-mix(in srgb,var(--orange) 55%,white);background:color-mix(in srgb,var(--orange) 8%,white)}

/* Update v0.2.5 */
.phone-link{font-weight:700;text-decoration:none;white-space:nowrap}
.phone-link::before{content:"☎ ";font-size:.9em}
.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.row-actions form{margin:0}
.row-actions button{margin:0}
button.small{padding:7px 10px;font-size:.88rem}
.invoice-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}
.invoice-actions .print-button{margin-top:0}
[hidden]{display:none!important}
@media(max-width:800px){.row-actions{min-width:250px}.invoice-actions{align-items:stretch}.invoice-actions>*{text-align:center}}
@media print{.invoice-actions{display:none}}


/* Update v0.2.6 – Logo-Einstellungen */
.logo-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:16px}
.logo-setting-card{display:grid;gap:15px;padding:18px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:var(--surface-shadow)}
.logo-setting-card h3{margin:0;color:var(--navy)}
.logo-preview{display:flex;align-items:center;justify-content:center;min-height:150px;padding:18px;border-radius:12px;border:1px dashed #cbd5e1;background:white;overflow:hidden}
.logo-preview-wide img{width:min(var(--invoice-logo-size,340px),100%);max-height:150px;object-fit:contain}
.logo-preview-square img{width:min(var(--header-logo-size,54px),120px);height:min(var(--header-logo-size,54px),120px);min-width:36px;min-height:36px;object-fit:contain}
.range-setting{display:grid;grid-template-columns:minmax(160px,1fr) 72px;align-items:center;gap:12px}
.range-setting input[type=range]{padding:0;border:0;accent-color:var(--orange)}
.range-setting output{font-weight:700;color:var(--navy);text-align:right}
.check-setting.compact{padding-top:0}
.settings-note{margin:16px 0 0;padding:12px 14px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#334155}
@media(max-width:800px){.logo-settings-grid{grid-template-columns:1fr}.range-setting{grid-template-columns:1fr 64px}}

/* Update v0.2.7 – Datensicherung */
.backup-settings{scroll-margin-top:95px}
.backup-health{display:inline-flex;align-items:center;max-width:520px;padding:9px 12px;border-radius:999px;font-size:.88rem;font-weight:700}
.backup-health.ok{background:#dcfce7;color:#166534}
.backup-health.warning{background:#fff7d6;color:#854d0e}
.backup-health.danger{background:#fee2e2;color:#991b1b}
.backup-general-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:18px 0 22px}
.backup-general-card,.backup-target-card{background:#fff;padding:18px;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 9px 28px rgba(15,23,42,.08)}
.backup-general-card{display:grid;align-content:start;gap:14px}
.backup-general-card h3,.backup-target-card h3,.backup-log h3{margin:0;color:var(--navy)}
.backup-target-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:18px}
.backup-target-card{display:grid;gap:18px}
.backup-target-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}
.switch-setting{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:9px 12px;border-radius:999px;background:#f1f5f9;white-space:nowrap}
.switch-setting input{width:20px;height:20px;margin:0}
.backup-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.stored-key{display:grid;gap:5px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;overflow-wrap:anywhere}
.backup-target-status{display:grid;gap:6px;padding:13px 15px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;font-size:.9rem}
.backup-target-status strong{color:var(--navy)}
.backup-error{color:#991b1b;overflow-wrap:anywhere}
.backup-log{margin-top:24px}
.backup-run-status{display:inline-block;padding:5px 8px;border-radius:999px;font-size:.82rem;font-weight:700}
.backup-run-status.pending{background:#e0f2fe;color:#075985}
.backup-run-status.running{background:#fef3c7;color:#92400e}
.backup-run-status.success{background:#dcfce7;color:#166534}
.backup-run-status.failed{background:#fee2e2;color:#991b1b}
.backup-dashboard-alert{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin:0 0 20px;border-radius:12px;box-shadow:0 7px 20px rgba(15,23,42,.07)}
.backup-dashboard-alert>div{display:grid;gap:3px}
.backup-dashboard-alert.warning{background:#fff7d6;border:1px solid #facc15;color:#713f12}
.backup-dashboard-alert.danger{background:#fee2e2;border:1px solid #fca5a5;color:#7f1d1d}
@media(max-width:800px){
  .backup-target-grid{grid-template-columns:1fr}
  .backup-fields{grid-template-columns:1fr}
  .backup-target-head,.backup-dashboard-alert{align-items:stretch;flex-direction:column}
  .backup-health{border-radius:12px}
  .backup-dashboard-alert .button{text-align:center}
}

.backup-ftp-warning {
  margin: 14px 0 4px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(246, 160, 29, .12);
  border: 1px solid rgba(246, 160, 29, .35);
  line-height: 1.45;
}


/* Update v0.2.9 – eingeklappte Formulare und eigene Datensicherung */
.create-panel{margin:12px 0 24px;padding:0;overflow:hidden}
.create-panel[open]{padding:0}
.create-summary{display:inline-flex;align-items:center;gap:9px;margin:16px;padding:10px 15px;border-radius:9px;background:var(--navy);color:white;font-weight:700;cursor:pointer;list-style:none;user-select:none}
.create-summary::-webkit-details-marker,.accordion-summary::-webkit-details-marker{display:none}
.create-summary::before{content:"＋";font-size:1.15rem;line-height:1}
.create-panel[open]>.create-summary::before{content:"−"}
.create-summary:hover{background:var(--orange);color:#111}
.create-panel>.form-card,.create-panel>form{margin:0;padding:20px;border-radius:0;box-shadow:none;border-top:1px solid #e2e8f0}

.accordion-card{padding:0;overflow:hidden;background:white;border:1px solid #e2e8f0;border-radius:14px;box-shadow:var(--surface-shadow)}
.accordion-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;cursor:pointer;list-style:none;user-select:none}
.accordion-summary>span:first-child{display:grid;gap:3px}
.accordion-summary strong{color:var(--navy);font-size:1.03rem}
.accordion-summary small{color:#64748b;font-weight:500}
.accordion-chevron{font-size:1.35rem;transition:transform .2s ease}
.accordion-card[open] .accordion-chevron{transform:rotate(180deg)}
.accordion-body{padding:18px 19px;border-top:1px solid #e2e8f0}
.summary-status{display:flex;align-items:center;gap:14px;color:#64748b}
.summary-status b{padding:5px 9px;border-radius:999px;background:#f1f5f9;color:var(--navy);font-size:.8rem}

.backup-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:18px 0}
.backup-overview-card{display:grid;gap:12px;padding:18px;border-radius:14px;background:white;box-shadow:var(--surface-shadow)}
.backup-overview-card>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}
.backup-overview-card>div:first-child span{color:#64748b;font-size:.88rem}
.backup-overview-card dl{display:grid;gap:8px;margin:0}
.backup-overview-card dl div{display:flex;justify-content:space-between;gap:12px}
.backup-overview-card dt{color:#64748b}
.backup-overview-card dd{margin:0;font-weight:700;text-align:right}
.backup-state-dot{justify-self:start;padding:5px 9px;border-radius:999px;font-size:.8rem;font-weight:700}
.backup-state-dot.active{background:#dcfce7;color:#166534}
.backup-state-dot.inactive{background:#f1f5f9;color:#475569}
.backup-target-section{margin:24px 0}
.backup-target-list{display:grid;gap:14px;margin-top:14px}
.backup-target-accordion .backup-target-card{border:0;border-radius:0;box-shadow:none;padding:18px 19px}
.backup-log-accordion{margin-top:24px}
.backup-log-accordion .backup-log{margin-top:0}

@media(max-width:800px){
  .create-summary{display:flex;justify-content:center;margin:12px;width:calc(100% - 24px);box-sizing:border-box}
  .accordion-summary{align-items:flex-start}
  .summary-status{align-items:flex-end;flex-direction:column;gap:5px}
  .backup-overview-card dl div{display:grid;gap:2px}
  .backup-overview-card dd{text-align:left}
}


/* Update v0.3.1 – Wiedervorlagen */
.reminder-list{display:grid;gap:12px}
.reminder-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px;border:1px solid #e2e8f0;border-left:5px solid #94a3b8;border-radius:12px;background:#fff;box-shadow:0 8px 25px rgba(15,23,42,.08)}
.reminder-card.today{border-left-color:var(--orange);background:color-mix(in srgb,var(--orange) 5%,white)}
.reminder-card.overdue{border-left-color:#b91c1c;background:#fffafa}
.reminder-when{display:grid;gap:3px}
.reminder-when strong{color:var(--navy);font-size:1.05rem}
.reminder-when span{color:#64748b}
.reminder-main{display:grid;gap:6px;min-width:0}
.reminder-main>div:first-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.reminder-main p{margin:0;white-space:pre-wrap}
.reminder-category{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f7;color:var(--navy);font-size:.78rem;font-weight:700}
.reminder-completed{margin-top:24px}
@media(max-width:800px){.reminder-card{grid-template-columns:1fr;gap:10px}.reminder-card .row-actions,.reminder-card .appointment-actions{justify-content:flex-start;min-width:0}.reminder-when{display:flex;gap:8px;align-items:baseline}}

.page-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:800px){.page-actions{justify-content:flex-start;margin-top:12px}}

@media(max-width:1120px){
  .menu-toggle{display:flex}
  .main-nav{display:none;position:absolute;left:12px;right:12px;top:calc(100% + 8px);background:var(--navy);padding:10px 14px 16px;border-radius:12px;box-shadow:0 18px 45px rgba(15,23,42,.28);flex-direction:column;align-items:stretch;gap:0}
  .main-nav.open{display:flex}
  .main-nav a{padding:12px 5px;border-bottom:1px solid rgba(255,255,255,.12);font-size:1rem}
  .main-nav a:last-child{border-bottom:0}
  .main-nav a::after{bottom:5px;right:100%}
}

/* Update v0.3.2 – Einstellungsmenü, Google Fonts und flexibles Kopfzeilenlogo */
.settings-menu{position:relative;background:transparent!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;flex:0 0 auto}
.settings-menu>summary{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.26);border-radius:10px;background:rgba(255,255,255,.08);color:white;cursor:pointer;list-style:none;font-size:1.45rem;line-height:1;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.settings-menu>summary::-webkit-details-marker{display:none}
.settings-menu>summary:hover,.settings-menu[open]>summary,.settings-menu.active>summary{background:rgba(246,160,29,.2);border-color:var(--orange)}
.settings-menu[open]>summary{transform:rotate(18deg)}
.settings-submenu{position:absolute;right:0;top:calc(100% + 10px);display:grid;min-width:190px;padding:8px;border-radius:12px;background:white;box-shadow:0 18px 48px rgba(15,23,42,.24);border:1px solid #e2e8f0;z-index:90}
.settings-submenu a{display:block;padding:11px 13px;border-radius:8px;color:var(--navy);text-decoration:none;font-weight:600;white-space:nowrap}
.settings-submenu a:hover,.settings-submenu a.active{background:color-mix(in srgb,var(--orange) 18%,white);color:var(--navy)}
.settings-submenu a.active{box-shadow:inset 3px 0 0 var(--orange)}
.header-logo-preview img{object-fit:contain}
.header-logo-preview .preview-header-wide{width:min(var(--header-logo-size,180px),100%);max-height:130px}
.header-logo-preview .preview-header-icon{width:min(var(--header-logo-size,54px),180px);height:min(var(--header-logo-size,54px),180px)}
.compact-note,.font-note{margin:0;line-height:1.45}
@media(max-width:800px){
  .header-navigation{gap:8px}
  .settings-menu{order:1}
  .menu-toggle{order:2}
  .main-nav{order:3}
  .settings-menu>summary{width:42px;height:42px}
  .settings-submenu{right:-50px;min-width:185px}
}


/* Update v0.3.3 – einstellbarer kompakter Kopfzeilenabstand */
.brand{line-height:0}


/* Update v0.3.4 – sichtbaren Leerraum im breiten Kopfzeilenlogo beschneiden */
.header-logo-crop-frame{display:block;width:var(--header-logo-size,180px);max-width:42vw;overflow:hidden;line-height:0;flex:0 0 auto}
.header-logo-crop-frame img.header-logo-wide{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:left center;transform-origin:top left}
.preview-logo-crop-frame{width:min(var(--header-logo-size,180px),100%);max-width:100%}
.preview-logo-crop-frame img.preview-header-wide{display:block;width:100%;height:auto;max-height:none;transform-origin:top left}
@media(max-width:800px){
  .header-logo-crop-frame{width:min(var(--header-logo-size,180px),220px);max-width:48vw}
  .preview-logo-crop-frame{width:min(var(--header-logo-size,180px),100%);max-width:100%}
}

/* Update v0.3.5 – optionaler Start-/Stopp-Timer für Direktaufträge */
.checkbox-field{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:12px;padding:14px 16px;border:1px solid #dbe3ec;border-radius:12px;background:#f8fafc;cursor:pointer}
.checkbox-field input[type="checkbox"]{width:20px;height:20px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--orange)}
.checkbox-field span{display:grid;gap:3px}
.checkbox-field strong{color:var(--navy)}
.checkbox-field small{color:#64748b;line-height:1.4}
.timer-inline{display:grid;gap:2px;margin-top:7px;padding:7px 9px;border-radius:9px;background:#f1f5f9;color:#475569;min-width:145px}
.timer-inline.running{background:rgba(246,160,29,.14);box-shadow:inset 3px 0 0 var(--orange)}
.timer-clock{font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.04em;color:var(--navy)}
.timer-clock.large{font-size:clamp(1.8rem,5vw,3rem);line-height:1}
.timer-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.timer-actions form{margin:0}
.button.timer-start{background:#18794e;color:#fff;border-color:#18794e}
.button.timer-start:hover{background:#11633f}
.button.danger{background:#b42318;color:#fff;border-color:#b42318}
.button.danger:hover{background:#8f1c13}
.timer-panel{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:center;gap:20px;margin:0 0 18px;padding:18px 20px;border:1px solid #dbe3ec;border-left:6px solid #64748b;border-radius:14px;background:white;box-shadow:var(--surface-shadow)}
.timer-panel.running{border-left-color:var(--orange);background:color-mix(in srgb,var(--orange) 5%,white)}
.timer-panel>div:first-child{display:grid;gap:6px}
.timer-label{font-weight:700;color:#64748b}
.timer-panel-meta{display:grid;gap:5px;color:#64748b;font-size:.9rem}
.timer-panel form{margin:0}
@media(max-width:800px){.timer-panel{grid-template-columns:1fr;gap:14px}.timer-panel form .button{width:100%}.timer-actions{align-items:stretch}.timer-actions form,.timer-actions .button{width:100%}}

/* Update v0.3.6 – HELFERLINE-Bruttoumsatz, Provision und Originalrechnungen */
.helperline-calculation{margin-top:8px;padding:8px 10px;border-radius:9px;background:rgba(246,160,29,.10);line-height:1.35}
.helperline-calculation small{color:#6b7280}
.helperline-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 17px;border:1px solid rgba(246,160,29,.4);border-radius:12px;background:rgba(246,160,29,.08)}
.helperline-summary span{font-size:1.05rem;color:var(--navy)}
.source-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f7;color:var(--navy);font-size:.78rem;font-weight:700;white-space:nowrap}
.source-badge.helperline{background:rgba(246,160,29,.16);color:#8a4b00}
.success-text{color:#18794e;font-size:.82rem;font-weight:700}
.inline-action-details{position:relative}
.inline-action-details>summary{list-style:none;cursor:pointer}
.inline-action-details>summary::-webkit-details-marker{display:none}
.mini-form{position:absolute;right:0;top:calc(100% + 8px);z-index:30;display:grid;gap:8px;min-width:270px;padding:13px;border:1px solid #dbe3ec;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.18)}
.mini-form label{display:grid;gap:4px;font-size:.82rem;color:#64748b}
.mini-form input{min-width:0}
@media(max-width:800px){.helperline-summary{align-items:flex-start;flex-direction:column}.inline-action-details{width:100%}.mini-form{position:static;margin-top:8px;min-width:0;width:100%;box-sizing:border-box}}

/* Update v0.3.12 – reduzierte, aufklappbare Auftragsübersicht */
.job-list{display:grid;gap:8px;margin-top:18px}
.job-list-head,.job-summary{display:grid;grid-template-columns:130px minmax(150px,1fr) minmax(170px,1.2fr) minmax(90px,auto) minmax(120px,auto) 24px;gap:16px;align-items:center}
.job-list-head{padding:0 16px 3px;color:#64748b;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.job-list-head .job-list-head-right{text-align:right}
.job-list-head .job-sort{display:flex;align-items:center;gap:5px;min-width:0;padding:5px 0;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left}
.job-list-head .job-sort.job-list-head-right{justify-content:flex-end}
.job-list-head .job-sort::after{content:"↕";color:#94a3b8;font-size:.9em}
.job-list-head .job-sort[data-direction="ascending"]::after{content:"↑";color:var(--navy)}
.job-list-head .job-sort[data-direction="descending"]::after{content:"↓";color:var(--navy)}
.job-list-head .job-sort:hover,.job-list-head .job-sort:focus-visible{color:var(--navy)}
.job-accordion{overflow:hidden;border:1px solid #dbe3ec;border-radius:12px;background:#fff;box-shadow:var(--surface-shadow)}
.job-accordion[open]{border-color:color-mix(in srgb,var(--orange) 45%,#dbe3ec)}
.job-accordion.job-running{border-left:5px solid var(--orange)}
.job-summary{min-height:50px;padding:8px 16px;cursor:pointer;list-style:none;transition:background .18s ease}
.job-summary::-webkit-details-marker{display:none}
.job-summary:hover{background:#f8fafc}
.job-accordion[open]>.job-summary{background:color-mix(in srgb,var(--orange) 6%,white);border-bottom:1px solid #e5e7eb}
.job-summary>span{min-width:0}
.job-date{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800;color:var(--navy)}
.job-first-name,.job-last-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-last-name{font-weight:800;color:var(--navy)}
.job-amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:800;color:var(--navy);white-space:nowrap}
.job-status-cell{text-align:right}
.job-chevron{font-size:1.2rem;font-weight:800;color:#64748b;transition:transform .18s ease;text-align:center}
.job-accordion[open] .job-chevron{transform:rotate(180deg)}
.status-badge{display:inline-flex;justify-content:center;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#475569;font-size:.78rem;font-weight:800;white-space:nowrap}
.status-angenommen{background:#eef2f7;color:#475569}
.status-in-arbeit{background:rgba(246,160,29,.18);color:#8a4b00}
.status-bar-bezahlt{background:#dcfce7;color:#166534}
.status-überwiesen{background:#dcfce7;color:#166534}
.status-verrechnet{background:#dbeafe;color:#1e40af}
.status-storniert{background:#fee2e2;color:#991b1b}
.job-expanded{display:grid;gap:16px;padding:17px 18px 18px}
.job-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}
.job-detail-grid>div{display:grid;gap:4px;padding:11px 12px;border-radius:10px;background:#f8fafc}
.job-detail-grid>div.wide{grid-column:span 2}
.job-detail-grid span{color:#64748b;font-size:.78rem;font-weight:700}
.job-detail-grid strong{color:var(--navy);line-height:1.35;overflow-wrap:anywhere}
.timer-inline.expanded{max-width:360px;margin:0}
.job-expanded-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:3px}
.job-expanded-actions .status-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.empty-state{padding:24px;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;text-align:center}
@media(max-width:760px){
  .job-list-head{display:none}
  .job-summary{grid-template-columns:100px minmax(0,1fr) minmax(0,1.15fr) 22px;gap:10px;padding:10px 13px}
  .job-summary .job-amount,.job-summary .job-status-cell{display:none}
  .job-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .job-summary{grid-template-columns:88px minmax(0,1fr) 22px;gap:6px 10px}
  .job-date{grid-column:1;grid-row:1/3}
  .job-first-name{grid-column:2;grid-row:1}
  .job-last-name{grid-column:2;grid-row:2}
  .job-chevron{grid-column:3;grid-row:1/3}
  .job-detail-grid{grid-template-columns:1fr}.job-detail-grid>div.wide{grid-column:auto}
  .job-expanded-actions,.job-expanded-actions .status-form{align-items:stretch;flex-direction:column;width:100%}
  .job-expanded-actions select,.job-expanded-actions button,.job-expanded-actions .row-actions{width:100%}
}

/* Update v0.3.9 – HELFERLINE-Verbindlichkeiten und Finanzübersicht */
.finance-cards,.invoice-finance-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.finance-cards>div,.invoice-finance-cards>div{position:relative}
.finance-cards small,.invoice-finance-cards small{display:block;margin-top:5px;line-height:1.25}
.liability-card{border-left:5px solid #b42318!important;background:#fff!important}
.liability-card>span,.liability-card small{color:#8f1c13!important}
.net-card{border-left:5px solid #18794e!important;background:#fff!important}
.net-card>span,.net-card small{color:#12633f!important}
.danger-text{color:#b42318;font-size:.82rem;font-weight:800}
.finance-explanation{margin:14px 0 24px;line-height:1.55}
@media(max-width:700px){.finance-cards,.invoice-finance-cards{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.finance-cards,.invoice-finance-cards{grid-template-columns:1fr}}


/* Update v0.3.10 – Versionsnummer im Header */
.brand{display:flex;align-items:flex-end;gap:8px}
.app-version{display:inline-flex;align-items:center;padding:3px 7px;margin-bottom:2px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:rgba(255,255,255,.78);font-size:.70rem;font-weight:700;line-height:1;letter-spacing:.02em;white-space:nowrap}
@media(max-width:720px){.brand{gap:5px}.app-version{padding:2px 5px;font-size:.62rem;margin-bottom:1px}}

/* Update v0.3.11 – klare Dreizeilen-Kennzahlen */
.finance-cards .finance-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;min-height:142px}
.finance-cards .finance-card-title{display:block;width:100%;margin:0 0 12px;color:var(--navy);font-size:.86rem;font-weight:800;line-height:1.25;letter-spacing:.015em;text-align:right}
.finance-cards .finance-card-value{display:block;width:100%;margin:0 0 10px;color:var(--text-color);font-size:1.65rem;line-height:1.05;font-weight:800;text-align:right}
.finance-cards .finance-card-description{display:block;margin:0!important;color:#64748b;font-size:.78rem;line-height:1.35}
.finance-cards .liability-card .finance-card-title,.finance-cards .liability-card .finance-card-description{color:#8f1c13!important}
.finance-cards .net-card .finance-card-title,.finance-cards .net-card .finance-card-description{color:#12633f!important}
@media(max-width:460px){.finance-cards .finance-card{min-height:128px}.finance-cards .finance-card-value{font-size:1.55rem}}

/* Update v0.3.13 – persönliche Geräteempfehlungen */
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.page-heading h2{margin-bottom:4px}.page-heading p{margin:0}.filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) 190px auto auto auto;gap:10px;align-items:center;margin-bottom:18px}.recommendation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.recommendation-card{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid #dbe3ec;border-radius:14px;background:#fff;box-shadow:var(--surface-shadow)}.recommendation-card.archived{opacity:.68}.recommendation-top{display:flex;justify-content:space-between;gap:10px}.recommendation-card h3{margin:0;color:var(--navy)}.recommendation-price{font-size:1.35rem;font-weight:800;color:var(--navy)}.recommendation-notes{padding:10px 12px;border-radius:10px;background:#f8fafc;white-space:pre-line}.recommendation-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:4px}.recommendation-actions form{margin:0}.recommendation-form .wide{grid-column:1/-1}.checkbox-row.compact{white-space:nowrap}.create-panel>summary{list-style:none}.create-panel>summary::-webkit-details-marker{display:none}.create-panel[open] .recommendation-form{margin-top:12px;min-width:min(720px,90vw)}
@media(max-width:850px){.filter-bar{grid-template-columns:1fr 1fr}.filter-bar input{grid-column:1/-1}.page-heading{flex-direction:column}.create-panel{width:100%}.create-panel>summary{width:100%;box-sizing:border-box;text-align:center}.create-panel[open] .recommendation-form{min-width:0}}
@media(max-width:520px){.filter-bar{grid-template-columns:1fr}.filter-bar input{grid-column:auto}.recommendation-grid{grid-template-columns:1fr}.recommendation-actions>*{width:100%}.recommendation-actions .button{width:100%;box-sizing:border-box;text-align:center}}
.document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.document-card{background:#fff;border:1px solid rgba(22,46,77,.12);border-radius:14px;padding:1rem;box-shadow:var(--surface-shadow);display:grid;gap:.55rem}.document-card>span{font-size:.85rem;color:#667085}.document-card p{margin:0}.receipt-review{margin:1rem 0 1.5rem}
.finance-card-link{display:flex;color:inherit;text-decoration:none;cursor:pointer}.finance-card-link:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(15,23,42,.16)}.finance-card-link:active{transform:scale(.985)}
.amount-col{min-width:145px;width:145px;white-space:nowrap;text-align:right}.compact-record,.knowledge-card,.vault-card{background:#fff;border:1px solid rgba(22,46,77,.12);border-radius:14px;margin:10px 0;box-shadow:var(--surface-shadow)}.compact-record summary,.knowledge-card summary,.vault-card summary{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(160px,1fr);gap:12px;padding:14px 18px;cursor:pointer}.record-body,.knowledge-card>div,.vault-content{padding:0 18px 18px}.secret-row{display:flex;gap:8px;align-items:center}.secret-row input{flex:1}.card-list{margin-top:16px}
@media(max-width:760px){.compact-record summary,.knowledge-card summary,.vault-card summary{grid-template-columns:1fr}.amount-col{min-width:120px;width:120px}}

/* Update v0.5.0 – professionelle Sidebar, Untermenüs, Favoriten, Suche und Schnellaktionen */
:root{--sidebar-width:280px;--sidebar-collapsed-width:76px;--topbar-height:70px}
body{overflow-x:clip}
.app-shell{width:100%;max-width:100%;min-height:100vh;overflow-x:clip}
.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);display:flex;flex-direction:column;background:#fff;color:var(--navy);z-index:80;border-right:1px solid #e2e8f0;box-shadow:8px 0 24px rgba(15,23,42,.05);transition:width .22s ease,transform .22s ease;overflow:hidden}
.sidebar-brand-area{position:relative;min-height:92px;display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid #e2e8f0}
.sidebar-brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--navy);text-decoration:none;overflow:hidden}
.sidebar-brand:hover{color:var(--navy)}
.sidebar-main-icon,.sidebar-collapse-icon{width:48px;height:48px;object-fit:contain;flex:0 0 48px}
.sidebar-collapse-icon{display:none}
.sidebar-wide-logo{display:block;width:150px;max-width:160px;overflow:hidden;flex:0 0 auto}
.sidebar-wide-logo img{display:block;width:150px;height:auto;max-height:60px;object-fit:contain;object-position:left center}
.sidebar-brand-copy{display:grid;gap:3px;min-width:0;white-space:nowrap}
.sidebar-brand-copy strong{font-size:1rem;letter-spacing:.01em;color:var(--navy)}
.sidebar-brand-copy small{color:#64748b;font-weight:700}
.sidebar-collapse{position:absolute;right:10px;top:50%;translate:0 -50%;display:grid;place-items:center;width:31px;height:31px;padding:0;border:1px solid rgba(22,46,77,.18);border-radius:9px;background:#f8fafc;color:var(--navy);font-size:1.35rem;line-height:1}
.sidebar-collapse:hover{background:var(--orange);color:#172033}
.sidebar-navigation{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px 10px;scrollbar-width:thin;scrollbar-color:rgba(22,46,77,.2) transparent}
.sidebar-bottom{padding:8px 10px 14px;border-top:1px solid #e2e8f0}
.sidebar-nav-row{position:relative;display:flex;align-items:center;min-width:0;border-radius:10px;margin:2px 0}
.sidebar-nav-link{display:flex;align-items:center;gap:11px;min-width:0;flex:1;padding:10px 11px;border-radius:10px;color:#334155;text-decoration:none;font-weight:600;line-height:1.2;transition:background .16s ease,color .16s ease,transform .16s ease}
.sidebar-nav-link:hover{background:#f1f5f9;color:var(--navy);transform:translateX(2px)}
.sidebar-nav-row.active>.sidebar-nav-link{background:rgba(246,160,29,.14);color:var(--navy);box-shadow:inset 3px 0 0 var(--orange)}
.flat-icon{display:block;width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-favorite-toggle.selected .flat-icon{fill:currentColor}
.update-safety-grid .flat-icon{display:inline-block;color:var(--orange);margin-right:.35rem;vertical-align:-.2em}
.nav-icon{display:grid;place-items:center;width:26px;min-width:26px;height:26px;color:#64748b;line-height:1}
.sidebar-nav-row.active>.sidebar-nav-link .nav-icon{color:var(--orange)}
.sidebar-label,.group-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-favorite-toggle{width:28px;height:32px;padding:0;margin-right:3px;border:0;background:transparent;color:#cbd5e1;font-size:1.05rem;opacity:0;transition:opacity .16s,color .16s ease,transform .16s ease}
.sidebar-nav-row:hover .nav-favorite-toggle,.nav-favorite-toggle.selected{opacity:1}
.nav-favorite-toggle:hover,.nav-favorite-toggle.selected{background:transparent;color:var(--orange);transform:scale(1.13)}
.nav-group{margin:7px 0;padding:0!important;background:transparent!important;border-radius:11px!important;box-shadow:none!important;overflow:visible!important}
.nav-group>summary{display:flex;align-items:center;gap:11px;min-height:45px;padding:10px 11px;border-radius:10px;list-style:none;cursor:pointer;color:var(--navy);font-weight:800;user-select:none;transition:background .16s ease}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary:hover{background:#f1f5f9}
.nav-group[open]>summary{background:#f1f5f9}
.nav-group .nav-chevron{margin-left:auto;color:#94a3b8;font-size:1rem;transition:transform .18s ease}
.nav-group[open] .nav-chevron{transform:rotate(180deg)}
.nav-group-links{display:grid;gap:1px;margin:3px 0 8px 15px;padding-left:10px;border-left:1px solid #e2e8f0}
.nav-group-links .sidebar-nav-link{padding-block:8px;font-size:.91rem;font-weight:600}
.nav-group>summary .nav-icon{color:var(--navy)}
.sidebar-favorites{margin:10px 0 13px;padding:10px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
.sidebar-favorites.empty{display:none}
.sidebar-section-title{display:flex;align-items:baseline;justify-content:space-between;padding:0 10px 5px;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:800}
.sidebar-section-title small{font-size:.58rem;text-transform:none;letter-spacing:0;color:#b0b9c6}
.favorite-links{display:grid;gap:1px}
.favorite-link{display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:10px;color:#334155;text-decoration:none;font-size:.9rem;font-weight:650}
.favorite-link:hover,.favorite-link.active{background:rgba(246,160,29,.14);color:var(--navy)}

.app-workspace{width:auto;max-width:calc(100vw - var(--sidebar-width));min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left .22s ease;min-width:0;overflow-x:clip}
.app-topbar{position:sticky;top:0;z-index:60;height:var(--topbar-height);display:grid;grid-template-columns:minmax(170px,.65fr) minmax(320px,1.5fr) minmax(190px,.65fr);align-items:center;gap:22px;padding:10px 24px;background:rgba(255,255,255,.94);backdrop-filter:blur(15px);border-bottom:1px solid rgba(22,46,77,.11);box-shadow:0 5px 18px rgba(15,23,42,.055)}
.topbar-left{display:flex;align-items:center;min-width:0}
.topbar-title{color:var(--navy);font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-sidebar-toggle{display:none;width:43px;height:43px;padding:0;background:var(--navy);color:#fff;font-size:1.35rem}
.global-search{position:relative;display:flex;align-items:center;justify-self:stretch;max-width:760px;width:100%;margin:auto}
.global-search input{height:44px;padding:10px 76px 10px 42px;border-radius:12px;background:#f8fafc;border:1px solid #cbd5e1;box-shadow:inset 0 1px 2px rgba(15,23,42,.03)}
.global-search input:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 3px rgba(22,46,77,.12);background:#fff}
.global-search-icon{position:absolute;left:14px;z-index:1;color:#64748b}
.global-search kbd{position:absolute;right:11px;padding:3px 7px;border:1px solid #d8dee8;border-bottom-width:2px;border-radius:6px;background:white;color:#64748b;font:600 .68rem var(--app-font);pointer-events:none}
.global-search-results{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:100;max-height:min(520px,70vh);overflow:auto;padding:8px;background:#fff;border:1px solid #dce3ec;border-radius:13px;box-shadow:0 24px 60px rgba(15,23,42,.22)}
.live-search-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border-radius:9px;color:var(--text-color);text-decoration:none}
.live-search-row:hover{background:#f1f5f9}
.live-search-row>span:last-child{display:grid;gap:2px;min-width:0}
.live-search-row strong,.live-search-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-search-row small{color:#64748b;font-size:.76rem}
.live-search-icon{display:grid;place-items:center;width:34px;height:34px;color:var(--navy)}
.live-search-empty{padding:20px;text-align:center;color:#64748b}
.live-search-all{display:block;width:100%;margin-top:5px;padding:10px;border:0;border-top:1px solid #e2e8f0;border-radius:0;background:#fff;color:var(--navy);text-align:center;font-weight:750}
.live-search-all:hover{background:#f8fafc;color:var(--navy)}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.topbar-icon-button{position:relative;display:grid;place-items:center;width:43px;height:43px;border:1px solid #d8e0e9;border-radius:11px;background:#fff;color:var(--navy);text-decoration:none}
.topbar-icon-button:hover{background:#f8fafc}
.topbar-icon-button>.flat-icon{width:1.25rem;height:1.25rem}
.quick-actions>summary{display:flex;align-items:center;gap:7px}
.quick-actions-menu a>span:first-child{display:grid;place-items:center;color:var(--navy)}
.flat-label{display:inline-flex;align-items:center;gap:6px}
.flat-label .flat-icon{width:1rem;height:1rem;color:var(--navy)}
.contract-monogram{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(22,46,77,.2);border-radius:10px;color:var(--navy);font-weight:800;letter-spacing:.04em}
.record-list{display:grid;gap:10px;margin-top:16px}
.record-row{display:grid;align-items:center;gap:16px;padding:15px 17px;border:1px solid #dce3ec;border-radius:13px;background:#fff;color:var(--text-color);text-decoration:none;box-shadow:0 6px 18px rgba(15,23,42,.05);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.record-row:hover{transform:translateY(-2px);border-color:rgba(22,46,77,.32);box-shadow:0 12px 26px rgba(15,23,42,.09)}
.record-row>span{display:grid;gap:3px;min-width:0}
.record-row strong,.record-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.record-row strong{color:var(--navy)}
.record-row small{color:#64748b}
.record-chevron{display:block!important;color:#94a3b8;font-size:1.65rem;text-align:right}
.contract-company-list .record-row{grid-template-columns:52px minmax(180px,1.4fr) minmax(140px,.8fr) minmax(190px,1fr) 24px}
.contract-balance-cards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:18px 0}
.topbar-icon-button b{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:99px;background:#b91c1c;color:#fff;font-size:.65rem;border:2px solid #fff}
.quick-actions{position:relative;padding:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.quick-actions>summary{list-style:none;white-space:nowrap;padding:10px 14px;border-radius:10px;background:var(--navy);color:#fff;font-weight:750;cursor:pointer}
.quick-actions>summary::-webkit-details-marker{display:none}
.quick-actions[open]>summary,.quick-actions>summary:hover{background:var(--orange);color:#172033}
.quick-actions-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:100;width:280px;padding:8px;border:1px solid #dce3ec;border-radius:13px;background:#fff;box-shadow:0 24px 60px rgba(15,23,42,.2)}
.quick-actions-menu a{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:10px;border-radius:9px;color:var(--text-color);text-decoration:none}
.quick-actions-menu a:hover{background:#f1f5f9}
.quick-actions-menu a>span:first-child{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#eef2f7}
.quick-actions-menu a>span:last-child{display:grid;gap:1px}
.quick-actions-menu small{color:#64748b}
.app-content{width:100%;max-width:1700px;min-width:0;margin:0 auto;padding:28px 30px 44px;overflow-x:clip}
.app-content>*,.dashboard-section,.panel,.form-card,.toolbar,.settings-preview{max-width:100%;min-width:0}
.dashboard-section,.panel,.form-card,.settings-preview{overflow-x:clip}
.report-chart-shell{min-width:0;max-width:100%;overflow:hidden}
.report-chart,img,svg,video,canvas,iframe{max-width:100%}

.sidebar-collapsed .app-sidebar{width:var(--sidebar-collapsed-width)}
.sidebar-collapsed .app-workspace{max-width:calc(100vw - var(--sidebar-collapsed-width));margin-left:var(--sidebar-collapsed-width)}
.sidebar-collapsed .sidebar-brand-area{justify-content:center;padding-inline:10px}
.sidebar-collapsed .sidebar-brand{justify-content:center}
.sidebar-collapsed .sidebar-wide-logo,.sidebar-collapsed .sidebar-main-icon,.sidebar-collapsed .sidebar-brand-copy,.sidebar-collapsed .sidebar-label,.sidebar-collapsed .group-label,.sidebar-collapsed .nav-chevron,.sidebar-collapsed .nav-favorite-toggle,.sidebar-collapsed .sidebar-section-title{display:none}
.sidebar-collapsed .sidebar-collapse-icon{display:block}
.sidebar-collapsed .sidebar-collapse{right:-1px;width:21px;height:32px;border-radius:9px 0 0 9px;font-size:1.1rem}
.sidebar-collapsed .sidebar-navigation,.sidebar-collapsed .sidebar-bottom{padding-inline:9px}
.sidebar-collapsed .sidebar-nav-row,.sidebar-collapsed .sidebar-nav-link,.sidebar-collapsed .nav-group>summary,.sidebar-collapsed .favorite-link{justify-content:center}
.sidebar-collapsed .sidebar-nav-link,.sidebar-collapsed .nav-group>summary,.sidebar-collapsed .favorite-link{padding-inline:8px}
.sidebar-collapsed .nav-group-links{display:none}
.sidebar-collapsed .sidebar-favorites{padding-block:8px;margin-block:8px}
.sidebar-collapsed .sidebar-nav-row.active>.sidebar-nav-link{box-shadow:inset 0 -3px 0 var(--orange)}

.module-settings{scroll-margin-top:calc(var(--topbar-height) + 20px)}
.module-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:12px;margin-top:16px}
.module-setting-card{display:grid;grid-template-columns:24px 1fr;align-items:start;gap:11px;padding:15px;border:1px solid #dce3ec;border-radius:12px;background:#fff;box-shadow:var(--surface-shadow);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.module-setting-card:hover{border-color:var(--navy);background:#fff;transform:translateY(-1px)}
.module-setting-card input{width:21px;height:21px;margin:1px 0 0;accent-color:var(--navy)}
.module-setting-card span{display:grid;gap:4px}
.module-setting-card strong{color:var(--navy)}
.module-setting-card small{color:#64748b;line-height:1.35}
.search-page-form{display:flex;gap:9px;margin:15px 0 22px;max-width:850px}
.search-page-form input{height:48px}
.search-result-list{display:grid;gap:10px;max-width:1100px}
.search-result-card{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:13px;padding:14px 16px;border:1px solid #dce3ec;border-radius:13px;background:#fff;color:var(--text-color);text-decoration:none;box-shadow:0 6px 18px rgba(15,23,42,.055);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.search-result-card:hover{transform:translateY(-2px);border-color:rgba(22,46,77,.35);box-shadow:0 13px 28px rgba(15,23,42,.1)}
.search-result-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#eef2f7;font-size:1.25rem}
.search-result-main{display:grid;gap:3px;min-width:0}
.search-result-main small{color:var(--orange);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.search-result-main strong{color:var(--navy);font-size:1.03rem}
.search-result-main span{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-result-arrow{font-size:1.8rem;color:#94a3b8}
.search-security-note{margin-top:20px}
.sidebar-overlay{display:none}

@media(max-width:1250px){
  .app-topbar{grid-template-columns:minmax(130px,.45fr) minmax(280px,1.4fr) auto;gap:14px;padding-inline:18px}
  .topbar-title{font-size:.9rem}
}
@media(max-width:1100px){
  .app-sidebar,.sidebar-collapsed .app-sidebar{width:min(280px,calc(100vw - 24px));max-width:calc(100vw - 24px);transform:translateX(-105%)}
  .app-workspace,.sidebar-collapsed .app-workspace{width:100%;max-width:100vw;margin-left:0}
  .sidebar-mobile-open .app-sidebar{transform:translateX(0)}
  .sidebar-overlay{display:block;position:fixed;inset:0;z-index:70;border:0;border-radius:0;background:rgba(15,23,42,.48);opacity:0;pointer-events:none;transition:opacity .2s ease}
  .sidebar-mobile-open .sidebar-overlay{opacity:1;pointer-events:auto}
  .sidebar-collapse{display:none}
  .mobile-sidebar-toggle{display:grid;place-items:center}
  .app-topbar{grid-template-columns:auto minmax(220px,1fr) auto}
  .topbar-title{display:none}
  .sidebar-collapsed .sidebar-wide-logo{display:block}
  .sidebar-collapsed .sidebar-main-icon{display:block}
  .sidebar-collapsed .sidebar-collapse-icon{display:none}
  .sidebar-collapsed .sidebar-brand-copy{display:grid}
  .sidebar-collapsed .sidebar-label,.sidebar-collapsed .group-label,.sidebar-collapsed .nav-chevron,.sidebar-collapsed .sidebar-section-title{display:initial}
  .sidebar-collapsed .nav-favorite-toggle{display:block}
  .sidebar-collapsed .nav-group-links{display:grid}
  .sidebar-collapsed .sidebar-nav-row,.sidebar-collapsed .sidebar-nav-link,.sidebar-collapsed .nav-group>summary,.sidebar-collapsed .favorite-link{justify-content:initial}
}
@media(max-width:680px){
  :root{--topbar-height:62px}
  .app-topbar{width:100%;max-width:100vw;height:auto;min-height:var(--topbar-height);grid-template-columns:43px minmax(0,1fr) minmax(0,auto);padding:9px 12px;gap:9px}
  .topbar-left,.topbar-actions,.global-search{min-width:0}
  .global-search{grid-column:1/-1;grid-row:2;max-width:none}
  .global-search input{height:42px}
  .global-search kbd{display:none}
  .topbar-actions{gap:6px}
  .topbar-icon-button{width:41px;height:41px}
  .quick-actions>summary{padding:10px 11px}
  .quick-actions-menu{width:min(280px,calc(100vw - 24px))}
  .app-content{width:100%;max-width:100vw;padding:20px 13px 38px}
  .search-page-form{display:grid}
  .search-result-card{grid-template-columns:42px minmax(0,1fr) 20px;padding:12px}
  .search-result-icon{width:40px;height:40px}
  .contract-company-list .record-row{grid-template-columns:46px minmax(0,1fr) 18px;gap:11px;padding:14px}
  .contract-company-list .record-row>span:nth-child(3),.contract-company-list .record-row>span:nth-child(4){grid-column:2;display:flex;gap:8px;align-items:baseline}
  .contract-company-list .record-row>.record-chevron{grid-column:3;grid-row:1/4;align-self:center}
}
@media print{
  .app-sidebar,.app-topbar,.sidebar-overlay{display:none!important}
  .app-workspace,.sidebar-collapsed .app-workspace{margin-left:0!important}
  .app-content{max-width:none!important;padding:0!important}
}
.sidebar-wide-logo~.sidebar-brand-copy{display:none}
.sidebar-collapsed .sidebar-wide-logo~.sidebar-brand-copy{display:none}
.manual-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}.manual-index{position:sticky;top:82px;display:grid;gap:8px}.manual-index a{padding:8px 10px;border-radius:8px;text-decoration:none}.manual-index a:hover{background:var(--panel-soft,#eef2f7)}.manual-content{display:grid;gap:18px}.manual-content section{scroll-margin-top:90px}.manual-content ol{line-height:1.65}.match-box,.info-box{padding:16px;border:1px solid rgba(22,46,77,.18);border-radius:12px;background:rgba(22,46,77,.04);display:grid;gap:8px}.info-box span{display:block;color:var(--muted,#64748b);margin-top:5px}.customer-new-fields{padding-top:8px}.customer-new-fields h3{margin-top:0}.screenshot-import-card{max-width:760px}.notice{padding:12px 14px;border-left:4px solid var(--accent-color,#F6A01D);background:rgba(246,160,29,.10)}@media(max-width:800px){.manual-layout{grid-template-columns:1fr}.manual-index{position:static}.manual-index{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Berichte und Diagramme */
.report-page-head{align-items:flex-start}.report-actions{display:flex;gap:10px;flex-wrap:wrap}.report-period-form{display:grid;grid-template-columns:minmax(190px,1.3fr) repeat(2,minmax(150px,.8fr)) auto;gap:14px;align-items:end;margin-bottom:16px}.report-period-form label{display:grid;gap:6px}.report-tabs{display:flex;gap:6px;border-bottom:1px solid rgba(100,116,139,.24);margin:0 0 18px;overflow:auto}.report-tabs a{padding:12px 16px;text-decoration:none;color:var(--text-color);font-weight:700;border-bottom:3px solid transparent;white-space:nowrap}.report-tabs a.active{color:var(--navy);border-bottom-color:var(--orange);background:rgba(22,46,77,.035)}.report-summary-cards{grid-template-columns:repeat(5,minmax(150px,1fr));margin-bottom:18px}.report-section{margin-bottom:18px}.report-chart-shell{position:relative;width:100%;height:350px;border:1px solid rgba(100,116,139,.18);border-radius:14px;background:#fff;padding:12px}.report-chart{display:block;width:100%;height:100%}.dashboard-chart-shell{height:330px}.report-mini-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-top:12px}.report-mini-summary span{padding:12px 14px;border-radius:10px;background:rgba(22,46,77,.045);display:grid;gap:4px}.report-mini-summary small{color:#64748b}.report-mini-summary strong{font-size:1.1rem}.report-mini-summary .positive strong{color:#16875f}.report-mini-summary .negative strong{color:#b42318}.report-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.report-bar-list{display:grid;gap:16px}.report-bar-row{display:grid;gap:7px}.report-bar-row>div:first-child{display:flex;justify-content:space-between;gap:14px}.report-bar-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-bar-track{height:10px;background:rgba(22,46,77,.09);border-radius:999px;overflow:hidden}.report-bar-track i{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,var(--navy),var(--orange))}.report-bar-track.expense i{background:linear-gradient(90deg,#b5483a,var(--orange))}.report-calculation{max-width:720px;margin:20px auto 4px;display:grid;gap:0;border:1px solid rgba(100,116,139,.2);border-radius:14px;overflow:hidden}.report-calculation.compact{margin:0}.report-calculation>div{display:flex;justify-content:space-between;gap:20px;padding:14px 18px;border-bottom:1px solid rgba(100,116,139,.15)}.report-calculation>div:last-child{border-bottom:0}.report-result-line{font-size:1.12rem;background:rgba(22,46,77,.06);color:var(--navy)}.report-helperline-cards{grid-template-columns:repeat(4,minmax(150px,1fr));margin-top:14px}.status-chip{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:.82rem;font-weight:700}.status-chip.paid{background:rgba(22,135,95,.12);color:#126b4d}.status-chip.open{background:rgba(181,72,58,.12);color:#9e362b}.status-chip.draft{background:rgba(100,116,139,.14);color:#475569}
@media(max-width:1200px){.report-summary-cards{grid-template-columns:repeat(3,minmax(150px,1fr))}.report-helperline-cards{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:850px){.report-period-form{grid-template-columns:1fr 1fr}.report-period-form label:first-child,.report-period-form button{grid-column:1/-1}.report-two-columns{grid-template-columns:1fr}.report-summary-cards{grid-template-columns:repeat(2,minmax(135px,1fr))}.report-mini-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}.report-chart-shell{height:300px}}
@media(max-width:520px){.report-summary-cards,.report-helperline-cards{grid-template-columns:1fr}.report-period-form{grid-template-columns:1fr}.report-period-form label{grid-column:1}.report-mini-summary{grid-template-columns:1fr}.report-chart-shell{height:270px;padding:6px}}
@media print{.app-sidebar,.app-topbar,.sidebar-overlay,.no-print,.flash{display:none!important}.app-workspace,.app-content{margin:0!important;padding:0!important;width:100%!important}.report-section,.finance-card{box-shadow:none!important;break-inside:avoid}.report-chart-shell{height:300px;border-color:#bbb}.table-wrap{overflow:visible}.table-wrap table{font-size:10pt}body{background:#fff}.report-summary-cards{grid-template-columns:repeat(5,1fr)}}

/* Anmeldung */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--page-bg);padding:24px}
.login-shell{width:100%;max-width:420px}
.login-card{display:grid;gap:14px;background:#fff;border:1px solid rgba(22,46,77,.12);border-radius:18px;padding:34px 30px;box-shadow:var(--surface-shadow)}
.login-logo{width:190px;max-width:70%;height:auto;margin:0 auto 6px}
.login-card h1{margin:0;font-size:1.5rem;text-align:center}
.login-card>.muted{margin:0 0 4px;text-align:center;font-size:.86rem;line-height:1.45}
.login-card label{display:grid;gap:5px;font-weight:600;font-size:.88rem;color:var(--navy)}
.login-card input{width:100%;box-sizing:border-box}
.login-card button{width:100%;margin-top:6px;padding:12px}
.login-demo-card{display:grid;gap:8px;background:#fff;border:1px solid rgba(22,46,77,.12);border-radius:16px;padding:20px;box-shadow:var(--surface-shadow);text-align:center}
.login-demo-card p{margin:0;line-height:1.45}
.login-register-link{width:100%;box-sizing:border-box;text-align:center}
.demo-mode-banner,.trial-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:12px 16px;border-radius:14px;background:#fff4d6;border:1px solid #edc96a;color:#6e5310;text-decoration:none}
.trial-mode-banner{background:#eaf5ff;border-color:#acd5f8;color:var(--navy)}
.subscription-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}
.subscription-grid .card{display:grid;gap:8px;min-height:150px;align-content:center;background:#fff;border:1px solid rgba(22,46,77,.12);border-radius:18px;padding:22px;box-shadow:var(--surface-shadow)}
.subscription-grid .card>strong{font-size:1.45rem;color:var(--navy)}
.subscription-grid .card p{margin:0;color:#64748b}
.subscription-status.is-active{border-left:5px solid #16845b}
.subscription-status.is-inactive{border-left:5px solid #c83b31}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:700;color:#64748b}
.danger-zone{margin-top:24px;border:1px solid #efb4ae;border-radius:16px;background:#fff;padding:0 20px 20px}
.danger-zone summary{cursor:pointer;padding:18px 0;font-weight:700;color:#a3261e}
.danger-zone form{display:grid;gap:12px;max-width:680px}
.danger-zone label{display:grid;gap:7px}
@media(max-width:800px){.subscription-grid{grid-template-columns:1fr}.demo-mode-banner,.trial-mode-banner{align-items:flex-start;flex-direction:column;gap:3px}}
.login-error{padding:10px 12px;border-radius:9px;border-left:4px solid #b91c1c;background:rgba(185,28,28,.09);color:#8f1c13;font-size:.87rem}
.login-footnote{margin:16px 0 0;text-align:center;color:#64748b;font-size:.76rem}
.topbar-user{display:flex;align-items:center;gap:9px;padding-left:10px;margin-left:4px;border-left:1px solid rgba(22,46,77,.14)}
.topbar-user>span{display:grid;line-height:1.2}
.topbar-user strong{font-size:.84rem;color:var(--navy)}
.topbar-user small{font-size:.71rem;color:#64748b}
.topbar-user button{padding:6px 11px;font-size:.8rem}
@media(max-width:800px){.topbar-user>span{display:none}}

/* Werkzeugleiste unter der Rechnungsvorschau (nicht Teil des Rechnungsblatts) */
.invoice-toolbox{max-width:850px;margin:22px auto 40px}
.invoice-toolbox .create-panel{margin-top:14px}
.invoice-toolbox .form-card{margin-top:0}
.invoice-toolbox textarea{min-height:150px;font-family:inherit}
@media print{.invoice-toolbox{display:none!important}}

/* Rückmeldung nach dem Rechnungsversand */
.flash-success,.flash-error,.flash-info{display:flex;gap:10px;align-items:flex-start;padding:13px 16px;border-radius:11px;font-size:.9rem;line-height:1.45;margin:14px 0}
.flash-success{background:rgba(18,99,63,.09);border-left:4px solid #12633f;color:#0f5133}
.flash-error{background:rgba(185,28,28,.09);border-left:4px solid #b91c1c;color:#8f1c13}
.flash-info{background:rgba(22,46,77,.07);border-left:4px solid var(--navy);color:var(--navy)}
.flash-success span:first-child,.flash-error span:first-child,.flash-info span:first-child{font-weight:800;line-height:1.35}

/* Hinweise zu ungenauen Adressen in der ToDo-Liste */
.todo-day-hinweis{display:grid;gap:4px;margin:-4px 0 12px;padding:9px 13px;border-left:3px solid var(--orange);background:rgba(246,160,29,.10);border-radius:0 8px 8px 0;font-size:.8rem;color:#7a4a05}
.todo-job-phone a{color:var(--navy);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(22,46,77,.28)}
.todo-job-phone a:hover{color:var(--orange);border-bottom-color:var(--orange)}

/* Zahlungsblock mit EPC-QR-Code (GiroCode) auf offenen Rechnungen */
.invoice-payment{display:flex;gap:20px;align-items:flex-start;margin:26px 0 0;padding:16px 18px;border:1px solid rgba(22,46,77,.16);border-radius:10px;background:rgba(22,46,77,.03);break-inside:avoid}
.invoice-payment-code{width:112px;height:112px;flex:0 0 112px;display:block}
.invoice-payment-info{font-size:11.5px;line-height:1.5}
.invoice-payment-info strong{display:block;color:var(--navy);font-size:12.5px;margin-bottom:3px}
.invoice-payment-info p{margin:0 0 8px;padding:0;font-size:11.5px;color:#4b5563}
.invoice-payment-info dl{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;margin:0}
.invoice-payment-info dt{color:#64748b}
.invoice-payment-info dd{margin:0;font-weight:600;color:var(--text-color)}
@media(max-width:560px){.invoice-payment{flex-direction:column;align-items:center;text-align:center}.invoice-payment-info dl{text-align:left}}

/* Kennzahlen über dem Fahrtenbuch */
.trip-summary-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:18px}
.trip-summary-cards>div{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid rgba(22,46,77,.12);border-radius:14px;background:#fff}
.trip-summary-cards span{color:#64748b;font-size:.86rem;font-weight:600}
.trip-summary-cards strong{color:var(--text-color);font-size:1.65rem;line-height:1.05;font-weight:800}
.trip-summary-cards .share-low{background:rgba(185,28,28,.07);border-color:rgba(185,28,28,.30)}
.trip-summary-cards .share-high{background:rgba(18,99,63,.07);border-color:rgba(18,99,63,.30)}
@media(max-width:700px){.trip-summary-cards{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.trip-summary-cards{grid-template-columns:1fr}}
.danger-panel>summary{color:#8f1c13}
.danger-panel .form-card{border-left:4px solid rgba(185,28,28,.45)}
.danger-panel p{margin-top:0}

/* Versionsanzeige unten in der Seitenleiste */
.sidebar-version{padding:10px 14px 4px;color:#94a3b8;font-size:.72rem;font-weight:600;letter-spacing:.02em}
body.sidebar-collapsed .sidebar-version{display:none}

/* Sichere Software-Aktualisierung */
.software-update-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:0 0 18px;padding:13px 16px;border:1px solid color-mix(in srgb,var(--orange) 60%,white);border-radius:13px;background:color-mix(in srgb,var(--orange) 13%,white);color:var(--navy);text-decoration:none;box-shadow:0 10px 28px rgba(15,23,42,.07)}
.software-update-banner>span:first-child{font-size:1.35rem}.software-update-banner>span:nth-child(2){display:grid;gap:2px}.software-update-banner small{color:#64748b}.software-update-banner>b{white-space:nowrap}
.update-page-head{align-items:flex-start}.update-status-chip{display:inline-flex;align-items:center;padding:8px 13px;border-radius:999px;background:#e2e8f0;color:#475569;font-weight:800;font-size:.82rem}.update-status-chip.idle{background:#dcfce7;color:#166534}.update-status-chip.failed{background:#fee2e2;color:#991b1b}.update-status-chip.checking,.update-status-chip.installing,.update-status-chip.rolling_back{background:#fff3cd;color:#7a4a05}
.update-version-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.update-version-card{display:grid;gap:7px;padding:22px;border:1px solid rgba(22,46,77,.13);border-radius:15px;background:#fff;box-shadow:var(--surface-shadow)}.update-version-card.available{border-color:color-mix(in srgb,var(--orange) 65%,white);background:color-mix(in srgb,var(--orange) 8%,white)}.update-version-card span,.update-version-card small{color:#64748b}.update-version-card strong{font-size:1.7rem;color:var(--navy)}.update-version-card .update-date{font-size:1rem;line-height:1.45;overflow-wrap:anywhere}
.update-message,.update-error{margin:0 0 18px;padding:13px 16px;border-radius:11px}.update-message{border-left:4px solid #16875f;background:rgba(22,135,95,.09);color:#126b4d}.update-error{display:grid;gap:4px;border-left:4px solid #b91c1c;background:rgba(185,28,28,.09);color:#8f1c13}.update-control-panel,.update-safety-panel{margin-bottom:18px}.update-control-panel h2,.update-safety-panel h2{margin-top:0}.update-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.update-actions form{margin:0}.update-actions button:disabled{cursor:wait;opacity:.55}.update-safety-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.update-safety-grid span{padding:11px 13px;border-radius:9px;background:rgba(22,46,77,.045);color:#334155;font-weight:600}.update-last-backup{margin:16px 0 0}
@media(max-width:850px){.update-version-grid{grid-template-columns:1fr}.update-safety-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.software-update-banner{grid-template-columns:auto 1fr}.software-update-banner>b{grid-column:2}.update-safety-grid{grid-template-columns:1fr}.update-actions,.update-actions form,.update-actions button{width:100%}}

/* Beleg zur Kontrolle neben den Eingabefeldern */
.receipt-review-split{display:grid;grid-template-columns:minmax(320px,1fr) minmax(340px,1.1fr);gap:20px;align-items:start}
.receipt-review-split .receipt-review-form{margin-top:0}
.receipt-preview{position:sticky;top:82px;display:grid;gap:8px;padding:14px;border:1px solid rgba(22,46,77,.14);border-radius:14px;background:rgba(22,46,77,.03)}
.receipt-preview-head{font-weight:800;color:var(--navy);font-size:.86rem}
.receipt-preview-frame{width:100%;height:640px;border:1px solid rgba(22,46,77,.14);border-radius:9px;background:#fff}
.receipt-preview-image{width:100%;height:auto;max-height:640px;object-fit:contain;border:1px solid rgba(22,46,77,.14);border-radius:9px;background:#fff;display:block}
@media(max-width:1100px){.receipt-review-split{grid-template-columns:1fr}.receipt-preview{position:static}.receipt-preview-frame{height:460px}}

/* Einheitliche Kacheloberflächen: weiß, fein gerahmt und mit identischem Schatten. */
.report-mini-summary span{background:#fff;border:1px solid rgba(22,46,77,.12);box-shadow:var(--surface-shadow)}
.update-safety-grid span{background:#fff;border:1px solid rgba(22,46,77,.12);box-shadow:var(--surface-shadow)}
.trip-summary-cards>div{background:#fff;box-shadow:var(--surface-shadow)}
.trip-summary-cards>div.share-low{background:#fee2e2;border-color:#ef4444}
.trip-summary-cards>div.share-high{background:#dcfce7;border-color:#22c55e}
.finance-cards .finance-card.liability-card,.contract-balance-cards .liability-card{background:#fee2e2!important;border-color:#ef4444!important}
.finance-cards .finance-card.net-card,.contract-balance-cards .net-card{background:#dcfce7!important;border-color:#22c55e!important}
.balance-neutral{background:#fff!important;border-left-color:rgba(22,46,77,.18)!important}
.dashboard-period-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:14px 16px;border:1px solid rgba(22,46,77,.12);border-radius:14px;background:#fff;box-shadow:var(--surface-shadow)}
.dashboard-period-filter label{display:grid;gap:5px;min-width:160px;font-size:.78rem;font-weight:700;color:#64748b}.dashboard-period-filter select,.dashboard-period-filter input{min-height:42px}.dashboard-period-filter .period-label{margin-left:auto;align-self:center;font-size:.82rem}
@media(max-width:650px){.dashboard-period-filter>*{width:100%}.dashboard-period-filter .period-label{margin-left:0;text-align:center}}
.update-version-card.available,.reminder-card.today,.reminder-card.overdue,.appointment-card.overdue{background:#fff}

/* Kompakte Listenaktionen und sortierbare Spalten. */
.icon-action{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border-radius:8px;vertical-align:middle}
.icon-action .flat-icon{width:17px;height:17px;margin:0}
.icon-action.danger{background:#fff;color:#a61b1b;border-color:rgba(166,27,27,.35)}
.icon-action.danger:hover{background:#a61b1b;color:#fff}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.compact-table td,.compact-table th{vertical-align:middle;white-space:nowrap}
.compact-table .amount-col{font-variant-numeric:tabular-nums;text-align:right}
.compact-table .row-actions{flex-wrap:nowrap;min-width:0}
th[data-sortable="true"]{padding:0}
.table-sort-button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:11px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:left;white-space:nowrap}
.table-sort-button:hover,.table-sort-button:focus-visible{background:rgba(255,255,255,.45);color:var(--navy)}
.table-sort-button::after{content:"↕";color:#94a3b8;font-size:.8em}
th[aria-sort="ascending"] .table-sort-button::after{content:"↑";color:var(--navy)}
th[aria-sort="descending"] .table-sort-button::after{content:"↓";color:var(--navy)}
th.amount-col .table-sort-button{justify-content:flex-end;text-align:right}

/* Angebots- und Rechnungspositionen */
.document-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.document-lines{display:grid;gap:10px;margin-top:8px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h2,.section-heading p{margin:0}.section-heading p{margin-top:4px}
.line-editor-head,.line-editor-row{display:grid;grid-template-columns:minmax(170px,1.05fr) minmax(240px,2fr) 90px 110px 120px 105px 95px 38px;gap:8px;align-items:start}
.line-editor-head{padding:0 4px;color:#64748b;font-size:.75rem;font-weight:800}
.line-editor-row{padding:12px;border:1px solid rgba(22,46,77,.13);border-radius:12px;background:#fff;box-shadow:var(--surface-shadow)}
.line-editor-row>div:first-child{display:grid;gap:7px}.line-editor-row input,.line-editor-row select,.line-editor-row textarea{min-width:0;width:100%}
.input-suffix{display:flex!important;align-items:center!important;gap:4px!important}.input-suffix span{color:#64748b;font-weight:700}
.offer-convert-actions{margin-top:18px;padding:16px;border:1px solid rgba(22,46,77,.13);border-radius:12px;background:#fff}.offer-convert-actions form{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1250px){.line-editor-head{display:none}.line-editor-row{grid-template-columns:repeat(4,minmax(0,1fr))}.line-editor-row>div:first-child,.line-editor-row textarea{grid-column:span 2}}
@media(max-width:800px){.document-form{grid-template-columns:1fr 1fr}.line-editor-row{grid-template-columns:1fr 1fr}.line-editor-row>div:first-child,.line-editor-row textarea{grid-column:1/-1}}
@media(max-width:520px){.document-form{grid-template-columns:1fr}.line-editor-row{grid-template-columns:1fr}.line-editor-row>*{grid-column:1/-1!important}.section-heading{align-items:flex-start;flex-direction:column}.section-heading button{width:100%}}
