:root{font-family:Segoe UI,Arial,sans-serif;color:#1a3028;background:#f5f4ed;font-size:16px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:0;border-radius:9px;background:#164c39;color:white;font-weight:600;padding:.85rem 1.15rem;cursor:pointer;min-height:46px}button:hover{background:#24654d}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b78b3b;outline-offset:3px}.secondary{background:white;color:#164c39;border:1px solid #bfcfc4}h1,h2,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3rem);font-weight:500;margin-bottom:1rem}h2{font-size:1.3rem}p{line-height:1.6;color:#506057}small{font-size:.8rem;line-height:1.5;color:#617067}.demo-banner{text-align:center;background:#e8d9ad;color:#463916;padding:.5rem;font-size:.8rem;letter-spacing:.04em}.masthead{background:#143f30;color:white;padding:1.6rem max(1rem,calc((100vw - 1020px)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.85rem}.brand small{color:#d9c79d;font-size:.65rem;letter-spacing:.12em}.brand strong{display:block;margin-top:.3rem;font-family:Georgia,serif;font-size:1.3rem;font-weight:400}.crest{display:block;width:64px;height:64px;object-fit:contain;flex-shrink:0}.connection{font-size:.75rem;white-space:nowrap;color:#d7e8d8}.disconnected{color:#f8d992}.shell{max-width:1060px;margin:auto;padding:1.5rem 1.2rem}.demo-controls{background:#eeeee5;padding:1rem;border:1px dashed #b9bda9;border-radius:12px}.demo-controls label{font-size:.85rem;font-weight:600}.row{display:flex;gap:.7rem;margin:.5rem 0}.row select{flex:1;min-width:0}select,input{padding:.8rem;border:1px solid #bdc8be;border-radius:8px;background:white;color:#203d30;min-height:46px}.tabs{display:flex;gap:.4rem;margin:1.6rem 0 2rem;overflow:auto;padding-bottom:.4rem;border-bottom:1px solid #d9dfd5}.tabs button{background:transparent;color:#58685b;white-space:nowrap;padding:.8rem 1rem}.tabs .active{background:#164c39;color:white}.eyebrow{font-size:.7rem;letter-spacing:.12em;color:#8b6b31;font-weight:700;display:block;margin-bottom:.7rem}.welcome{padding:2.5rem 0 2rem;max-width:680px}.welcome p{font-size:1.05rem}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.3rem;margin:1.3rem 0}.member-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px #163c2910;border:1px solid #d8ddcf}.card-top{background:#164732;color:#e7d19e;display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.1em;padding:1.2rem}.card-body{padding:1.5rem}.card-body h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:400;margin-bottom:.5rem}.code-box{border:1px solid #dde3d8;padding:1rem;text-align:center;border-radius:9px;margin:1.2rem 0}.code-box code{display:block;font-size:1rem;margin:.5rem;overflow-wrap:anywhere}.code-box small{display:block}.badge{display:inline-block;border-radius:5px;background:#eef2e7;color:#345841;padding:.35rem .55rem;font-size:.75rem}.entitlement{border-top:1px solid #e2e6dc;margin-top:1.1rem;padding-top:1rem}.entitlement span,.entitlement strong{display:block;line-height:1.8}.entitlement span{font-size:.8rem;color:#68776c}.entitlement strong{font-size:.9rem}.panel{padding:1.5rem;background:white;border:1px solid #dce2d7;border-radius:12px;margin:1rem 0}.panel p:last-child{margin-bottom:0}.form{max-width:640px;display:flex;flex-direction:column;gap:.8rem}.form label{font-weight:600;font-size:.9rem}.inspection{background:#f1f4eb;padding:1rem;border-radius:8px}.inspection h2{margin-bottom:.5rem}.notice{background:#fff6db;border:1px solid #e5d395;color:#5b471d;border-radius:9px;padding:1rem;margin:1rem 0;line-height:1.5}.task{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #e3e8df;padding:1rem 0}.task small{display:block}details{margin:1.5rem 0;line-height:1.8}footer{text-align:center;color:#748075;font-size:.75rem;border-top:1px solid #dce1d6;padding:2rem 0;margin-top:3rem}#blazor-error-ui{display:none;position:fixed;bottom:0;left:0;right:0;background:#ffdfb0;padding:1rem;z-index:1000}.loading-progress{display:block;margin:20vh auto 1rem;width:70px;height:70px;animation:spin 2s linear infinite}.loading-progress circle{fill:none;stroke:#164c39;stroke-width:5;stroke-dasharray:120 200}.loading-progress-text{text-align:center}.loading-progress-text:after{content:"Schützenapp wird geladen …"}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px){.masthead{align-items:flex-start;flex-direction:column;padding:1.2rem}.brand strong{font-size:1.2rem}.row{flex-direction:column}.shell{padding:1rem}.section-heading{align-items:flex-start}.section-heading button{font-size:.8rem}.card-body{padding:1.2rem}.tabs{margin-top:1rem}.tabs button{padding:.7rem}.welcome{padding-top:1.5rem}}@media print{.demo-controls,.tabs,.masthead,.section-heading button,.print-button,footer{display:none}.cards{display:block}.member-card{break-inside:avoid;margin:1rem 0;max-width:400px;box-shadow:none}.demo-banner{background:white}.card-top{color:#164732;background:white;border-bottom:1px solid #164732}body{background:white}}
.qr{display:block;width:170px;height:170px;margin:0 auto 1rem;image-rendering:pixelated}
.qr-scanner{display:flex;flex-direction:column;gap:.7rem;padding:.9rem 0;border-block:1px solid #e1e6dc}
.camera-preview[hidden]{display:none}.camera-preview video{display:block;width:100%;max-height:50vh;aspect-ratio:4/3;object-fit:contain;border-radius:10px;background:#102a20}
.camera-preview p,.scanner-status{font-size:.9rem;line-height:1.5;margin:.7rem 0}
.camera-preview button{width:100%}
.pwa-update-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#f5f4edf5;color:#143f30;font:600 1.1rem Segoe UI,Arial,sans-serif;padding:2rem;text-align:center}
.management-link{color:#ead7a9}.management input:not([type=checkbox]),.management select{display:block;width:100%;margin:.4rem 0 1rem}.management .check{display:flex;align-items:center;gap:.6rem;margin:.7rem 0}.management input[type=checkbox]{min-height:auto;width:20px;height:20px;flex-shrink:0}.management fieldset{border:1px solid #bdc8be;border-radius:8px;margin:1rem 0}.table-scroll{overflow:auto;margin:1rem 0}table{width:100%;border-collapse:collapse;background:white;font-size:.9rem}th,td{text-align:left;padding:.8rem;border-bottom:1px solid #dde3d8;vertical-align:top}th{background:#e9eee4}td button{font-size:.8rem;padding:.5rem .7rem}.management-card{text-align:center;background:white;padding:1rem}.management-card code{display:block;overflow-wrap:anywhere}.management small{display:block}.management form label:not(.check){display:block;margin-top:.5rem}

.registration-dialog{width:min(34rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;border:1px solid #bdc8be;border-radius:14px;padding:1.5rem;background:#f5f4ed;color:#1a3028}.registration-dialog::backdrop{background:#102a20a8}.registration-dialog form{display:grid;gap:.7rem}.registration-dialog input,.registration-dialog select{width:100%;min-width:0}.registration-dialog label{font-weight:600}.registration-dialog p{font-size:.95rem}

.masthead-actions{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;flex-wrap:wrap}.masthead-actions button{font-size:.85rem;padding:.65rem .9rem}@media(max-width:650px){.masthead-actions{justify-content:center;width:100%}}
