.events-debug[data-v-d3ae720a]{color:#0f0;z-index:99999;background:#000000e6;border-radius:8px;min-width:250px;padding:10px;font-family:monospace;font-size:12px;position:fixed;bottom:10px;right:10px;box-shadow:0 4px 8px #00000080}.debug-header[data-v-d3ae720a]{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:8px;font-weight:700}.debug-content div[data-v-d3ae720a]{word-break:break-all;margin:4px 0}.test-btn[data-v-d3ae720a]{color:#000;cursor:pointer;background:#0f0;border:none;border-radius:4px;width:100%;margin-top:8px;padding:6px 12px;font-weight:700}.test-btn[data-v-d3ae720a]:active{background:#0a0}.success[data-v-d3ae720a]{color:#0f0;background:#0f03;border-radius:4px;margin-top:8px;padding:4px}.error[data-v-d3ae720a]{color:red;background:#f003;border-radius:4px;margin-top:8px;padding:4px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.top-nav{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:0}.nav-content{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex}.nav-left{align-items:center;gap:2rem;display:flex}.nav-links{gap:1.5rem;display:flex}.nav-link{color:var(--text-secondary);font-size:.95rem;text-decoration:none;transition:color .2s}.nav-link:hover{color:var(--text-primary)}.nav-link.router-link-active{color:#8cf;font-weight:600}.nav-brand{color:#8cf;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.nav-brand:hover{color:#b3d9ff}.nav-brand-logo{border-radius:8px;width:28px;height:28px}.nav-right{align-items:center;gap:1rem;display:flex}.user-info{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.role-badge{text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.role-admin{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.role-manager{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.role-validator{color:#1a1a1a;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.role-viewer{color:#aaa;background:#444}.btn-profile{background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;margin-right:8px;padding:6px 16px;font-size:.9rem;text-decoration:none;transition:background .2s}.btn-profile:hover{background:var(--border-color)}.btn-logout{background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;padding:6px 16px;font-size:.9rem;transition:background .2s}.btn-logout:hover{background:var(--border-color)}.hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px;display:none}.hamburger span{background:var(--text-primary);width:24px;height:2px;transition:all .3s}.mobile-user-section{display:none}@media (width<=768px){.hamburger{display:flex}.nav-content{padding:1rem}.nav-right{display:none}.nav-links{background:var(--bg-secondary);z-index:1000;flex-direction:column;gap:.5rem;width:80%;max-width:300px;height:100vh;padding:5rem 1.5rem 1.5rem;transition:left .3s;position:fixed;top:0;left:-100%;box-shadow:2px 0 10px #00000080}.nav-links.mobile-open{left:0}.nav-link{border-radius:6px;padding:1rem;font-size:1rem}.nav-link:hover{background:#ffffff0d}.mobile-user-section{border-top:1px solid #333;flex-direction:column;gap:.5rem;margin-top:2rem;padding-top:1.5rem;display:flex}.mobile-user-info{background:var(--bg-tertiary);border-radius:6px;flex-direction:column;gap:.5rem;margin-bottom:.5rem;padding:1rem;display:flex}.user-email{color:var(--text-secondary);word-break:break-all;font-size:.9rem}.logout-link{background:var(--bg-tertiary);color:var(--text-primary);text-align:left;border:none;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);text-align:left;padding:8px}th{background:var(--bg-secondary)}.pill{border-radius:4px;padding:3px 8px;font-size:.85rem;font-weight:500;display:inline-block}.pill-live{color:#c6f6c6;background:#155b1a}.pill-stale{color:#fff4c2;background:#7c5c0a}.pill-off{color:#ddd;background:#444}.pill-down{color:#ffd4d4;background:#5a0b0b}.pill-flight-yes{color:#d0e4ff;background:#134074}.pill-flight-no{color:#ddd;background:#444}.pill-light-day{color:#e6ffe6;background:#1c5f2a}.pill-light-twilight{color:#e0ddff;background:#44416b}.pill-light-night{color:#bfdbfe;background:#111827}.pill-light-unknown{color:#ddd;background:#444}.downtime-short{color:#e6ffe6;background:#2d5a27}.downtime-medium{color:#fff3d6;background:#8a5a14}.downtime-long{color:#ffd6d6;background:#7a1414}.downtime-unknown{color:#ddd;background:#444}.mini-timeline[data-v-926db2d4]{width:100%;min-width:200px}.mini-timeline svg[data-v-926db2d4]{border:1px solid #333;border-radius:4px;display:block;overflow:hidden}.no-data-mini[data-v-926db2d4]{text-align:center;color:#666;padding:10px;font-size:.9em}.dashboard[data-v-4ed934fc]{padding:0}header[data-v-4ed934fc]{background:#000;border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}h1[data-v-4ed934fc]{margin:0;font-size:1.5rem}.timeline-controls[data-v-4ed934fc]{align-items:center;gap:.5rem;display:flex}.timeline-controls label[data-v-4ed934fc]{color:#aaa;font-size:.9rem;font-weight:500}.timeline-controls select[data-v-4ed934fc]{color:#fff;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:4px;outline:none;padding:.4rem .6rem;font-size:.9rem}.timeline-controls select[data-v-4ed934fc]:hover{border-color:#555}.timeline-controls select[data-v-4ed934fc]:focus{border-color:#8cf}main[data-v-4ed934fc]{padding:1.5rem 2rem}table[data-v-4ed934fc]{border-collapse:collapse;table-layout:fixed;background:#1a1a1a;width:100%;margin-top:.5rem;font-size:.9rem}thead[data-v-4ed934fc]{background:#000}th[data-v-4ed934fc],td[data-v-4ed934fc]{padding:6px 8px;font-size:.9rem}th[data-v-4ed934fc]{color:#fff;text-align:left;border-bottom:2px solid #333;font-weight:600}.col-stats[data-v-4ed934fc]{text-align:center;width:50px}.col-stream[data-v-4ed934fc]{width:80px}.col-inflight[data-v-4ed934fc]{text-align:center;width:80px}.col-course[data-v-4ed934fc]{width:300px}.col-timeline[data-v-4ed934fc]{width:auto}.inflight-count[data-v-4ed934fc]{text-align:center;border-radius:12px;min-width:24px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}tbody tr[data-v-4ed934fc]{border-bottom:1px solid #333}tbody tr[data-v-4ed934fc]:hover{background:#222}td[data-v-4ed934fc]{vertical-align:middle}a[data-v-4ed934fc]{color:#8cf;text-decoration:none}a[data-v-4ed934fc]:hover{color:#b3d9ff;text-decoration:underline}.stats-link[data-v-4ed934fc]{display:inline-block}.stats-icon[data-v-4ed934fc]{width:16px;height:14px;display:inline-block;position:relative}.stats-bar[data-v-4ed934fc]{background:#ddd;border-radius:1px;width:3px;position:absolute;bottom:0}.stats-bar-1[data-v-4ed934fc]{height:4px;left:1px}.stats-bar-2[data-v-4ed934fc]{height:8px;left:6px}.stats-bar-3[data-v-4ed934fc]{height:12px;left:11px}.stats-bar[data-v-4ed934fc]:hover{transform:scale(1.1)}.pill[data-v-4ed934fc]{text-transform:uppercase;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.pill-flight-yes[data-v-4ed934fc]{color:#fff;background:#4caf50}.pill-flight-no[data-v-4ed934fc]{color:#fff;background:#666}header[data-v-c00a1078]{background:#000;border-bottom:1px solid #333;padding:1rem 2rem}h1[data-v-c00a1078]{font-size:1.5rem}main[data-v-c00a1078]{padding:1.5rem 2rem}h2[data-v-c00a1078]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.2rem}.stats-link[data-v-c00a1078]{display:inline-block}.stats-icon[data-v-c00a1078]{width:16px;height:14px;display:inline-block;position:relative}.stats-bar[data-v-c00a1078]{background:#ddd;border-radius:1px;width:3px;position:absolute;bottom:0}.stats-bar-1[data-v-c00a1078]{height:4px;left:1px}.stats-bar-2[data-v-c00a1078]{height:8px;left:6px}.stats-bar-3[data-v-c00a1078]{height:12px;left:11px}.events-box[data-v-c00a1078]{background:#151515;border-top:1px solid #333;margin-top:2rem;padding:1rem}.events-log[data-v-c00a1078]{white-space:pre-wrap;background:#000;border:1px solid #333;max-height:250px;margin-bottom:1rem;padding:.5rem;font-family:monospace;font-size:.8rem;overflow-y:auto}table[data-v-c00a1078]{margin-top:.5rem}th[data-v-c00a1078],td[data-v-c00a1078]{padding:6px 8px;font-size:.9rem}.pill-role-admin[data-v-c00a1078]{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.pill-role-manager[data-v-c00a1078]{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.pill-role-validator[data-v-c00a1078]{color:#0f1a2b;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.pill-role-viewer[data-v-c00a1078]{color:#d9d9d9;background:#2a2a2a}.status-panel[data-v-6ee67051]{margin-bottom:2rem}.status-header[data-v-6ee67051]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1.2rem;display:flex}.status-header[data-v-6ee67051]:hover{color:#4caf50}.toggle-icon[data-v-6ee67051]{width:1rem;font-size:.9rem;display:inline-block}pre[data-v-6ee67051]{background:#000;border:1px solid #333;margin-top:.5rem;padding:1rem;font-size:.85rem;overflow-x:auto}.frame-panel[data-v-5eb5bf3d]{margin-bottom:2rem}.frame-header[data-v-5eb5bf3d]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}h2[data-v-5eb5bf3d]{margin:0;font-size:1.2rem}.status-badges[data-v-5eb5bf3d]{flex-wrap:wrap;gap:.5rem;display:flex}.badge[data-v-5eb5bf3d]{white-space:nowrap;border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:500}.badge-in-flight[data-v-5eb5bf3d]{color:#fff;background:#4caf50;animation:2s infinite pulse-5eb5bf3d}.badge-idle[data-v-5eb5bf3d]{color:#ccc;background:#555}.badge-info[data-v-5eb5bf3d]{color:#fff;background:#2196f3}.badge-warning[data-v-5eb5bf3d]{color:#fff;background:#ff9800}.badge-stream-ok[data-v-5eb5bf3d]{color:#fff;background:#4caf50}.badge-stream-stale[data-v-5eb5bf3d]{color:#fff;background:#ff9800}.badge-stream-error[data-v-5eb5bf3d]{color:#fff;background:#f44336;animation:2s infinite pulse-5eb5bf3d}@keyframes pulse-5eb5bf3d{0%,to{opacity:1}50%{opacity:.7}}.badge-stream-toggle[data-v-5eb5bf3d]{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;background:#7c4dff;transition:background .2s}.badge-stream-toggle[data-v-5eb5bf3d]:hover{background:#651fff}.badge-fps[data-v-5eb5bf3d]{color:#b0bec5;background:#455a64}.frame-panel img[data-v-5eb5bf3d],.frame-panel canvas[data-v-5eb5bf3d]{border:1px solid #333;max-width:100%;height:auto;display:block}.no-frame[data-v-5eb5bf3d]{text-align:center;color:#666;border:1px solid #333;padding:2rem}.flights-panel[data-v-2690da2d]{margin-bottom:2rem}h2[data-v-2690da2d]{margin-bottom:.5rem;font-size:1.2rem}.flights-table-container[data-v-2690da2d]{overflow-x:auto}tr.in-progress[data-v-2690da2d]{background:#4caf501a;border-left:3px solid #4caf50}tr.clickable-row[data-v-2690da2d]{cursor:pointer}tr.clickable-row[data-v-2690da2d]:hover{background:#ffffff0d}.no-data[data-v-2690da2d]{text-align:center;color:#666;border:1px solid #333;padding:2rem}.btn-sm[data-v-2690da2d]{color:#fff;cursor:pointer;background:#134074;border:none;border-radius:3px;padding:2px 8px;font-size:.85rem}.btn-sm[data-v-2690da2d]:hover{background:#1a5a9e}.player-badge[data-v-2690da2d]{text-shadow:0 1px 2px #0000001a;text-align:center;border-radius:12px;min-width:24px;padding:4px 10px;font-size:.9rem;font-weight:600;display:inline-block}.player-change[data-v-2690da2d]{align-items:center;gap:.25rem;display:inline-flex}.player-arrow[data-v-2690da2d]{opacity:.9;font-size:1rem;font-weight:700}.player-original[data-v-2690da2d]{opacity:.7;font-size:.85em;font-weight:400}.validation-badge[data-v-2690da2d]{color:#27ae60;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:inline-flex}.validated-indicator[data-v-2690da2d]{color:#fff;background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%);border-radius:12px;margin-left:12px;padding:4px 12px;font-size:.85rem;font-weight:600;display:inline-block;box-shadow:0 2px 4px #27ae604d}.images-modal[data-v-2690da2d]{z-index:1000;background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.carousel-content[data-v-2690da2d]{background:#111;border-radius:8px;flex-direction:column;width:100%;max-width:100%;height:100vh;max-height:100vh;display:flex;position:relative;overflow:hidden}.close-btn[data-v-2690da2d]{color:#fff;cursor:pointer;z-index:10;background:#333333e6;border:none;border-radius:50%;width:40px;height:40px;font-size:2rem;line-height:1;position:absolute;top:1rem;right:1rem}.close-btn[data-v-2690da2d]:hover{background:#555555e6}.carousel-header[data-v-2690da2d]{border-bottom:1px solid #333;flex-shrink:0;padding:1.5rem 2rem}.carousel-header h3[data-v-2690da2d]{margin:0 0 1rem;font-size:1.3rem}.flight-info[data-v-2690da2d]{flex-wrap:wrap;gap:1.5rem;font-size:.9rem;display:flex}.info-item[data-v-2690da2d]{align-items:center;gap:.5rem;display:flex}.tab-navigation[data-v-2690da2d]{background:#1a1a1a;border-bottom:1px solid #333;flex-shrink:0;gap:0;display:flex}.tab-btn[data-v-2690da2d]{color:#999;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:1rem 2rem;font-size:1rem;font-weight:500;transition:all .2s}.tab-btn[data-v-2690da2d]:hover{color:#ddd;background:#ffffff0d}.tab-btn.active[data-v-2690da2d]{color:#0d7377;background:#0d73771a;border-bottom-color:#0d7377}.validation-tab-content[data-v-2690da2d]{background:#111;flex:1;padding:2rem;overflow-y:auto}.validation-form[data-v-2690da2d]{max-width:900px;margin:0 auto}.form-section[data-v-2690da2d]{background:#ffffff05;border:1px solid #333;border-radius:6px;margin-bottom:2rem;padding:1.5rem}.form-section h4[data-v-2690da2d]{color:#0d7377;margin:0 0 1rem;font-size:1.1rem}.notes-input[data-v-2690da2d]{color:#eee;resize:vertical;background:#222;border:1px solid #444;border-radius:4px;width:100%;padding:.75rem;font-family:inherit;font-size:.95rem}.notes-input[data-v-2690da2d]:focus{border-color:#0d7377;outline:none}.selected-image-name[data-v-2690da2d]{color:#999;text-align:center;background:#1a1a1a;border-top:1px solid #333;flex-shrink:0;padding:.75rem 1rem;font-family:monospace;font-size:.85rem}.carousel-main[data-v-2690da2d]{background:#000;flex:1;align-items:center;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.carousel-image-container[data-v-2690da2d]{flex:1;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.carousel-image-container img[data-v-2690da2d]{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.carousel-nav[data-v-2690da2d]{color:#fff9;cursor:pointer;z-index:5;background:#0000004d;border:none;justify-content:center;align-items:center;width:45px;height:60px;padding:0 .75rem;font-size:2rem;transition:all .2s;display:flex;position:absolute}.carousel-nav.prev[data-v-2690da2d]{border-radius:0 8px 8px 0;top:50%;left:0;transform:translateY(-50%)}.carousel-nav.next[data-v-2690da2d]{border-radius:8px 0 0 8px;top:50%;right:0;transform:translateY(-50%)}.carousel-nav[data-v-2690da2d]:hover:not(:disabled){color:#ffffffe6;background:#00000080}.carousel-nav[data-v-2690da2d]:disabled{opacity:.2;cursor:not-allowed}.carousel-thumbnails[data-v-2690da2d]{background:#0a0a0a;border-top:1px solid #333;flex-shrink:0;gap:.5rem;max-height:100px;padding:1rem;display:flex;overflow-x:auto}.thumbnail[data-v-2690da2d]{cursor:pointer;opacity:.6;border:2px solid #0000;border-radius:4px;flex-shrink:0;width:80px;height:60px;transition:border-color .2s,opacity .2s;position:relative;overflow:hidden}.thumbnail[data-v-2690da2d]:hover{opacity:.8}.thumbnail.active[data-v-2690da2d]{opacity:1}.thumbnail.during-flight[data-v-2690da2d]{border-color:#4caf50}.thumbnail.pre-flight[data-v-2690da2d]{border-color:#ff9800}.thumbnail.post-flight[data-v-2690da2d]{border-color:#9c27b0}.thumbnail.active.during-flight[data-v-2690da2d]{border-width:3px;border-color:#4caf50;box-shadow:0 0 10px #4caf5080}.thumbnail.active.pre-flight[data-v-2690da2d]{border-width:3px;border-color:#ff9800;box-shadow:0 0 10px #ff980080}.thumbnail.active.post-flight[data-v-2690da2d]{border-width:3px;border-color:#9c27b0;box-shadow:0 0 10px #9c27b080}.thumbnail-badge[data-v-2690da2d]{color:#fff;pointer-events:none;z-index:1;border-radius:3px;padding:2px 4px;font-size:9px;font-weight:700;position:absolute;top:2px;right:2px}.thumbnail-badge.pre[data-v-2690da2d]{background:#ff9800}.thumbnail-badge.post[data-v-2690da2d]{background:#9c27b0}.thumbnail img[data-v-2690da2d]{object-fit:cover;width:100%;height:100%}.carousel-counter[data-v-2690da2d]{text-align:center;color:#999;background:#0a0a0a;padding:.5rem;font-size:.9rem}.image-timestamp[data-v-2690da2d]{color:#ffffffb3;pointer-events:none;background:#00000080;border-radius:4px;padding:.35rem .75rem;font-family:monospace;font-size:.8rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.validation-section[data-v-2690da2d]{background:#ffffff05;border:1px solid #333;border-radius:6px;max-height:50vh;margin-top:1.5rem;padding:1rem;overflow-y:auto}.validation-header[data-v-2690da2d]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.validation-header h4[data-v-2690da2d]{color:#eee;margin:0;font-size:1.1rem}.validated-badge[data-v-2690da2d]{color:#fff;background:#4caf50;border-radius:12px;padding:4px 12px;font-size:.85rem;font-weight:600}.validation-controls[data-v-2690da2d]{flex-direction:column;gap:1rem;display:flex}.validation-row[data-v-2690da2d]{align-items:center;gap:1rem;display:flex}.validation-row label[data-v-2690da2d]{color:#ccc;min-width:120px;font-weight:600}.player-input[data-v-2690da2d]{color:#fff;background:#222;border:1px solid #444;border-radius:4px;width:80px;padding:.5rem;font-size:1rem}.player-input[data-v-2690da2d]:focus{border-color:#0d7377;outline:none}.detected-info[data-v-2690da2d]{color:#999;font-size:.9rem}.timing-controls[data-v-2690da2d]{flex-direction:column;align-items:stretch;gap:.75rem}.timing-item[data-v-2690da2d]{align-items:center;gap:1rem;display:flex}.set-time-btn[data-v-2690da2d]{color:#fff;cursor:pointer;white-space:nowrap;background:#0d7377;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.set-time-btn[data-v-2690da2d]:hover:not(:disabled){background:#0a5c5f}.set-time-btn[data-v-2690da2d]:disabled{color:#666;cursor:not-allowed;background:#333}.time-display[data-v-2690da2d]{color:#aaa;font-family:monospace;font-size:.9rem}.validator-input[data-v-2690da2d]{color:#fff;background:#222;border:1px solid #444;border-radius:4px;flex:1;max-width:300px;padding:.5rem;font-size:1rem}.validator-input[data-v-2690da2d]:focus{border-color:#0d7377;outline:none}.validation-buttons[data-v-2690da2d]{align-items:center;gap:1rem;display:flex}.validate-btn[data-v-2690da2d]{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background .2s}.validate-btn[data-v-2690da2d]:hover:not(:disabled){background:#45a049}.validate-btn[data-v-2690da2d]:disabled{color:#666;cursor:not-allowed;background:#333}.cancel-btn[data-v-2690da2d]{color:#fff;cursor:pointer;background:#666;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background .2s}.cancel-btn[data-v-2690da2d]:hover:not(:disabled){background:#555}.cancel-btn[data-v-2690da2d]:disabled{color:#444;cursor:not-allowed;background:#333}.validation-message[data-v-2690da2d]{color:#4caf50;background:#4caf501a;border:1px solid #4caf50;border-radius:4px;padding:.75rem}.validation-message.error[data-v-2690da2d]{color:#f44336;background:#f443361a;border-color:#f44336}.validation-history[data-v-2690da2d]{border-top:1px solid #333;margin-top:1.5rem;padding-top:1.5rem}.validation-history h4[data-v-2690da2d]{color:#fff;margin:0 0 1rem;font-size:1rem}.validation-history .no-history[data-v-2690da2d]{color:#999;text-align:center;background:#1a1a1a;border-radius:6px;padding:1rem;font-style:italic}.history-table[data-v-2690da2d]{overflow-x:auto}.history-table table[data-v-2690da2d]{border-collapse:collapse;width:100%;font-size:.85rem}.history-table th[data-v-2690da2d]{text-align:left;color:#999;background:#222;border-bottom:1px solid #444;padding:.5rem;font-weight:600}.history-table td[data-v-2690da2d]{color:#ccc;border-bottom:1px solid #333;padding:.5rem}.history-table tr[data-v-2690da2d]:hover{background:#222}.change-indicator[data-v-2690da2d]{align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.old-value[data-v-2690da2d]{color:#ff6b6b;opacity:.7;text-decoration:line-through}.new-value[data-v-2690da2d]{color:#51cf66;font-weight:600}@media (width<=768px){.carousel-header[data-v-2690da2d]{padding:1rem}.carousel-header h3[data-v-2690da2d]{font-size:1.1rem}.flight-info[data-v-2690da2d]{gap:.75rem;font-size:.85rem}.tab-btn[data-v-2690da2d]{padding:.75rem 1rem;font-size:.9rem}.validation-tab-content[data-v-2690da2d]{padding:1rem}.validation-form[data-v-2690da2d]{max-width:100%}.form-section[data-v-2690da2d]{margin-bottom:1rem;padding:1rem}.form-section h4[data-v-2690da2d]{font-size:1rem}.timing-controls[data-v-2690da2d]{flex-direction:column;gap:1rem}.timing-item[data-v-2690da2d]{width:100%}.validation-buttons[data-v-2690da2d]{flex-direction:column;gap:.5rem}.validate-btn[data-v-2690da2d],.cancel-btn[data-v-2690da2d]{width:100%}.history-table[data-v-2690da2d]{font-size:.75rem}.history-table th[data-v-2690da2d],.history-table td[data-v-2690da2d]{padding:.4rem;font-size:.75rem}.carousel-thumbnails[data-v-2690da2d]{max-height:80px;padding:.5rem}.thumbnail[data-v-2690da2d]{width:60px;height:45px}.selected-image-name[data-v-2690da2d]{text-overflow:ellipsis;white-space:nowrap;padding:.5rem;font-size:.75rem;overflow:hidden}}.timeline-panel[data-v-5130e8e7]{width:100%;margin-bottom:1rem}h2[data-v-5130e8e7]{margin-bottom:.5rem;font-size:1.2rem}.timeline-container[data-v-5130e8e7]{box-sizing:border-box;background:#000;border:1px solid #333;width:100%;padding:10px}.timeline-svg-wrapper[data-v-5130e8e7]{width:100%;height:120px;position:relative}.timeline-svg-wrapper svg[data-v-5130e8e7]{width:100%;height:100%;display:block}.timeline-labels[data-v-5130e8e7]{width:100%;height:30px;margin-top:-10px;position:relative}.time-label[data-v-5130e8e7]{color:#999;white-space:nowrap;font-family:monospace;font-size:11px;position:absolute;transform:translate(-50%)}.time-label[data-v-5130e8e7]:before{content:"";background:#666;width:1px;height:5px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.no-data[data-v-5130e8e7]{text-align:center;color:#666;border:1px solid #333;padding:2rem}@media (width<=768px){.timeline-container[data-v-5130e8e7]{padding:15px 8px}.timeline-svg-wrapper[data-v-5130e8e7]{height:140px}.time-label[data-v-5130e8e7]{font-size:12px}h2[data-v-5130e8e7]{font-size:1rem}}@media (width<=480px){.timeline-svg-wrapper[data-v-5130e8e7]{height:160px}.timeline-labels[data-v-5130e8e7]{height:35px}.time-label[data-v-5130e8e7]{font-size:13px}}.histogram-panel[data-v-8a41db59]{margin-bottom:2rem}h2[data-v-8a41db59]{margin-bottom:.5rem;font-size:1.2rem}.histogram-container[data-v-8a41db59]{width:100%;overflow-x:auto}.histogram[data-v-8a41db59]{background:#1a1a1a;border-radius:4px;align-items:flex-end;gap:4px;min-width:800px;height:200px;padding:1rem .5rem;display:flex}.bar-container[data-v-8a41db59]{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.bar-stack[data-v-8a41db59]{flex-direction:column;align-items:stretch;width:100%;margin-top:auto;display:flex;position:relative}.bar-segment[data-v-8a41db59]{cursor:pointer;width:100%;transition:opacity .2s}.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]{color:#fff;text-shadow:0 1px 2px #000c;z-index:1;pointer-events:none;font-size:.75rem;font-weight:700;position:absolute;top:4px;left:50%;transform:translate(-50%)}.label[data-v-8a41db59]{color:#aaa;text-align:center;white-space:nowrap;margin-top:4px;font-size:.7rem}.no-data[data-v-8a41db59]{text-align:center;color:#666;padding:2rem}.throughput-panel[data-v-cb23dea7]{margin-bottom:2rem}.panel-header[data-v-cb23dea7]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1.2rem;display:flex}.panel-header[data-v-cb23dea7]:hover{color:#4caf50}.toggle-icon[data-v-cb23dea7]{width:1rem;font-size:.9rem;display:inline-block}.target-label[data-v-cb23dea7]{color:#888;margin-left:auto;font-size:.8rem;font-weight:400}.panel-body[data-v-cb23dea7]{margin-top:.5rem}.loading[data-v-cb23dea7],.error[data-v-cb23dea7],.no-data[data-v-cb23dea7]{color:#888;padding:1rem;font-size:.9rem}.error[data-v-cb23dea7]{color:#e57373}.period-selector[data-v-cb23dea7]{gap:.5rem;margin-bottom:.75rem;display:flex}.period-btn[data-v-cb23dea7]{color:#ccc;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:3px;padding:.25rem .75rem;font-size:.8rem}.period-btn[data-v-cb23dea7]:hover{border-color:#555}.period-btn.active[data-v-cb23dea7]{color:#4caf50;border-color:#4caf50}.table-wrapper[data-v-cb23dea7]{max-width:100%;overflow-x:auto}.fps-table[data-v-cb23dea7]{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.78rem}.fps-table th[data-v-cb23dea7],.fps-table td[data-v-cb23dea7]{text-align:center;border:1px solid #222;padding:.2rem .35rem}.step-col[data-v-cb23dea7]{white-space:nowrap;color:#ccc;min-width:100px;text-align:left!important}.bucket-col[data-v-cb23dea7]{min-width:38px;font-size:.72rem}.total-col[data-v-cb23dea7]{min-width:54px;font-weight:600}.pct-col[data-v-cb23dea7]{min-width:54px}.count-cell.ok[data-v-cb23dea7]{color:#81c784;background:#1b3a1f}.count-cell.warn[data-v-cb23dea7]{color:#ffca28;background:#3a2e0a}.count-cell.bad[data-v-cb23dea7]{color:#e57373;background:#3a0e0e}.count-cell.missing[data-v-cb23dea7]{color:#444;background:#111}.count-cell.night[data-v-cb23dea7]{color:#333;background:#0d0d0d;font-style:italic}.health-ok[data-v-cb23dea7]{color:#81c784}.health-warn[data-v-cb23dea7]{color:#ffca28}.health-bad[data-v-cb23dea7]{color:#e57373}.health-unknown[data-v-cb23dea7]{color:#555}.legend[data-v-cb23dea7]{flex-wrap:wrap;gap:1rem;margin-top:.5rem;font-size:.75rem;display:flex}.legend-item[data-v-cb23dea7]{align-items:center;gap:.25rem;display:flex}.legend-item[data-v-cb23dea7]:before{content:"■";font-size:.9rem}.legend-item.ok[data-v-cb23dea7]:before{color:#81c784}.legend-item.warn[data-v-cb23dea7]:before{color:#ffca28}.legend-item.bad[data-v-cb23dea7]:before{color:#e57373}.legend-item.missing[data-v-cb23dea7]:before{color:#444}.refresh-note[data-v-cb23dea7]{color:#555;margin-top:.5rem;font-size:.72rem}.chart-section[data-v-cb23dea7]{border-top:1px solid #1a1a1a;margin-top:1rem;padding-top:.75rem}.chart-title[data-v-cb23dea7]{color:#888;margin-bottom:.4rem;font-size:.75rem}.health-chart[data-v-cb23dea7]{background:#0a0a0a;border-radius:3px;width:100%;height:120px;display:block;overflow:visible}.guide-line[data-v-cb23dea7]{stroke-width:1px;stroke-dasharray:3 3}.guide-ok[data-v-cb23dea7]{stroke:#1b3a1f}.guide-warn[data-v-cb23dea7]{stroke:#3a2e0a}.chart-line[data-v-cb23dea7]{stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.chart-legend[data-v-cb23dea7]{color:#aaa;flex-wrap:wrap;gap:.75rem;margin-top:.4rem;font-size:.72rem;display:flex}.chart-legend-item[data-v-cb23dea7]{align-items:center;gap:4px;display:flex}.chart-legend-swatch[data-v-cb23dea7]{border-radius:2px;flex-shrink:0;width:12px;height:3px}header[data-v-14fd1dd9]{background:var(--bg-primary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}h1[data-v-14fd1dd9]{color:var(--text-primary);font-size:1.5rem}.header-controls[data-v-14fd1dd9]{align-items:center;gap:1.5rem;display:flex}.date-selector input[data-v-14fd1dd9]{background:var(--input-bg);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;margin-left:.5rem;padding:.5rem}.nav-links a[data-v-14fd1dd9]{margin-left:1rem}main[data-v-14fd1dd9]{padding:1.5rem 2rem}.uptime-calendar-container[data-v-cb1486cf]{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1.5rem}.calendar-legend[data-v-cb1486cf]{border-bottom:1px solid #333;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.legend-label[data-v-cb1486cf]{color:#999;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.legend-items[data-v-cb1486cf]{flex-wrap:wrap;gap:1rem;display:flex}.legend-item[data-v-cb1486cf]{align-items:center;gap:.4rem;display:flex}.legend-box[data-v-cb1486cf]{border:1px solid #555;border-radius:2px;width:18px;height:18px}.legend-text[data-v-cb1486cf]{color:#999;font-size:.75rem;font-weight:500}.calendar[data-v-cb1486cf]{margin-top:10px;overflow-x:auto}.calendar svg[data-v-cb1486cf]{max-width:100%;height:auto}.loading[data-v-cb1486cf],.error[data-v-cb1486cf],.empty-state[data-v-cb1486cf]{text-align:center;color:#666;padding:20px}.error[data-v-cb1486cf]{color:#f44}.empty-state p[data-v-cb1486cf]{color:#ccc;margin:10px 0}.empty-state .help-text[data-v-cb1486cf]{color:#999;font-size:14px;font-style:italic}.tooltip[data-v-cb1486cf]{color:#fff;pointer-events:none;z-index:1000;background:#0a0e27;border:1px solid #4a9fd8;border-radius:6px;min-width:200px;padding:12px;font-size:13px;position:fixed;box-shadow:0 4px 12px #0009}.tooltip strong[data-v-cb1486cf]{color:#4a9fd8;border-bottom:1px solid #4a9fd84d;margin-bottom:8px;padding-bottom:6px;font-size:14px;display:block}.tooltip-metric[data-v-cb1486cf]{justify-content:space-between;margin:4px 0;display:flex}.tooltip-metric .label[data-v-cb1486cf]{color:#999}.tooltip-metric .value[data-v-cb1486cf]{color:#ccc;font-weight:600}.tooltip .detail-btn[data-v-cb1486cf]{color:#fff;cursor:pointer;pointer-events:auto;background:#4a9fd8;border:none;border-radius:4px;width:100%;margin-top:10px;padding:6px 12px;font-size:12px;transition:background .2s}.tooltip .detail-btn[data-v-cb1486cf]:hover{background:#3a8fc8}.modal-overlay[data-v-cb1486cf]{z-index:2000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-cb1486cf]{color:#ccc;background:#1a1a1a;border:1px solid #333;border-radius:8px;flex-direction:column;width:90%;max-width:600px;max-height:80vh;display:flex;box-shadow:0 8px 32px #0009}.modal-header[data-v-cb1486cf]{border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-header h3[data-v-cb1486cf]{color:#4a9fd8;margin:0;font-size:18px}.close-btn[data-v-cb1486cf]{color:#999;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:32px;line-height:1;display:flex}.close-btn[data-v-cb1486cf]:hover{color:#ccc}.modal-body[data-v-cb1486cf]{padding:20px;overflow-y:auto}.summary-stats[data-v-cb1486cf]{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px;display:grid}.stat-card[data-v-cb1486cf]{text-align:center;background:#0a0e27;border:1px solid #333;border-radius:6px;padding:15px}.stat-label[data-v-cb1486cf]{color:#999;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;font-size:12px}.stat-value[data-v-cb1486cf]{color:#4a9fd8;font-size:24px;font-weight:600}.episodes-list h4[data-v-cb1486cf]{color:#ccc;margin:0 0 15px;font-size:16px}.episode-item[data-v-cb1486cf]{color:#ccc;background:#0a0e27;border-left:3px solid #f44;border-radius:4px;margin-bottom:10px;padding:12px}.episode-timeline[data-v-cb1486cf]{margin:8px 0}.timeline-viz[data-v-cb1486cf]{margin:0 auto;display:block}.episode-time[data-v-cb1486cf]{color:#ccc;margin-bottom:6px;font-size:14px}.episode-time .ongoing[data-v-cb1486cf]{color:#f44;font-weight:600}.episode-time .multi-day[data-v-cb1486cf]{color:#f80;font-size:12px;font-style:italic}.episode-details[data-v-cb1486cf]{color:#999;gap:15px;font-size:13px;display:flex}.episode-details .duration[data-v-cb1486cf]{color:#ccc;font-weight:600}.episode-details .reason[data-v-cb1486cf]{font-style:italic}.episode-error[data-v-cb1486cf]{color:#999;background:#0a0e27;border:1px solid #333;border-radius:3px;margin-top:8px;padding:6px;font-family:monospace;font-size:12px}.no-episodes[data-v-cb1486cf]{text-align:center;color:#999;padding:30px;font-style:italic}header[data-v-1c2706e1]{background:#000;border-bottom:1px solid #333;padding:1rem 2rem}h1[data-v-1c2706e1]{font-size:1.5rem}main[data-v-1c2706e1]{max-width:1600px;margin:0 auto;padding:2rem}.loading[data-v-1c2706e1],.error[data-v-1c2706e1]{text-align:center;padding:2rem;font-size:1.1rem}.stats-section h2[data-v-1c2706e1]{border-bottom:2px solid #333;padding-bottom:.5rem}.date-range-selector[data-v-1c2706e1]{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1.5rem}.date-controls[data-v-1c2706e1]{flex-wrap:wrap;align-items:flex-start;gap:2rem;margin-bottom:1rem;display:flex}.preset-buttons[data-v-1c2706e1]{flex-wrap:wrap;gap:.5rem;display:flex}.preset-buttons button[data-v-1c2706e1]{color:#999;cursor:pointer;background:#0a0e27;border:1px solid #333;border-radius:6px;padding:.6rem 1rem;font-size:.9rem;transition:all .2s}.preset-buttons button[data-v-1c2706e1]:hover{color:#ccc;background:#222;border-color:#4a9fd8}.preset-buttons button.active[data-v-1c2706e1]{color:#fff;background:#4a9fd8;border-color:#4a9fd8;font-weight:600}.custom-dates[data-v-1c2706e1]{align-items:center;gap:1rem;display:flex}.custom-dates label[data-v-1c2706e1]{color:#999;flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.custom-dates input[type=date][data-v-1c2706e1]{color:#ccc;background:#0a0e27;border:1px solid #333;border-radius:4px;padding:.5rem;font-size:.9rem}.custom-dates input[type=date][data-v-1c2706e1]:focus{border-color:#4a9fd8;outline:none}.date-range-display[data-v-1c2706e1]{color:#999;border-top:1px solid #333;padding-top:.5rem;font-size:.9rem}.date-range-display strong[data-v-1c2706e1]{color:#4a9fd8;font-weight:600}main[data-v-1c2706e1]{padding:1.5rem 2rem}.loading[data-v-1c2706e1],.error[data-v-1c2706e1]{text-align:center;padding:2rem}.error[data-v-1c2706e1]{color:#f44}.stats-section[data-v-1c2706e1]{margin-bottom:3rem}h2[data-v-1c2706e1]{border-bottom:2px solid #333;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.3rem}.section-description[data-v-1c2706e1]{color:#999;margin-bottom:1rem;font-size:.85rem;font-style:italic}h3[data-v-1c2706e1]{margin-bottom:.75rem;font-size:1.1rem}.calendar-container[data-v-1c2706e1]{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1.5rem}.calendar-legend[data-v-1c2706e1]{color:#999;align-items:center;gap:1rem;margin-bottom:1.5rem;font-size:.85rem;display:flex}.legend-label[data-v-1c2706e1]{color:#ccc;font-weight:600}.legend-items[data-v-1c2706e1]{align-items:center;gap:1.5rem;display:flex}.legend-item[data-v-1c2706e1]{align-items:center;gap:.5rem;display:flex}.legend-box[data-v-1c2706e1]{border:1px solid #555;border-radius:2px;width:18px;height:18px}.legend-text[data-v-1c2706e1]{color:#999;font-size:.75rem;font-weight:500}.d3-calendar[data-v-1c2706e1]{flex-direction:column;gap:2rem;display:flex}.year-group[data-v-1c2706e1]{align-items:flex-start;gap:1rem;display:flex}.year-row[data-v-1c2706e1]{align-items:flex-start;gap:1rem;width:100%;display:flex}.year-label[data-v-1c2706e1]{color:#ccc;text-align:right;min-width:35px;padding-top:.5rem;font-size:.9rem;font-weight:600}.calendar-wrapper[data-v-1c2706e1]{align-items:flex-start;gap:.75rem;display:flex}.weekday-labels-column[data-v-1c2706e1]{flex-direction:column;justify-content:flex-start;gap:2px;display:flex}.month-label-spacer[data-v-1c2706e1]{min-width:18px;height:1.8rem}.weekday-label-cell[data-v-1c2706e1]{color:#999;text-align:center;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:600;display:flex}.months-grid[data-v-1c2706e1]{flex-wrap:wrap;gap:1.5rem;display:flex}.month[data-v-1c2706e1]{flex-direction:column;gap:.4rem;display:flex}.month-label[data-v-1c2706e1]{color:#999;text-transform:uppercase;text-align:center;justify-content:center;align-items:center;height:1.8rem;font-size:.75rem;font-weight:600;display:flex}.weeks-columns[data-v-1c2706e1]{gap:2px;display:flex}.week-column[data-v-1c2706e1]{flex-direction:column;gap:2px;display:flex}.day-cell[data-v-1c2706e1]{cursor:pointer;color:#333;border:1px solid #555;border-radius:2px;justify-content:center;align-items:center;width:18px;height:18px;font-size:.5rem;font-weight:700;transition:all .2s;display:flex}.day-cell.empty[data-v-1c2706e1]{cursor:default;border:none;background:0 0!important}.day-cell[data-v-1c2706e1]:hover:not(.empty){stroke:2px solid #fff;box-shadow:0 0 4px #fff6}.day-number[data-v-1c2706e1]{font-size:.5rem;font-weight:700}.flight-details-tooltip[data-v-1c2706e1]{z-index:1000;pointer-events:none;background:#0a0e27;border:1px solid #4a9fd8;border-radius:6px;padding:.75rem 1rem;position:fixed;box-shadow:0 4px 12px #0009}.tooltip-content[data-v-1c2706e1]{white-space:nowrap}.tooltip-date[data-v-1c2706e1]{color:#4a9fd8;margin-bottom:.25rem;font-size:.85rem;font-weight:600}.tooltip-flights[data-v-1c2706e1]{color:#ccc;font-size:.75rem}.summary-tabs[data-v-1c2706e1]{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.summary-tabs button[data-v-1c2706e1]{color:#999;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.summary-tabs button[data-v-1c2706e1]:hover{color:#ccc;background:#222;border-color:#4a9fd8}.summary-tabs button.active[data-v-1c2706e1]{color:#fff;background:#4a9fd8;border-color:#4a9fd8;font-weight:600}.summary-unified[data-v-1c2706e1]{background:#1a1a1a;border:1px solid #333;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1.5rem;display:grid}.summary-periods[data-v-1c2706e1]{flex-direction:column;gap:2rem;display:flex}.summary-group[data-v-1c2706e1]{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1.5rem}.summary-group h3[data-v-1c2706e1]{color:#4a9fd8;margin-bottom:1rem;font-size:1.1rem}.summary-grid[data-v-1c2706e1]{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.summary-card[data-v-1c2706e1]{text-align:center;background:#0a0e27;border:1px solid #333;border-radius:6px;padding:1rem}.summary-label[data-v-1c2706e1]{color:#999;margin-bottom:.5rem;font-size:.9rem}.summary-value[data-v-1c2706e1]{color:#4a9fd8;font-size:1.8rem;font-weight:700}.summary-subtext[data-v-1c2706e1]{color:#666;margin-top:.25rem;font-size:.75rem}.no-data[data-v-1c2706e1]{text-align:center;color:#666;border:1px solid #333;border-radius:8px;padding:2rem}table[data-v-1c2706e1]{border-collapse:collapse;width:100%;margin-top:1rem}th[data-v-1c2706e1]{text-align:left;background:#1a1a1a;border-bottom:2px solid #333;padding:1rem .75rem;font-weight:600}td[data-v-1c2706e1]{border-bottom:1px solid #2a2a2a;padding:.75rem}tbody tr[data-v-1c2706e1]:hover{background:#1a1a1a}.weekday-stats-container[data-v-1c2706e1]{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1.5rem;overflow-x:auto}.weekday-stats-table[data-v-1c2706e1]{border-collapse:collapse;width:100%;min-width:700px}.weekday-header[data-v-1c2706e1]{text-align:center;color:#4a9fd8;text-transform:uppercase;background:#0a0e27;border-bottom:2px solid #333;padding:1rem .75rem;font-size:.9rem;font-weight:600}.stat-cell[data-v-1c2706e1]{text-align:center;background:#1a1a1a;border-bottom:1px solid #2a2a2a;padding:1rem .75rem}.stat-cell[data-v-1c2706e1]:hover{background:#222}.metric-label[data-v-1c2706e1]{color:#999;text-transform:uppercase;margin-bottom:.5rem;font-size:.7rem;font-weight:600}.metric-value[data-v-1c2706e1]{color:#4a9fd8;font-size:1.3rem;font-weight:700}.metric-value.validated-count[data-v-1c2706e1]{color:#27ae60}.gap-histogram[data-v-1c2706e1]{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1.5rem}.histogram[data-v-1c2706e1]{background:#0d0d0d;border-radius:4px;justify-content:flex-start;align-items:flex-end;gap:4px;min-width:100%;height:300px;padding:2rem 0;display:flex;overflow-x:auto}.bar-container[data-v-1c2706e1]{flex-direction:column;flex:none;align-items:center;min-width:30px;height:100%;display:flex}.bar-stack[data-v-1c2706e1]{flex-direction:column;align-items:stretch;width:100%;margin-top:auto;display:flex;position:relative}.bar-segment[data-v-1c2706e1]{cursor:pointer;width:100%;transition:opacity .2s}.bar-segment[data-v-1c2706e1]:first-child{border-radius:2px 2px 0 0}.bar-segment[data-v-1c2706e1]:hover{opacity:.8}.count[data-v-1c2706e1]{color:#fff;text-shadow:0 1px 2px #00000080;font-size:.7rem;font-weight:700;position:absolute;top:4px;left:50%;transform:translate(-50%)}.bar-container .label[data-v-1c2706e1]{color:#999;text-align:center;width:100%;margin-top:.5rem;font-size:.7rem}.gap-legend[data-v-1c2706e1]{flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem;display:flex}.gap-legend .legend-item[data-v-1c2706e1]{color:#ccc;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.gap-legend .color-box[data-v-1c2706e1]{border-radius:2px;width:16px;height:16px}.residence-histogram[data-v-1c2706e1]{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1.5rem}.residence-legend[data-v-1c2706e1]{flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem;display:flex}.residence-legend .legend-item[data-v-1c2706e1]{color:#ccc;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.residence-legend .color-box[data-v-1c2706e1]{border-radius:2px;width:16px;height:16px}.modal-overlay[data-v-36a8df78]{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content[data-v-36a8df78]{background:#0a0a0a;border:1px solid #333;border-radius:8px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;overflow:hidden}.modal-header[data-v-36a8df78]{border-bottom:1px solid #333;padding:1.5rem;position:relative}.modal-header h2[data-v-36a8df78]{margin:0 0 .5rem;font-size:1.5rem}.camera-info[data-v-36a8df78]{color:#aaa;font-size:.9rem}.close-btn[data-v-36a8df78]{color:#aaa;cursor:pointer;background:0 0;border:none;width:2rem;height:2rem;padding:0;font-size:2rem;line-height:1;position:absolute;top:1rem;right:1rem}.close-btn[data-v-36a8df78]:hover{color:#fff}.modal-body[data-v-36a8df78]{padding:1.5rem;overflow-y:auto}.add-maintenance-section[data-v-36a8df78]{background:#111;border:1px solid #333;border-radius:4px;margin-bottom:2rem;padding:1.5rem}.add-maintenance-section h3[data-v-36a8df78]{margin:0 0 1rem;font-size:1.1rem}.maintenance-form[data-v-36a8df78]{flex-direction:column;gap:1rem;display:flex}.form-row[data-v-36a8df78]{flex-wrap:wrap;gap:1rem;display:flex}.form-row label[data-v-36a8df78]{flex-direction:column;flex:1;gap:.5rem;min-width:200px;display:flex}.form-row label.full-width[data-v-36a8df78]{flex:100%}.form-row span[data-v-36a8df78]{color:#aaa;font-size:.9rem}.form-row select[data-v-36a8df78],.form-row input[data-v-36a8df78],.form-row textarea[data-v-36a8df78]{color:#fff;background:#1a1a1a;border:1px solid #333;border-radius:4px;padding:.5rem;font-family:inherit;font-size:.9rem}.form-row select[data-v-36a8df78]:focus,.form-row input[data-v-36a8df78]:focus,.form-row textarea[data-v-36a8df78]:focus{border-color:#8cf;outline:none}.btn-submit[data-v-36a8df78]{color:#000;cursor:pointer;background:#8cf;border:none;border-radius:4px;align-self:flex-start;padding:.75rem 1.5rem;font-weight:600}.btn-submit[data-v-36a8df78]:hover:not(:disabled){background:#7be}.btn-submit[data-v-36a8df78]:disabled{opacity:.5;cursor:not-allowed}.history-section h3[data-v-36a8df78]{margin:0 0 1rem;font-size:1.1rem}.maintenance-table[data-v-36a8df78]{border-collapse:collapse;width:100%;font-size:.9rem}.maintenance-table th[data-v-36a8df78]{text-align:left;color:#fff;background:#111;border-bottom:2px solid #333;padding:.75rem;font-weight:600}.maintenance-table td[data-v-36a8df78]{border-bottom:1px solid #222;padding:.75rem}.maintenance-table tr[data-v-36a8df78]:hover{background:#111}.type-badge[data-v-36a8df78]{border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.type-mowing[data-v-36a8df78]{color:#000;background:#22c55e}.type-sanding[data-v-36a8df78]{color:#000;background:#f59e0b}.type-watering[data-v-36a8df78]{color:#fff;background:#3b82f6}.type-verticulation[data-v-36a8df78]{color:#fff;background:#dc2626}.type-flag_replacement[data-v-36a8df78]{color:#000;background:#8cf}.type-aeration[data-v-36a8df78]{color:#fff;background:#a855f7}.type-fertilization[data-v-36a8df78]{color:#000;background:#84cc16}.type-other[data-v-36a8df78]{color:#fff;background:#6b7280}.notes[data-v-36a8df78]{color:#aaa;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.85rem;overflow:hidden}.btn-delete[data-v-36a8df78]{cursor:pointer;opacity:.6;background:0 0;border:none;padding:.25rem;font-size:1.2rem}.btn-delete[data-v-36a8df78]:hover{opacity:1}.loading[data-v-36a8df78],.error[data-v-36a8df78],.no-data[data-v-36a8df78]{text-align:center;color:#aaa;padding:2rem}.error[data-v-36a8df78]{color:#dc2626}.load-over-time-chart[data-v-1173f420]{background:#1a1a1a;border:1px solid #333;border-radius:8px;margin:2rem 0;padding:1.5rem}.chart-header[data-v-1173f420]{margin-bottom:1rem}.chart-header h3[data-v-1173f420]{color:#fff;margin:0 0 .5rem;font-size:1.25rem}.chart-description[data-v-1173f420]{color:#aaa;margin:0;font-size:.9rem}.chart-container[data-v-1173f420]{width:100%;min-height:400px;position:relative}canvas[data-v-1173f420]{width:100%;display:block}.loading[data-v-1173f420],.error[data-v-1173f420],.no-data[data-v-1173f420]{text-align:center;color:#aaa;padding:3rem;font-size:1rem}.error[data-v-1173f420]{color:#ef4444}.greenkeeper[data-v-47df8c82]{padding:0}header[data-v-47df8c82]{background:#000;border-bottom:1px solid #333;padding:1.5rem 2rem}h1[data-v-47df8c82]{margin:0 0 1rem;font-size:1.5rem}.controls[data-v-47df8c82],.date-range-selector[data-v-47df8c82]{flex-direction:column;gap:1rem;display:flex}.preset-buttons[data-v-47df8c82]{flex-wrap:wrap;gap:.5rem;display:flex}.preset-btn[data-v-47df8c82]{color:#aaa;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.preset-btn[data-v-47df8c82]:hover{color:#fff;background:#222}.preset-btn.active[data-v-47df8c82]{color:#000;background:#8cf;border-color:#8cf;font-weight:600}.custom-dates[data-v-47df8c82]{flex-wrap:wrap;gap:1rem;display:flex}.custom-dates label[data-v-47df8c82]{color:#aaa;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.custom-dates input[type=date][data-v-47df8c82]{color:#fff;background:#1a1a1a;border:1px solid #333;border-radius:4px;padding:.5rem;font-size:.9rem}.custom-dates input[type=date][data-v-47df8c82]:focus{border-color:#8cf;outline:none}.date-range-display[data-v-47df8c82]{color:#aaa;padding:.5rem 0;font-size:.9rem}.date-range-display strong[data-v-47df8c82]{color:#8cf;font-weight:600}main[data-v-47df8c82]{padding:1.5rem 2rem}.loading[data-v-47df8c82],.error[data-v-47df8c82],.no-data[data-v-47df8c82]{text-align:center;color:#aaa;padding:3rem}.error[data-v-47df8c82]{color:#f87171}.error button[data-v-47df8c82]{color:#000;cursor:pointer;background:#8cf;border:none;border-radius:4px;margin-top:1rem;padding:.5rem 1rem;font-weight:600}.table-container[data-v-47df8c82]{margin-bottom:1.5rem;overflow-x:auto}table[data-v-47df8c82]{border-collapse:collapse;background:#1a1a1a;width:100%;font-size:.9rem}thead[data-v-47df8c82]{z-index:10;background:#000;position:sticky;top:0}th[data-v-47df8c82]{text-align:left;color:#fff;border-bottom:2px solid #333;padding:.75rem;font-weight:600}th.sortable[data-v-47df8c82]{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable[data-v-47df8c82]:hover{background:#222}.sort-indicator[data-v-47df8c82]{color:#8cf;margin-left:.25rem}td[data-v-47df8c82]{border-bottom:1px solid #333;padding:.75rem}tbody tr[data-v-47df8c82]:hover{background:#222}.numeric[data-v-47df8c82]{text-align:right;font-variant-numeric:tabular-nums}.load-value[data-v-47df8c82]{border-radius:4px;padding:.5rem .75rem;font-weight:700}.timestamp[data-v-47df8c82]{color:#aaa;font-size:.85rem}.time-ago[data-v-47df8c82]{color:#8cf;text-align:center;font-size:.9rem;font-weight:500}.load-critical[data-v-47df8c82]{background:#dc26260d}.load-high[data-v-47df8c82]{background:#ea580c0d}.load-medium[data-v-47df8c82]{background:#f59e0b0d}.load-low[data-v-47df8c82]{background:#22c55e05}.summary[data-v-47df8c82]{background:#1a1a1a;border:1px solid #333;border-radius:4px;gap:2rem;padding:1rem;display:flex}.summary-item[data-v-47df8c82]{flex-direction:column;gap:.25rem;display:flex}.summary-item .label[data-v-47df8c82]{color:#aaa;font-size:.85rem}.summary-item .value[data-v-47df8c82]{color:#fff;font-size:1.25rem;font-weight:600}.btn-settings[data-v-47df8c82]{color:#aaa;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:4px;align-self:flex-start;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.btn-settings[data-v-47df8c82]:hover{color:#fff;background:#222;border-color:#8cf}.settings-panel[data-v-47df8c82]{background:#111;border:1px solid #333;border-radius:4px;margin:1rem 2rem;padding:1.5rem}.settings-panel h3[data-v-47df8c82]{margin:0 0 1rem;font-size:1.1rem}.threshold-inputs[data-v-47df8c82]{flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;display:flex}.threshold-inputs label[data-v-47df8c82]{flex-direction:column;gap:.5rem;min-width:150px;display:flex}.threshold-inputs span[data-v-47df8c82]{font-size:.9rem;font-weight:600}.threshold-inputs input[data-v-47df8c82]{color:#fff;background:#1a1a1a;border:1px solid #333;border-radius:4px;width:120px;padding:.5rem;font-size:.9rem}.threshold-inputs input[data-v-47df8c82]:focus{border-color:#8cf;outline:none}.threshold-note[data-v-47df8c82]{color:#aaa;margin:0;font-size:.85rem;font-style:italic}.maintenance-cell[data-v-47df8c82]{text-align:center}.btn-maintenance[data-v-47df8c82]{cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;padding:.25rem .5rem;font-size:1.2rem;transition:all .2s}.btn-maintenance[data-v-47df8c82]:hover{background:#222;border-color:#8cf}.reset-indicator[data-v-47df8c82]{color:#8cf;margin-left:.5rem;font-size:1.1rem;font-weight:700;display:inline-block}.course-cell[data-v-47df8c82]{min-width:200px}.course-name[data-v-47df8c82]{color:#fff;margin-bottom:.25rem;font-weight:600}.course-details[data-v-47df8c82]{color:#888;font-size:.85rem}.maintenance-info[data-v-47df8c82]{color:#aaa;white-space:nowrap;font-size:.9rem}.chart-section[data-v-47df8c82]{margin-top:3rem}.chart-controls[data-v-47df8c82]{background:#1a1a1a;border:1px solid #333;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.chart-controls label[data-v-47df8c82]{color:#fff;align-items:center;gap:1rem;font-size:1rem;display:flex}.camera-selector[data-v-47df8c82]{color:#fff;background:#2a2a2a;border:1px solid #444;border-radius:4px;flex:1;max-width:500px;padding:.5rem;font-size:1rem}.camera-selector[data-v-47df8c82]:focus{border-color:#3b82f6;outline:none}.login-page[data-v-e3db8005]{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-container[data-v-e3db8005]{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 10px 40px #0003}.brand[data-v-e3db8005]{align-items:center;gap:12px;margin-bottom:20px;display:flex}.brand-logo[data-v-e3db8005]{border-radius:12px;width:44px;height:44px}.login-header h1[data-v-e3db8005]{color:#333;margin:0;font-size:28px}.login-header p[data-v-e3db8005]{color:#666;margin-bottom:30px;font-size:14px}.error-message[data-v-e3db8005]{color:#c33;background:#fee;border:1px solid #fcc;border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px}.success-message[data-v-e3db8005]{color:#3a3;background:#efe;border:1px solid #cfc;border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px}.login-form[data-v-e3db8005]{margin-bottom:30px}.email-display[data-v-e3db8005]{background:#f5f5f5;border-radius:6px;align-items:center;gap:8px;margin-bottom:20px;padding:12px;display:flex}.email-display .label[data-v-e3db8005]{color:#666;font-size:13px}.email-display .email[data-v-e3db8005]{color:#333;flex:1;font-weight:600}.btn-change[data-v-e3db8005]{color:#667eea;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px;font-weight:500;text-decoration:underline}.btn-change[data-v-e3db8005]:hover{color:#5568d3}.form-group[data-v-e3db8005]{margin-bottom:20px}.form-group label[data-v-e3db8005]{color:#333;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group input[data-v-e3db8005]{box-sizing:border-box;border:2px solid #e0e0e0;border-radius:6px;width:100%;padding:12px;font-size:14px;transition:border-color .3s}.form-group input[data-v-e3db8005]:focus{border-color:#667eea;outline:none}.form-group input[type=text][data-v-e3db8005]{text-align:center;letter-spacing:3px;font-size:24px;font-weight:600}.help-text[data-v-e3db8005]{color:#666;margin-top:8px;font-size:12px}.btn-login[data-v-e3db8005]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;width:100%;padding:14px;font-size:16px;font-weight:600;transition:transform .2s,box-shadow .2s}.btn-login[data-v-e3db8005]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn-login[data-v-e3db8005]:active:not(:disabled){transform:translateY(0)}.btn-login[data-v-e3db8005]:disabled{cursor:not-allowed;background:#ccc;transform:none}.btn-resend[data-v-e3db8005]{color:#667eea;cursor:pointer;background:0 0;border:2px solid #667eea;border-radius:6px;width:100%;margin-top:12px;padding:12px;font-size:14px;font-weight:600;transition:all .2s}.btn-resend[data-v-e3db8005]:hover:not(:disabled){background:#f5f7ff}.btn-resend[data-v-e3db8005]:disabled{color:#999;cursor:not-allowed;border-color:#ccc}.admin-users[data-v-1d73d5bf]{max-width:1400px;margin:0 auto;padding:2rem}.header[data-v-1d73d5bf]{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.header h1[data-v-1d73d5bf]{color:var(--text-primary);margin:0}.loading[data-v-1d73d5bf],.error[data-v-1d73d5bf]{text-align:center;color:var(--text-secondary);padding:2rem}.error[data-v-1d73d5bf]{color:#f44336}.users-table[data-v-1d73d5bf]{background:var(--card-bg);border-radius:8px;overflow:hidden}table[data-v-1d73d5bf]{border-collapse:collapse;width:100%}th[data-v-1d73d5bf]{background:var(--bg-secondary);color:var(--text-secondary);text-align:left;border-bottom:2px solid var(--border-color);padding:1rem;font-weight:600}td[data-v-1d73d5bf]{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:1rem}tr:hover td[data-v-1d73d5bf]{background:var(--bg-secondary)}.role-badge[data-v-1d73d5bf]{text-transform:uppercase;border-radius:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.role-admin[data-v-1d73d5bf]{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.role-manager[data-v-1d73d5bf]{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.role-validator[data-v-1d73d5bf]{color:#1a1a1a;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.role-user[data-v-1d73d5bf]{color:#aaa;background:#444}.status-badge[data-v-1d73d5bf]{border-radius:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.active[data-v-1d73d5bf]{color:#a5d6a7;background:#1b5e20}.status-badge.inactive[data-v-1d73d5bf]{color:#999;background:#444}.actions[data-v-1d73d5bf]{gap:.5rem;display:flex}.btn-primary[data-v-1d73d5bf]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;padding:10px 20px;font-weight:600;transition:transform .2s}.btn-primary[data-v-1d73d5bf]:hover{transform:translateY(-2px)}.btn-secondary[data-v-1d73d5bf]{color:#fff;cursor:pointer;background:#444;border:none;border-radius:6px;padding:10px 20px}.btn-secondary[data-v-1d73d5bf]:hover{background:#555}.btn-small[data-v-1d73d5bf]{color:#fff;cursor:pointer;background:#333;border:none;border-radius:4px;padding:6px 12px;font-size:.85rem}.btn-small[data-v-1d73d5bf]:hover{background:#444}.btn-danger[data-v-1d73d5bf]{background:#d32f2f}.btn-danger[data-v-1d73d5bf]:hover{background:#f44336}.modal-overlay[data-v-1d73d5bf]{z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-1d73d5bf]{background:var(--modal-bg);border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header[data-v-1d73d5bf]{border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2[data-v-1d73d5bf]{color:#fff;margin:0}.btn-close[data-v-1d73d5bf]{color:#999;cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1}.btn-close[data-v-1d73d5bf]:hover{color:#fff}.modal-body[data-v-1d73d5bf]{padding:1.5rem}.form-group[data-v-1d73d5bf]{margin-bottom:1.5rem}.form-group label[data-v-1d73d5bf]{color:#999;margin-bottom:.5rem;font-weight:600;display:block}.form-group input[data-v-1d73d5bf],.form-group select[data-v-1d73d5bf]{color:#fff;background:#222;border:1px solid #444;border-radius:4px;width:100%;padding:.75rem;font-size:1rem}.form-group input.readonly[data-v-1d73d5bf]{color:#999;cursor:not-allowed;background:#0f0f0f;font-family:Monaco,Courier New,monospace;font-size:.85rem}.form-group input[data-v-1d73d5bf]:focus,.form-group select[data-v-1d73d5bf]:focus{border-color:#667eea;outline:none}.info-box[data-v-1d73d5bf]{background:#667eea1a;border:1px solid #667eea4d;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.info-box strong[data-v-1d73d5bf]{color:#667eea;margin-bottom:.5rem;display:block}.info-box p[data-v-1d73d5bf]{color:#ccc;margin:0;font-size:.9rem}.help-text[data-v-1d73d5bf]{color:#999;margin-top:.5rem;font-size:.85rem}.course-select[data-v-1d73d5bf]{background:#222;border:1px solid #444;border-radius:4px;max-height:200px;padding:1rem;overflow-y:auto}.course-assignments[data-v-1d73d5bf]{background:#222;border:1px solid #444;border-radius:4px;max-height:300px;padding:1rem;overflow-y:auto}.course-assignment-item[data-v-1d73d5bf]{margin-bottom:.75rem}.course-assignment-row[data-v-1d73d5bf]{align-items:center;gap:.75rem;display:flex}.course-assignment-row input[type=checkbox][data-v-1d73d5bf]{flex-shrink:0;width:auto}.course-name-label[data-v-1d73d5bf]{color:#ccc;cursor:pointer;flex:1;margin:0;font-weight:400}.role-select[data-v-1d73d5bf]{color:#fff;background:#1a1a1a;border:1px solid #555;border-radius:4px;flex:0 0 150px;padding:.5rem;font-size:.9rem}.role-select[data-v-1d73d5bf]:focus{border-color:#667eea;outline:none}.checkbox-item[data-v-1d73d5bf]{align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.checkbox-item input[type=checkbox][data-v-1d73d5bf]{width:auto}.checkbox-item label[data-v-1d73d5bf]{color:#ccc;cursor:pointer;margin:0;font-weight:400}.courses-list[data-v-1d73d5bf]{flex-direction:column;gap:.5rem;display:flex}.course-item[data-v-1d73d5bf]{font-size:.9rem;line-height:1.4}.course-item strong[data-v-1d73d5bf]{color:#667eea;display:block}.managers-info[data-v-1d73d5bf]{color:#999;margin-top:.2rem;font-size:.85rem;font-style:italic;display:block}.text-muted[data-v-1d73d5bf]{color:#666;font-style:italic}.error-message[data-v-1d73d5bf]{color:#f44336;background:#f443361a;border:1px solid #f44336;border-radius:4px;margin-top:1rem;padding:.75rem}.modal-footer[data-v-1d73d5bf]{border-top:1px solid #333;justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}.course-management-v2[data-v-dff58da2]{max-width:1400px;margin:0 auto;padding:2rem}.header[data-v-dff58da2]{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.header h1[data-v-dff58da2]{color:var(--text-primary);margin:0}.loading[data-v-dff58da2],.error[data-v-dff58da2],.empty[data-v-dff58da2]{text-align:center;color:var(--text-secondary);padding:2rem}.error[data-v-dff58da2]{color:#f44336;background:#f443361a;border:1px solid #f44336;border-radius:4px}.course-card[data-v-dff58da2]{background:var(--card-bg);border-radius:8px;margin-bottom:1rem;padding:1.5rem}.course-header[data-v-dff58da2]{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.course-title h2[data-v-dff58da2]{color:var(--text-primary);margin:0 0 .25rem}.course-id[data-v-dff58da2]{color:var(--text-secondary);font-family:monospace;font-size:.75rem}.course-actions[data-v-dff58da2]{gap:.5rem;display:flex}.course-meta[data-v-dff58da2]{color:var(--text-secondary);gap:1.5rem;margin-bottom:1rem;font-size:.9rem;display:flex}.loops-container[data-v-dff58da2]{background:var(--bg-secondary);border-radius:6px;margin-top:1rem;padding:1rem}.section-header[data-v-dff58da2]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h3[data-v-dff58da2],.section-header h5[data-v-dff58da2]{color:var(--text-primary);margin:0}.loop-card[data-v-dff58da2]{background:var(--bg-tertiary);border-radius:6px;margin-bottom:.75rem;padding:1rem}.loop-header[data-v-dff58da2]{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.loop-title h4[data-v-dff58da2]{color:var(--text-primary);margin:0 0 .25rem}.loop-desc[data-v-dff58da2]{color:var(--text-secondary);font-size:.85rem}.loop-actions[data-v-dff58da2]{gap:.25rem;display:flex}.holes-container[data-v-dff58da2]{background:var(--bg-secondary);border-radius:4px;margin-top:.75rem;padding:.75rem}.hole-card[data-v-dff58da2]{background:var(--bg-tertiary);border-radius:4px;margin-bottom:.5rem;padding:.75rem}.hole-header[data-v-dff58da2]{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.hole-title[data-v-dff58da2]{align-items:center;gap:.75rem;display:flex}.hole-title h5[data-v-dff58da2]{color:var(--text-primary);margin:0}.status-badge[data-v-dff58da2]{border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.status-active[data-v-dff58da2]{color:#4caf50;background:#4caf5033}.status-inactive[data-v-dff58da2]{color:#f44336;background:#f4433633}.hole-actions[data-v-dff58da2]{gap:.25rem;display:flex}.hole-details[data-v-dff58da2]{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.detail-row[data-v-dff58da2]{gap:.5rem;display:flex}.detail-row .label[data-v-dff58da2]{color:var(--text-secondary);min-width:120px}.detail-row .value[data-v-dff58da2]{color:var(--text-primary)}.btn-primary[data-v-dff58da2],.btn-secondary[data-v-dff58da2],.btn-small[data-v-dff58da2],.btn-icon[data-v-dff58da2],.btn-icon-small[data-v-dff58da2]{cursor:pointer;border:none;border-radius:6px;font-weight:600;transition:all .2s}.btn-primary[data-v-dff58da2]{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:.75rem 1.5rem}.btn-primary[data-v-dff58da2]:hover:not(:disabled){transform:translateY(-2px)}.btn-primary[data-v-dff58da2]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-dff58da2]{color:#fff;background:#444;padding:.75rem 1.5rem}.btn-secondary[data-v-dff58da2]:hover{background:#555}.btn-small[data-v-dff58da2]{color:#fff;background:#667eea;padding:.5rem 1rem;font-size:.85rem}.btn-small[data-v-dff58da2]:hover{opacity:.9}.btn-icon[data-v-dff58da2],.btn-icon-small[data-v-dff58da2]{color:#fff;background:#444;width:36px;height:36px;padding:.5rem}.btn-icon-small[data-v-dff58da2]{width:28px;height:28px;padding:.25rem;font-size:.85rem}.btn-danger[data-v-dff58da2]{background:#d32f2f}.btn-danger[data-v-dff58da2]:hover{background:#f44336}.btn-icon[data-v-dff58da2]:hover,.btn-icon-small[data-v-dff58da2]:hover{background:#555}.modal-overlay[data-v-dff58da2]{z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-dff58da2]{background:#1a1a1a;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-large[data-v-dff58da2]{max-width:800px}.modal-xlarge[data-v-dff58da2]{width:95%;max-width:1100px}.modal-header[data-v-dff58da2]{border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2[data-v-dff58da2]{color:#fff;margin:0}.btn-close[data-v-dff58da2]{color:#999;cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1}.btn-close[data-v-dff58da2]:hover{color:#fff}.modal-body[data-v-dff58da2]{padding:1.5rem}.form-row[data-v-dff58da2]{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.form-group[data-v-dff58da2]{margin-bottom:1rem}.form-group label[data-v-dff58da2]{color:#999;margin-bottom:.5rem;font-weight:600;display:block}.form-group input[data-v-dff58da2],.form-group select[data-v-dff58da2],.form-group textarea[data-v-dff58da2]{color:#fff;background:#222;border:1px solid #444;border-radius:4px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem}.form-group input[data-v-dff58da2]:focus,.form-group select[data-v-dff58da2]:focus,.form-group textarea[data-v-dff58da2]:focus{border-color:#667eea;outline:none}.info-box[data-v-dff58da2]{background:#667eea1a;border:1px solid #667eea4d;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.info-box strong[data-v-dff58da2]{color:#667eea;margin-bottom:.5rem;display:block}.info-box p[data-v-dff58da2]{color:#ccc;margin:0;font-size:.9rem}.help-text[data-v-dff58da2]{color:#999;margin-top:.5rem;font-size:.85rem}.modal-footer[data-v-dff58da2]{border-top:1px solid #333;justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}.history-list[data-v-dff58da2]{flex-direction:column;gap:1rem;display:flex}.history-item[data-v-dff58da2]{background:#222;border-radius:4px;padding:1rem}.history-header[data-v-dff58da2]{align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.action-badge[data-v-dff58da2]{text-transform:uppercase;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.action-create[data-v-dff58da2]{color:#4caf50;background:#4caf5033}.action-update[data-v-dff58da2]{color:#2196f3;background:#2196f333}.action-delete[data-v-dff58da2]{color:#f44336;background:#f4433633}.history-user[data-v-dff58da2]{color:#667eea;font-weight:600}.history-date[data-v-dff58da2]{color:#999;margin-left:auto;font-size:.85rem}.history-details[data-v-dff58da2]{color:#999;font-size:.9rem}.old-value[data-v-dff58da2]{color:#f44336;text-decoration:line-through}.new-value[data-v-dff58da2]{color:#4caf50}.cameras-section[data-v-dff58da2]{background:var(--bg-secondary,#f8f9fa);border-radius:6px;margin:12px 0 16px;padding:12px}.camera-row[data-v-dff58da2]{border-bottom:1px solid var(--border-color,#e0e0e0);align-items:center;gap:12px;padding:6px 0;font-size:.875rem;display:flex}.camera-row[data-v-dff58da2]:last-child{border-bottom:none}.camera-name[data-v-dff58da2]{min-width:120px;font-weight:600}.camera-url[data-v-dff58da2]{color:#666;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.camera-holes[data-v-dff58da2],.camera-meta[data-v-dff58da2]{color:#888;white-space:nowrap}.camera-actions[data-v-dff58da2]{gap:4px;margin-left:auto;display:flex}.empty-small[data-v-dff58da2]{color:#888;padding:4px 0;font-size:.85rem}.loading-small[data-v-dff58da2]{text-align:center;color:#999;padding:1rem;font-size:.9rem}.empty-history[data-v-dff58da2]{text-align:center;color:#666;padding:2rem}.users-table[data-v-dff58da2]{margin-bottom:2rem}.users-table table[data-v-dff58da2]{border-collapse:collapse;background:var(--bg-secondary);border-radius:8px;width:100%;overflow:hidden}.users-table th[data-v-dff58da2]{background:var(--bg-tertiary);color:var(--text-secondary);text-align:left;text-transform:uppercase;padding:.75rem;font-size:.85rem;font-weight:600}.users-table td[data-v-dff58da2]{border-top:1px solid var(--border-color);color:var(--text-primary);padding:.75rem}.users-table tr:hover td[data-v-dff58da2]{background:var(--bg-tertiary)}.role-badge[data-v-dff58da2]{text-transform:uppercase;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.role-admin[data-v-dff58da2]{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.role-manager[data-v-dff58da2]{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.role-validator[data-v-dff58da2]{color:#1a1a1a;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.role-viewer[data-v-dff58da2]{color:#9e9e9e;background:#9e9e9e33}.actions[data-v-dff58da2]{gap:.5rem;display:flex}.empty-message[data-v-dff58da2]{text-align:center;color:var(--text-secondary);padding:2rem;font-style:italic}.add-user-section[data-v-dff58da2]{background:var(--bg-secondary);border-radius:8px;margin-top:2rem;padding:1.5rem}.add-user-section h3[data-v-dff58da2]{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem}.add-user-section .help-text[data-v-dff58da2]{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem;font-style:italic}.add-user-section .form-row[data-v-dff58da2]{grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.add-user-section .form-group[data-v-dff58da2]{flex-direction:column;display:flex}.add-user-section label[data-v-dff58da2]{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;font-weight:600}.add-user-section select[data-v-dff58da2],.add-user-section input[type=email][data-v-dff58da2]{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:4px;padding:.5rem;font-size:.9rem}.error-message[data-v-dff58da2]{color:#f44336;background:#f443361a;border:1px solid #f44336;border-radius:4px;margin-top:1rem;padding:1rem}.readonly-field[data-v-dff58da2]{background:var(--bg-secondary,#111);color:var(--text-secondary,#666);cursor:not-allowed;font-style:italic}.polygon-editor[data-v-d025a5d5]{max-width:1600px;margin:0 auto;padding:2rem}.header[data-v-d025a5d5]{border-bottom:1px solid #333;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.header-left h2[data-v-d025a5d5]{color:#fff;margin:0;font-size:1.8rem;font-weight:600}.header-right[data-v-d025a5d5]{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.course-info[data-v-d025a5d5]{color:#0d7377;font-size:.95rem;font-weight:500}.loading[data-v-d025a5d5],.error[data-v-d025a5d5]{text-align:center;color:#999;padding:2rem}.error[data-v-d025a5d5]{color:#f44336}.editor-container[data-v-d025a5d5]{grid-template-columns:1fr 400px;align-items:start;gap:2rem;display:grid}.canvas-container[data-v-d025a5d5]{background:#000;border:1px solid #333;border-radius:12px;width:100%;line-height:0;display:inline-block;position:relative;overflow:hidden;box-shadow:0 8px 32px #0006}.camera-feed[data-v-d025a5d5]{width:100%;height:auto;display:block}.polygon-canvas[data-v-d025a5d5]{z-index:2;cursor:crosshair;width:100%;height:auto;position:absolute;top:0;left:0}.controls[data-v-d025a5d5]{flex-direction:column;gap:1.5rem;display:flex}.info-panel[data-v-d025a5d5]{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem}.info-panel h3[data-v-d025a5d5]{color:#0d7377;margin:0 0 1rem;font-size:1.1rem;font-weight:600}.polygon-info[data-v-d025a5d5]{background:#000;border:1px solid #333;border-radius:8px;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:1rem;display:flex}.polygon-info div[data-v-d025a5d5]{color:#fff;justify-content:space-between;font-size:.9rem;display:flex}.polygon-info strong[data-v-d025a5d5]{color:#fff;font-weight:600}.instructions[data-v-d025a5d5]{color:#ccc;font-size:.9rem}.instructions ul[data-v-d025a5d5]{color:#999;margin:0;padding-left:1.5rem;font-size:.85rem}.instructions li[data-v-d025a5d5]{margin-bottom:.25rem}.actions[data-v-d025a5d5]{flex-direction:column;gap:.75rem;display:flex}.btn-primary[data-v-d025a5d5],.btn-secondary[data-v-d025a5d5]{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.btn-primary[data-v-d025a5d5]{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.btn-primary[data-v-d025a5d5]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary[data-v-d025a5d5]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-d025a5d5]{color:#fff;background:#333}.btn-secondary[data-v-d025a5d5]:hover{background:#444}.btn-secondary span[data-v-d025a5d5]{margin-right:.5rem}.save-message[data-v-d025a5d5]{color:#4caf50;background:#4caf5026;border:1px solid #4caf50;border-radius:6px;margin-top:1rem;padding:.75rem 1rem;font-size:.9rem}.save-message.error[data-v-d025a5d5]{color:#f44336;background:#f4433626;border-color:#f44336}.history-panel[data-v-d025a5d5]{background:#1a1a1a;border:1px solid #333;border-radius:12px;margin-top:2rem;padding:1.5rem}.history-header[data-v-d025a5d5]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.history-header h3[data-v-d025a5d5]{color:#fff;margin:0;font-size:1.2rem}.btn-close[data-v-d025a5d5]{color:#999;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.btn-close[data-v-d025a5d5]:hover{color:#fff;background:#333}.no-history[data-v-d025a5d5]{color:#999;text-align:center;padding:2rem;font-style:italic}.history-table-container[data-v-d025a5d5]{overflow-x:auto}.history-table[data-v-d025a5d5]{border-collapse:collapse;color:#fff;width:100%}.history-table th[data-v-d025a5d5]{text-align:left;background:#2a2a2a;border-bottom:2px solid #444;padding:.75rem;font-weight:600}.history-table td[data-v-d025a5d5]{border-bottom:1px solid #333;padding:.75rem}.history-table tbody tr[data-v-d025a5d5]:hover{background:#222}.change-type[data-v-d025a5d5]{text-transform:uppercase;border-radius:4px;padding:.25rem .5rem;font-size:.85rem;font-weight:600;display:inline-block}.change-type.crop[data-v-d025a5d5]{color:#667eea;background:#667eea33}.change-type.polygon[data-v-d025a5d5]{color:#0d7377;background:#0d737733}.crop-details[data-v-d025a5d5],.polygon-details[data-v-d025a5d5]{font-family:Monaco,Courier New,monospace;font-size:.9rem}.old-value[data-v-d025a5d5]{color:#ef4444;text-decoration:line-through}.new-value[data-v-d025a5d5]{color:#10b981;font-weight:600}.feed-badge[data-v-d025a5d5]{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:.4em;padding:.35rem .75rem;font-size:.82rem;font-weight:600;display:inline-flex;position:absolute;top:.75rem;left:.75rem;box-shadow:0 1px 4px #0006}.feed-badge em[data-v-d025a5d5]{opacity:.85;font-style:normal;font-weight:400}.feed-badge--live[data-v-d025a5d5]{color:#fff;background:#16a34ae0}.feed-badge--snapshot[data-v-d025a5d5]{color:#fff;background:#ca8a04eb}.feed-badge--night[data-v-d025a5d5]{color:#fff;background:#4338cae0}.feed-badge--offline[data-v-d025a5d5]{color:#fff;background:#7f1d1de0}.feed-badge--loading[data-v-d025a5d5]{color:#aaa;background:#1e1e1ecc}.crop-editor[data-v-93576019]{max-width:1400px;margin:0 auto;padding:2rem}.header[data-v-93576019]{border-bottom:1px solid #333;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.header-left h2[data-v-93576019]{color:#fff;margin:0;font-size:1.8rem;font-weight:600}.header-right[data-v-93576019]{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.course-info[data-v-93576019]{color:#0d7377;font-size:.95rem;font-weight:500}.loading[data-v-93576019],.error[data-v-93576019]{text-align:center;color:#999;padding:2rem}.error[data-v-93576019]{color:#f44336;background:#f443361a;border:1px solid #f44336;border-radius:4px}.editor-container[data-v-93576019]{grid-template-columns:1fr 350px;gap:2rem;display:grid}.canvas-container[data-v-93576019]{background:#000;border-radius:8px;min-height:400px;position:relative;overflow:hidden}.camera-feed[data-v-93576019]{object-fit:contain;width:100%;height:auto;display:block}.crop-canvas[data-v-93576019]{cursor:crosshair;width:100%;height:auto;position:absolute;top:0;left:0}.controls[data-v-93576019]{flex-direction:column;gap:2rem;display:flex}.info-panel[data-v-93576019]{background:#1a1a1a;border-radius:8px;padding:1.5rem}.info-panel h3[data-v-93576019]{color:#fff;margin:0 0 1rem}.crop-info[data-v-93576019]{background:#000;border:1px solid #333;border-radius:8px;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:1rem;display:flex}.crop-info div[data-v-93576019]{color:#fff;justify-content:space-between;font-size:.9rem;display:flex}.crop-info strong[data-v-93576019]{color:#fff;font-weight:600}.instructions[data-v-93576019]{border-top:1px solid #333;padding-top:1rem}.instructions p[data-v-93576019]{color:#fff;margin:0 0 .5rem;font-size:.9rem}.instructions ul[data-v-93576019]{color:#999;margin:0;padding-left:1.5rem;font-size:.85rem}.instructions li[data-v-93576019]{margin-bottom:.25rem}.actions[data-v-93576019]{flex-direction:column;gap:.75rem;display:flex}.btn-primary[data-v-93576019],.btn-secondary[data-v-93576019]{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.btn-primary[data-v-93576019]{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.btn-primary[data-v-93576019]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary[data-v-93576019]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-93576019]{color:#fff;background:#333}.btn-secondary[data-v-93576019]:hover{background:#444}.btn-secondary span[data-v-93576019]{margin-right:.5rem}.history-panel[data-v-93576019]{background:#1a1a1a;border:1px solid #333;border-radius:12px;margin-top:2rem;padding:1.5rem}.history-header[data-v-93576019]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.history-header h3[data-v-93576019]{color:#fff;margin:0;font-size:1.2rem}.btn-close[data-v-93576019]{color:#999;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.btn-close[data-v-93576019]:hover{color:#fff;background:#333}.no-history[data-v-93576019]{color:#999;text-align:center;padding:2rem;font-style:italic}.history-table-container[data-v-93576019]{overflow-x:auto}.history-table[data-v-93576019]{border-collapse:collapse;color:#fff;width:100%}.history-table th[data-v-93576019]{text-align:left;background:#2a2a2a;border-bottom:2px solid #444;padding:.75rem;font-weight:600}.history-table td[data-v-93576019]{border-bottom:1px solid #333;padding:.75rem}.history-table tbody tr[data-v-93576019]:hover{background:#222}.crop-details[data-v-93576019]{font-family:Monaco,Courier New,monospace;font-size:.9rem}.old-value[data-v-93576019]{color:#ef4444;text-decoration:line-through}.new-value[data-v-93576019]{color:#10b981;font-weight:600}.feed-badge[data-v-93576019]{z-index:10;border-radius:12px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;position:absolute;top:1rem;left:1rem}.feed-badge--live[data-v-93576019]{color:#fff;background:#22c55ee6}.feed-badge--snapshot[data-v-93576019]{color:#000;background:#ffc107e6}.feed-badge--night[data-v-93576019]{color:#fff;background:#ff4040e6}.feed-badge--offline[data-v-93576019]{color:#fff;background:#ff0000e6}.user-profile[data-v-9b27bb87]{max-width:800px;margin:0 auto;padding:20px}.header[data-v-9b27bb87]{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.header h1[data-v-9b27bb87]{color:var(--text-primary);font-size:28px;font-weight:600}.loading[data-v-9b27bb87],.error[data-v-9b27bb87]{text-align:center;padding:40px;font-size:16px}.error[data-v-9b27bb87]{color:#ff6b6b}.profile-form[data-v-9b27bb87]{background:var(--card-bg);border-radius:8px;padding:30px}.form-section[data-v-9b27bb87]{border-bottom:1px solid var(--border-color);margin-bottom:40px;padding-bottom:30px}.form-section[data-v-9b27bb87]:last-of-type{border-bottom:none}.form-section h2[data-v-9b27bb87]{color:var(--text-primary);margin-bottom:5px;font-size:20px;font-weight:600}.help-text[data-v-9b27bb87]{color:var(--text-secondary);margin-bottom:20px;font-size:14px}.courses-section[data-v-9b27bb87]{margin-top:10px}.course-list[data-v-9b27bb87]{flex-direction:column;gap:15px;margin-top:10px;display:flex}.course-card[data-v-9b27bb87]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:15px;transition:border-color .2s}.course-card[data-v-9b27bb87]:hover{border-color:#667eea}.course-header[data-v-9b27bb87]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.course-name[data-v-9b27bb87]{color:#667eea;font-size:16px;font-weight:600}.course-info[data-v-9b27bb87]{color:var(--text-secondary);font-size:14px}.course-info strong[data-v-9b27bb87]{color:var(--text-primary)}.form-group[data-v-9b27bb87]{margin-bottom:20px}.form-group label[data-v-9b27bb87]{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group input[data-v-9b27bb87]{background:var(--input-bg);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:4px;padding:10px 12px;font-size:14px}.form-group input[data-v-9b27bb87]:focus{border-color:#667eea;outline:none}.info-row[data-v-9b27bb87]{border-bottom:1px solid var(--border-color);align-items:center;padding:12px 0;display:flex}.info-row[data-v-9b27bb87]:last-child{border-bottom:none}.info-row .label[data-v-9b27bb87]{color:var(--text-secondary);flex:0 0 150px;font-size:14px}.info-row .value[data-v-9b27bb87]{color:var(--text-primary);font-size:14px}.info-row .user-id[data-v-9b27bb87]{color:var(--text-secondary);font-family:Monaco,Courier New,monospace;font-size:.85rem}.role-badge[data-v-9b27bb87]{text-transform:uppercase;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.role-admin[data-v-9b27bb87]{color:#fff;background:#e74c3c}.role-manager[data-v-9b27bb87]{color:#fff;background:#f39c12}.role-validator[data-v-9b27bb87]{color:#fff;background:#3498db}.role-user[data-v-9b27bb87]{color:#fff;background:#95a5a6}.status-badge[data-v-9b27bb87]{border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.status-badge.active[data-v-9b27bb87]{color:#fff;background:#27ae60}.status-badge.inactive[data-v-9b27bb87]{color:#fff;background:#e74c3c}.error-message[data-v-9b27bb87]{color:#ff6b6b;background:#ff6b6b20;border:1px solid #ff6b6b;border-radius:4px;margin-top:10px;padding:10px 15px;font-size:14px}.message[data-v-9b27bb87]{border-radius:4px;margin-bottom:20px;padding:12px 15px;font-size:14px}.message.success[data-v-9b27bb87]{color:#27ae60;background:#27ae6020;border:1px solid #27ae60}.message.error[data-v-9b27bb87]{color:#ff6b6b;background:#ff6b6b20;border:1px solid #ff6b6b}.form-actions[data-v-9b27bb87]{justify-content:flex-end;gap:10px;display:flex}.btn-primary[data-v-9b27bb87]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;padding:12px 24px;font-size:14px;font-weight:600;transition:opacity .2s}.btn-primary[data-v-9b27bb87]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-9b27bb87]:disabled{opacity:.5;cursor:not-allowed}.theme-toggle[data-v-9b27bb87]{margin-top:10px}.theme-toggle label[data-v-9b27bb87]{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:500;display:block}.toggle-buttons[data-v-9b27bb87]{gap:10px;display:flex}.theme-btn[data-v-9b27bb87]{background:var(--bg-tertiary);border:2px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;flex:1;padding:12px 20px;font-size:14px;transition:all .2s}.theme-btn[data-v-9b27bb87]:hover{color:var(--text-primary);border-color:#667eea}.theme-btn.active[data-v-9b27bb87]{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#667eea;font-weight:600}.pref-row[data-v-9b27bb87]{justify-content:space-between;align-items:center;gap:20px;display:flex}.pref-label[data-v-9b27bb87]{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:500}.switch[data-v-9b27bb87]{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.switch input[data-v-9b27bb87]{opacity:0;width:0;height:0}.slider[data-v-9b27bb87]{cursor:pointer;background:var(--border-color);border-radius:24px;transition:background .2s;position:absolute;inset:0}.slider[data-v-9b27bb87]:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.switch input:checked+.slider[data-v-9b27bb87]{background:#667eea}.switch input:checked+.slider[data-v-9b27bb87]:before{transform:translate(20px)}.debug-toggle[data-v-9b27bb87]{margin-top:10px}.debug-toggle label[data-v-9b27bb87]{cursor:pointer;color:var(--text-primary);align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.debug-toggle input[type=checkbox][data-v-9b27bb87]{cursor:pointer;width:20px;height:20px}.debug-toggle .help-text[data-v-9b27bb87]{margin-top:5px;margin-left:30px}.backup-management[data-v-32c05f1d]{max-width:1400px;margin:0 auto;padding:2rem}.page-header[data-v-32c05f1d]{margin-bottom:2rem}.page-header h1[data-v-32c05f1d]{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem}.subtitle[data-v-32c05f1d]{color:var(--text-secondary);font-size:1rem}.loading-container[data-v-32c05f1d]{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:4rem;display:flex}.spinner[data-v-32c05f1d]{border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin-32c05f1d}@keyframes spin-32c05f1d{to{transform:rotate(360deg)}}.error-banner[data-v-32c05f1d]{background:#fee;border:1px solid #fcc;border-radius:8px;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;display:flex}.error-icon[data-v-32c05f1d]{font-size:1.5rem}.btn-retry[data-v-32c05f1d]{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-left:auto;padding:.5rem 1rem}.btn-retry[data-v-32c05f1d]:hover{opacity:.9}.card[data-v-32c05f1d]{background:var(--card-background);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.db-tabs[data-v-32c05f1d]{gap:.5rem;margin-bottom:1.5rem;display:flex}.db-tab[data-v-32c05f1d]{border:2px solid var(--border-color);background:var(--card-background);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:.6rem 1.5rem;font-weight:600;transition:all .15s}.db-tab[data-v-32c05f1d]:hover{border-color:var(--primary-color);color:var(--primary-color)}.db-tab.active[data-v-32c05f1d]{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.health-card[data-v-32c05f1d]{border-left:4px solid}.health-card.health-healthy[data-v-32c05f1d]{background:linear-gradient(135deg,#10b98110 0%,#0000 100%);border-left-color:#10b981}.health-card.health-warning[data-v-32c05f1d]{background:linear-gradient(135deg,#f59e0b10 0%,#0000 100%);border-left-color:#f59e0b}.health-card.health-critical[data-v-32c05f1d]{background:linear-gradient(135deg,#ef444410 0%,#0000 100%);border-left-color:#ef4444}.health-header[data-v-32c05f1d]{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.health-icon[data-v-32c05f1d]{font-size:3rem}.health-info h2[data-v-32c05f1d]{margin:0 0 .25rem;font-size:1.5rem}.health-status[data-v-32c05f1d]{font-size:1.25rem;font-weight:600}.health-healthy .health-status[data-v-32c05f1d]{color:#10b981}.health-warning .health-status[data-v-32c05f1d]{color:#f59e0b}.health-critical .health-status[data-v-32c05f1d]{color:#ef4444}.health-stats[data-v-32c05f1d]{gap:2rem;margin-top:1rem;display:flex}.health-message[data-v-32c05f1d]{color:var(--text-primary);background:#ffffff1a;border-radius:6px;margin-top:1rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500}.health-warning .health-message[data-v-32c05f1d]{background:#f59e0b1a;border-left:3px solid #f59e0b}.health-critical .health-message[data-v-32c05f1d]{background:#ef44441a;border-left:3px solid #ef4444}.stat[data-v-32c05f1d]{flex-direction:column;gap:.25rem;display:flex}.stat-label[data-v-32c05f1d]{color:var(--text-secondary);font-size:.875rem}.stat-value[data-v-32c05f1d]{color:var(--text-primary);font-size:1.5rem;font-weight:600}.stats-grid[data-v-32c05f1d]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card[data-v-32c05f1d]{align-items:center;gap:1rem;padding:1.5rem;display:flex}.stat-icon[data-v-32c05f1d]{font-size:2.5rem}.stat-content h3[data-v-32c05f1d]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem;font-size:.875rem}.stat-number[data-v-32c05f1d]{color:var(--text-primary);margin:0;font-size:2rem;font-weight:700}.stat-path[data-v-32c05f1d]{color:var(--text-primary);margin:.5rem 0;font-family:monospace;font-size:.875rem}.stat-status[data-v-32c05f1d]{border-radius:4px;margin-top:.5rem;padding:.25rem .5rem;font-size:.875rem;font-weight:600;display:inline-block}.stat-status.exists[data-v-32c05f1d]{color:#10b981;background:#10b98120}.stat-status.missing[data-v-32c05f1d]{color:#ef4444;background:#ef444420}.stat-filename[data-v-32c05f1d]{color:var(--text-primary);word-break:break-all;margin:.25rem 0;font-family:monospace;font-size:.75rem}.stat-time[data-v-32c05f1d],.stat-tier[data-v-32c05f1d]{color:var(--text-secondary);margin:.25rem 0;font-size:.875rem}.chart-card h2[data-v-32c05f1d]{margin:0 0 1.5rem;font-size:1.25rem}.tier-distribution[data-v-32c05f1d]{flex-direction:column;gap:1.5rem;display:flex}.tier-bar-container[data-v-32c05f1d]{flex-direction:column;gap:.5rem;display:flex}.tier-label[data-v-32c05f1d]{justify-content:space-between;align-items:center;display:flex}.tier-name[data-v-32c05f1d]{text-transform:uppercase;font-size:.875rem;font-weight:600}.tier-count[data-v-32c05f1d]{color:var(--text-secondary);font-size:.875rem}.tier-bar-wrapper[data-v-32c05f1d]{background:var(--border-color);border-radius:4px;height:32px;position:relative;overflow:hidden}.tier-bar[data-v-32c05f1d]{color:#fff;border-radius:4px;justify-content:center;align-items:center;min-width:40px;height:100%;font-size:.875rem;font-weight:600;transition:width .3s;display:flex}.tier-10min[data-v-32c05f1d]{background:linear-gradient(90deg,#3b82f6,#2563eb)}.tier-hourly[data-v-32c05f1d]{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.tier-daily[data-v-32c05f1d]{background:linear-gradient(90deg,#ec4899,#db2777)}.tier-weekly[data-v-32c05f1d]{background:linear-gradient(90deg,#f59e0b,#d97706)}.tier-monthly[data-v-32c05f1d]{background:linear-gradient(90deg,#10b981,#059669)}.tier-yearly[data-v-32c05f1d]{background:linear-gradient(90deg,#ef4444,#dc2626)}.tier-policy[data-v-32c05f1d]{color:var(--text-secondary);font-size:.75rem;font-style:italic}.policy-card h2[data-v-32c05f1d]{margin:0 0 1.5rem;font-size:1.25rem}.policy-grid[data-v-32c05f1d]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.policy-item[data-v-32c05f1d]{border:2px solid;border-radius:8px;padding:1rem;transition:transform .2s}.policy-item[data-v-32c05f1d]:hover{transform:translateY(-2px)}.policy-item.tier-10min[data-v-32c05f1d]{background:#3b82f610;border-color:#3b82f6}.policy-item.tier-hourly[data-v-32c05f1d]{background:#8b5cf610;border-color:#8b5cf6}.policy-item.tier-daily[data-v-32c05f1d]{background:#ec489910;border-color:#ec4899}.policy-item.tier-weekly[data-v-32c05f1d]{background:#f59e0b10;border-color:#f59e0b}.policy-item.tier-monthly[data-v-32c05f1d]{background:#10b98110;border-color:#10b981}.policy-item.tier-yearly[data-v-32c05f1d]{background:#ef444410;border-color:#ef4444}.policy-header[data-v-32c05f1d]{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.policy-tier[data-v-32c05f1d]{text-transform:uppercase;font-size:.875rem;font-weight:700}.policy-badge[data-v-32c05f1d]{background:#0000001a;border-radius:4px;padding:.25rem .5rem;font-size:.875rem;font-weight:600}.policy-description[data-v-32c05f1d]{color:var(--text-secondary);margin:.5rem 0;font-size:.875rem}.policy-status[data-v-32c05f1d]{justify-content:space-between;align-items:center;margin-top:.75rem;font-size:.75rem;display:flex}.current-count[data-v-32c05f1d]{font-weight:600}.status-indicator[data-v-32c05f1d]{border-radius:4px;padding:.125rem .5rem;font-weight:600}.status-indicator.ok[data-v-32c05f1d]{color:#10b981;background:#10b98120}.status-indicator.warning[data-v-32c05f1d]{color:#f59e0b;background:#f59e0b20}.status-indicator.over[data-v-32c05f1d]{color:#3b82f6;background:#3b82f620}.backups-card h2[data-v-32c05f1d],.logs-card h2[data-v-32c05f1d]{margin:0 0 1rem;font-size:1.25rem}.logs-header[data-v-32c05f1d]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.logs-filter label[data-v-32c05f1d]{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.backups-table-wrapper[data-v-32c05f1d],.logs-table-wrapper[data-v-32c05f1d]{overflow-x:auto}.backups-table[data-v-32c05f1d],.logs-table[data-v-32c05f1d]{border-collapse:collapse;width:100%}.backups-table th[data-v-32c05f1d],.logs-table th[data-v-32c05f1d]{text-align:left;background:var(--border-color);text-transform:uppercase;letter-spacing:.5px;padding:.75rem;font-size:.875rem;font-weight:600}.backups-table td[data-v-32c05f1d],.logs-table td[data-v-32c05f1d]{border-bottom:1px solid var(--border-color);padding:.75rem}.backups-table tr[data-v-32c05f1d]:hover,.logs-table tr[data-v-32c05f1d]:hover{background:var(--border-color)}.logs-table tr.failure[data-v-32c05f1d]{background:#fee}.filename[data-v-32c05f1d]{font-family:monospace;font-size:.875rem}.tier-badge[data-v-32c05f1d]{text-transform:uppercase;color:#fff;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.tier-badge.tier-10min[data-v-32c05f1d]{background:#3b82f6}.tier-badge.tier-hourly[data-v-32c05f1d]{background:#8b5cf6}.tier-badge.tier-daily[data-v-32c05f1d]{background:#ec4899}.tier-badge.tier-weekly[data-v-32c05f1d]{background:#f59e0b}.tier-badge.tier-monthly[data-v-32c05f1d]{background:#10b981}.tier-badge.tier-yearly[data-v-32c05f1d]{background:#ef4444}.size[data-v-32c05f1d],.age[data-v-32c05f1d]{color:var(--text-secondary);font-size:.875rem}.status-cell[data-v-32c05f1d]{text-align:center}.status-icon[data-v-32c05f1d]{font-size:1.25rem}.error-cell[data-v-32c05f1d]{max-width:300px}.error-message[data-v-32c05f1d]{color:#ef4444;word-break:break-word;font-family:monospace;font-size:.75rem;display:block}.no-error[data-v-32c05f1d]{color:var(--text-secondary)}.no-backups[data-v-32c05f1d],.no-logs[data-v-32c05f1d]{text-align:center;color:var(--text-secondary);padding:2rem;font-style:italic}.btn-restore[data-v-32c05f1d]{color:#fff;cursor:pointer;background:#f59e0b;border:none;border-radius:4px;padding:.3rem .75rem;font-size:.8rem;font-weight:600}.btn-restore[data-v-32c05f1d]:hover{background:#d97706}.refresh-controls[data-v-32c05f1d]{align-items:center;gap:1rem;display:flex}.refresh-controls h3[data-v-32c05f1d]{margin:0;font-size:1rem}.toggle-switch[data-v-32c05f1d]{width:50px;height:24px;display:inline-block;position:relative}.toggle-switch input[data-v-32c05f1d]{opacity:0;width:0;height:0}.toggle-slider[data-v-32c05f1d]{cursor:pointer;background-color:#ccc;border-radius:24px;transition:all .4s;position:absolute;inset:0}.toggle-slider[data-v-32c05f1d]:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px}input:checked+.toggle-slider[data-v-32c05f1d]{background-color:var(--primary-color)}input:checked+.toggle-slider[data-v-32c05f1d]:before{transform:translate(26px)}.refresh-status[data-v-32c05f1d]{color:var(--text-secondary);font-size:.875rem}.btn-refresh[data-v-32c05f1d]{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:600}.btn-refresh[data-v-32c05f1d]:hover:not(:disabled){opacity:.9}.btn-refresh[data-v-32c05f1d]:disabled{opacity:.5;cursor:not-allowed}.last-refresh[data-v-32c05f1d]{color:var(--text-secondary);margin-left:auto;font-size:.75rem}.modal-overlay[data-v-32c05f1d]{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-32c05f1d]{background:var(--card-background);border-radius:10px;width:540px;max-width:95vw;padding:0;overflow:hidden;box-shadow:0 20px 60px #0006}.modal-header[data-v-32c05f1d]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2[data-v-32c05f1d]{margin:0;font-size:1.25rem}.modal-close[data-v-32c05f1d]{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1}.modal-close[data-v-32c05f1d]:hover{color:var(--text-primary)}.modal-body[data-v-32c05f1d]{padding:1.5rem}.modal-loading[data-v-32c05f1d]{flex-direction:column;align-items:center;gap:1rem;padding:2.5rem;display:flex}.restore-warning[data-v-32c05f1d]{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin-bottom:1rem;padding:1rem}.restore-warning strong[data-v-32c05f1d]{color:#856404;margin-bottom:.5rem;display:block}.restore-warning p[data-v-32c05f1d]{color:#856404;margin:0;font-size:.9rem}.restore-file[data-v-32c05f1d]{color:var(--text-secondary);margin:1rem 0;font-size:.875rem}.restore-file code[data-v-32c05f1d]{background:var(--border-color);border-radius:3px;padding:.2rem .4rem;font-family:monospace;font-size:.8rem}.restore-error[data-v-32c05f1d]{color:#ef4444;margin:.5rem 0;font-size:.875rem}.restore-success[data-v-32c05f1d]{background:#d1fae5;border-radius:6px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.success-icon[data-v-32c05f1d]{font-size:1.5rem}.modal-actions[data-v-32c05f1d]{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.btn-cancel[data-v-32c05f1d]{background:var(--border-color);color:var(--text-primary);cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.25rem;font-weight:600}.btn-cancel[data-v-32c05f1d]:hover{opacity:.8}.btn-confirm-restore[data-v-32c05f1d]{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:.6rem 1.25rem;font-weight:600}.btn-confirm-restore[data-v-32c05f1d]:hover{background:#dc2626}@media (prefers-color-scheme:dark){.error-banner[data-v-32c05f1d]{background:#4a1f1f;border-color:#7a2f2f}.logs-table tr.failure[data-v-32c05f1d]{background:#3a1515}.restore-warning[data-v-32c05f1d]{background:#3d2e00;border-color:#7a5a00}.restore-warning strong[data-v-32c05f1d],.restore-warning p[data-v-32c05f1d]{color:#ffd970}.restore-success[data-v-32c05f1d]{background:#064e3b}}.chart-container[data-v-3184b2c1]{width:100%;height:250px;padding:1rem;position:relative}canvas[data-v-3184b2c1]{max-height:100%}.system-health[data-v-94594c80]{background:var(--bg-primary);max-width:1600px;min-height:100vh;color:var(--text-primary);margin:0 auto;padding:2rem}.page-header[data-v-94594c80]{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-header h1[data-v-94594c80]{color:var(--text-primary);margin:0;font-size:2rem;visibility:visible!important;display:block!important}.subtitle[data-v-94594c80]{color:var(--text-secondary);margin:.5rem 0;display:block!important}.charts-section[data-v-94594c80]{margin-bottom:2rem}.charts-section h2[data-v-94594c80],h2.section-title[data-v-94594c80]{color:var(--text-primary);border-left:4px solid var(--primary-color);margin-bottom:1.5rem;padding-left:.5rem;font-size:1.5rem}.charts-grid[data-v-94594c80]{grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.chart-card[data-v-94594c80]{background:var(--card-bg);border-radius:8px;padding:1rem;box-shadow:0 2px 8px #0000001a}.chart-card h3[data-v-94594c80]{color:var(--text-primary);border-bottom:1px solid var(--border-color);margin:0 0 .5rem;padding-bottom:.5rem;font-size:1.1rem}@media (width<=1200px){.charts-grid[data-v-94594c80]{grid-template-columns:1fr}}.page-header h1[data-v-94594c80]{color:var(--text-primary);margin:0;font-size:2rem}.page-header .subtitle[data-v-94594c80]{color:var(--text-secondary);margin:.5rem 0 0}.auto-refresh[data-v-94594c80]{color:var(--text-primary);align-items:center;gap:1rem;display:flex}.btn-refresh[data-v-94594c80]{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem}.btn-refresh[data-v-94594c80]:hover{background:var(--primary-hover)}.btn-api-docs[data-v-94594c80]{color:#4caf81;cursor:pointer;white-space:nowrap;background:#1a4a2e;border:1px solid #2e7d4f;border-radius:4px;padding:.5rem 1rem;font-size:.9em;text-decoration:none;transition:background .15s}.btn-api-docs[data-v-94594c80]:hover{color:#6fcf97;background:#225a38}.loading-container[data-v-94594c80]{text-align:center;color:var(--text-primary);padding:4rem}.spinner[data-v-94594c80]{border:5px solid var(--border-color);border-top:5px solid var(--primary-color);border-radius:50%;width:50px;height:50px;margin:0 auto 1rem;animation:1s linear infinite spin-94594c80}@keyframes spin-94594c80{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-banner[data-v-94594c80]{background:var(--warning-background);border:1px solid var(--warning-border);color:var(--text-primary);border-radius:8px;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.error-icon[data-v-94594c80]{font-size:2rem}.btn-retry[data-v-94594c80]{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-left:auto;padding:.5rem 1rem}.card[data-v-94594c80]{background:var(--card-bg);color:var(--text-primary);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.health-card[data-v-94594c80]{border-left:5px solid}.health-card.health-healthy[data-v-94594c80]{border-color:#28a745}.health-card.health-warning[data-v-94594c80]{border-color:#ffc107}.health-card.health-critical[data-v-94594c80]{background:linear-gradient(to bottom, #dc354526, var(--bg-secondary));border-color:#dc3545}.health-card.health-critical .health-icon[data-v-94594c80]{animation:2s infinite pulse-94594c80}@keyframes pulse-94594c80{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.health-header[data-v-94594c80]{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.health-icon[data-v-94594c80]{font-size:3rem}.health-info h2[data-v-94594c80]{color:var(--text-primary);margin:0}.health-status[data-v-94594c80]{margin:.5rem 0 0;font-weight:700}.last-updated[data-v-94594c80]{color:var(--text-secondary);margin-left:auto;font-size:.9rem}.health-issues[data-v-94594c80]{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.health-issues h3[data-v-94594c80]{color:#dc3545;margin:0 0 .5rem}.health-issues ul[data-v-94594c80]{margin:0;padding-left:1.5rem}.health-issues li[data-v-94594c80]{margin:.5rem 0;line-height:1.6}.health-card.health-critical .health-issues li[data-v-94594c80]:first-child{color:#dc3545;background:#dc35451a;border-radius:4px;margin-left:-1.5rem;padding:.5rem .5rem .5rem 1.5rem;font-size:1.1rem;font-weight:700;list-style:none}.health-ok[data-v-94594c80]{color:#28a745;font-weight:700}.info-messages[data-v-94594c80]{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.info-messages h3[data-v-94594c80]{color:#6c757d;margin:0 0 .5rem}.info-messages ul[data-v-94594c80]{margin:0;padding-left:1.5rem}.info-messages li[data-v-94594c80]{color:var(--text-secondary);margin:.5rem 0;line-height:1.6}.stats-grid[data-v-94594c80]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem;display:grid}.stat-card[data-v-94594c80]{gap:1rem;display:flex}.stat-icon[data-v-94594c80]{font-size:2.5rem}.stat-content[data-v-94594c80]{flex:1}.stat-content h3[data-v-94594c80]{color:var(--text-secondary);margin:0 0 .5rem;font-size:1rem}.stat-number[data-v-94594c80]{color:var(--text-primary);margin:0;font-size:1.8rem;font-weight:700}.stat-warning[data-v-94594c80]{color:#dc3545;margin:.5rem 0 0}.progress-bar[data-v-94594c80]{background:var(--progress-background);border-radius:5px;width:100%;height:10px;margin:.5rem 0;overflow:hidden}.progress-fill[data-v-94594c80]{height:100%;transition:width .3s}.progress-fill.resource-ok[data-v-94594c80]{background:#28a745}.progress-fill.resource-warning[data-v-94594c80]{background:#ffc107}.progress-fill.resource-critical[data-v-94594c80]{background:#dc3545}.details-card h2[data-v-94594c80]{color:var(--text-primary);margin:0 0 1rem}.resource-grid[data-v-94594c80]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.resource-item h4[data-v-94594c80]{color:var(--primary-color);margin:0 0 .5rem}.resource-item p[data-v-94594c80]{color:var(--text-primary);margin:.25rem 0}.table-container[data-v-94594c80]{margin-top:1rem;overflow-x:auto}table[data-v-94594c80]{border-collapse:collapse;width:100%}thead[data-v-94594c80]{background:var(--table-header-background)}th[data-v-94594c80]{text-align:left;border-bottom:2px solid var(--border-color);color:var(--text-primary);padding:.75rem}th.sortable[data-v-94594c80]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}th.sortable[data-v-94594c80]:hover{background:var(--bg-tertiary)}.sort-indicator[data-v-94594c80]{color:var(--primary-color);margin-left:.25rem;font-size:.75rem;font-weight:700;display:inline-block}td[data-v-94594c80]{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:.75rem}.camera-id-cell[data-v-94594c80]{min-width:180px}.camera-id-wrapper[data-v-94594c80]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.camera-id-short[data-v-94594c80]{font-size:.9rem;font-weight:500}.camera-uuid[data-v-94594c80]{color:var(--text-secondary);cursor:help;font-family:monospace;font-size:.72rem}.flight-indicator[data-v-94594c80],.people-indicator[data-v-94594c80]{background:var(--primary-color);color:#fff;border-radius:3px;padding:.1rem .3rem;font-size:.75rem}.worker-cell[data-v-94594c80]{text-align:center}.worker-badge[data-v-94594c80]{color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:4px;padding:.2rem .5rem;font-family:monospace;font-size:.75rem;font-weight:600;display:inline-block}.timing-cell[data-v-94594c80]{text-align:right;color:var(--text-secondary);font-family:monospace}.status-badge[data-v-94594c80]{border-radius:4px;padding:.25rem .5rem;font-size:.85rem;font-weight:700}.status-running[data-v-94594c80]{color:#155724;background:#d4edda}.status-critical[data-v-94594c80]{color:#fff;background:#dc3545;font-weight:700;animation:2s ease-in-out infinite pulse-red}.status-fast[data-v-94594c80]{color:#fff;background:#28a745}.status-acceptable[data-v-94594c80]{color:#155724;background:#90ee90}.status-slow[data-v-94594c80]{color:#fff;background:orange}.status-very-slow[data-v-94594c80]{color:#fff;background:#dc3545}.status-nighttime[data-v-94594c80]{color:#fff;background:#6c757d}.status-not-reporting[data-v-94594c80]{color:#adb5bd;background:#343a40}.status-stopped[data-v-94594c80],.status-warning[data-v-94594c80]{color:#856404;background:#fff3cd}.status-idle[data-v-94594c80]{color:#383d41;background:#e2e3e5}.container-stopped[data-v-94594c80]{opacity:.6}.camera-lagging[data-v-94594c80]{background:var(--warning-background)}.warning-text[data-v-94594c80]{color:#dc3545;font-weight:700}.loop-ok[data-v-94594c80]{color:#28a745}.loop-acceptable[data-v-94594c80]{color:#90ee90;font-weight:500}.loop-warning[data-v-94594c80]{color:#ffc107}.loop-slow[data-v-94594c80]{color:orange;font-weight:600}.loop-very-slow[data-v-94594c80]{color:#dc3545;font-weight:700}.services-grid[data-v-94594c80]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.service-card h3[data-v-94594c80]{color:var(--text-primary);margin:0 0 .5rem}.service-status[data-v-94594c80]{margin:.5rem 0;font-size:1.2rem;font-weight:700}.service-details p[data-v-94594c80]{color:var(--text-secondary);margin:.25rem 0}.containers-info[data-v-94594c80],.cameras-info[data-v-94594c80]{margin-bottom:.5rem}.container-summary[data-v-94594c80],.camera-summary[data-v-94594c80]{color:var(--text-primary);margin:0;font-weight:700}.no-data[data-v-94594c80]{color:var(--text-secondary);text-align:center;background:var(--bg-secondary);border-radius:4px;padding:2rem;font-style:italic}.performance-stats[data-v-94594c80]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:2rem;padding:1.5rem}.performance-stats h3[data-v-94594c80]{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem}.stat-row[data-v-94594c80]{flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;display:flex}.stat-item[data-v-94594c80]{flex-direction:column;flex:1;gap:.25rem;min-width:200px;display:flex}.stat-label[data-v-94594c80]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:500;display:block}.stat-value[data-v-94594c80]{color:var(--text-primary);font-family:monospace;font-size:1.5rem;font-weight:700;display:block}.stat-item small[data-v-94594c80]{color:var(--text-secondary);margin-top:.25rem;font-size:.8rem;display:block}.stat-unit[data-v-94594c80]{color:var(--text-secondary);margin-left:.25rem;font-size:1rem}.breakdown-row[data-v-94594c80]{gap:1rem;margin-top:1rem;display:flex}.breakdown-item[data-v-94594c80]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;flex:1;padding:.75rem}.breakdown-label[data-v-94594c80]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.breakdown-value[data-v-94594c80]{color:var(--primary-color);margin-top:.25rem;font-size:1.25rem;font-weight:700}.analysis-note[data-v-94594c80]{background:var(--bg-tertiary);border-left:3px solid var(--primary-color);color:var(--text-primary);border-radius:4px;margin-top:1rem;padding:1rem;line-height:1.6}.analysis-note strong[data-v-94594c80]{color:var(--primary-color)}.worker-distribution[data-v-94594c80]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:2rem;padding:1.5rem}.worker-distribution h3[data-v-94594c80]{color:var(--text-primary);align-items:center;gap:1rem;margin:0 0 1rem;display:flex}.balance-badge[data-v-94594c80]{text-transform:uppercase;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.balance-excellent[data-v-94594c80]{color:#155724;background:#d4edda}.balance-good[data-v-94594c80]{color:#0c5460;background:#d1ecf1}.balance-fair[data-v-94594c80]{color:#856404;background:#fff3cd}.balance-poor[data-v-94594c80]{color:#721c24;background:#f8d7da}.distribution-summary[data-v-94594c80]{background:var(--bg-primary);border-radius:6px;gap:2rem;margin-bottom:1.5rem;padding:1rem;display:flex}.dist-stat[data-v-94594c80]{flex-direction:column;gap:.25rem;display:flex}.dist-label[data-v-94594c80]{color:var(--text-secondary);font-size:.85rem}.dist-value[data-v-94594c80]{color:var(--text-primary);font-size:1.1rem;font-weight:700}.workers-grid[data-v-94594c80]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.worker-card[data-v-94594c80]{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:6px;padding:1rem;transition:all .2s}.worker-card[data-v-94594c80]:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.worker-overloaded[data-v-94594c80]{background:#ffc1070d;border-color:#ffc107}.worker-header[data-v-94594c80]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.worker-title[data-v-94594c80]{color:var(--text-primary);font-size:1.1rem;font-weight:700}.btn-logs[data-v-94594c80]{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:.75rem}.btn-logs[data-v-94594c80]:hover,.btn-logs.active[data-v-94594c80]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.worker-logs-overlay[data-v-94594c80]{z-index:1000;background:#000000bf;align-items:stretch;display:flex;position:fixed;inset:0}.worker-logs-modal[data-v-94594c80]{background:var(--bg-color,#1a1a2e);flex-direction:column;flex:1;padding:16px;display:flex;overflow:hidden}.worker-logs-modal-header[data-v-94594c80]{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.worker-logs-modal-header h3[data-v-94594c80]{color:var(--text-primary,#e0e0e0);margin:0;font-size:1rem}.worker-logs-modal-actions[data-v-94594c80]{align-items:center;gap:8px;display:flex}.btn-close-modal[data-v-94594c80]{background:var(--danger-color,#c0392b);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 12px;font-size:.85rem}.btn-close-modal[data-v-94594c80]:hover{opacity:.85}.log-count-bar[data-v-94594c80]{color:var(--text-secondary);flex-shrink:0;margin-bottom:6px;font-size:.8rem}.log-viewer-fullscreen[data-v-94594c80]{flex:1;height:100%;max-height:none}.logs-loading[data-v-94594c80]{color:var(--text-secondary);padding:.5rem 0;font-size:.85rem}.logs-pre[data-v-94594c80]{color:#d4d4d4;white-space:pre-wrap;word-break:break-all;background:#1a1a1a;border-radius:4px;max-height:500px;padding:.75rem;font-family:Courier New,monospace;font-size:.72rem;line-height:1.4;overflow-y:auto}.log-toolbar[data-v-94594c80]{color:var(--text-secondary);background:#222;border-bottom:1px solid #333;align-items:center;gap:.75rem;padding:.4rem .75rem;font-size:.75rem;display:flex}.btn-copy[data-v-94594c80]{color:#ccc;cursor:pointer;background:#333;border:1px solid #444;border-radius:3px;margin-left:auto;padding:2px 10px;font-size:.72rem}.btn-copy[data-v-94594c80]:hover{color:#fff;background:#444}.log-viewer[data-v-94594c80]{background:#111;max-height:450px;font-family:Courier New,monospace;font-size:.72rem;line-height:1.5;overflow-y:auto}.logs-empty[data-v-94594c80]{color:#666;padding:.75rem}.log-line[data-v-94594c80]{border-bottom:1px solid #1a1a1a;align-items:baseline;gap:.5rem;padding:1px .75rem;display:flex}.log-line[data-v-94594c80]:hover{background:#1a1a1a}.log-ts[data-v-94594c80]{color:#666;white-space:nowrap;flex-shrink:0;min-width:19ch}.log-lvl[data-v-94594c80]{white-space:nowrap;flex-shrink:0;min-width:7ch;font-weight:700}.log-repeat[data-v-94594c80]{color:gold;white-space:nowrap;background:#3a3a00;border-radius:3px;flex-shrink:0;padding:0 5px;font-size:.68rem}.log-evt[data-v-94594c80]{color:#e0e0e0;white-space:nowrap;flex-shrink:0}.log-fields[data-v-94594c80]{color:#888;word-break:break-all}.log-level-info .log-lvl[data-v-94594c80]{color:#4ec9b0}.log-level-warning .log-lvl[data-v-94594c80],.log-level-warn .log-lvl[data-v-94594c80]{color:#dcdcaa}.log-level-error .log-lvl[data-v-94594c80]{color:#f44}.log-level-error[data-v-94594c80]{background:#ff32320d}.log-level-debug .log-lvl[data-v-94594c80]{color:#569cd6}.camera-logs-row td[data-v-94594c80]{background:#111;padding:0}.camera-logs-row .logs-pre[data-v-94594c80]{border-radius:0;max-height:400px}.muted[data-v-94594c80]{color:var(--text-secondary);font-size:.8rem}.worker-container[data-v-94594c80]{color:var(--text-secondary);background:var(--bg-tertiary);border-radius:3px;padding:.25rem .5rem;font-family:monospace;font-size:.75rem}.worker-stats[data-v-94594c80]{flex-direction:column;gap:.75rem;display:flex}.worker-stat[data-v-94594c80]{flex-direction:column;gap:.25rem;display:flex}.worker-stat-label[data-v-94594c80]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.worker-stat-value[data-v-94594c80]{color:var(--text-primary);font-size:1rem;font-weight:600}.worker-stat small[data-v-94594c80]{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem}.throughput-col-legend[data-v-94594c80]{color:var(--text-secondary);justify-content:center;gap:3px;margin-top:2px;font-size:.6rem;display:flex}.tp-col-label[data-v-94594c80]{text-align:center;width:8px}.throughput-cell[data-v-94594c80]{padding:3px 6px}.tp-grid[data-v-94594c80]{flex-direction:column;gap:2px;display:flex}.tp-row[data-v-94594c80]{gap:2px;display:flex}.tp-dot[data-v-94594c80]{border-radius:2px;flex-shrink:0;width:8px;height:8px}.tp-ok[data-v-94594c80]{background:#4caf50}.tp-warn[data-v-94594c80]{background:#ffca28}.tp-bad[data-v-94594c80]{background:#e57373}.tp-no-data[data-v-94594c80]{background:#2a2a2a;border:1px solid #333}.fps-cell[data-v-94594c80]{white-space:nowrap}.fps-actual[data-v-94594c80]{font-weight:700}.fps-target[data-v-94594c80]{color:var(--text-secondary);font-size:.85em}.fps-resolution[data-v-94594c80]{color:var(--text-secondary);margin-top:1px;font-family:monospace;font-size:.72em}.log-level-filter[data-v-94594c80]{gap:3px;display:flex}.btn-level[data-v-94594c80]{color:#aaa;cursor:pointer;white-space:nowrap;background:#222;border:1px solid #444;border-radius:3px;padding:2px 9px;font-size:.72rem}.btn-level.active[data-v-94594c80]{background:var(--primary-color,#2196f3);color:#fff;border-color:#0000}.btn-level[data-v-94594c80]:hover:not(.active){color:#fff;background:#333}.service-logs-toolbar[data-v-94594c80]{background:#222;border-bottom:1px solid #333;border-radius:4px 4px 0 0;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:0;padding:.5rem .75rem;display:flex}.service-container-selector[data-v-94594c80]{flex-wrap:wrap;gap:4px;display:flex}.btn-service[data-v-94594c80]{color:#ccc;cursor:pointer;white-space:nowrap;background:#333;border:1px solid #444;border-radius:3px;padding:2px 10px;font-family:monospace;font-size:.75rem}.btn-service.active[data-v-94594c80]{color:#fff;background:#2a5298;border-color:#4a72b8}.btn-service[data-v-94594c80]:hover:not(.active){color:#fff;background:#444}.camera-detail-tabs[data-v-94594c80]{gap:4px;padding:8px 0 4px;display:flex}.tab-btn[data-v-94594c80]{border:1px solid var(--border-color,#444);color:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:4px 12px;font-size:.85em}.tab-btn.active[data-v-94594c80]{background:var(--accent-color,#2196f3);color:#fff;border-color:#0000}.pipeline-steps[data-v-94594c80]{flex-direction:column;gap:6px;padding:8px 0;display:flex}.pipeline-step[data-v-94594c80]{background:#ffffff08;border-radius:4px;align-items:center;gap:10px;padding:4px 8px;display:flex}.pipeline-step--rate[data-v-94594c80]{border-left:2px solid #2196f366}.step-num[data-v-94594c80]{background:#444;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75em;display:flex}.step-name[data-v-94594c80]{min-width:190px;font-size:.9em;font-weight:500}.step-status[data-v-94594c80]{font-size:.85em}.step-ok[data-v-94594c80]{color:#4caf50}.step-fail[data-v-94594c80]{color:#f44336}.step-warn[data-v-94594c80]{color:#ff9800}.step-neutral[data-v-94594c80]{color:var(--text-secondary)}.step-detail[data-v-94594c80]{color:var(--text-secondary);font-size:.8em}.step-retries[data-v-94594c80]{color:#ff9800;margin-left:auto;font-size:.8em}.fps-summary[data-v-94594c80]{color:var(--text-secondary);border-top:1px solid #ffffff1a;margin-top:4px;padding:6px 8px;font-size:.85em}.fps-flow[data-v-94594c80]{background:#2196f312;border:1px solid #2196f333;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:4px;padding:6px 8px;font-size:.82em;display:flex}.fps-flow-label[data-v-94594c80]{color:var(--text-secondary);margin-right:4px;font-weight:600}.fps-flow-arrow[data-v-94594c80]{color:var(--text-secondary);font-size:1.1em}.fps-flow-badge[data-v-94594c80]{border-radius:4px;flex-direction:column;align-items:center;padding:2px 8px;font-weight:700;line-height:1.2;display:inline-flex}.fps-flow-sublabel[data-v-94594c80]{opacity:.75;font-size:.78em;font-weight:400}.fps-feed[data-v-94594c80]{color:#90a4ae;background:#607d8b40}.fps-process[data-v-94594c80]{color:#64b5f6;background:#2196f333}.fps-yolo[data-v-94594c80]{color:#ffb74d;background:#ff980033}.fps-display[data-v-94594c80]{color:#81c784;background:#4caf5033}.fps-flow-note[data-v-94594c80]{color:var(--text-secondary);margin-left:4px;font-size:.85em}.debug-state-panel[data-v-94594c80]{padding:8px 0}.debug-state-grid[data-v-94594c80]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:4px;display:grid}.debug-entry[data-v-94594c80]{background:#ffffff08;border-radius:3px;gap:8px;padding:3px 6px;font-size:.82em;display:flex}.debug-key[data-v-94594c80]{color:var(--text-secondary);flex-shrink:0;min-width:150px}.debug-val[data-v-94594c80]{word-break:break-all}.api-docs-page[data-v-33ea1783]{background:var(--bg-color,#1a1a2e);height:100vh;color:var(--text-color,#e0e0e0);flex-direction:column;display:flex}.page-header[data-v-33ea1783]{background:var(--card-bg,#16213e);border-bottom:1px solid var(--border-color,#333);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.header-left h1[data-v-33ea1783]{margin:0;font-size:1.4em}.header-left .subtitle[data-v-33ea1783]{color:var(--text-secondary,#888);margin:2px 0 0;font-size:.85em}.header-actions[data-v-33ea1783]{align-items:center;gap:10px;display:flex}.btn-open-tab[data-v-33ea1783],.btn-back[data-v-33ea1783]{cursor:pointer;border:1px solid var(--border-color,#444);border-radius:6px;padding:6px 14px;font-size:.88em;text-decoration:none;transition:background .15s}.btn-open-tab[data-v-33ea1783]{color:#fff;background:#2a5298;border-color:#4a72b8}.btn-open-tab[data-v-33ea1783]:hover{background:#3a62a8}.btn-back[data-v-33ea1783]{color:var(--text-secondary,#aaa);background:0 0}.btn-back[data-v-33ea1783]:hover{color:var(--text-color,#e0e0e0);background:#ffffff0f}.iframe-container[data-v-33ea1783]{flex:1;overflow:hidden}.docs-frame[data-v-33ea1783]{border:none;width:100%;height:100%;display:block}.oauth2-authorize[data-v-a997e307]{height:100vh;color:var(--text-primary);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.error-msg[data-v-a997e307]{color:#f87171}.wiki-frame[data-v-2efe6888],.grafana-frame[data-v-1b339ddf]{border:none;width:100%;height:calc(100vh - 61px);display:block}
