*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg-primary);color:var(--text-primary)}.top-nav{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:0}.nav-content{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-left{display:flex;align-items:center;gap:2rem}.nav-links{display:flex;gap:1.5rem}.nav-link{color:var(--text-secondary);text-decoration:none;font-size:.95rem;transition:color .2s}.nav-link:hover{color:var(--text-primary)}.nav-link.router-link-active{color:#8cf;font-weight:600}.nav-brand{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:#8cf;text-decoration:none;transition:color .2s}.nav-brand:hover{color:#b3d9ff}.nav-brand-logo{width:28px;height:28px;border-radius:8px}.nav-right{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.role-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.role-admin{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.role-manager{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.role-validator{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#1a1a1a}.role-viewer{background:#444;color:#aaa}.btn-profile{background:var(--bg-tertiary);color:var(--text-primary);text-decoration:none;border:none;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s;margin-right:8px}.btn-profile:hover{background:var(--border-color)}.btn-logout{background:var(--bg-tertiary);color:var(--text-primary);border:none;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.btn-logout:hover{background:var(--border-color)}.hamburger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001}.hamburger span{width:24px;height:2px;background:var(--text-primary);transition:all .3s}.mobile-user-section{display:none}@media (max-width: 768px){.hamburger{display:flex}.nav-content{padding:1rem}.nav-right{display:none}.nav-links{position:fixed;top:0;left:-100%;width:80%;max-width:300px;height:100vh;background:var(--bg-secondary);flex-direction:column;padding:5rem 1.5rem 1.5rem;gap:.5rem;transition:left .3s ease;z-index:1000;box-shadow:2px 0 10px #00000080}.nav-links.mobile-open{left:0}.nav-link{padding:1rem;border-radius:6px;font-size:1rem}.nav-link:hover{background:#ffffff0d}.mobile-user-section{display:flex;flex-direction:column;gap:.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #333}.mobile-user-info{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:6px;margin-bottom:.5rem}.user-email{color:var(--text-secondary);font-size:.9rem;word-break:break-all}.logout-link{background:var(--bg-tertiary);color:var(--text-primary);border:none;text-align:left;width:100%}.logout-link:hover{background:var(--border-color)}}a{color:#8cf;text-decoration:none}a:hover{text-decoration:underline}table{border-collapse:collapse;width:100%}th,td{border:1px solid var(--border-color);padding:8px;text-align:left}th{background:var(--bg-secondary)}.pill{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.85rem;font-weight:500}.pill-live{background:#155b1a;color:#c6f6c6}.pill-stale{background:#7c5c0a;color:#fff4c2}.pill-off{background:#444;color:#ddd}.pill-down{background:#5a0b0b;color:#ffd4d4}.pill-flight-yes{background:#134074;color:#d0e4ff}.pill-flight-no{background:#444;color:#ddd}.pill-light-day{background:#1c5f2a;color:#e6ffe6}.pill-light-twilight{background:#44416b;color:#e0ddff}.pill-light-night{background:#111827;color:#bfdbfe}.pill-light-unknown{background:#444;color:#ddd}.downtime-short{background:#2d5a27;color:#e6ffe6}.downtime-medium{background:#8a5a14;color:#fff3d6}.downtime-long{background:#7a1414;color:#ffd6d6}.downtime-unknown{background:#444;color:#ddd}header[data-v-3d498eb6]{background:#000;padding:1rem 2rem;border-bottom:1px solid #333}h1[data-v-3d498eb6]{font-size:1.5rem}main[data-v-3d498eb6]{padding:1.5rem 2rem}h2[data-v-3d498eb6]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.2rem}.stats-link[data-v-3d498eb6]{display:inline-block}.stats-icon[data-v-3d498eb6]{display:inline-block;width:16px;height:14px;position:relative}.stats-bar[data-v-3d498eb6]{position:absolute;bottom:0;width:3px;background:#ddd;border-radius:1px}.stats-bar-1[data-v-3d498eb6]{left:1px;height:4px}.stats-bar-2[data-v-3d498eb6]{left:6px;height:8px}.stats-bar-3[data-v-3d498eb6]{left:11px;height:12px}.events-box[data-v-3d498eb6]{margin-top:2rem;background:#151515;border-top:1px solid #333;padding:1rem}.events-log[data-v-3d498eb6]{background:#000;border:1px solid #333;padding:.5rem;max-height:250px;overflow-y:auto;font-family:monospace;font-size:.8rem;white-space:pre-wrap;margin-bottom:1rem}table[data-v-3d498eb6]{margin-top:.5rem}th[data-v-3d498eb6],td[data-v-3d498eb6]{font-size:.9rem;padding:6px 8px}.pill-role-admin[data-v-3d498eb6]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.pill-role-manager[data-v-3d498eb6]{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.pill-role-validator[data-v-3d498eb6]{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#0f1a2b}.pill-role-viewer[data-v-3d498eb6]{background:#2a2a2a;color:#d9d9d9}.status-panel[data-v-1af993ca]{margin-bottom:2rem}h2[data-v-1af993ca]{font-size:1.2rem;margin-bottom:.5rem}pre[data-v-1af993ca]{background:#000;border:1px solid #333;padding:1rem;font-size:.85rem;overflow-x:auto}.frame-panel[data-v-7824c900]{margin-bottom:2rem}.frame-header[data-v-7824c900]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem;flex-wrap:wrap}h2[data-v-7824c900]{font-size:1.2rem;margin:0}.status-badges[data-v-7824c900]{display:flex;gap:.5rem;flex-wrap:wrap}.badge[data-v-7824c900]{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;white-space:nowrap}.badge-in-flight[data-v-7824c900]{background:#4caf50;color:#fff;animation:pulse-7824c900 2s infinite}.badge-idle[data-v-7824c900]{background:#555;color:#ccc}.badge-info[data-v-7824c900]{background:#2196f3;color:#fff}.badge-warning[data-v-7824c900]{background:#ff9800;color:#fff}.badge-stream-ok[data-v-7824c900]{background:#4caf50;color:#fff}.badge-stream-error[data-v-7824c900]{background:#f44336;color:#fff;animation:pulse-7824c900 2s infinite}@keyframes pulse-7824c900{0%,to{opacity:1}50%{opacity:.7}}.frame-panel img[data-v-7824c900]{max-width:100%;height:auto;border:1px solid #333}.no-frame[data-v-7824c900]{padding:2rem;text-align:center;color:#666;border:1px solid #333}.flights-panel[data-v-90eb8739]{margin-bottom:2rem}h2[data-v-90eb8739]{font-size:1.2rem;margin-bottom:.5rem}.flights-table-container[data-v-90eb8739]{overflow-x:auto}tr.in-progress[data-v-90eb8739]{background:#4caf501a;border-left:3px solid #4CAF50}tr.clickable-row[data-v-90eb8739]{cursor:pointer}tr.clickable-row[data-v-90eb8739]:hover{background:#ffffff0d}.no-data[data-v-90eb8739]{padding:2rem;text-align:center;color:#666;border:1px solid #333}.btn-sm[data-v-90eb8739]{padding:2px 8px;background:#134074;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:.85rem}.btn-sm[data-v-90eb8739]:hover{background:#1a5a9e}.player-badge[data-v-90eb8739]{display:inline-block;padding:4px 10px;border-radius:12px;font-weight:600;font-size:.9rem;text-shadow:0 1px 2px rgba(0,0,0,.1);min-width:24px;text-align:center}.player-change[data-v-90eb8739]{display:inline-flex;align-items:center;gap:.25rem}.player-arrow[data-v-90eb8739]{font-size:1rem;font-weight:700;opacity:.9}.player-original[data-v-90eb8739]{opacity:.7;font-size:.85em;font-weight:400}.validation-badge[data-v-90eb8739]{display:inline-flex;align-items:center;justify-content:center;color:#27ae60;font-size:1.2rem;font-weight:700}.validated-indicator[data-v-90eb8739]{display:inline-block;margin-left:12px;padding:4px 12px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border-radius:12px;font-size:.85rem;font-weight:600;box-shadow:0 2px 4px #27ae604d}.images-modal[data-v-90eb8739]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000}.carousel-content[data-v-90eb8739]{background:#111;border-radius:8px;max-width:100%;max-height:100vh;width:100%;height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.close-btn[data-v-90eb8739]{position:absolute;top:1rem;right:1rem;background:#333333e6;color:#fff;border:none;font-size:2rem;width:40px;height:40px;border-radius:50%;cursor:pointer;line-height:1;z-index:10}.close-btn[data-v-90eb8739]:hover{background:#555555e6}.carousel-header[data-v-90eb8739]{padding:1.5rem 2rem;border-bottom:1px solid #333;flex-shrink:0}.carousel-header h3[data-v-90eb8739]{margin:0 0 1rem;font-size:1.3rem}.flight-info[data-v-90eb8739]{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.9rem}.info-item[data-v-90eb8739]{display:flex;align-items:center;gap:.5rem}.tab-navigation[data-v-90eb8739]{display:flex;gap:0;background:#1a1a1a;border-bottom:1px solid #333;flex-shrink:0}.tab-btn[data-v-90eb8739]{padding:1rem 2rem;background:transparent;color:#999;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s}.tab-btn[data-v-90eb8739]:hover{background:#ffffff0d;color:#ddd}.tab-btn.active[data-v-90eb8739]{color:#0d7377;border-bottom-color:#0d7377;background:#0d73771a}.validation-tab-content[data-v-90eb8739]{flex:1;overflow-y:auto;background:#111;padding:2rem}.validation-form[data-v-90eb8739]{max-width:900px;margin:0 auto}.form-section[data-v-90eb8739]{margin-bottom:2rem;padding:1.5rem;background:#ffffff05;border:1px solid #333;border-radius:6px}.form-section h4[data-v-90eb8739]{margin:0 0 1rem;font-size:1.1rem;color:#0d7377}.notes-input[data-v-90eb8739]{width:100%;padding:.75rem;background:#222;border:1px solid #444;border-radius:4px;color:#eee;font-family:inherit;font-size:.95rem;resize:vertical}.notes-input[data-v-90eb8739]:focus{outline:none;border-color:#0d7377}.selected-image-name[data-v-90eb8739]{padding:.75rem 1rem;background:#1a1a1a;border-top:1px solid #333;font-family:monospace;font-size:.85rem;color:#999;text-align:center;flex-shrink:0}.carousel-main[data-v-90eb8739]{position:relative;display:flex;align-items:center;background:#000;flex:1;min-height:0;overflow:hidden;height:100%}.carousel-image-container[data-v-90eb8739]{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:0;min-height:0;overflow:hidden;width:100%;height:100%}.carousel-image-container img[data-v-90eb8739]{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.carousel-nav[data-v-90eb8739]{position:absolute;background:#0000004d;border:none;color:#fff9;font-size:2rem;padding:0 .75rem;height:60px;width:45px;cursor:pointer;transition:all .2s;z-index:5;display:flex;align-items:center;justify-content:center}.carousel-nav.prev[data-v-90eb8739]{left:0;top:50%;transform:translateY(-50%);border-radius:0 8px 8px 0}.carousel-nav.next[data-v-90eb8739]{right:0;top:50%;transform:translateY(-50%);border-radius:8px 0 0 8px}.carousel-nav[data-v-90eb8739]:hover:not(:disabled){background:#00000080;color:#ffffffe6}.carousel-nav[data-v-90eb8739]:disabled{opacity:.2;cursor:not-allowed}.carousel-thumbnails[data-v-90eb8739]{display:flex;gap:.5rem;padding:1rem;overflow-x:auto;background:#0a0a0a;border-top:1px solid #333;flex-shrink:0;max-height:100px}.thumbnail[data-v-90eb8739]{position:relative;flex-shrink:0;width:80px;height:60px;cursor:pointer;border:2px solid transparent;border-radius:4px;overflow:hidden;transition:border-color .2s,opacity .2s;opacity:.6}.thumbnail[data-v-90eb8739]:hover{opacity:.8}.thumbnail.active[data-v-90eb8739]{opacity:1}.thumbnail.during-flight[data-v-90eb8739]{border-color:#4caf50}.thumbnail.pre-flight[data-v-90eb8739]{border-color:#ff9800}.thumbnail.post-flight[data-v-90eb8739]{border-color:#9c27b0}.thumbnail.active.during-flight[data-v-90eb8739]{border-color:#4caf50;border-width:3px;box-shadow:0 0 10px #4caf5080}.thumbnail.active.pre-flight[data-v-90eb8739]{border-color:#ff9800;border-width:3px;box-shadow:0 0 10px #ff980080}.thumbnail.active.post-flight[data-v-90eb8739]{border-color:#9c27b0;border-width:3px;box-shadow:0 0 10px #9c27b080}.thumbnail-badge[data-v-90eb8739]{position:absolute;top:2px;right:2px;color:#fff;font-size:9px;font-weight:700;padding:2px 4px;border-radius:3px;pointer-events:none;z-index:1}.thumbnail-badge.pre[data-v-90eb8739]{background:#ff9800}.thumbnail-badge.post[data-v-90eb8739]{background:#9c27b0}.thumbnail img[data-v-90eb8739]{width:100%;height:100%;object-fit:cover}.carousel-counter[data-v-90eb8739]{text-align:center;padding:.5rem;background:#0a0a0a;color:#999;font-size:.9rem}.image-timestamp[data-v-90eb8739]{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background:#00000080;color:#ffffffb3;padding:.35rem .75rem;border-radius:4px;font-size:.8rem;font-family:monospace;pointer-events:none}.validation-section[data-v-90eb8739]{margin-top:1.5rem;padding:1rem;background:#ffffff05;border:1px solid #333;border-radius:6px;max-height:50vh;overflow-y:auto}.validation-header[data-v-90eb8739]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.validation-header h4[data-v-90eb8739]{margin:0;font-size:1.1rem;color:#eee}.validated-badge[data-v-90eb8739]{background:#4caf50;color:#fff;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.validation-controls[data-v-90eb8739]{display:flex;flex-direction:column;gap:1rem}.validation-row[data-v-90eb8739]{display:flex;align-items:center;gap:1rem}.validation-row label[data-v-90eb8739]{font-weight:600;min-width:120px;color:#ccc}.player-input[data-v-90eb8739]{width:80px;padding:.5rem;background:#222;border:1px solid #444;border-radius:4px;color:#fff;font-size:1rem}.player-input[data-v-90eb8739]:focus{outline:none;border-color:#0d7377}.detected-info[data-v-90eb8739]{color:#999;font-size:.9rem}.timing-controls[data-v-90eb8739]{flex-direction:column;align-items:stretch;gap:.75rem}.timing-item[data-v-90eb8739]{display:flex;align-items:center;gap:1rem}.set-time-btn[data-v-90eb8739]{padding:.5rem 1rem;background:#0d7377;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;white-space:nowrap}.set-time-btn[data-v-90eb8739]:hover:not(:disabled){background:#0a5c5f}.set-time-btn[data-v-90eb8739]:disabled{background:#333;color:#666;cursor:not-allowed}.time-display[data-v-90eb8739]{color:#aaa;font-family:monospace;font-size:.9rem}.validator-input[data-v-90eb8739]{flex:1;max-width:300px;padding:.5rem;background:#222;border:1px solid #444;border-radius:4px;color:#fff;font-size:1rem}.validator-input[data-v-90eb8739]:focus{outline:none;border-color:#0d7377}.validation-buttons[data-v-90eb8739]{display:flex;gap:1rem;align-items:center}.validate-btn[data-v-90eb8739]{padding:.75rem 1.5rem;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s}.validate-btn[data-v-90eb8739]:hover:not(:disabled){background:#45a049}.validate-btn[data-v-90eb8739]:disabled{background:#333;color:#666;cursor:not-allowed}.cancel-btn[data-v-90eb8739]{padding:.75rem 1.5rem;background:#666;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s}.cancel-btn[data-v-90eb8739]:hover:not(:disabled){background:#555}.cancel-btn[data-v-90eb8739]:disabled{background:#333;color:#444;cursor:not-allowed}.validation-message[data-v-90eb8739]{padding:.75rem;background:#4caf501a;border:1px solid #4CAF50;border-radius:4px;color:#4caf50}.validation-message.error[data-v-90eb8739]{background:#f443361a;border-color:#f44336;color:#f44336}.validation-history[data-v-90eb8739]{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #333}.validation-history h4[data-v-90eb8739]{margin:0 0 1rem;color:#fff;font-size:1rem}.validation-history .no-history[data-v-90eb8739]{color:#999;font-style:italic;padding:1rem;text-align:center;background:#1a1a1a;border-radius:6px}.history-table[data-v-90eb8739]{overflow-x:auto}.history-table table[data-v-90eb8739]{width:100%;border-collapse:collapse;font-size:.85rem}.history-table th[data-v-90eb8739]{text-align:left;padding:.5rem;background:#222;color:#999;font-weight:600;border-bottom:1px solid #444}.history-table td[data-v-90eb8739]{padding:.5rem;border-bottom:1px solid #333;color:#ccc}.history-table tr[data-v-90eb8739]:hover{background:#222}.change-indicator[data-v-90eb8739]{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}.old-value[data-v-90eb8739]{color:#ff6b6b;text-decoration:line-through;opacity:.7}.new-value[data-v-90eb8739]{color:#51cf66;font-weight:600}@media (max-width: 768px){.carousel-header[data-v-90eb8739]{padding:1rem}.carousel-header h3[data-v-90eb8739]{font-size:1.1rem}.flight-info[data-v-90eb8739]{gap:.75rem;font-size:.85rem}.tab-btn[data-v-90eb8739]{padding:.75rem 1rem;font-size:.9rem}.validation-tab-content[data-v-90eb8739]{padding:1rem}.validation-form[data-v-90eb8739]{max-width:100%}.form-section[data-v-90eb8739]{padding:1rem;margin-bottom:1rem}.form-section h4[data-v-90eb8739]{font-size:1rem}.timing-controls[data-v-90eb8739]{flex-direction:column;gap:1rem}.timing-item[data-v-90eb8739]{width:100%}.validation-buttons[data-v-90eb8739]{flex-direction:column;gap:.5rem}.validate-btn[data-v-90eb8739],.cancel-btn[data-v-90eb8739]{width:100%}.history-table[data-v-90eb8739]{font-size:.75rem}.history-table th[data-v-90eb8739],.history-table td[data-v-90eb8739]{padding:.4rem;font-size:.75rem}.carousel-thumbnails[data-v-90eb8739]{padding:.5rem;max-height:80px}.thumbnail[data-v-90eb8739]{width:60px;height:45px}.selected-image-name[data-v-90eb8739]{font-size:.75rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.timeline-panel[data-v-8a571ac1]{margin-bottom:1rem;width:100%}h2[data-v-8a571ac1]{font-size:1.2rem;margin-bottom:.5rem}.timeline-container[data-v-8a571ac1]{border:1px solid #333;background:#000;padding:10px;width:100%;box-sizing:border-box}.timeline-svg-wrapper[data-v-8a571ac1]{width:100%;height:70px;position:relative}.timeline-svg-wrapper svg[data-v-8a571ac1]{display:block;width:100%;height:100%}.timeline-labels[data-v-8a571ac1]{position:relative;height:30px;margin-top:-10px;width:100%}.time-label[data-v-8a571ac1]{position:absolute;transform:translate(-50%);font-size:11px;color:#999;white-space:nowrap;font-family:monospace}.time-label[data-v-8a571ac1]:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%);width:1px;height:5px;background:#666}.no-data[data-v-8a571ac1]{padding:2rem;text-align:center;color:#666;border:1px solid #333}@media (max-width: 768px){.timeline-container[data-v-8a571ac1]{padding:15px 8px}.timeline-svg-wrapper[data-v-8a571ac1]{height:80px}.time-label[data-v-8a571ac1]{font-size:12px}h2[data-v-8a571ac1]{font-size:1rem}}@media (max-width: 480px){.timeline-svg-wrapper[data-v-8a571ac1]{height:90px}.timeline-labels[data-v-8a571ac1]{height:35px}.time-label[data-v-8a571ac1]{font-size:13px}}.histogram-panel[data-v-8a41db59]{margin-bottom:2rem}h2[data-v-8a41db59]{font-size:1.2rem;margin-bottom:.5rem}.histogram-container[data-v-8a41db59]{width:100%;overflow-x:auto}.histogram[data-v-8a41db59]{display:flex;gap:4px;align-items:flex-end;height:200px;padding:1rem .5rem;background:#1a1a1a;border-radius:4px;min-width:800px}.bar-container[data-v-8a41db59]{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bar-stack[data-v-8a41db59]{width:100%;display:flex;flex-direction:column;align-items:stretch;margin-top:auto;position:relative}.bar-segment[data-v-8a41db59]{width:100%;transition:opacity .2s;cursor:pointer}.bar-segment[data-v-8a41db59]:first-child{border-radius:2px 2px 0 0}.bar-segment[data-v-8a41db59]:hover{opacity:.8}.count[data-v-8a41db59]{position:absolute;top:4px;left:50%;transform:translate(-50%);font-size:.75rem;color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.8);z-index:1;pointer-events:none}.label[data-v-8a41db59]{font-size:.7rem;color:#aaa;margin-top:4px;text-align:center;white-space:nowrap}.no-data[data-v-8a41db59]{padding:2rem;text-align:center;color:#666}header[data-v-bf10f880]{background:var(--bg-primary);padding:1rem 2rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}h1[data-v-bf10f880]{font-size:1.5rem;color:var(--text-primary)}.header-controls[data-v-bf10f880]{display:flex;gap:1.5rem;align-items:center}.date-selector input[data-v-bf10f880]{padding:.5rem;background:var(--input-bg);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;margin-left:.5rem}.nav-links a[data-v-bf10f880]{margin-left:1rem}main[data-v-bf10f880]{padding:1.5rem 2rem}header[data-v-6e06298e]{background:#000;padding:1rem 2rem;border-bottom:1px solid #333}h1[data-v-6e06298e]{font-size:1.5rem}main[data-v-6e06298e]{padding:1.5rem 2rem}.loading[data-v-6e06298e],.error[data-v-6e06298e]{padding:2rem;text-align:center}.error[data-v-6e06298e]{color:#f44}.stats-section[data-v-6e06298e]{margin-bottom:3rem}h2[data-v-6e06298e]{font-size:1.3rem;margin-bottom:1rem;border-bottom:2px solid #333;padding-bottom:.5rem}h3[data-v-6e06298e]{font-size:1.1rem;margin-bottom:.75rem}.stats-grid[data-v-6e06298e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.stat-card[data-v-6e06298e]{background:#1a1a1a;border:1px solid #333;padding:1.5rem;border-radius:8px}.stat-values>div[data-v-6e06298e]{padding:.5rem 0;border-bottom:1px solid #2a2a2a}.stat-values>div[data-v-6e06298e]:last-child{border-bottom:none}.histogram[data-v-6e06298e]{display:flex;align-items:flex-end;gap:4px;height:200px;padding:1rem 0}.hist-bar[data-v-6e06298e]{flex:1;background:#134074;position:relative;min-height:2px;cursor:pointer;transition:background .2s}.hist-bar[data-v-6e06298e]:hover{background:#1a5a9e}.hist-label[data-v-6e06298e]{position:absolute;bottom:-20px;left:0;right:0;text-align:center;font-size:.7rem;color:#999;writing-mode:vertical-rl;text-orientation:mixed}.weekday-grid[data-v-6e06298e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.weekday-card[data-v-6e06298e]{background:#1a1a1a;border:1px solid #333;padding:1rem;border-radius:8px}.weekday-card h3[data-v-6e06298e]{font-size:1rem;color:#8cf}.no-data[data-v-6e06298e]{padding:2rem;text-align:center;color:#666;border:1px solid #333;border-radius:8px}table[data-v-6e06298e]{width:100%;margin-top:1rem}th[data-v-6e06298e]{background:#1a1a1a}td[data-v-6e06298e],th[data-v-6e06298e]{padding:.75rem}tbody tr[data-v-6e06298e]:hover{background:#1a1a1a}.login-page[data-v-2093392d]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-container[data-v-2093392d]{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:40px;width:100%;max-width:400px}.brand[data-v-2093392d]{display:flex;align-items:center;gap:12px;margin-bottom:20px}.brand-logo[data-v-2093392d]{width:44px;height:44px;border-radius:12px}.login-header h1[data-v-2093392d]{margin:0;font-size:28px;color:#333}.login-header p[data-v-2093392d]{color:#666;margin-bottom:30px;font-size:14px}.error-message[data-v-2093392d]{background:#fee;border:1px solid #fcc;border-radius:6px;padding:12px;margin-bottom:20px;color:#c33;font-size:14px}.login-form[data-v-2093392d]{margin-bottom:30px}.form-group[data-v-2093392d]{margin-bottom:20px}.form-group label[data-v-2093392d]{display:block;margin-bottom:8px;color:#333;font-weight:500;font-size:14px}.form-group input[data-v-2093392d]{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;box-sizing:border-box;transition:border-color .3s}.form-group input[data-v-2093392d]:focus{outline:none;border-color:#667eea}.btn-login[data-v-2093392d]{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-login[data-v-2093392d]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn-login[data-v-2093392d]:active:not(:disabled){transform:translateY(0)}.btn-login[data-v-2093392d]:disabled{background:#ccc;cursor:not-allowed;transform:none}.default-creds[data-v-2093392d]{padding:15px;background:#f5f5f5;border-radius:6px;font-size:12px;color:#666}.default-creds strong[data-v-2093392d]{color:#333}.admin-users[data-v-123da4fe]{padding:2rem;max-width:1400px;margin:0 auto}.header[data-v-123da4fe]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header h1[data-v-123da4fe]{margin:0;color:var(--text-primary)}.loading[data-v-123da4fe],.error[data-v-123da4fe]{text-align:center;padding:2rem;color:var(--text-secondary)}.error[data-v-123da4fe]{color:#f44336}.users-table[data-v-123da4fe]{background:var(--card-bg);border-radius:8px;overflow:hidden}table[data-v-123da4fe]{width:100%;border-collapse:collapse}th[data-v-123da4fe]{background:var(--bg-secondary);color:var(--text-secondary);padding:1rem;text-align:left;font-weight:600;border-bottom:2px solid var(--border-color)}td[data-v-123da4fe]{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}tr:hover td[data-v-123da4fe]{background:var(--bg-secondary)}.role-badge[data-v-123da4fe]{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-admin[data-v-123da4fe]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.role-manager[data-v-123da4fe]{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.role-validator[data-v-123da4fe]{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#1a1a1a}.role-user[data-v-123da4fe]{background:#444;color:#aaa}.status-badge[data-v-123da4fe]{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600}.status-badge.active[data-v-123da4fe]{background:#1b5e20;color:#a5d6a7}.status-badge.inactive[data-v-123da4fe]{background:#444;color:#999}.actions[data-v-123da4fe]{display:flex;gap:.5rem}.btn-primary[data-v-123da4fe]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;transition:transform .2s}.btn-primary[data-v-123da4fe]:hover{transform:translateY(-2px)}.btn-secondary[data-v-123da4fe]{background:#444;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer}.btn-secondary[data-v-123da4fe]:hover{background:#555}.btn-small[data-v-123da4fe]{background:#333;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-small[data-v-123da4fe]:hover{background:#444}.btn-danger[data-v-123da4fe]{background:#d32f2f}.btn-danger[data-v-123da4fe]:hover{background:#f44336}.modal-overlay[data-v-123da4fe]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-123da4fe]{background:var(--modal-bg);border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header[data-v-123da4fe]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #333}.modal-header h2[data-v-123da4fe]{margin:0;color:#fff}.btn-close[data-v-123da4fe]{background:none;border:none;color:#999;font-size:2rem;cursor:pointer;line-height:1}.btn-close[data-v-123da4fe]:hover{color:#fff}.modal-body[data-v-123da4fe]{padding:1.5rem}.form-group[data-v-123da4fe]{margin-bottom:1.5rem}.form-group label[data-v-123da4fe]{display:block;margin-bottom:.5rem;color:#999;font-weight:600}.form-group input[data-v-123da4fe],.form-group select[data-v-123da4fe]{width:100%;padding:.75rem;background:#222;border:1px solid #444;border-radius:4px;color:#fff;font-size:1rem}.form-group input.readonly[data-v-123da4fe]{background:#0f0f0f;color:#999;cursor:not-allowed;font-family:Monaco,Courier New,monospace;font-size:.85rem}.form-group input[data-v-123da4fe]:focus,.form-group select[data-v-123da4fe]:focus{outline:none;border-color:#667eea}.course-select[data-v-123da4fe]{max-height:200px;overflow-y:auto;background:#222;border:1px solid #444;border-radius:4px;padding:1rem}.course-assignments[data-v-123da4fe]{max-height:300px;overflow-y:auto;background:#222;border:1px solid #444;border-radius:4px;padding:1rem}.course-assignment-item[data-v-123da4fe]{margin-bottom:.75rem}.course-assignment-row[data-v-123da4fe]{display:flex;align-items:center;gap:.75rem}.course-assignment-row input[type=checkbox][data-v-123da4fe]{width:auto;flex-shrink:0}.course-name-label[data-v-123da4fe]{flex:1;margin:0;color:#ccc;font-weight:400;cursor:pointer}.role-select[data-v-123da4fe]{flex:0 0 150px;padding:.5rem;background:#1a1a1a;border:1px solid #555;border-radius:4px;color:#fff;font-size:.9rem}.role-select[data-v-123da4fe]:focus{outline:none;border-color:#667eea}.checkbox-item[data-v-123da4fe]{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.checkbox-item input[type=checkbox][data-v-123da4fe]{width:auto}.checkbox-item label[data-v-123da4fe]{margin:0;color:#ccc;font-weight:400;cursor:pointer}.courses-list[data-v-123da4fe]{display:flex;flex-direction:column;gap:.5rem}.course-item[data-v-123da4fe]{font-size:.9rem;line-height:1.4}.course-item strong[data-v-123da4fe]{color:#667eea;display:block}.managers-info[data-v-123da4fe]{color:#999;font-size:.85rem;font-style:italic;display:block;margin-top:.2rem}.text-muted[data-v-123da4fe]{color:#666;font-style:italic}.error-message[data-v-123da4fe]{background:#f443361a;border:1px solid #f44336;border-radius:4px;padding:.75rem;color:#f44336;margin-top:1rem}.modal-footer[data-v-123da4fe]{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #333}.course-management[data-v-e02fc86b]{padding:2rem;max-width:1400px;margin:0 auto}.header[data-v-e02fc86b]{margin-bottom:2rem}.header h1[data-v-e02fc86b]{margin:0;color:#fff}.loading[data-v-e02fc86b],.error[data-v-e02fc86b]{text-align:center;padding:2rem;color:#999}.error[data-v-e02fc86b]{color:#f44336}.courses-grid[data-v-e02fc86b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.course-card[data-v-e02fc86b]{background:#1a1a1a;border-radius:8px;padding:1.5rem;border:1px solid #333;transition:border-color .2s}.course-card[data-v-e02fc86b]:hover{border-color:#0d7377}.course-header[data-v-e02fc86b]{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #333}.course-header h3[data-v-e02fc86b]{margin:0 0 .5rem;color:#fff;font-size:1.25rem}.course-role[data-v-e02fc86b]{display:inline-block;margin-left:.75rem;padding:2px 10px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.5px;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;text-transform:uppercase}.course-subtitle[data-v-e02fc86b]{display:block;color:#999;font-size:.9rem;margin-bottom:.25rem}.course-uuid[data-v-e02fc86b]{display:block;color:#666;font-size:.75rem;font-family:monospace;margin-top:.5rem}.course-details[data-v-e02fc86b]{margin-bottom:1rem}.detail-item[data-v-e02fc86b]{display:flex;justify-content:space-between;padding:.5rem 0;color:#ccc;font-size:.9rem}.detail-item .label[data-v-e02fc86b]{color:#999;font-weight:600}.course-actions[data-v-e02fc86b]{display:flex;gap:.5rem;flex-wrap:wrap}.btn-small[data-v-e02fc86b]{background:#333;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.85rem;text-decoration:none;display:inline-block;transition:background .2s}.btn-small[data-v-e02fc86b]:hover{background:#444}.btn-small.btn-primary[data-v-e02fc86b]{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-small.btn-primary[data-v-e02fc86b]:hover{opacity:.9}.btn-small.btn-danger[data-v-e02fc86b]{background:#d32f2f}.btn-small.btn-danger[data-v-e02fc86b]:hover{background:#f44336}.modal-overlay[data-v-e02fc86b]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-e02fc86b]{background:#1a1a1a;border-radius:8px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto}.modal-header[data-v-e02fc86b]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #333}.modal-header h2[data-v-e02fc86b]{margin:0;color:#fff}.btn-close[data-v-e02fc86b]{background:none;border:none;color:#999;font-size:2rem;cursor:pointer;line-height:1}.btn-close[data-v-e02fc86b]:hover{color:#fff}.modal-body[data-v-e02fc86b]{padding:1.5rem}.form-row[data-v-e02fc86b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group[data-v-e02fc86b]{margin-bottom:1.5rem}.form-group label[data-v-e02fc86b]{display:block;margin-bottom:.5rem;color:#999;font-weight:600}.form-group input[data-v-e02fc86b],.form-group select[data-v-e02fc86b]{width:100%;padding:.75rem;background:#222;border:1px solid #444;border-radius:4px;color:#fff;font-size:1rem}.form-group input[data-v-e02fc86b]:focus,.form-group select[data-v-e02fc86b]:focus{outline:none;border-color:#667eea}.uuid-field[data-v-e02fc86b]{background:#111;color:#666;font-family:monospace;font-size:.9rem}.error-message[data-v-e02fc86b]{background:#f443361a;border:1px solid #f44336;border-radius:4px;padding:.75rem;color:#f44336;margin-top:1rem}.modal-footer[data-v-e02fc86b]{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #333}.btn-primary[data-v-e02fc86b]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;transition:transform .2s}.btn-primary[data-v-e02fc86b]:hover:not(:disabled){transform:translateY(-2px)}.btn-primary[data-v-e02fc86b]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-e02fc86b]{background:#444;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer}.btn-secondary[data-v-e02fc86b]:hover{background:#555}.uptime-calendar-container[data-v-b46d2864]{padding:20px;background:var(--card-bg, white);color:var(--text-primary, #333);border-radius:8px;box-shadow:0 2px 8px #0000001a;max-width:1000px;margin:0 auto}.calendar-header[data-v-b46d2864]{margin-bottom:20px}.calendar-header h3[data-v-b46d2864]{margin:0 0 15px;color:var(--text-primary, #333)}.controls[data-v-b46d2864]{display:flex;align-items:center;gap:15px;margin-bottom:15px}.nav-btn[data-v-b46d2864]{padding:6px 12px;background:#06c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.nav-btn[data-v-b46d2864]:hover:not(:disabled){background:#0052a3}.nav-btn[data-v-b46d2864]:disabled{background:#ccc;cursor:not-allowed}.year-display[data-v-b46d2864]{font-size:18px;font-weight:600;color:var(--text-primary, #333);min-width:80px;text-align:center}.legend[data-v-b46d2864]{display:flex;gap:15px;font-size:12px;flex-wrap:wrap}.legend span[data-v-b46d2864]{display:flex;align-items:center}.legend .dot[data-v-b46d2864]{display:inline-block;width:14px;height:14px;border-radius:2px;margin-right:5px}.legend .perfect[data-v-b46d2864]{background:#0c0}.legend .good[data-v-b46d2864]{background:#8d4}.legend .fair[data-v-b46d2864]{background:#fa4}.legend .poor[data-v-b46d2864]{background:#f44}.legend .no-data[data-v-b46d2864]{background:#eee}.calendar[data-v-b46d2864]{overflow-x:auto;margin-top:10px}.calendar svg[data-v-b46d2864]{max-width:100%;height:auto}.loading[data-v-b46d2864],.error[data-v-b46d2864],.empty-state[data-v-b46d2864]{padding:20px;text-align:center;color:var(--text-secondary, #666)}.error[data-v-b46d2864]{color:#d32f2f}.empty-state p[data-v-b46d2864]{margin:10px 0;color:var(--text-primary)}.empty-state .help-text[data-v-b46d2864]{font-size:14px;color:var(--text-secondary);font-style:italic}.tooltip[data-v-b46d2864]{position:fixed;background:#000000e6;color:#fff;padding:12px;border-radius:6px;font-size:13px;pointer-events:none;z-index:1000;box-shadow:0 4px 12px #0000004d;min-width:200px}.tooltip strong[data-v-b46d2864]{display:block;margin-bottom:8px;font-size:14px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:6px}.tooltip-metric[data-v-b46d2864]{display:flex;justify-content:space-between;margin:4px 0}.tooltip-metric .label[data-v-b46d2864]{color:#aaa}.tooltip-metric .value[data-v-b46d2864]{font-weight:600}.tooltip .detail-btn[data-v-b46d2864]{margin-top:10px;padding:6px 12px;background:#06c;color:#fff;border:none;border-radius:4px;cursor:pointer;pointer-events:auto;width:100%;font-size:12px}.tooltip .detail-btn[data-v-b46d2864]:hover{background:#0052a3}.modal-overlay[data-v-b46d2864]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content[data-v-b46d2864]{background:var(--modal-bg, white);color:var(--text-primary, #333);border-radius:8px;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.modal-header[data-v-b46d2864]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color, #eee)}.modal-header h3[data-v-b46d2864]{margin:0;color:var(--text-primary, #333);font-size:18px}.close-btn[data-v-b46d2864]{background:none;border:none;font-size:32px;color:#999;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.close-btn[data-v-b46d2864]:hover{color:#333}.modal-body[data-v-b46d2864]{padding:20px;overflow-y:auto}.summary-stats[data-v-b46d2864]{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px}.stat-card[data-v-b46d2864]{background:var(--bg-tertiary, #f5f5f5);padding:15px;border-radius:6px;text-align:center}.stat-label[data-v-b46d2864]{font-size:12px;color:var(--text-secondary, #666);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-b46d2864]{font-size:24px;font-weight:600;color:var(--text-primary, #333)}.episodes-list h4[data-v-b46d2864]{margin:0 0 15px;color:var(--text-primary, #333);font-size:16px}.episode-item[data-v-b46d2864]{background:var(--bg-tertiary, #f9f9f9);color:var(--text-primary, #333);padding:12px;margin-bottom:10px;border-radius:4px;border-left:3px solid #ff4444}.episode-timeline[data-v-b46d2864]{margin:8px 0}.timeline-viz[data-v-b46d2864]{display:block;margin:0 auto}.episode-time[data-v-b46d2864]{font-size:14px;margin-bottom:6px}.episode-time .ongoing[data-v-b46d2864]{color:#f44;font-weight:600}.episode-time .multi-day[data-v-b46d2864]{color:#f80;font-style:italic;font-size:12px}.episode-details[data-v-b46d2864]{display:flex;gap:15px;font-size:13px;color:#666}.episode-details .duration[data-v-b46d2864]{font-weight:600;color:var(--text-primary, #333)}.episode-details .reason[data-v-b46d2864]{font-style:italic}.episode-error[data-v-b46d2864]{margin-top:8px;font-size:12px;color:var(--text-secondary, #999);padding:6px;background:var(--input-bg, #fff);border-radius:3px;font-family:monospace}.no-episodes[data-v-b46d2864]{text-align:center;padding:30px;color:var(--text-secondary, #999);font-style:italic}.course-management-v2[data-v-98011bae]{padding:2rem;max-width:1400px;margin:0 auto}.header[data-v-98011bae]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header h1[data-v-98011bae]{margin:0;color:var(--text-primary)}.loading[data-v-98011bae],.error[data-v-98011bae],.empty[data-v-98011bae]{padding:2rem;text-align:center;color:var(--text-secondary)}.error[data-v-98011bae]{color:#f44336;background:#f443361a;border:1px solid #f44336;border-radius:4px}.course-card[data-v-98011bae]{background:var(--card-bg);border-radius:8px;padding:1.5rem;margin-bottom:1rem}.course-header[data-v-98011bae]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.course-title h2[data-v-98011bae]{margin:0 0 .25rem;color:var(--text-primary)}.course-id[data-v-98011bae]{font-family:monospace;font-size:.75rem;color:var(--text-secondary)}.course-actions[data-v-98011bae]{display:flex;gap:.5rem}.course-meta[data-v-98011bae]{display:flex;gap:1.5rem;font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem}.loops-container[data-v-98011bae]{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:6px}.section-header[data-v-98011bae]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3[data-v-98011bae],.section-header h5[data-v-98011bae]{margin:0;color:var(--text-primary)}.loop-card[data-v-98011bae]{background:var(--bg-tertiary);border-radius:6px;padding:1rem;margin-bottom:.75rem}.loop-header[data-v-98011bae]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.loop-title h4[data-v-98011bae]{margin:0 0 .25rem;color:var(--text-primary)}.loop-desc[data-v-98011bae]{font-size:.85rem;color:var(--text-secondary)}.loop-actions[data-v-98011bae]{display:flex;gap:.25rem}.holes-container[data-v-98011bae]{margin-top:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:4px}.hole-card[data-v-98011bae]{background:var(--bg-tertiary);border-radius:4px;padding:.75rem;margin-bottom:.5rem}.hole-header[data-v-98011bae]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.hole-title[data-v-98011bae]{display:flex;align-items:center;gap:.75rem}.hole-title h5[data-v-98011bae]{margin:0;color:var(--text-primary)}.status-badge[data-v-98011bae]{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.status-active[data-v-98011bae]{background:#4caf5033;color:#4caf50}.status-inactive[data-v-98011bae]{background:#f4433633;color:#f44336}.hole-actions[data-v-98011bae]{display:flex;gap:.25rem}.hole-details[data-v-98011bae]{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.detail-row[data-v-98011bae]{display:flex;gap:.5rem}.detail-row .label[data-v-98011bae]{color:var(--text-secondary);min-width:120px}.detail-row .value[data-v-98011bae]{color:var(--text-primary)}.btn-primary[data-v-98011bae],.btn-secondary[data-v-98011bae],.btn-small[data-v-98011bae],.btn-icon[data-v-98011bae],.btn-icon-small[data-v-98011bae]{border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:600}.btn-primary[data-v-98011bae]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem}.btn-primary[data-v-98011bae]:hover:not(:disabled){transform:translateY(-2px)}.btn-primary[data-v-98011bae]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-98011bae]{background:#444;color:#fff;padding:.75rem 1.5rem}.btn-secondary[data-v-98011bae]:hover{background:#555}.btn-small[data-v-98011bae]{background:#667eea;color:#fff;padding:.5rem 1rem;font-size:.85rem}.btn-small[data-v-98011bae]:hover{opacity:.9}.btn-icon[data-v-98011bae],.btn-icon-small[data-v-98011bae]{background:#444;color:#fff;padding:.5rem;width:36px;height:36px}.btn-icon-small[data-v-98011bae]{width:28px;height:28px;padding:.25rem;font-size:.85rem}.btn-danger[data-v-98011bae]{background:#d32f2f}.btn-danger[data-v-98011bae]:hover{background:#f44336}.btn-icon[data-v-98011bae]:hover,.btn-icon-small[data-v-98011bae]:hover{background:#555}.modal-overlay[data-v-98011bae]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-98011bae]{background:#1a1a1a;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-large[data-v-98011bae]{max-width:800px}.modal-xlarge[data-v-98011bae]{max-width:1100px;width:95%}.modal-header[data-v-98011bae]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #333}.modal-header h2[data-v-98011bae]{margin:0;color:#fff}.btn-close[data-v-98011bae]{background:none;border:none;color:#999;font-size:2rem;cursor:pointer;line-height:1}.btn-close[data-v-98011bae]:hover{color:#fff}.modal-body[data-v-98011bae]{padding:1.5rem}.form-row[data-v-98011bae]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group[data-v-98011bae]{margin-bottom:1rem}.form-group label[data-v-98011bae]{display:block;margin-bottom:.5rem;color:#999;font-weight:600}.form-group input[data-v-98011bae],.form-group select[data-v-98011bae],.form-group textarea[data-v-98011bae]{width:100%;padding:.75rem;background:#222;border:1px solid #444;border-radius:4px;color:#fff;font-size:1rem;font-family:inherit}.form-group input[data-v-98011bae]:focus,.form-group select[data-v-98011bae]:focus,.form-group textarea[data-v-98011bae]:focus{outline:none;border-color:#667eea}.error-message[data-v-98011bae]{background:#f443361a;border:1px solid #f44336;border-radius:4px;padding:.75rem;color:#f44336;margin-top:1rem}.modal-footer[data-v-98011bae]{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #333}.history-list[data-v-98011bae]{display:flex;flex-direction:column;gap:1rem}.history-item[data-v-98011bae]{background:#222;border-radius:4px;padding:1rem}.history-header[data-v-98011bae]{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.action-badge[data-v-98011bae]{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.action-create[data-v-98011bae]{background:#4caf5033;color:#4caf50}.action-update[data-v-98011bae]{background:#2196f333;color:#2196f3}.action-delete[data-v-98011bae]{background:#f4433633;color:#f44336}.history-user[data-v-98011bae]{color:#667eea;font-weight:600}.history-date[data-v-98011bae]{color:#999;font-size:.85rem;margin-left:auto}.history-details[data-v-98011bae]{color:#999;font-size:.9rem}.old-value[data-v-98011bae]{color:#f44336;text-decoration:line-through}.new-value[data-v-98011bae]{color:#4caf50}.loading-small[data-v-98011bae]{padding:1rem;text-align:center;color:#999;font-size:.9rem}.empty-history[data-v-98011bae]{padding:2rem;text-align:center;color:#666}.users-table[data-v-98011bae]{margin-bottom:2rem}.users-table table[data-v-98011bae]{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:8px;overflow:hidden}.users-table th[data-v-98011bae]{background:var(--bg-tertiary);color:var(--text-secondary);padding:.75rem;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase}.users-table td[data-v-98011bae]{padding:.75rem;border-top:1px solid var(--border-color);color:var(--text-primary)}.users-table tr:hover td[data-v-98011bae]{background:var(--bg-tertiary)}.role-badge[data-v-98011bae]{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-admin[data-v-98011bae]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.role-manager[data-v-98011bae]{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.role-validator[data-v-98011bae]{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#1a1a1a}.role-viewer[data-v-98011bae]{background:#9e9e9e33;color:#9e9e9e}.actions[data-v-98011bae]{display:flex;gap:.5rem}.empty-message[data-v-98011bae]{padding:2rem;text-align:center;color:var(--text-secondary);font-style:italic}.add-user-section[data-v-98011bae]{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;margin-top:2rem}.add-user-section h3[data-v-98011bae]{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem}.add-user-section .help-text[data-v-98011bae]{margin:0 0 1rem;color:var(--text-secondary);font-size:.9rem;font-style:italic}.add-user-section .form-row[data-v-98011bae]{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1rem}.add-user-section .form-group[data-v-98011bae]{display:flex;flex-direction:column}.add-user-section label[data-v-98011bae]{margin-bottom:.5rem;color:var(--text-secondary);font-weight:600;font-size:.85rem}.add-user-section select[data-v-98011bae],.add-user-section input[type=email][data-v-98011bae]{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.error-message[data-v-98011bae]{background:#f443361a;border:1px solid #f44336;border-radius:4px;padding:1rem;color:#f44336;margin-top:1rem}.polygon-editor[data-v-f1b486d7]{padding:2rem;max-width:1600px;margin:0 auto}.header[data-v-f1b486d7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #333}.header-left h2[data-v-f1b486d7]{margin:0;color:#fff;font-size:1.8rem;font-weight:600}.header-right[data-v-f1b486d7]{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.course-info[data-v-f1b486d7]{color:#0d7377;font-size:.95rem;font-weight:500}.loading[data-v-f1b486d7],.error[data-v-f1b486d7]{text-align:center;padding:2rem;color:#999}.error[data-v-f1b486d7]{color:#f44336}.editor-container[data-v-f1b486d7]{display:grid;grid-template-columns:1fr 400px;gap:2rem;align-items:start}.canvas-container[data-v-f1b486d7]{position:relative;width:100%;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0006;border:1px solid #333;line-height:0;display:inline-block}.camera-feed[data-v-f1b486d7]{width:100%;height:auto;display:block}.polygon-canvas[data-v-f1b486d7]{position:absolute;top:0;left:0;width:100%;height:auto;z-index:2;cursor:crosshair}.controls[data-v-f1b486d7]{display:flex;flex-direction:column;gap:1.5rem}.info-panel[data-v-f1b486d7]{background:#1a1a1a;border-radius:12px;padding:1.5rem;border:1px solid #333}.info-panel h3[data-v-f1b486d7]{margin:0 0 1rem;color:#0d7377;font-size:1.1rem;font-weight:600}.polygon-info[data-v-f1b486d7]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:1rem;background:#000;border-radius:8px;border:1px solid #333}.polygon-info div[data-v-f1b486d7]{display:flex;justify-content:space-between;color:#fff;font-size:.9rem}.polygon-info strong[data-v-f1b486d7]{color:#fff;font-weight:600}.instructions[data-v-f1b486d7]{color:#ccc;font-size:.9rem}.instructions ul[data-v-f1b486d7]{margin:0;padding-left:1.5rem;color:#999;font-size:.85rem}.instructions li[data-v-f1b486d7]{margin-bottom:.25rem}.actions[data-v-f1b486d7]{display:flex;flex-direction:column;gap:.75rem}.btn-primary[data-v-f1b486d7],.btn-secondary[data-v-f1b486d7]{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-f1b486d7]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-f1b486d7]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary[data-v-f1b486d7]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-f1b486d7]{background:#333;color:#fff}.btn-secondary[data-v-f1b486d7]:hover{background:#444}.btn-secondary span[data-v-f1b486d7]{margin-right:.5rem}.save-message[data-v-f1b486d7]{margin-top:1rem;padding:.75rem 1rem;background:#4caf5026;border:1px solid #4CAF50;border-radius:6px;color:#4caf50;font-size:.9rem}.save-message.error[data-v-f1b486d7]{background:#f4433626;border-color:#f44336;color:#f44336}.history-panel[data-v-f1b486d7]{margin-top:2rem;background:#1a1a1a;border-radius:12px;padding:1.5rem;border:1px solid #333}.history-header[data-v-f1b486d7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.history-header h3[data-v-f1b486d7]{color:#fff;margin:0;font-size:1.2rem}.btn-close[data-v-f1b486d7]{background:transparent;border:none;color:#999;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close[data-v-f1b486d7]:hover{background:#333;color:#fff}.no-history[data-v-f1b486d7]{color:#999;text-align:center;padding:2rem;font-style:italic}.history-table-container[data-v-f1b486d7]{overflow-x:auto}.history-table[data-v-f1b486d7]{width:100%;border-collapse:collapse;color:#fff}.history-table th[data-v-f1b486d7]{background:#2a2a2a;padding:.75rem;text-align:left;font-weight:600;border-bottom:2px solid #444}.history-table td[data-v-f1b486d7]{padding:.75rem;border-bottom:1px solid #333}.history-table tbody tr[data-v-f1b486d7]:hover{background:#222}.change-type[data-v-f1b486d7]{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:600;text-transform:uppercase}.change-type.crop[data-v-f1b486d7]{background:#667eea33;color:#667eea}.change-type.polygon[data-v-f1b486d7]{background:#0d737733;color:#0d7377}.crop-details[data-v-f1b486d7],.polygon-details[data-v-f1b486d7]{font-family:Monaco,Courier New,monospace;font-size:.9rem}.old-value[data-v-f1b486d7]{color:#ef4444;text-decoration:line-through}.new-value[data-v-f1b486d7]{color:#10b981;font-weight:600}.crop-editor[data-v-57eb6bf2]{padding:2rem;max-width:1400px;margin:0 auto}.header[data-v-57eb6bf2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #333}.header-left h2[data-v-57eb6bf2]{margin:0;color:#fff;font-size:1.8rem;font-weight:600}.header-right[data-v-57eb6bf2]{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.course-info[data-v-57eb6bf2]{color:#0d7377;font-size:.95rem;font-weight:500}.loading[data-v-57eb6bf2],.error[data-v-57eb6bf2]{padding:2rem;text-align:center;color:#999}.error[data-v-57eb6bf2]{color:#f44336;background:#f443361a;border:1px solid #f44336;border-radius:4px}.editor-container[data-v-57eb6bf2]{display:grid;grid-template-columns:1fr 350px;gap:2rem}.canvas-container[data-v-57eb6bf2]{position:relative;background:#000;border-radius:8px;overflow:hidden;min-height:400px}.camera-feed[data-v-57eb6bf2]{display:block;width:100%;height:auto;object-fit:contain}.crop-canvas[data-v-57eb6bf2]{position:absolute;top:0;left:0;width:100%;height:auto;cursor:crosshair}.controls[data-v-57eb6bf2]{display:flex;flex-direction:column;gap:2rem}.info-panel[data-v-57eb6bf2]{background:#1a1a1a;padding:1.5rem;border-radius:8px}.info-panel h3[data-v-57eb6bf2]{margin:0 0 1rem;color:#fff}.crop-info[data-v-57eb6bf2]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:1rem;background:#000;border-radius:8px;border:1px solid #333}.crop-info div[data-v-57eb6bf2]{display:flex;justify-content:space-between;color:#fff;font-size:.9rem}.crop-info strong[data-v-57eb6bf2]{color:#fff;font-weight:600}.instructions[data-v-57eb6bf2]{padding-top:1rem;border-top:1px solid #333}.instructions p[data-v-57eb6bf2]{margin:0 0 .5rem;color:#fff;font-size:.9rem}.instructions ul[data-v-57eb6bf2]{margin:0;padding-left:1.5rem;color:#999;font-size:.85rem}.instructions li[data-v-57eb6bf2]{margin-bottom:.25rem}.actions[data-v-57eb6bf2]{display:flex;flex-direction:column;gap:.75rem}.btn-primary[data-v-57eb6bf2],.btn-secondary[data-v-57eb6bf2]{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-57eb6bf2]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-57eb6bf2]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary[data-v-57eb6bf2]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-57eb6bf2]{background:#333;color:#fff}.btn-secondary[data-v-57eb6bf2]:hover{background:#444}.btn-secondary span[data-v-57eb6bf2]{margin-right:.5rem}.history-panel[data-v-57eb6bf2]{margin-top:2rem;background:#1a1a1a;border-radius:12px;padding:1.5rem;border:1px solid #333}.history-header[data-v-57eb6bf2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.history-header h3[data-v-57eb6bf2]{color:#fff;margin:0;font-size:1.2rem}.btn-close[data-v-57eb6bf2]{background:transparent;border:none;color:#999;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close[data-v-57eb6bf2]:hover{background:#333;color:#fff}.no-history[data-v-57eb6bf2]{color:#999;text-align:center;padding:2rem;font-style:italic}.history-table-container[data-v-57eb6bf2]{overflow-x:auto}.history-table[data-v-57eb6bf2]{width:100%;border-collapse:collapse;color:#fff}.history-table th[data-v-57eb6bf2]{background:#2a2a2a;padding:.75rem;text-align:left;font-weight:600;border-bottom:2px solid #444}.history-table td[data-v-57eb6bf2]{padding:.75rem;border-bottom:1px solid #333}.history-table tbody tr[data-v-57eb6bf2]:hover{background:#222}.crop-details[data-v-57eb6bf2]{font-family:Monaco,Courier New,monospace;font-size:.9rem}.old-value[data-v-57eb6bf2]{color:#ef4444;text-decoration:line-through}.new-value[data-v-57eb6bf2]{color:#10b981;font-weight:600}.user-profile[data-v-aea88d27]{max-width:800px;margin:0 auto;padding:20px}.header[data-v-aea88d27]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.header h1[data-v-aea88d27]{font-size:28px;font-weight:600;color:var(--text-primary)}.loading[data-v-aea88d27],.error[data-v-aea88d27]{text-align:center;padding:40px;font-size:16px}.error[data-v-aea88d27]{color:#ff6b6b}.profile-form[data-v-aea88d27]{background:var(--card-bg);border-radius:8px;padding:30px}.form-section[data-v-aea88d27]{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid var(--border-color)}.form-section[data-v-aea88d27]:last-of-type{border-bottom:none}.form-section h2[data-v-aea88d27]{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:5px}.help-text[data-v-aea88d27]{color:var(--text-secondary);font-size:14px;margin-bottom:20px}.courses-section[data-v-aea88d27]{margin-top:10px}.course-list[data-v-aea88d27]{display:flex;flex-direction:column;gap:15px;margin-top:10px}.course-card[data-v-aea88d27]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:15px;transition:border-color .2s}.course-card[data-v-aea88d27]:hover{border-color:#667eea}.course-header[data-v-aea88d27]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.course-name[data-v-aea88d27]{font-size:16px;font-weight:600;color:#667eea}.course-info[data-v-aea88d27]{font-size:14px;color:var(--text-secondary)}.course-info strong[data-v-aea88d27]{color:var(--text-primary)}.form-group[data-v-aea88d27]{margin-bottom:20px}.form-group label[data-v-aea88d27]{display:block;margin-bottom:8px;color:var(--text-primary);font-size:14px;font-weight:500}.form-group input[data-v-aea88d27]{width:100%;padding:10px 12px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:14px}.form-group input[data-v-aea88d27]:focus{outline:none;border-color:#667eea}.info-row[data-v-aea88d27]{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color)}.info-row[data-v-aea88d27]:last-child{border-bottom:none}.info-row .label[data-v-aea88d27]{flex:0 0 150px;color:var(--text-secondary);font-size:14px}.info-row .value[data-v-aea88d27]{color:var(--text-primary);font-size:14px}.info-row .user-id[data-v-aea88d27]{font-family:Monaco,Courier New,monospace;font-size:.85rem;color:var(--text-secondary)}.role-badge[data-v-aea88d27]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.role-admin[data-v-aea88d27]{background:#e74c3c;color:#fff}.role-manager[data-v-aea88d27]{background:#f39c12;color:#fff}.role-validator[data-v-aea88d27]{background:#3498db;color:#fff}.role-user[data-v-aea88d27]{background:#95a5a6;color:#fff}.status-badge[data-v-aea88d27]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.active[data-v-aea88d27]{background:#27ae60;color:#fff}.status-badge.inactive[data-v-aea88d27]{background:#e74c3c;color:#fff}.error-message[data-v-aea88d27]{background:#ff6b6b20;border:1px solid #ff6b6b;color:#ff6b6b;padding:10px 15px;border-radius:4px;font-size:14px;margin-top:10px}.message[data-v-aea88d27]{padding:12px 15px;border-radius:4px;font-size:14px;margin-bottom:20px}.message.success[data-v-aea88d27]{background:#27ae6020;border:1px solid #27ae60;color:#27ae60}.message.error[data-v-aea88d27]{background:#ff6b6b20;border:1px solid #ff6b6b;color:#ff6b6b}.form-actions[data-v-aea88d27]{display:flex;justify-content:flex-end;gap:10px}.btn-primary[data-v-aea88d27]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-primary[data-v-aea88d27]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-aea88d27]:disabled{opacity:.5;cursor:not-allowed}.theme-toggle[data-v-aea88d27]{margin-top:10px}.theme-toggle label[data-v-aea88d27]{display:block;font-size:14px;font-weight:500;margin-bottom:10px;color:var(--text-primary)}.toggle-buttons[data-v-aea88d27]{display:flex;gap:10px}.theme-btn[data-v-aea88d27]{flex:1;padding:12px 20px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.theme-btn[data-v-aea88d27]:hover{border-color:#667eea;color:var(--text-primary)}.theme-btn.active[data-v-aea88d27]{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;font-weight:600}
