:root{
  --ink:#111827;
  --muted:#667085;
  --line:#cbd5e1;
  --soft:#f4f7fb;
  --brand:#0f172a;
  --accent:#d70000;
  --doc-margin-right:1cm;
  --page-bg:#eef2f7;
  --header-bg:rgba(238,242,247,.92);
  --card-bg:#fff;
  --card-border:#d9e1ee;
  --card-shadow:0 10px 35px rgba(15,23,42,.08);
  --input-bg:#fff;
  --input-border:#cfd7e6;
  --label:#344054;
  --btn-bg:#e8edf5;
  --ghost-bg:#fff;
  --ghost-border:#d0d7e2;
  --dropzone-bg:#f8fafc;
  --dropzone-border:#99a6bb;
  --parts-head-bg:#f8fafc;
  --side-bg:#0f172a;
  --side-text:#fff;
  --side-muted:#cbd5e1;
  --modal-bg:#fff;
  --modal-text:#475467;
}
[data-theme="dark"]{
  --ink:#e5e7eb;
  --muted:#94a3b8;
  --line:#334155;
  --soft:#1e293b;
  --page-bg:#0b1220;
  --header-bg:rgba(11,18,32,.92);
  --card-bg:#111827;
  --card-border:#334155;
  --card-shadow:0 10px 35px rgba(0,0,0,.35);
  --input-bg:#0f172a;
  --input-border:#475569;
  --label:#cbd5e1;
  --btn-bg:#1e293b;
  --ghost-bg:#111827;
  --ghost-border:#475569;
  --dropzone-bg:#0f172a;
  --dropzone-border:#475569;
  --parts-head-bg:#0f172a;
  --side-bg:#020617;
  --side-text:#f8fafc;
  --side-muted:#94a3b8;
  --modal-bg:#111827;
  --modal-text:#cbd5e1;
}
*{box-sizing:border-box}body{margin:0;background:var(--page-bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}.no-print{display:block}.app-shell{min-height:100vh;display:grid;grid-template-columns:calc(300px + 2mm) 1fr}.side{background:var(--side-bg);color:var(--side-text);padding:34px 26px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.side .logo{width:210px;height:auto;background:transparent;border-radius:0;padding:0;margin-bottom:20px}.side h1{font-size:28px;line-height:1.06;margin:0 0 8px}.brand-accent{color:var(--accent)}.side-tagline{color:var(--side-muted);font-size:13px;font-weight:700;letter-spacing:.03em;margin:0 0 12px}.customer-label{margin:0 0 16px;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.06);color:var(--side-muted);font-size:12px;font-weight:700;line-height:1.4}.side p{color:var(--side-muted)}.status-card{margin-top:28px;padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08)}.side-actions{margin-top:auto;display:grid;gap:10px;padding-top:24px}.side-btn{width:100%;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2)}.side-btn.ghost{background:transparent}.workspace{padding:34px;max-width:1180px}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;box-shadow:var(--card-shadow);padding:24px}.hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.hero h2{font-size:30px;margin:0 0 8px}.hero p{margin:0;color:var(--muted)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}h3{margin:0 0 16px;font-size:20px}.dropzone{border:2px dashed var(--dropzone-border);background:var(--dropzone-bg);border-radius:18px;padding:30px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.dropzone.active{background:#eef6ff;border-color:#2563eb}[data-theme="dark"] .dropzone.active{background:#172554;border-color:#60a5fa}.button,.primary,.ghost,button{appearance:none;border:0;border-radius:12px;padding:12px 16px;background:var(--btn-bg);color:var(--ink);font-weight:800;cursor:pointer}button:hover,.button:hover{filter:brightness(.96)}button:disabled,.button:disabled{opacity:.55;cursor:not-allowed;filter:none}.primary{background:#0f172a;color:#fff}.ghost{background:var(--ghost-bg);border:1px solid var(--ghost-border)}.button input{display:none}.note{font-size:14px;color:var(--muted);margin-top:12px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:flex;flex-direction:column;font-weight:700;font-size:13px;color:var(--label)}.form-grid input{margin-top:7px;border:1px solid var(--input-border);border-radius:10px;padding:12px;font:inherit;background:var(--input-bg);color:var(--ink)}.table-headline{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.table-headline h3{margin:0}.table-headline span{color:var(--muted)}.form-grid label.full{grid-column:1/-1}.parts-editor-head{display:grid;grid-template-columns:88px 1fr 44px;gap:12px;padding:10px 14px;background:var(--parts-head-bg);border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;font-size:12px;font-weight:800;color:var(--label)}.parts-list{border:1px solid var(--line);border-radius:0 0 12px 12px;overflow:hidden}.part-row{display:grid;gap:12px;padding:11px 14px;border-top:1px solid var(--line);align-items:center}.part-row:first-child{border-top:0}.part-row.edit{grid-template-columns:88px 1fr 44px}.part-row.edit input{border:1px solid var(--input-border);border-radius:8px;padding:10px 12px;font:inherit;width:100%;background:var(--input-bg);color:var(--ink)}.part-row.edit .part-qty{text-align:right}.part-remove{width:36px;height:36px;padding:0;border-radius:8px;background:var(--ghost-bg);border:1px solid var(--ghost-border);color:var(--muted);font-size:22px;line-height:1;cursor:pointer}.part-remove:hover{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.parts-actions{margin-top:14px}.part-row:first-child{border-top:0}.part-row b{text-align:right}.part-row small{color:var(--muted)}.empty{padding:18px;color:var(--muted)}.protocol{display:none;background:#fff;max-width:210mm;margin:30px auto;border:1px solid #d7dce7;box-shadow:0 18px 50px rgba(15,23,42,.12)}.protocol-loading{padding:48px 24px;text-align:center;color:var(--muted);font-weight:700}.protocol-pdf-view{width:100%;min-height:297mm;background:#fff}.protocol-pdf-frame{display:block;width:100%;min-height:1120px;border:0;background:#fff}.protocol-toolbar{max-width:210mm;margin:30px auto 0;padding:12px 16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border:1px solid #d9e1ee;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,.08)}.protocol-toolbar[hidden]{display:none!important}.protocol-edit-status{font-size:13px;color:var(--muted)}.protocol-is-editing .document{outline:2px dashed #d70000;outline-offset:4px}.document.is-editing{cursor:text}.document.is-editing [contenteditable="true"]:focus{outline:none}.document{position:relative;background:#fff;min-height:297mm;padding:12mm 1cm 12mm 12mm;box-sizing:border-box;overflow-x:hidden}.doc-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1.5px solid #111;padding:12mm 12mm 6mm}.doc-title{text-transform:uppercase;font-size:24px;font-weight:900;letter-spacing:.03em}.doc-company{font-size:13px;font-weight:800;margin-top:6px}.doc-logo{width:175px;height:auto}.doc-content{padding:10mm 12mm 18mm}.doc-footer{display:flex;justify-content:space-between;border-top:1px solid #111;padding:5mm 12mm 7mm;color:#555;font-size:11px}.doc-section{margin-bottom:12mm}.page-break{break-before:page;page-break-before:always}.section-head{border-bottom:1.5px solid #111;text-align:center;padding:4mm 0 4mm;margin-bottom:7mm}.subsection-head{margin:8mm 0 4mm;padding-bottom:3mm;border-bottom:1px solid #cbd5e1}.subsection-head h3{margin:0;font-size:16px}.subsection-head p{margin:2mm 0 0;color:#667085;font-size:12px;font-weight:700}.section-head h2{margin:0;text-transform:uppercase;font-size:22px;letter-spacing:.06em}.section-head p{margin:3mm 0 0;color:#667085;font-weight:700}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10mm}.meta-grid div{border:1px solid var(--line);min-height:17mm;padding:5mm}.meta-grid b{display:block;font-size:12px;color:#475467}.meta-grid span{display:block;margin-top:2mm}.component-block{break-inside:avoid;page-break-inside:avoid;margin-bottom:9mm}.table-keep{break-inside:avoid;page-break-inside:avoid;margin-bottom:9mm}.component-block h3{font-size:16px;margin:0 0 4mm}.hydrant-table-title{margin:6mm 0 3mm;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.abbs-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0 0 8mm;font-size:12px}.abbs-table th{background:#eef2f7;color:#000;border:1.2px solid #111;padding:7px 6px;text-align:center;font-weight:900;line-height:1.2;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;word-break:break-word;hyphens:auto}.abbs-table td{border:1px solid #667085;min-height:36px;height:36px;padding:7px 8px;vertical-align:middle;background:#fff;overflow-wrap:anywhere;word-break:break-word}.hydrant-table th{font-size:9.5px;line-height:1.15}.hydrant-table td{font-size:10px}.hydrant-table td:first-child{text-align:center}.check-box{display:inline-block;width:13px;height:13px;border:1.4px solid #111;vertical-align:middle}.technical-table td:nth-child(1),.technical-table td:nth-child(3){background:#f8fafc}.measure-table td{text-align:center;height:38px;min-height:38px}.diesel-note{border:1px solid #94a3b8;background:#f8fafc;padding:5mm;margin-bottom:7mm;line-height:1.45}.mini-grid{display:grid;grid-template-columns:26mm 1fr 26mm 1fr;border:1px solid #111;margin-bottom:8mm}.mini-grid div{border:1px solid #cbd5e1;min-height:12mm;padding:4mm}.large-write-box{border:1px solid #111;height:70mm;margin-bottom:18mm}.closing-text{margin:0 0 6mm;line-height:1.45}.closing-section{break-inside:avoid;page-break-inside:avoid}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:20mm}.signature-pair{display:grid;grid-template-columns:.32fr .68fr;gap:8mm;align-items:end}.signature-field{border-top:1.5px solid #111;padding-top:4mm;text-align:center;font-weight:700;min-height:14mm}.signature-field span{display:block;font-size:11px}.muted{color:#667085}.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.modal[hidden]{display:none!important}.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55)}.modal-card{position:relative;z-index:1;width:min(520px,100%);background:var(--modal-bg);border:1px solid var(--card-border);border-radius:18px;padding:28px;box-shadow:0 24px 60px rgba(15,23,42,.25)}.modal-card h3{margin:0 0 10px;font-size:24px}.modal-card p{margin:0 0 22px;color:var(--modal-text);line-height:1.45}.modal-actions{display:flex;flex-wrap:wrap;gap:10px}.tav-inspection-notice{border:1px solid #cbd5e1;background:#f8fafc;padding:3mm 3.5mm;margin:0 0 5mm;font-size:10px;line-height:1.35;color:#475467}.tav-inspection-notice p{margin:0}.tav-inspection-notice strong{font-weight:700;color:#344054}.checklist-legend{margin:0 0 3mm;font-size:10px;line-height:1.35;color:#475467}.measure-conversion{margin-top:3mm;max-width:28%}.measure-conversion-title{margin:0 0 1mm;font-size:8px;font-weight:800;color:#475467}.gallon-conversion-table{width:100%;margin:0 0 3mm;font-size:8px}.gallon-conversion-table th,.gallon-conversion-table td{height:20px;min-height:20px;padding:2px 4px;text-align:center}
@media(max-width:900px){.app-shell{display:block}.side{height:auto;position:static}.grid{grid-template-columns:1fr}.workspace{padding:18px}.hero{display:block}.hero-actions{margin-top:16px;justify-content:flex-start}.form-grid{grid-template-columns:1fr}.part-row.edit,.parts-editor-head{grid-template-columns:72px 1fr 40px}}

.doc-liegenschaft{margin-top:4px;font-size:12px;font-weight:700;color:#344054;}
.side-nav{display:grid;gap:8px;margin:0 0 16px}
.side-nav-btn{width:100%;text-align:left;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:11px 14px;font-weight:800;cursor:pointer}
.side-nav-btn.active{background:#fff;color:#0f172a;border-color:#fff}
.side-nav-btn.side-nav-locked{opacity:.55;cursor:not-allowed}
.side-nav-btn:hover:not(:disabled):not(.side-nav-locked){filter:brightness(1.05)}
.side .side-btn,
.side .side-btn.ghost{
  color:#fff;
}
.side .side-btn:hover,
.side .side-btn.ghost:hover{
  color:#fff;
}
.archive-upgrade{padding:28px 16px;text-align:center;max-width:480px;margin:0 auto}
.archive-upgrade h3{margin:0 0 10px;font-size:20px}
.archive-upgrade p{margin:0 0 12px;color:var(--muted);line-height:1.5}
.archive-upgrade .primary{display:inline-block;text-decoration:none;margin-top:8px}
.archive-upgrade-cell{border:0!important}
.archive-card{margin-top:22px}
.archive-filters{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;margin-bottom:14px}
.archive-filters label{display:flex;flex-direction:column;font-weight:700;font-size:13px;color:var(--label)}
.archive-filters select,.archive-filters input{margin-top:7px;border:1px solid var(--input-border);border-radius:10px;padding:12px;font:inherit;background:var(--input-bg);color:var(--ink)}
.archive-search-label{grid-column:span 1}
.archive-search-row{display:flex;gap:10px;margin-top:7px}
.archive-search-row input{flex:1;margin-top:0}
.archive-status{min-height:18px}
.archive-status.error{color:#b42318}
.archive-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}
.archive-table{width:100%;border-collapse:collapse;font-size:14px}
.archive-table th,.archive-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.archive-table th{background:var(--parts-head-bg);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--label)}
.archive-table tr:last-child td{border-bottom:0}
.archive-actions{display:flex;flex-wrap:wrap;gap:8px}
.archive-tabs{display:flex;gap:10px;margin:0 0 18px}
.archive-tab{appearance:none;border:1px solid var(--line);background:var(--card-bg);color:var(--ink);border-radius:999px;padding:10px 16px;font:inherit;font-weight:800;cursor:pointer}
.archive-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}
.history-timeline{display:grid;gap:22px}
.history-year-block{display:grid;gap:12px}
.history-year-title{margin:0;font-size:22px;color:var(--ink)}
.history-year-items{display:grid;gap:12px}
.history-item{padding:18px}
.history-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}
.history-item-titles{display:grid;gap:4px;min-width:0}
.history-item-name{display:block;font-size:16px;line-height:1.35;word-break:break-word}
.history-item-date{display:block;font-size:13px;font-weight:600;color:var(--muted);line-height:1.35}
.history-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:800}
.history-item-meta,.history-item-note{margin:0 0 10px;color:var(--muted);line-height:1.5}
.modal-form{display:grid;gap:14px;margin-top:14px}
.modal-form label{display:flex;flex-direction:column;font-weight:700;font-size:13px;color:var(--label)}
.modal-form input,.modal-form select{margin-top:7px;border:1px solid var(--input-border);border-radius:10px;padding:12px;font:inherit;background:var(--input-bg);color:var(--ink)}
.managed-properties{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.managed-properties h4{margin:0 0 10px}
.managed-properties-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.managed-properties-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.managed-properties-list span{display:block;color:var(--muted);font-size:13px;margin-top:4px}
@media(max-width:900px){.archive-filters{grid-template-columns:1fr}}
.doc-type-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.doc-type-tab{border:1px solid var(--card-border);background:var(--card-bg);color:var(--ink);border-radius:999px;padding:10px 18px;font-weight:800;cursor:pointer}
.doc-type-tab.active{background:#0f172a;color:#fff;border-color:#0f172a}
.doc-type-tab.doc-type-tab-locked{opacity:.55;cursor:not-allowed}
.doc-type-tab:disabled{opacity:.55;cursor:not-allowed}
.timesheet-download-card p{color:var(--muted);line-height:1.55;margin:0 0 18px;max-width:640px}
