*{box-sizing:border-box}body{margin:0;font:15px/1.45 system-ui,Segoe UI,Roboto,sans-serif;background:#f3f4f6;color:#111827}
nav.top{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:10px 18px;background:#111827;color:#fff}nav.top a{color:#d1d5db;text-decoration:none}nav.top a:hover{color:#fff}nav.top .r{margin-left:auto}
main{max-width:1250px;margin:0 auto;padding:18px}main.narrow{max-width:520px}h1{font-size:1.5rem}h3{margin:.2em 0 .6em}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;margin-bottom:16px}
label{display:block;font-size:.85rem;color:#374151;margin-bottom:8px}input,select,textarea{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:6px;font:inherit;margin-top:3px;background:#fff}
label.chk{display:flex;gap:8px;align-items:center}label.chk input{width:auto;margin:0}
button,.btn{background:#2563eb;color:#fff;border:0;border-radius:6px;padding:9px 16px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}.sec{background:#6b7280}.danger{background:#dc2626}button.link{background:none;color:#dc2626;padding:0;text-decoration:underline}
.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 16px}.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.filters label{width:140px;margin:0}
.flash{background:#eff6ff;border:1px solid #93c5fd;padding:10px 14px;border-radius:8px;margin-bottom:14px}.flash.err{background:#fef2f2;border-color:#fca5a5}.flash.ok{background:#f0fdf4;border-color:#86efac}
table{width:100%;border-collapse:collapse}th,td{padding:6px 8px;border-bottom:1px solid #f1f5f9;text-align:left;font-size:.9rem}tr.click{cursor:pointer}tr.click:hover{background:#f9fafb}
.scroll{overflow-x:auto}.thumb{width:56px;height:36px;object-fit:cover;border-radius:4px}.pos{color:#16a34a}.neg{color:#dc2626}.warn{color:#d97706}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:16px}.tile{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px}.tile small{color:#6b7280;display:block}.tile b{font-size:1.45rem;display:block}.tile span{font-size:.8rem;color:#6b7280}
.two{display:grid;grid-template-columns:2fr 1fr;gap:16px}@media(max-width:900px){.two{grid-template-columns:1fr}}canvas{width:100%}
.kv td:first-child{color:#6b7280}
.gallery{display:flex;flex-wrap:wrap;gap:12px}.gallery figure{margin:0;width:220px}.gallery img{width:100%;border-radius:6px;border:1px solid #e5e7eb}figcaption{font-size:.8rem}
.shotrow{border-top:1px dashed #e5e7eb;padding-top:8px;margin-top:8px}
.ptc{border-radius:10px;padding:14px 16px;margin-bottom:16px;border:2px solid}.ptc-head{display:flex;justify-content:space-between;align-items:center}.ptc h2{margin:0;font-size:1.1rem}
.badge{font-weight:700;padding:4px 12px;border-radius:999px;color:#fff}.ptc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:10px}.ptc-grid small{display:block;color:#4b5563}.ptc-text{font-weight:500}
.ptc.gruen{background:#f0fdf4;border-color:#16a34a}.ptc.gruen .badge{background:#16a34a}.ptc.gelb{background:#fefce8;border-color:#ca8a04}.ptc.gelb .badge{background:#ca8a04}
.ptc.orange{background:#fff7ed;border-color:#ea580c}.ptc.orange .badge{background:#ea580c}.ptc.rot{background:#fef2f2;border-color:#dc2626}.ptc.rot .badge{background:#dc2626}
