:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-container{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:#000;padding:0;margin:0;position:fixed;top:0;left:0;overflow:hidden}.login-card{width:100%;max-width:400px;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;box-sizing:border-box;text-align:center;position:relative}.logo{width:100px;height:100px;margin-bottom:2rem;filter:invert(1)}.login-card h1{font-size:2.5rem;margin-bottom:.5rem;color:#fff;font-weight:700}.subtitle{color:#888;margin-bottom:3rem;font-size:1rem}.login-button-container{width:100%;max-width:300px;margin:2rem 0}.login-button{background:#fff;color:#000;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:opacity .2s;width:100%}.login-button:hover{opacity:.8}.login-footer{color:#666;font-size:.75rem;margin-top:3rem;position:fixed;bottom:2rem;left:50%;transform:translate(-50%);text-align:center}.scanner-container{height:100vh;width:100vw;background:#000;color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;overflow:hidden}.scanner-header{position:absolute;top:0;left:0;right:0;height:60px;background:#111;border-bottom:1px solid #333;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;z-index:100}.header-logo{width:35px;height:35px;filter:invert(1)}.scanner-header h1{flex:1;margin:0;font-size:1.25rem;font-weight:700;text-align:center;letter-spacing:.5px}.scanner-main{position:absolute;inset:60px 0 100px;display:flex;align-items:center;justify-content:center;padding:10px;width:100%;box-sizing:border-box}.scanner-box{width:100%;height:100%;max-width:600px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.scanner-box video{width:100%;height:calc(100% - 60px);max-height:500px;object-fit:cover;border-radius:8px;border:2px solid #fff}.action-area{width:100%;height:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:0 auto;position:relative}.scan-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;position:relative;width:100%;height:100%;min-height:400px;text-align:center}.scan-prompt:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70vw;height:70vw;max-width:400px;max-height:400px;background-image:url(/logo_north_20250115_2D_black_bildmarke.svg);background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.15;filter:invert(1);z-index:0;pointer-events:none}.scan-prompt h2{font-size:clamp(2rem,8vw,3rem);margin:0;font-weight:900;letter-spacing:-1px;text-align:center;position:relative;z-index:1}.checkpoint-name{font-size:clamp(1rem,4vw,1.5rem);margin:.5rem 0;font-weight:600;color:#ccc;text-align:center;max-width:90%;align-self:center;position:relative;z-index:1}.scan-button{background:#fff;color:#000;border:none;padding:clamp(1rem,4vw,1.5rem) clamp(2rem,8vw,3rem);font-size:clamp(1.1rem,4vw,1.5rem);font-weight:900;border-radius:8px;cursor:pointer;transition:transform .1s;letter-spacing:1px;min-width:200px;align-self:center;position:relative;z-index:1}.scan-button:hover{transform:scale(1.02)}.scan-button:active{transform:scale(.98)}.status-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.status-selection h3{font-size:clamp(1.5rem,6vw,2rem);margin:0;font-weight:700;text-align:center}.status-buttons{display:flex;gap:1.5rem;justify-content:center;width:100%}.status-button{flex:1;min-width:120px;max-width:160px;padding:clamp(1rem,4vw,1.5rem) 1rem;font-size:clamp(1rem,3.5vw,1.25rem);font-weight:900;border:2px solid;border-radius:8px;cursor:pointer;transition:all .2s;background:transparent}.status-button.ok{border-color:#fff;color:#fff}.status-button.ok:hover{background:#fff;color:#000}.status-button.not-ok{border-color:#f33;color:#f33}.status-button.not-ok:hover{background:#f33;color:#fff}.note-input-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:500px;gap:1.5rem}.note-input-container h3{font-size:clamp(1.25rem,5vw,1.5rem);margin:0;font-weight:700;text-align:center}.note-input-container textarea{width:100%;padding:1rem;background:#111;border:1px solid #333;color:#fff;border-radius:8px;font-size:1rem;resize:none;box-sizing:border-box;min-height:120px;max-height:200px}.button-group{display:flex;gap:1rem;width:100%}.submit-button{flex:1;background:#fff;color:#000;border:none;padding:1rem;font-size:1rem;font-weight:700;border-radius:8px;cursor:pointer}.submit-button:disabled{opacity:.3;cursor:not-allowed}.cancel-button,.cancel-button-secondary{background:transparent;color:#fff;border:1px solid #666;padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer}.cancel-button{margin-top:1rem;width:100%;max-width:400px}.cancel-button-secondary{flex:1}.cancel-button:hover,.cancel-button-secondary:hover{border-color:#fff}.bottom-bar{position:absolute;bottom:0;left:0;right:0;height:100px;background:#111;border-top:1px solid #333;padding:.75rem;z-index:100;display:flex;flex-direction:column;justify-content:center}.checkpoint-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.25rem;margin:0 auto .5rem;max-width:600px;width:100%}.checkpoint-dot{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#222;border:1px solid #444;font-size:.6rem;font-weight:600;color:#666;border-radius:4px}.checkpoint-dot.completed{background:#fff;color:#000;border-color:#fff}.checkpoint-dot.current{border-color:#fff;color:#fff;background:#333;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-summary{text-align:center;font-size:clamp(1.25rem,5vw,1.5rem);font-weight:900;letter-spacing:2px;margin:0}.completed-count{color:#fff}.separator{color:#666;margin:0 .5rem}.total-count{color:#666}.cl-userButtonAvatarBox{width:35px;height:35px}.cl-userButtonPopoverCard{background:#111!important;border:1px solid #333!important}@media (max-width: 600px){.scanner-header h1{font-size:1.1rem}.scan-prompt h2{font-size:2rem}.scan-button{font-size:1.1rem;padding:1rem 2rem}.checkpoint-grid{grid-template-columns:repeat(10,1fr)}.checkpoint-dot{font-size:.5rem}}@media (min-width: 768px){.checkpoint-grid{grid-template-columns:repeat(15,1fr)}.checkpoint-dot{font-size:.7rem}}@media (orientation: landscape) and (max-height: 600px){.scanner-header{height:50px}.scanner-main{top:50px;bottom:80px}.bottom-bar{height:80px;padding:.5rem}.scan-prompt h2{font-size:1.75rem}.scan-button{padding:.75rem 2rem}}.app{min-height:100vh;width:100%;background:#000;color:#fff}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;padding:0;background:#000;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
