
@font-face{font-family:Inter;src:url(fonts/Inter-Regular.ttf);font-weight:400}
@font-face{font-family:Inter;src:url(fonts/Inter-SemiBold.ttf);font-weight:600}
@font-face{font-family:Inter;src:url(fonts/Inter-Bold.ttf);font-weight:700}
:root{--au:#6B4E71;--au2:#4f3854;--fl:#8A76B8;--fl2:#ebe5f3;--ww:#F7F4EE;--tx:#2b2430;--mu:#6f6675;--li:#e3dde6;--ok:#2f7d4f;--warn:#a5631b;--err:#a33a3a}
*{box-sizing:border-box}
html,body{margin:0;background:var(--ww);color:var(--tx);font:15px/1.45 Inter,system-ui,sans-serif}
button,input,select,textarea{font:inherit;color:inherit}
header.top{background:#fff;border-bottom:1px solid var(--li);position:sticky;top:0;z-index:5}
.top-in{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.top-in img{height:34px}
nav.tabs{display:flex;gap:4px;flex-wrap:wrap;flex:1}
nav.tabs button{border:0;background:none;padding:8px 12px;border-radius:8px;cursor:pointer;color:var(--mu);font-weight:600}
nav.tabs button.on{background:var(--fl2);color:var(--au)}
nav.tabs button .n{display:inline-block;min-width:20px;padding:0 6px;margin-left:4px;border-radius:10px;background:var(--au);color:#fff;font-size:12px}
.wer{font-size:13px;color:var(--mu)}
main{max-width:1180px;margin:0 auto;padding:20px 16px 80px}
h1{font-size:24px;margin:0 0 4px;color:var(--au)}
h2{font-size:18px;margin:0 0 10px;color:var(--au)}
h3{font-size:15px;margin:16px 0 8px;color:var(--au2)}
.sub{color:var(--mu);margin:0 0 18px}
.card{background:#fff;border:1px solid var(--li);border-radius:12px;padding:16px;margin-bottom:14px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.kpi{font-size:28px;font-weight:700;color:var(--au)}
.kpi-l{color:var(--mu);font-size:13px}
.btn{border:1px solid var(--au);background:var(--au);color:#fff;border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:600}
.btn.sek{background:#fff;color:var(--au)}
.btn.kl{padding:4px 10px;font-size:13px}
.btn.rot{background:#fff;color:var(--err);border-color:var(--err)}
.btn:disabled{opacity:.45;cursor:default}
.leiste{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.leiste .rechts{margin-left:auto}
label.f{display:block;font-size:13px;color:var(--mu);margin-bottom:10px}
label.f input,label.f select,label.f textarea{display:block;width:100%;margin-top:3px;padding:8px 10px;border:1px solid var(--li);border-radius:8px;background:#fff;color:var(--tx);font-size:15px}
label.f textarea{min-height:64px;resize:vertical}
label.f.pf>span:after{content:" *";color:var(--err)}
.chk{display:flex;gap:8px;align-items:flex-start;margin:6px 0;font-size:14px}
.chk input{margin-top:3px;width:18px;height:18px;accent-color:var(--au)}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th{text-align:left;color:var(--mu);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--li);padding:6px 8px}
table.t td{border-bottom:1px solid var(--li);padding:8px;vertical-align:top}
table.t tr.klick{cursor:pointer}
table.t tr.klick:hover td{background:var(--ww)}
.tag{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:600;background:var(--fl2);color:var(--au)}
.tag.ok{background:#e3f1e8;color:var(--ok)}
.tag.warn{background:#f8ecd9;color:var(--warn)}
.tag.err{background:#f6e1e1;color:var(--err)}
.hinweis{background:var(--fl2);border-radius:10px;padding:10px 14px;font-size:14px;margin-bottom:14px}
.hinweis.warn{background:#f8ecd9}
.leer{color:var(--mu);padding:20px;text-align:center}
.sigbox{border:1.5px dashed var(--fl);border-radius:10px;background:#fff;touch-action:none;width:100%;height:180px;display:block}
.sigimg{max-height:60px;max-width:220px}
.reiter{display:flex;gap:4px;border-bottom:1px solid var(--li);margin-bottom:14px;flex-wrap:wrap}
.reiter button{border:0;background:none;padding:8px 12px;cursor:pointer;color:var(--mu);font-weight:600;border-bottom:2px solid transparent}
.reiter button.on{color:var(--au);border-color:var(--au)}
.modal{position:fixed;inset:0;background:rgba(40,30,45,.45);display:flex;align-items:flex-start;justify-content:center;padding:30px 12px;z-index:20;overflow:auto}
.modal .card{max-width:720px;width:100%}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--au2);color:#fff;padding:10px 18px;border-radius:10px;z-index:30;font-weight:600}
.woche{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;overflow-x:auto}
.tag-sp{background:#fff;border:1px solid var(--li);border-radius:10px;padding:8px;min-height:120px}
.tag-sp h4{margin:0 0 6px;font-size:13px;color:var(--au)}
.ein{border-left:3px solid var(--fl);background:var(--ww);border-radius:6px;padding:5px 7px;margin-bottom:6px;font-size:12.5px;cursor:pointer}
.ein.erledigt{border-color:var(--ok)}
.ein.ausgefallen{border-color:var(--err);opacity:.7;text-decoration:line-through}
.ein.offen{border-color:var(--warn);background:#fbf3e6}
.klein{font-size:13px;color:var(--mu)}
#druck{display:none}
@media print{
  @page{size:A4;margin:16mm 16mm 18mm}
  body{background:#fff}
  header.top,main,.modal,.toast{display:none!important}
  #druck{display:block}
}
.dok{font:10.5pt/1.45 Inter,sans-serif;color:#222;page-break-after:always}
.dok:last-child{page-break-after:auto}
.dok .kopf{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14mm}
.dok .kopf img{height:15mm}
.dok .kopf .adr{text-align:right;font-size:8.5pt;color:#555}
.dok .kopf .adr b{color:#222;font-size:9.5pt}
.dok .typ{font-size:7.5pt;font-weight:700;letter-spacing:.08em;color:#6B4E71;text-transform:uppercase}
.dok h1{font-size:17pt;margin:1mm 0 1mm;color:#222}
.dok .unter{color:#6B4E71;margin-bottom:6mm}
.dok .ab{background:#efe9f3;padding:2mm 3mm;font-weight:700;color:#4f3854;margin:5mm 0 3mm;font-size:9.5pt}
.dok .fz{display:grid;grid-template-columns:1fr 1fr;gap:3mm 8mm}
.dok .fz .w{border-bottom:.3mm solid #999;padding:1mm 0 .8mm;min-height:7mm}
.dok .fz .l{font-size:7pt;color:#777}
.dok .box{background:#efe9f3;padding:3mm 4mm;margin:3mm 0}
.dok table{width:100%;border-collapse:collapse;font-size:9.5pt}
.dok th{text-align:left;font-size:7.5pt;color:#555;border-bottom:.4mm solid #6B4E71;padding:1.5mm 1.5mm}
.dok td{border-bottom:.2mm solid #ccc;padding:1.5mm 1.5mm;vertical-align:middle}
.dok td.r,.dok th.r{text-align:right;white-space:nowrap}
.dok .summe td{font-weight:700;border-top:.4mm solid #6B4E71;border-bottom:0}
.dok .sig{max-height:14mm;max-width:55mm}
.dok .hz{max-height:8mm;max-width:28mm}
.dok .fuss{margin-top:10mm;border-top:.2mm solid #ccc;padding-top:2mm;font-size:7pt;color:#777;text-align:center}
.dok .unterschriften{display:grid;grid-template-columns:1fr 1fr 2fr;gap:6mm;margin-top:8mm}
.dok .unterschriften .w{border-bottom:.3mm solid #999;min-height:15mm;display:flex;align-items:flex-end}
.dok p{margin:2mm 0}
