:root{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#18352c;background:#f3f6f4}*{box-sizing:border-box}body{margin:0}header{background:#153b31;color:white;display:flex;align-items:center;justify-content:space-between;padding:17px clamp(16px,4vw,48px)}.brand{display:flex;gap:12px;align-items:center}.brand small{display:block;opacity:.7;font-size:12px}.logo{display:grid;place-items:center;width:42px;height:42px;background:#e0aa43;border-radius:12px;color:#153b31;font-weight:900}.mode{font-size:12px;color:#ffe1a0}.shell{max-width:1400px;margin:auto;display:grid;grid-template-columns:210px 1fr;min-height:calc(100vh - 140px)}nav{padding:26px 12px;border-right:1px solid #dce5df;display:flex;flex-direction:column;gap:6px}nav button{background:none;border:0;text-align:left;padding:13px 15px;border-radius:12px;font:inherit;color:#38594c;cursor:pointer}nav button.active{background:#dcebe3;font-weight:700;color:#153b31}main{padding:28px clamp(16px,4vw,45px)}.headline{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}h1{font-size:29px;margin:0 0 5px}p{margin:0;color:#70857a}button{cursor:pointer;border:1px solid #d4dfd8;background:white;border-radius:10px;padding:10px 14px;font-weight:600;color:#23493b}.primary{background:#176345;color:white;border-color:#176345}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:25px}.card{background:white;border:1px solid #e0e9e2;border-radius:15px;padding:20px;box-shadow:0 2px 10px #153b3108}.stat strong{font-size:30px;display:block;margin-top:7px}.stat small{color:#72897c}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;text-align:left;min-width:610px}.table th,.table td{padding:14px 12px;border-bottom:1px solid #e5ebe7;font-size:14px}.table th{color:#678074;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.tag{border-radius:20px;background:#e4f2e9;color:#226744;padding:5px 9px;white-space:nowrap;font-size:12px}.tag.busy{background:#fff1d9;color:#93621a}.tag.maintenance{background:#fce4e2;color:#a23c36}.muted{color:#789084;font-size:13px}.tools{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}input,select,textarea{width:100%;border:1px solid #cbd9d0;padding:11px;border-radius:9px;font:inherit;background:white;color:#18352c}label{display:block;font-size:13px;font-weight:650;margin:14px 0 6px}dialog{border:0;border-radius:18px;width:min(520px,calc(100vw - 28px));box-shadow:0 20px 80px #0003;padding:26px}dialog::backdrop{background:#10291e80}dialog h2{margin:0 0 12px}.actions{display:flex;justify-content:end;gap:10px;margin-top:24px}footer{text-align:center;color:#7b8c81;font-size:12px;padding:16px}.empty{padding:28px;text-align:center;color:#698075}.notice{padding:15px;border-radius:12px;background:#fff7e5;color:#6d561f;margin-bottom:20px}.row-actions{display:flex;gap:6px}.row-actions button{padding:6px 9px;font-size:12px}.danger{color:#9a3838}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.qr{font-family:monospace;font-size:13px}@media(max-width:760px){.shell{display:block}nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #dce5df;padding:10px}nav button{white-space:nowrap;font-size:13px}main{padding:22px 15px}.stats{grid-template-columns:repeat(2,1fr)}.headline h1{font-size:24px}.mode{font-size:10px}.split{grid-template-columns:1fr}}@media(max-width:380px){.stats{gap:8px}.card{padding:13px}}

.sign-dialog{width:min(950px,calc(100vw - 20px));max-height:94vh;overflow:auto}.sig-canvas{display:block;width:100%;height:155px;touch-action:none;background:#fff;border:2px dashed #a5b8aa;border-radius:10px;cursor:crosshair}.contract-tools{display:flex;gap:8px;flex-wrap:wrap}.contract-tools button{font-size:12px;padding:7px 10px}.contract-banner{margin-bottom:18px}.contract-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contract-form-grid label{margin-top:5px}@media(max-width:700px){.contract-form-grid{grid-template-columns:1fr}}

.quicklinks{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.quicklinks button{background:#e0efe6;border:1px solid #9bc4aa;color:#153b31;font-size:15px;padding:12px 18px}

/* V27: Original-Firmenlogo auf allen Bildschirmgrößen */
.brand-logo{display:block;width:clamp(155px,27vw,300px);height:auto;max-height:100px;object-fit:contain;background:#fff;border-radius:8px;padding:3px}
.brand-label{display:flex;flex-direction:column;gap:2px}
header{gap:12px;flex-wrap:wrap}
@media(max-width:760px){header{padding:10px 12px}.brand{gap:8px}.brand-logo{width:clamp(160px,48vw,240px)}.brand-label strong{font-size:13px}.brand-label small{font-size:10px}}
