#app-container{width:100%;min-height:100vh;overflow:auto}.scanner-container[data-v-4157d6ec]{position:relative;width:100vw;height:100vh;overflow:hidden;background:#000}.scanner-video[data-v-4157d6ec]{width:100%;height:100%;object-fit:cover}.hidden-canvas[data-v-4157d6ec]{display:none}.detection-overlay[data-v-4157d6ec]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}.detection-polygon[data-v-4157d6ec]{stroke:#0f0;stroke-width:4;fill:#0f03;filter:drop-shadow(0 0 10px #00ff00);animation:pulse-green-polygon-4157d6ec 1.5s ease-in-out}@keyframes pulse-green-polygon-4157d6ec{0%{stroke-width:2;filter:drop-shadow(0 0 5px rgba(0,255,0,.5))}50%{stroke-width:6;filter:drop-shadow(0 0 15px rgba(0,255,0,.9))}to{stroke-width:2;filter:drop-shadow(0 0 5px rgba(0,255,0,.5))}}.error-message[data-v-4157d6ec],.camera-name-overlay[data-v-4157d6ec],.debug-overlay[data-v-4157d6ec],.debug-toggle[data-v-4157d6ec]{position:absolute;z-index:20}.camera-name-overlay[data-v-4157d6ec]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;background-color:#000000bf;padding:1rem 2rem;border-radius:8px;z-index:100;font-size:1.5rem;font-weight:600;text-align:center;pointer-events:none;animation:fadeInOut-4157d6ec 1.2s ease-in-out}@keyframes fadeInOut-4157d6ec{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.home-view[data-v-12f5186e]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000;overflow:hidden;touch-action:none;-webkit-overflow-scrolling:touch}.scanner-viewport[data-v-12f5186e]{position:absolute;top:0;left:0;width:100%;height:100%}.overlay-element[data-v-12f5186e]{position:absolute;left:1rem;right:1rem;z-index:10;pointer-events:none}.overlay-element[data-v-12f5186e]>*{pointer-events:auto}.action-bar[data-v-12f5186e]{position:fixed;left:0;right:0;bottom:0;z-index:1001;display:flex;justify-content:center;gap:1.5rem;background:#0003;padding:1rem 1rem calc(env(safe-area-inset-bottom,1rem) + 1rem) 1rem;pointer-events:none}.action-bar button[data-v-12f5186e],.action-bar[data-v-12f5186e]>*{pointer-events:auto}.app-header[data-v-12f5186e]{position:absolute;top:1rem;left:1rem;right:1rem;display:flex;justify-content:flex-end;align-items:center}.geo-status[data-v-12f5186e]{font-size:1.5rem;cursor:pointer;filter:grayscale(100%);opacity:.5;transition:all .3s;padding:.25rem;border-radius:50%;min-width:2rem;min-height:2rem;display:flex;align-items:center;justify-content:center}.geo-status.granted[data-v-12f5186e]{filter:grayscale(0%);opacity:1;color:#28a745;background-color:#28a7451a;box-shadow:0 0 10px #28a7454d}.geo-status.loading[data-v-12f5186e]{filter:grayscale(0%);opacity:1;color:#ffc107;background-color:#ffc1071a;animation:pulse-12f5186e 1.5s ease-in-out infinite}.geo-status.denied[data-v-12f5186e]{filter:grayscale(100%);opacity:1;color:#dc3545;background-color:#dc35451a}.geo-status.unavailable[data-v-12f5186e]{filter:grayscale(100%);opacity:.3;color:#6c757d;cursor:not-allowed}@keyframes pulse-12f5186e{0%,to{transform:scale(1);opacity:1;box-shadow:0 0 10px #ffc1074d}50%{transform:scale(1.1);opacity:.7;box-shadow:0 0 20px #ffc10780}}.scan-prompt[data-v-12f5186e]{margin-top:1rem;font-size:.9rem;color:#666;position:absolute;bottom:-2.5rem}.action-bar button[data-v-12f5186e]{background:#fff;border:1px solid #ddd;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 5px #0000001a;transition:transform .2s;min-width:60px;min-height:60px}.action-bar button[data-v-12f5186e]:active{transform:scale(.95)}.action-bar button[data-v-12f5186e]:disabled{opacity:.3;cursor:not-allowed;transform:none}.action-bar .icon[data-v-12f5186e]{font-size:2rem}.modal-overlay[data-v-12f5186e]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content[data-v-12f5186e]{background-color:#fff;padding:1.5rem;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 15px #0000001a;display:flex;flex-direction:column}.modal-content h3[data-v-12f5186e]{margin-top:0;margin-bottom:1rem}.modal-content p[data-v-12f5186e]{margin:.5rem 0 .2rem}.scanned-code[data-v-12f5186e]{display:block;background-color:#f0f0f0;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-family:Courier New,monospace;word-wrap:break-word;cursor:pointer;transition:background-color .3s,color .3s}.scanned-code[data-v-12f5186e]:hover{background-color:#e0e0e0}.scanned-code.copy-success[data-v-12f5186e]{background-color:#28a745;color:#fff;font-weight:700}.modal-content textarea[data-v-12f5186e]{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;resize:vertical;font-family:inherit;font-size:1.3rem}.modal-actions[data-v-12f5186e]{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}@media (min-width: 601px){.modal-content[data-v-12f5186e]{flex-direction:column}.modal-content h3[data-v-12f5186e]{order:1}.modal-content p[data-v-12f5186e]{order:2}.modal-content .scanned-code[data-v-12f5186e]{order:3}.modal-content textarea[data-v-12f5186e]{order:4}.modal-content .modal-actions[data-v-12f5186e]{order:5;margin-top:1rem;margin-bottom:0}}@media (max-width: 600px){.modal-overlay[data-v-12f5186e]{padding:0}.modal-content[data-v-12f5186e]{width:100%;height:100%;border-radius:0;box-shadow:none;justify-content:flex-start}.modal-content h3[data-v-12f5186e]{order:1}.modal-content .modal-actions[data-v-12f5186e]{order:2;margin-bottom:1.5rem;margin-top:.5rem;justify-content:space-between;width:100%}.modal-content p[data-v-12f5186e]{order:3}.modal-content .scanned-code[data-v-12f5186e]{order:4}.modal-content textarea[data-v-12f5186e]{order:5;flex-grow:1;border:none;padding:.5rem 0}.modal-actions[data-v-12f5186e]{flex-direction:row}.modal-actions button[data-v-12f5186e]{flex-grow:1;padding:.8rem;font-size:1rem;font-weight:600}.modal-actions .primary[data-v-12f5186e]{background-color:#007bff;color:#fff;border-color:#007bff}}@media (max-width: 600px){.geo-status[data-v-12f5186e]{font-size:1.8rem;min-width:2.5rem;min-height:2.5rem;margin-left:.5rem}.app-header h2[data-v-12f5186e]{font-size:1.1rem}.app-header[data-v-12f5186e]{padding:.5rem}.action-bar[data-v-12f5186e]{bottom:0;gap:1rem;padding-bottom:calc(env(safe-area-inset-bottom,1rem) + 1rem);background:#0000004d;pointer-events:none}.action-bar button[data-v-12f5186e],.action-bar[data-v-12f5186e]>*{pointer-events:auto}.action-bar button[data-v-12f5186e]{width:70px;height:70px;min-width:70px;min-height:70px;touch-action:manipulation}.action-bar .icon[data-v-12f5186e]{font-size:2.2rem}.home-view[data-v-12f5186e]{overflow:hidden;position:fixed;width:100%;height:100%;touch-action:none}.home-view html[data-v-12f5186e]{overflow:hidden;height:100%}}.status-message[data-v-12f5186e]{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:.75rem 1.5rem;border-radius:20px;color:#fff;font-weight:500;box-shadow:0 4px 10px #00000026;z-index:1100;max-width:90%;text-align:center}.status-message.success[data-v-12f5186e]{background-color:#28a745}.status-message.error[data-v-12f5186e]{background-color:#dc3545}.status-message.saving[data-v-12f5186e]{background-color:#007bff}.camera-name-overlay[data-v-12f5186e]{position:absolute;top:20px;left:50%;transform:translate(-50%);color:#fff;background-color:#000000b3;padding:8px 16px;border-radius:20px;z-index:100;font-size:.9em;text-align:center;font-weight:500}.placeholder[data-v-12f5186e]{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#fff;text-align:center}.header-container[data-v-2ea240ed]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.login-container[data-v-2ea240ed]{max-width:400px;margin:5rem auto;text-align:center}.error-text[data-v-2ea240ed]{color:red}.config-warning[data-v-2ea240ed]{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem;text-align:center}.filters-container[data-v-2ea240ed]{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:1rem;align-items:end;margin-bottom:1.5rem;padding:1rem;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.filter-group[data-v-2ea240ed]{display:flex;flex-direction:column;gap:.25rem}.filter-group label[data-v-2ea240ed]{font-size:.875rem;font-weight:500;color:#495057;margin-bottom:.25rem}.datetime-range[data-v-2ea240ed]{position:relative}.datetime-inputs[data-v-2ea240ed]{display:flex;gap:1rem;align-items:end}.datetime-input[data-v-2ea240ed]{display:flex;flex-direction:column;gap:.25rem;flex:1}.sublabel[data-v-2ea240ed]{font-size:.75rem;color:#6c757d;font-weight:400}.filter-actions[data-v-2ea240ed]{display:flex;align-items:end;justify-content:center}.filter-btn[data-v-2ea240ed]{padding:.625rem 1.25rem;background-color:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s;white-space:nowrap}.filter-btn[data-v-2ea240ed]:hover{background-color:#0056b3}.actions-container[data-v-2ea240ed]{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}input[data-v-2ea240ed]{padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.875rem}input[data-v-2ea240ed]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}button[data-v-2ea240ed]{padding:.5rem 1rem;border-radius:4px;border:1px solid #ccc;cursor:pointer;font-size:.875rem;transition:all .2s}button[data-v-2ea240ed]:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}button.primary[data-v-2ea240ed]{background-color:#007bff;color:#fff;border-color:#007bff}button.primary[data-v-2ea240ed]:hover{background-color:#0056b3;border-color:#0056b3}button.danger[data-v-2ea240ed]{background-color:#dc3545;color:#fff;border-color:#dc3545}button.danger[data-v-2ea240ed]:hover{background-color:#c82333;border-color:#bd2130}.table-container[data-v-2ea240ed]{overflow-x:auto;border:1px solid #dee2e6;border-radius:8px}table[data-v-2ea240ed]{width:100%;border-collapse:collapse;background-color:#fff}th[data-v-2ea240ed],td[data-v-2ea240ed]{padding:.75rem;text-align:left;border-bottom:1px solid #dee2e6}th[data-v-2ea240ed]{background-color:#f8f9fa;font-weight:600;color:#495057}tr[data-v-2ea240ed]:hover{background-color:#f8f9fa}.location-cell[data-v-2ea240ed]{position:relative}.location-text[data-v-2ea240ed]{cursor:pointer;color:#007bff;text-decoration:underline;transition:color .2s}.location-text[data-v-2ea240ed]:hover{color:#0056b3}.location-tooltip[data-v-2ea240ed]{position:absolute;top:100%;left:0;background:#333;color:#fff;padding:.5rem;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:10;opacity:0;pointer-events:none;transform:translateY(-10px);transition:all .2s;cursor:pointer}.location-cell:hover .location-tooltip[data-v-2ea240ed]{opacity:1;pointer-events:auto;transform:translateY(0)}.location-tooltip small[data-v-2ea240ed]{display:block;margin-top:.25rem;color:#aaa}.delete-btn[data-v-2ea240ed]{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:background-color .2s}.delete-btn[data-v-2ea240ed]:hover{background-color:#fee;transform:none;box-shadow:none}code[data-v-2ea240ed]{background-color:#f8f9fa;padding:.25rem .5rem;border-radius:3px;font-family:Courier New,monospace;font-size:.875rem}.admin-actions[data-v-2ea240ed]{display:flex;justify-content:flex-end;margin-bottom:1rem}.settings-btn[data-v-2ea240ed]{background:#f5f5f5;border:1px solid #ccc;border-radius:8px;padding:.5rem 1.2rem;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .2s}.settings-btn[data-v-2ea240ed]:hover{background:#e0e0e0}.logout-btn[data-v-2ea240ed]{background:#f8d7da;border-color:#f5c6cb;color:#721c24;padding:.6rem 1rem}.logout-btn[data-v-2ea240ed]:hover{background:#f1b0b7}@media (max-width: 768px){.header-container[data-v-2ea240ed]{flex-direction:column;align-items:flex-start;gap:1rem}.admin-actions[data-v-2ea240ed]{width:100%;justify-content:space-between}h2[data-v-2ea240ed]{font-size:1.5rem}.filters-container[data-v-2ea240ed]{grid-template-columns:1fr;gap:1rem;padding:.75rem}.datetime-inputs[data-v-2ea240ed]{flex-direction:column;gap:.75rem;align-items:stretch}.actions-container[data-v-2ea240ed]{flex-direction:column;align-items:stretch}.actions-container button[data-v-2ea240ed]{width:100%;margin-bottom:.5rem}.table-container[data-v-2ea240ed]{border:none}table[data-v-2ea240ed]{border:0}table thead[data-v-2ea240ed]{border:none;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}table tr[data-v-2ea240ed]{border:1px solid #ddd;display:block;margin-bottom:1rem;border-radius:8px;box-shadow:0 2px 4px #0000000d}table td[data-v-2ea240ed]{border:none;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;text-align:right}table td[data-v-2ea240ed]:before{content:attr(data-label);float:left;font-weight:700;text-transform:uppercase;font-size:.75rem;color:#333;text-align:left;padding-right:1rem}table td[data-v-2ea240ed]:last-child{border-bottom:0}.location-cell[data-v-2ea240ed]{flex-direction:column;align-items:flex-end}.location-tooltip[data-v-2ea240ed]{position:relative;opacity:1;transform:none;pointer-events:auto;background-color:#f5f5f5;color:#333;width:100%;text-align:right;box-shadow:none;margin-top:.5rem}td.location-cell[data-v-2ea240ed]:before{align-self:flex-start}}.login-container[data-v-fe7ae280]{max-width:400px;margin:5rem auto;padding:2rem;border:1px solid #ddd;border-radius:8px;background-color:#f9f9f9;text-align:center}.form-group[data-v-fe7ae280]{display:flex;gap:.5rem;margin-top:1rem}input[data-v-fe7ae280]{flex-grow:1;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}button[data-v-fe7ae280]{padding:.5rem 1rem;border:1px solid #007bff;background-color:#007bff;color:#fff;border-radius:4px;cursor:pointer;font-size:1rem}button[data-v-fe7ae280]:hover{background-color:#0056b3}.error-text[data-v-fe7ae280]{color:red;margin-top:1rem}:root{--vt-c-white: #ffffff;--vt-c-black: #181818}*,*:before,*:after{box-sizing:border-box;margin:0;position:relative;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
