@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;700&display=swap');

#blazor-error-ui { background:#fff3cd; color:#303030; bottom:0; box-shadow:0 -1px 2px rgba(0,0,0,.2); display:none; left:0; padding:.6rem 1.25rem .7rem; position:fixed; width:100%; z-index:1000; }
#blazor-error-ui .dismiss { cursor:pointer; position:absolute; right:.75rem; top:.5rem; }

:root { font-size:var(--rz-root-font-size); --qr-blue:#006B91; --qr-blue-dark:#00526f; --qr-cyan:#009CDE; --qr-cyan-soft:#dff5fd; --qr-light:#EAEAEA; --qr-light-2:#f6f7f8; --qr-charcoal:#303030; --qr-muted:#676767; --qr-white:#ffffff; --qr-line:#d5d9dc; --qr-success:#2e7d32; --qr-warning:#9a6700; --qr-danger:#b42318; --rz-text-font-family:'Poppins',Arial,sans-serif; }
html,body { min-height:100%; }
body { font-family:'Poppins',Arial,sans-serif; color:var(--qr-charcoal); font-size:var(--rz-body-font-size); line-height:1.55; background:var(--qr-light-2); margin:0; }
.rz-body { --rz-body-padding:0; background:var(--qr-light-2); color:var(--qr-charcoal); }
h1,h2,h3,h4,h5,h6,.rz-text-h1,.rz-text-h2,.rz-text-h3,.rz-text-h4,.rz-text-h5,.rz-text-h6 { color:var(--qr-charcoal); font-family:'Poppins',Arial,sans-serif; font-weight:700; }
p,.rz-text-body1,.rz-text-body2,.rz-text-subtitle1,.rz-text-subtitle2 { color:var(--qr-charcoal); }
a { color:var(--qr-blue); font-weight:600; } a:hover,a:focus { color:var(--qr-blue-dark); }
.rz-header { background:var(--qr-blue)!important; color:var(--qr-white)!important; box-shadow:0 2px 10px rgba(0,0,0,.14); } .rz-header *, .rz-header .rz-text { color:var(--qr-white)!important; }
.rz-sidebar { background:var(--qr-charcoal)!important; color:var(--qr-white)!important; border-right:0!important; } .rz-panel-menu { background:transparent!important; }
.rz-panel-menu .rz-navigation-item-link { color:#f4f4f4!important; border-left:4px solid transparent; font-weight:400; } .rz-panel-menu .rz-navigation-item-icon { color:#e8f7fd!important; }
.rz-panel-menu .rz-navigation-item-link:hover,.rz-panel-menu .rz-navigation-item-link.rz-state-active { background:#202020!important; color:var(--qr-white)!important; border-left-color:var(--qr-cyan); }
.rz-panel-menu .rz-navigation-item-link.rz-state-active .rz-navigation-item-icon { color:var(--qr-cyan)!important; }
.rz-sidebar .rz-panel-menu .rz-navigation-menu { background:#252525!important; border:0!important; box-shadow:inset 4px 0 0 var(--qr-blue)!important; padding:.35rem 0!important; }
.rz-sidebar .rz-panel-menu .rz-navigation-menu .rz-navigation-item-link { background:#252525!important; color:#f7f7f7!important; border-left:4px solid transparent!important; padding-left:2.75rem!important; font-size:.92rem; }
.rz-sidebar .rz-panel-menu .rz-navigation-menu .rz-navigation-item-link .rz-navigation-item-icon,.rz-sidebar .rz-panel-menu .rz-navigation-menu .rz-navigation-item-link .rz-navigation-item-text { color:#f7f7f7!important; opacity:1!important; }
.rz-sidebar .rz-panel-menu .rz-navigation-menu .rz-navigation-item-link:hover,.rz-sidebar .rz-panel-menu .rz-navigation-menu .rz-navigation-item-link:focus { background:#1c566b!important; color:var(--qr-white)!important; border-left-color:var(--qr-cyan)!important; }
.rz-sidebar .rz-panel-menu .rz-navigation-menu .rz-navigation-item-link.rz-state-active { background:var(--qr-blue)!important; color:var(--qr-white)!important; border-left-color:var(--qr-cyan)!important; font-weight:700; }
.rz-sidebar .rz-panel-menu .rz-navigation-menu .rz-navigation-item-link:hover .rz-navigation-item-icon,.rz-sidebar .rz-panel-menu .rz-navigation-menu .rz-navigation-item-link:hover .rz-navigation-item-text,.rz-sidebar .rz-panel-menu .rz-navigation-menu .rz-navigation-item-link.rz-state-active .rz-navigation-item-icon,.rz-sidebar .rz-panel-menu .rz-navigation-menu .rz-navigation-item-link.rz-state-active .rz-navigation-item-text { color:var(--qr-white)!important; }
.qr-brand { display:flex; align-items:center; gap:.55rem; } .qr-brand-mark { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--qr-white); color:var(--qr-blue)!important; font-weight:700; letter-spacing:-.04em; }
.qr-brand-name { color:var(--qr-white)!important; font-weight:700; } .qr-brand-version { color:var(--qr-white)!important; opacity:.82; font-weight:300; font-size:.78rem; }
.qr-header-action { border:1px solid rgba(255,255,255,.72); background:transparent; color:var(--qr-white); padding:.45rem .8rem; border-radius:6px; font-family:inherit; cursor:pointer; } .qr-header-action:hover,.qr-header-action:focus { background:var(--qr-white); color:var(--qr-blue); }
.rz-card { background:var(--qr-white)!important; color:var(--qr-charcoal)!important; border:1px solid var(--qr-line); border-radius:10px!important; box-shadow:0 2px 8px rgba(48,48,48,.06)!important; } .rz-card .rz-text,.rz-card p,.rz-card label,.rz-card b,.rz-card strong { color:var(--qr-charcoal); }
.rz-button { font-family:'Poppins',Arial,sans-serif; font-weight:700; border-radius:6px!important; } .rz-button.rz-primary,.rz-button.rz-button-primary { background:var(--qr-blue)!important; color:var(--qr-white)!important; border-color:var(--qr-blue)!important; }
.rz-button.rz-primary:hover,.rz-button.rz-button-primary:hover,.rz-button.rz-primary:focus,.rz-button.rz-button-primary:focus { background:var(--qr-blue-dark)!important; border-color:var(--qr-blue-dark)!important; }
.rz-button.rz-light,.rz-button.rz-button-light { background:var(--qr-white)!important; color:var(--qr-blue)!important; border:1px solid var(--qr-blue)!important; } .rz-button.rz-light:hover,.rz-button.rz-button-light:hover { background:var(--qr-cyan-soft)!important; color:var(--qr-blue-dark)!important; } .rz-button:focus-visible { outline:3px solid rgba(0,156,222,.35)!important; outline-offset:2px; }
.rz-form-field,.rz-textbox,.rz-textarea,.rz-dropdown,.rz-numeric,.rz-password { color:var(--qr-charcoal)!important; } .rz-inputtext,.rz-textbox,.rz-textarea,.rz-dropdown,.rz-numeric,.rz-password { background:var(--qr-white)!important; border-color:#b9c2c7!important; }
.rz-inputtext:focus,.rz-textbox:focus,.rz-textarea:focus,.rz-dropdown:focus-within,.rz-numeric:focus-within,.rz-password:focus-within { border-color:var(--qr-cyan)!important; box-shadow:0 0 0 3px rgba(0,156,222,.15)!important; } .rz-form-field-label,.rz-label { color:#4b4b4b!important; } .rz-dropdown-label,.rz-inputtext::placeholder,.rz-textbox::placeholder,.rz-textarea::placeholder { color:#737373!important; opacity:1; }
.rz-data-grid { background:var(--qr-white)!important; color:var(--qr-charcoal)!important; } .rz-data-grid .rz-grid-table thead th { background:var(--qr-blue)!important; color:var(--qr-white)!important; border-color:#0d789e!important; } .rz-data-grid .rz-grid-table thead th * { color:var(--qr-white)!important; }
.rz-data-grid .rz-grid-table tbody td { color:var(--qr-charcoal)!important; background:var(--qr-white); border-color:#e1e4e6!important; } .rz-data-grid .rz-grid-table tbody tr:nth-child(even) td { background:#f8fafb; } .rz-data-grid .rz-grid-table tbody tr:hover td { background:var(--qr-cyan-soft)!important; } .rz-paginator { background:var(--qr-white)!important; color:var(--qr-charcoal)!important; }
.rz-alert { border-radius:8px!important; color:var(--qr-charcoal)!important; } .rz-alert .rz-alert-message,.rz-alert .rz-alert-title,.rz-alert .rz-icon { color:inherit!important; } .rz-alert-success { background:#e8f5e9!important; color:#1b5e20!important; border:1px solid #a5d6a7!important; } .rz-alert-info { background:#e5f5fb!important; color:#004c68!important; border:1px solid #9bd8ee!important; } .rz-alert-warning { background:#fff4d6!important; color:#6b4700!important; border:1px solid #e3c66f!important; } .rz-alert-danger { background:#fdecea!important; color:#8a1c13!important; border:1px solid #efb5af!important; }
.rz-progressbar { background:#dce2e5!important; border-radius:999px!important; overflow:hidden; } .rz-progressbar-value { background:linear-gradient(90deg,var(--qr-blue),var(--qr-cyan))!important; }
.qr-page-heading { border-left:6px solid var(--qr-cyan); padding-left:1rem; margin-bottom:.45rem; } .qr-page-heading .rz-text { margin-top:0; } .qr-kicker { color:var(--qr-blue); font-weight:700; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.qr-scan-card { border-top:5px solid var(--qr-cyan)!important; text-align:center; } .qr-scan-icon { width:64px; height:64px; margin:0 auto; border-radius:50%; background:var(--qr-blue); color:var(--qr-white); display:grid; place-items:center; font-size:2rem; } .qr-scan-icon .rz-icon { color:var(--qr-white)!important; }
.qr-camera-button { cursor:pointer; display:inline-flex; gap:.65rem; align-items:center; justify-content:center; align-self:center; background:var(--qr-blue); color:var(--qr-white); font-weight:700; padding:.9rem 1.25rem; border-radius:6px; box-shadow:0 3px 8px rgba(0,0,0,.12); } .qr-camera-button:hover,.qr-camera-button:focus { background:var(--qr-blue-dark); color:var(--qr-white); } .qr-hidden-file { display:none; }
.qr-result-card { border-top:5px solid var(--qr-blue)!important; } .qr-confidence { float:right; display:inline-block; background:var(--qr-blue); color:var(--qr-white); font-weight:700; font-size:1.25rem; padding:.45rem .8rem; border-radius:6px; text-align:center; } .qr-candidate-card { height:100%; border-top:4px solid var(--qr-cyan)!important; }
.qr-quality-stat { display:flex; flex-direction:column; min-height:74px; padding:.7rem .8rem; border:1px solid var(--qr-line); border-radius:8px; background:var(--qr-light-2); } .qr-quality-stat b { font-size:1.35rem; color:var(--qr-blue)!important; } .qr-quality-stat span { color:var(--qr-muted); font-size:.78rem; }
.qr-quality-badge { display:inline-block; white-space:nowrap; border-radius:999px; padding:.28rem .55rem; font-size:.72rem; font-weight:700; border:1px solid transparent; }
.qr-quality-verified { background:#e8f5e9; color:#1b5e20; border-color:#a5d6a7; } .qr-quality-multi { background:#e5f5fb; color:#004c68; border-color:#9bd8ee; } .qr-quality-researched { background:#eef3f6; color:#304b58; border-color:#c6d4da; } .qr-quality-legacy { background:#fff4d6; color:#6b4700; border-color:#e3c66f; } .qr-quality-unverified { background:#fdecea; color:#8a1c13; border-color:#efb5af; }
.blazor-error-boundary { background:var(--qr-danger); padding:1rem; color:var(--qr-white); } .blazor-error-boundary::after { content:'Ein Fehler ist aufgetreten.'; } .loading-progress { position:relative; display:block; width:8rem; height:8rem; margin:20vh auto 1rem; } .loading-progress circle { fill:none; stroke:#dfe4e7; stroke-width:.6rem; transform-origin:50% 50%; transform:rotate(-90deg); } .loading-progress circle:last-child { stroke:var(--qr-cyan); stroke-dasharray:calc(3.141 * var(--blazor-load-percentage,0%) * .8),500%; transition:stroke-dasharray .05s ease-in-out; } .loading-progress-text { position:absolute; text-align:center; font-weight:700; color:var(--qr-charcoal); inset:calc(20vh + 3.25rem) 0 auto .2rem; } .loading-progress-text:after { content:var(--blazor-load-percentage-text,'Loading'); }
@media (max-width:768px) { .rz-body { padding:1rem!important; } .qr-search-row { flex-direction:column!important; align-items:stretch!important; } .qr-camera-button { width:100%; } .qr-confidence { font-size:1rem; } .qr-brand-version { display:none; } }
