:root{--bg:#f4f5f7;--card:#fff;--text:#20242a;--muted:#69717c;--line:#dde1e6;--dark:#111417;--accent:#1e5eff;--green:#17844b;--amber:#a96800;--red:#b42318;--radius:14px;--shadow:0 4px 20px rgba(0,0,0,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(20px,calc((100% - 1200px)/2));gap:25px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--text);font-weight:800}.brand img{width:108px;height:45px;object-fit:contain}.topbar nav{margin-left:auto;display:flex;gap:7px}.topbar nav a{padding:9px 11px;border-radius:8px;text-decoration:none;color:#3d444d}.topbar nav a:hover{background:#f0f2f5}.navtoggle{display:none;margin-left:auto;border:0;background:#eee;border-radius:8px;padding:8px 11px;font-size:18px}.container{max-width:1200px;margin:0 auto;padding:28px 20px 60px}footer{text-align:center;padding:25px;color:var(--muted)}h1{font-size:28px;margin:0 0 4px}h2{font-size:19px;margin:0 0 18px}h3{margin-top:28px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.stickyhead{position:sticky;top:86px;background:rgba(244,245,247,.95);padding:8px 0;z-index:10}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.inline{display:inline-flex;gap:8px;align-items:center;margin:0}.btn{appearance:none;border:1px solid #ccd2d9;background:#fff;color:#20242a;border-radius:9px;padding:9px 14px;font-weight:700;text-decoration:none;cursor:pointer}.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--dark);border-color:var(--dark);color:#fff}.btn.success{background:var(--green);border-color:var(--green);color:#fff}.btn.small{padding:6px 10px;font-size:13px}.btn.wide,.wide{width:100%}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:18px}.card.accent{border-left:4px solid var(--accent)}.card.complete{border-left:4px solid var(--green)}.narrow{max-width:620px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.stats a{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-decoration:none;color:inherit;box-shadow:var(--shadow)}.stats strong{display:block;font-size:30px}.stats span{color:var(--muted)}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}.badge.blue{background:#e9f0ff;color:#194fc2}.badge.amber{background:#fff0d7;color:#8a5600}.badge.green{background:#def5e8;color:#126d3d}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.empty{text-align:center;color:var(--muted);padding:30px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formgrid .span2{grid-column:1/-1}.formrow{display:flex;gap:12px;align-items:end;flex-wrap:wrap}label{display:block;font-weight:700;font-size:13px;color:#3c434b}input,select,textarea{width:100%;margin-top:6px;border:1px solid #cfd5dc;background:#fff;border-radius:9px;padding:10px 11px;font:inherit;color:var(--text)}textarea{min-height:90px;resize:vertical}.search{display:flex;gap:10px;margin-bottom:18px}.search input{margin:0;max-width:460px}.search select{margin:0;width:190px}.detailgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.detailgrid div{display:flex;flex-direction:column;gap:3px}.detailgrid span{font-size:12px;color:var(--muted);text-transform:uppercase}.split{display:flex;justify-content:space-between;align-items:center;gap:15px}.miniitems{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.miniitem{border:1px solid var(--line);border-left:4px solid #c3c9d0;border-radius:9px;padding:10px;display:flex;flex-direction:column}.miniitem.done{border-left-color:var(--green)}.miniitem span,.miniitem small{color:var(--muted);font-size:12px}.timeline{display:flex;flex-direction:column}.timeline>div{display:grid;grid-template-columns:140px 220px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.timeline time,.timeline span{color:var(--muted);font-size:13px}.inspection-list{display:grid;gap:12px}.inspect-card{background:#fff;border:1px solid var(--line);border-left:5px solid #b8bec6;border-radius:12px;padding:16px;box-shadow:var(--shadow)}.inspect-card.checked{border-left-color:var(--green)}.inspect-title{display:flex;align-items:center;gap:12px}.inspect-title h2{margin:0;flex:1}.checkbig input{display:none}.checkbig span{width:32px;height:32px;border:2px solid #aeb5bd;border-radius:8px;display:grid;place-items:center;color:transparent;font-size:20px}.checkbig input:checked+span{background:var(--green);border-color:var(--green);color:#fff}.photo-link{text-decoration:none;font-weight:700}.checks{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.checks label{background:#f5f6f7;border:1px solid #dfe3e7;border-radius:8px;padding:8px 10px;font-weight:600}.checks input[type=checkbox]{width:auto;margin:0 5px 0 0}.checks .dentcount{display:flex;align-items:center;gap:6px}.checks .dentcount input{width:58px;margin:0;padding:5px}.thumbrow{display:flex;gap:8px;margin-top:10px}.thumbrow img{width:72px;height:55px;object-fit:cover;border-radius:7px}.filedrop{border:2px dashed #cbd1d8;border-radius:12px;padding:18px;background:#fafbfc}.filedrop input{border:0;padding:0}.filedrop span{display:block;color:var(--muted);font-weight:500;margin-top:8px}.previews{display:flex;gap:8px;overflow:auto}.previews div{min-width:105px}.previews img{width:105px;height:80px;object-fit:cover;border-radius:8px}.previews span{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.photo-grid figure{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.photo-grid figcaption{padding:10px;display:flex;flex-direction:column}.photo-grid figcaption span{font-size:12px;color:var(--muted)}.link{border:0;background:none;padding:5px 0;text-align:left;cursor:pointer}.danger{color:var(--red)}.twocol{display:grid;grid-template-columns:380px 1fr;gap:18px}.userlist{display:flex;flex-direction:column}.userlist a{padding:12px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;display:flex;flex-direction:column}.userlist span{font-size:12px;color:var(--muted)}.toggle{display:flex;align-items:center;gap:8px;margin:12px 0}.toggle input{width:auto;margin:0}.flash{border-radius:9px;padding:11px 13px;margin-bottom:15px}.flash.success{background:#e4f6ec;color:#126d3d}.flash.error{background:#fee8e7;color:#9f1d15}.setup{min-height:100vh;display:grid;place-items:center;padding:20px}.setupcard{width:min(760px,100%)}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:var(--shadow)}.setup-logo{display:block;width:180px;height:80px;object-fit:contain;margin:0 auto 18px}.login-card h1{text-align:center;margin-bottom:25px}.login-card label{margin-bottom:15px}code{background:#eef0f3;padding:2px 5px;border-radius:5px}@media(max-width:800px){.container{padding:18px 12px 45px}.topbar{height:64px;padding:0 12px}.brand img{width:90px}.brand span{display:none}.navtoggle{display:block}.topbar nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px;flex-direction:column}.topbar nav.open{display:flex}.pagehead{align-items:flex-start}.stats{grid-template-columns:1fr 1fr 1fr;gap:8px}.stats a{padding:14px}.stats strong{font-size:24px}.formgrid,.detailgrid,.miniitems,.twocol{grid-template-columns:1fr}.formgrid .span2{grid-column:auto}.search{flex-wrap:wrap}.search input,.search select{max-width:none;width:100%}.timeline>div{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr 1fr}.stickyhead{top:72px}.checks{display:grid;grid-template-columns:1fr 1fr}.card{padding:15px}.inspection-list{margin:0 -4px}.inspect-card{padding:13px}}@media(max-width:480px){.stats{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.actions{width:100%}.pagehead{flex-direction:column}.pagehead .btn{flex:1;text-align:center}.formrow>*{width:100%}}


.thumb{position:relative;margin:0}.thumbrow{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.thumb img{width:92px;height:70px;object-fit:cover;border-radius:7px;display:block}.photo-badge{position:absolute;left:4px;top:4px;background:rgba(17,20,23,.85);color:#fff;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800}.photo-grid figcaption strong{display:block;margin-bottom:4px}
@media(max-width:800px){.thumb img{width:78px;height:60px}}


/* V1.2 Arbeitslisten */
.work-option{background:#eef4ff!important;border-color:#bfd0ff!important}.worklist-hint{border-left:4px solid var(--accent);font-size:13px;padding:14px 18px}.work-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.work-tab{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 17px;text-decoration:none;color:inherit;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;gap:12px}.work-tab span{font-size:12px;color:var(--muted);white-space:nowrap}.work-tab.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(30,94,255,.08)}.worktable td{vertical-align:middle}.worktable td small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.worktable tr.work-done td{opacity:.58}.task-check-form{margin:0}.taskcheck input{display:none}.taskcheck span{width:34px;height:34px;border:2px solid #aeb5bd;border-radius:8px;display:grid;place-items:center;color:transparent;font-size:21px;cursor:pointer}.taskcheck input:checked+span{background:var(--green);border-color:var(--green);color:#fff}
@media(max-width:800px){.work-tabs{grid-template-columns:1fr}.work-tab{padding:13px}.worktable th:nth-child(7),.worktable td:nth-child(7){display:none}}

.protocol-photos{border-left:4px solid var(--accent)}.protocol-photo-grid figure{background:#fff}.protocol-photo-grid a{display:block;background:#f1f3f5}.protocol-photo-grid img{cursor:zoom-in}.protocol-photo-grid figcaption small{margin-top:5px;color:var(--muted);font-size:11px}
