.app{display:flex;flex-direction:column;height:100vh;background:#f5f5f5}.app-header{background:#fff;padding:2em;border-bottom:1px solid #ddd;box-shadow:0 2px 4px #0000000d;display:flex;align-items:center;gap:2rem}.app-header h1{margin:0;font-size:2em}.header-logo{height:3.5rem;width:auto;flex-shrink:0;border-radius:4px}.app-nav{display:flex;gap:.5rem;margin-left:auto}.app-nav button{padding:.6rem 1.5rem;background:transparent;border:2px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;color:#6c757d;transition:all .2s}.app-nav button:hover{border-color:#3498db;color:#3498db}.app-nav button.active{background:#3498db;border-color:#3498db;color:#fff}.app-nav .help-button{border-color:#27ae60;color:#27ae60}.app-nav .help-button:hover,.app-nav .help-button.active{background:#27ae60;border-color:#27ae60;color:#fff}.app-nav .kestrel-button{border-color:#8b5cf6;color:#8b5cf6}.app-nav .kestrel-button:hover,.app-nav .kestrel-button.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.app-nav .insurance-button{border-color:#0369a1;color:#0369a1}.app-nav .insurance-button:hover,.app-nav .insurance-button.active{background:#0369a1;border-color:#0369a1;color:#fff}.coming-soon-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;gap:1rem;color:#64748b;text-align:center;padding:2rem}.coming-soon-placeholder h2{font-size:1.5rem;color:#0369a1;margin:0}.coming-soon-placeholder p{font-size:1rem;max-width:480px;margin:0}.app-header p{color:#666;font-size:.9em;margin:0}.app-subnav{display:flex;gap:.25rem;padding:.5rem 2rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;flex-shrink:0}.app-subnav button{padding:.4rem 1.1rem;background:transparent;border:2px solid transparent;border-radius:5px;cursor:pointer;font-size:.875rem;font-weight:500;color:#6c757d;transition:all .2s}.app-subnav button:hover{border-color:#3498db;color:#3498db}.app-subnav button.active{background:#e3f2fd;border-color:#3498db;color:#1a6fa8}.app-container{display:flex;flex:1;overflow:hidden}.sidebar{width:280px;background:#fff;border-right:1px solid #ddd;overflow-y:auto;padding:1.5em}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.table-container{flex:1;display:flex;flex-direction:column;padding:1.5em;overflow:hidden;gap:1em}.pagination{display:flex;justify-content:center;align-items:center;gap:1em;padding:1em;background:#fff;border-radius:4px;border:1px solid #ddd}.pagination button:disabled{background:#ccc;cursor:not-allowed}.graph-view-container,.timeline-view-container{flex:1;display:flex;overflow:hidden;background:#fff}.timeline-sidebar{width:420px;background:#fff;border-right:1px solid #dee2e6;overflow-y:auto;padding:1.5rem;flex-shrink:0}.timeline-sidebar h3{margin:0 0 .5rem;font-size:1.1rem;color:#2c3e50}.timeline-sidebar .section-description{margin:0 0 1rem;font-size:.85rem;color:#6c757d;line-height:1.4}.timeline-sidebar .item-list{display:flex;flex-direction:column;gap:.5rem}.timeline-sidebar .list-item{padding:.75rem;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:all .2s;border:2px solid transparent}.timeline-sidebar .list-item:hover{background:#e9ecef;border-color:#dee2e6}.timeline-sidebar .list-item.selected{background:#e3f2fd;border-color:#3498db}.timeline-sidebar .item-name{font-weight:600;color:#2c3e50;margin-bottom:.25rem}.timeline-sidebar .item-count{font-size:.85rem;color:#6c757d}.timeline-main{flex:1;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center}.analytics-view-container{flex:1;display:flex;overflow:hidden;background:#fff}.analytics-sidebar{width:340px;background:#fff;border-right:1px solid #dee2e6;overflow-y:auto;padding:1.5rem;flex-shrink:0}.analytics-sidebar h3{margin:0 0 .5rem;font-size:1.1rem;color:#2c3e50}.analytics-sidebar .section-description{margin:0 0 1rem;font-size:.85rem;color:#6c757d;line-height:1.4}.analytics-sidebar .item-list{display:flex;flex-direction:column;gap:.5rem}.analytics-sidebar .list-item{padding:.75rem;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:all .2s;border:2px solid transparent}.analytics-sidebar .list-item:hover{background:#e9ecef;border-color:#dee2e6}.analytics-sidebar .list-item.selected{background:#e3f2fd;border-color:#3498db}.analytics-sidebar .item-name{font-weight:600;color:#2c3e50;margin-bottom:.25rem;font-size:.95rem}.analytics-sidebar .item-description{font-size:.8rem;color:#6c757d;line-height:1.3}.analytics-main{flex:1;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;min-width:0}@media(max-width:1200px){.app-container{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid #ddd;max-height:200px;overflow-x:auto}}.data-table-wrapper{background:#fff;border-radius:4px;border:1px solid #ddd;overflow:auto;flex:1}.data-table{width:100%;border-collapse:collapse;font-size:.9em}.data-table thead{background:#f9f9f9;position:sticky;top:0;z-index:10}.data-table th{padding:.75em;text-align:left;font-weight:600;border-bottom:2px solid #ddd;color:#333;white-space:nowrap}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{background:#f0f0f0}.data-table th .th-content{display:flex;align-items:center;justify-content:space-between;gap:.5em}.data-table th.cell-number .th-content{justify-content:center}.sort-indicator{color:#06c;font-weight:700;font-size:.9em;white-space:nowrap}.data-table td{padding:.75em;border-bottom:1px solid #eee;color:#555}.data-table tbody tr{cursor:pointer;transition:background-color .15s}.data-table tbody tr:hover{background:#f0f7ff}.data-table tbody tr.selected{background:#e6f2ff;font-weight:500}.data-table tbody tr.decayed{background:#fcc;color:#600}.data-table tbody tr.decayed td{color:#600}.cell-reg{font-family:Courier New,monospace;font-weight:500;color:#06c}.cell-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-number{text-align:center;font-family:Courier New,monospace}th.cell-number{text-align:center}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-size:1.1em}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-size:1em;background:#fff;border-radius:4px;border:1px solid #ddd}.detail-panel{background:#fff;border:1px solid #ddd;border-radius:4px;padding:1.5em;overflow-y:auto;max-height:35vh;width:100%;box-sizing:border-box;flex-shrink:0}.detail-panel.empty{display:flex;align-items:center;justify-content:center;color:#999;font-size:.95em}.detail-header{margin-bottom:1.5em;padding-bottom:1em;border-bottom:2px solid #eee}.detail-header h2{font-size:1.3em;margin-bottom:.25em}.detail-reg{color:#666;font-family:Courier New,monospace;font-size:.9em;font-weight:500;margin-bottom:.75em}.header-buttons{display:flex;gap:.75em;margin-top:.5em}.show-data-record-button{padding:.5em 1em;background:#7c4dff;color:#fff;border:none;border-radius:4px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .15s}.show-data-record-button:hover{background:#6a3de8;transform:translateY(-1px);box-shadow:0 2px 8px #7c4dff4d}.show-data-record-button:active{transform:translateY(0)}.live-tracking-button{display:inline-flex;align-items:center;padding:.5em 1em;background:#1976d2;color:#fff;border:none;border-radius:4px;font-size:.85em;font-weight:500;text-decoration:none;cursor:pointer;transition:all .15s}.live-tracking-button:hover{background:#1565c0;transform:translateY(-1px);box-shadow:0 2px 8px #1976d24d}.live-tracking-button:active{transform:translateY(0)}.mqtt-feed-button{display:inline-flex;align-items:center;padding:.5em 1em;background:#4caf50;color:#fff;border:none;border-radius:4px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .15s}.mqtt-feed-button:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 2px 8px #4caf504d}.mqtt-feed-button:active{transform:translateY(0)}.orbit-calculation-button{display:inline-flex;align-items:center;padding:.5em 1em;background:#ff9800;color:#fff;border:none;border-radius:4px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .15s}.orbit-calculation-button:hover{background:#fb8c00;transform:translateY(-1px);box-shadow:0 2px 8px #ff98004d}.orbit-calculation-button:active{transform:translateY(0)}.next-pass-button{display:inline-flex;align-items:center;padding:.5em 1em;background:#8bc34a;color:#fff;border:none;border-radius:4px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .15s}.next-pass-button:hover{background:#7cb342;transform:translateY(-1px);box-shadow:0 2px 8px #8bc34a4d}.next-pass-button:active{transform:translateY(0)}.observations-button{display:inline-flex;align-items:center;padding:.5em 1em;background:#2196f3;color:#fff;border:none;border-radius:4px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .15s}.observations-button:hover{background:#1976d2;transform:translateY(-1px);box-shadow:0 2px 8px #2196f34d}.observations-button:active{transform:translateY(0)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5em}.detail-section{display:flex;flex-direction:column;gap:.75em}.detail-section h3{font-size:.95em;color:#333;margin-bottom:.5em;padding-bottom:.5em;border-bottom:1px solid #eee;text-transform:uppercase;letter-spacing:.5px}.detail-row{display:flex;justify-content:space-between;gap:1em}.detail-label{color:#666;font-weight:500;font-size:.9em;flex:0 0 45%}.detail-value{color:#333;font-size:.9em;flex:1;text-align:right;word-break:break-word;font-family:Courier New,monospace}.remarks-row{flex-direction:column;gap:.5em;padding-top:.5em;border-top:1px solid #eee;margin-top:.5em}.remarks-row .detail-label{flex:none}.detail-remarks{color:#555;font-size:.9em;line-height:1.5;margin:0;padding:.5em;background:#f9f9f9;border-radius:4px;border-left:3px solid #0066cc;text-align:left!important}.detail-link{display:inline-block;color:#06c;text-decoration:none;padding:.5em .75em;border:1px solid #0066cc;border-radius:4px;transition:all .15s}.detail-link:hover{background:#06c;color:#fff}.detail-loading{color:#666;font-style:italic;font-size:.9em;margin:.5em 0}.detail-info{color:#666;font-size:.9em;margin:.5em 0;padding:.5em;background:#f0f0f0;border-radius:3px;border-left:3px solid #999}.detail-error{color:#d32f2f;font-size:.9em;margin:.5em 0;padding:.5em;background:#ffebee;border-radius:3px;border-left:3px solid #d32f2f}.detail-section:has(.orbital-data){min-width:220px}.orbital-data{display:flex;flex-direction:column;gap:.75em}.document-metadata{display:flex;flex-direction:column;gap:.75em;margin-top:1em;padding:1em;background:#f5f5f5;border-left:3px solid #4caf50;border-radius:4px}.document-orbital-params{margin-top:1em;padding:.75em;background:#e8f5e9;border-radius:3px;border-left:2px solid #2e7d32}.document-orbital-params h4{margin:0 0 .75em;font-size:.85em;color:#2e7d32;text-transform:uppercase;letter-spacing:.5px}.document-orbital-params .detail-row{font-size:.85em}.detail-link-inline{color:#06c;text-decoration:none;word-break:break-all}.detail-link-inline:hover{text-decoration:underline}.detail-section:has(.tle-data){min-width:350px}.tle-data{display:flex;flex-direction:column;gap:.75em;padding:.75em;background:#f0f7ff;border-left:3px solid #1976d2;border-radius:4px}.tle-row{flex-direction:column;gap:.25em}.tle-row .detail-label{flex:none}.tle-value{text-align:left;font-family:Courier New,monospace;font-size:.85em;letter-spacing:.02em;word-break:break-all;padding:.5em;background:#fff;border-radius:3px;border:1px solid #b3d9ff}@media(max-width:768px){.detail-panel{max-height:none}.detail-grid{grid-template-columns:1fr}}.object-class-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;background:#e9ecef;font-size:.78rem;font-weight:600;color:#495057}.provenance-caveat{padding:.4rem .6rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-size:.75rem;color:#856404;margin-bottom:.5rem}.modal-content{background:#fff;border-radius:8px;max-width:900px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:2px solid #eee}.modal-header h2{margin:0;font-size:1.25rem;color:#333}.modal-close{background:none;border:none;font-size:2rem;line-height:1;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.modal-close:hover{background:#f5f5f5;color:#333}.modal-body{flex:1;overflow-y:auto;padding:1.5rem;background:#f9f9f9}.json-display{margin:0;padding:1rem;background:#1e1e1e;color:#d4d4d4;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,Courier New,monospace;font-size:.875rem;line-height:1.5;border-radius:4px;overflow-x:auto;white-space:pre}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #eee;background:#fafafa}.modal-button{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.copy-button{background:#4caf50;color:#fff}.copy-button:hover{background:#45a049}.close-button{background:#666;color:#fff}.close-button:hover{background:#555}@media(max-width:768px){.modal-overlay{padding:1rem}.modal-content{max-height:90vh}.modal-header,.modal-body{padding:1rem}.json-display{font-size:.75rem}}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.mqtt-modal{max-width:700px;width:100%}.mqtt-form{display:flex;flex-direction:column;gap:1.5rem}.message{padding:.75rem 1rem;border-radius:4px;font-size:.9rem;font-weight:500}.error-message{background:#ffebee;color:#d32f2f;border-left:3px solid #d32f2f}.success-message{background:#e8f5e9;color:#2e7d32;border-left:3px solid #4caf50}.form-section{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#f9f9f9;border-radius:4px;border-left:3px solid #1976d2}.form-section h3{margin:0 0 .5rem;font-size:1rem;color:#333;text-transform:uppercase;letter-spacing:.5px}.form-group label{font-size:.9rem;font-weight:500;color:#333}.form-group input,.form-group select{padding:.6rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:Courier New,monospace;transition:border-color .15s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.form-group input:disabled,.form-group select:disabled{background:#f5f5f5;cursor:not-allowed}.form-group input[type=number]{max-width:150px}.form-group small{color:#666;font-size:.8rem;font-style:italic}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-group span{font-size:.9rem;color:#333}.test-button{align-self:flex-start;padding:.5rem 1rem;background:#ff9800;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.test-button:hover:not(:disabled){background:#f57c00;transform:translateY(-1px);box-shadow:0 2px 8px #ff98004d}.test-button:disabled{background:#ccc;cursor:not-allowed}.tle-preview{padding:1rem;background:#f0f7ff;border-radius:4px;border-left:3px solid #1976d2}.tle-preview h3{margin:0 0 .75rem;font-size:.95rem;color:#333;text-transform:uppercase;letter-spacing:.5px}.tle-lines{display:flex;flex-direction:column;gap:.5rem}.tle-lines code{display:block;padding:.5rem;background:#fff;border:1px solid #b3d9ff;border-radius:3px;font-family:Courier New,monospace;font-size:.85rem;letter-spacing:.02em;overflow-x:auto}.modal-footer{display:flex;justify-content:space-between;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #eee;background:#fafafa}.footer-left,.footer-right{display:flex;gap:.75rem}.publish-button{background:#ff9800;color:#fff}.publish-button:hover:not(:disabled){background:#f57c00}.delete-button{background:#f44336;color:#fff}.delete-button:hover:not(:disabled){background:#d32f2f}.save-button{background:#4caf50;color:#fff}.save-button:hover:not(:disabled){background:#45a049}@media(max-width:768px){.modal-overlay{padding:1rem}.mqtt-modal{max-height:90vh}.modal-header,.modal-body{padding:1rem}.modal-footer{flex-direction:column;gap:.5rem}.footer-left,.footer-right{width:100%}.footer-right{flex-direction:column}.modal-button{width:100%}}.orbit-modal{max-width:1200px;width:100%;max-height:90vh}.orbit-content{display:flex;flex-direction:column;gap:1.5rem}.orbit-header-info{display:flex;flex-direction:column;gap:1rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;padding:1rem;background:#f0f7ff;border-radius:4px;border-left:3px solid #1976d2}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.8rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:.95rem;color:#333;font-family:Courier New,monospace}.interval-selector{padding:.4rem .6rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:Courier New,monospace;background:#fff;cursor:pointer;transition:border-color .15s}.interval-selector:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.position-card{padding:1rem;border-radius:4px;border-left:3px solid}.position-card.tle-position{background:#fff8e1;border-color:#ffa726}.position-card.current-position{background:#e8f5e9;border-color:#66bb6a}.position-card h3{margin:0 0 .25rem;font-size:1rem;color:#333}.position-note{margin:0 0 .75rem;font-size:.8rem;color:#666;font-style:italic}.position-data{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.position-row{display:flex;justify-content:space-between;gap:.5rem}.position-label{font-size:.85rem;font-weight:500;color:#555}.position-value{font-size:.85rem;color:#333;font-family:Courier New,monospace;font-weight:500}.table-section{display:flex;flex-direction:column;gap:.75rem}.table-header-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f0f7ff;border-radius:4px;border-left:3px solid #1976d2}.table-header-row h3{margin:0;font-size:1rem;color:#333}.eci-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;color:#555;-webkit-user-select:none;user-select:none}.eci-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.orbit-table-container{max-height:400px;overflow-y:auto;border:1px solid #ddd;border-radius:4px;background:#fff}.orbit-table{width:100%;border-collapse:collapse;font-size:.9rem}.orbit-table thead{position:sticky;top:0;background:#1976d2;color:#fff;z-index:10}.orbit-table thead th{padding:.75rem;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #1565c0}.orbit-table thead th.numeric{text-align:right}.orbit-table tbody tr{transition:background-color .15s}.orbit-table tbody tr:nth-child(2n){background:#f9f9f9}.orbit-table tbody tr:hover{background:#e3f2fd}.orbit-table tbody td{padding:.65rem .75rem;border-bottom:1px solid #eee;font-family:Courier New,monospace;font-size:.85rem}.orbit-table tbody td.numeric{text-align:right;font-weight:500}.loading-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;gap:1rem;color:#666}.loading-message p{margin:0;font-size:.95rem;font-style:italic}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{padding:1rem 1.25rem;background:#ffebee;color:#d32f2f;border-left:3px solid #d32f2f;border-radius:4px;font-size:.9rem;font-weight:500}@media(max-width:1024px){.orbit-modal{max-width:95vw}.info-grid,.position-data{grid-template-columns:1fr}.table-header-row{flex-direction:column;align-items:flex-start;gap:.5rem}}@media(max-width:768px){.modal-overlay{padding:1rem}.orbit-modal{max-height:95vh}.modal-header,.modal-body{padding:1rem}.orbit-content{gap:1rem}.orbit-table{font-size:.8rem}.orbit-table thead th,.orbit-table tbody td{padding:.5rem}.orbit-table-container{max-height:300px}}.next-pass-modal{max-width:900px;width:100%;max-height:90vh}.np-controls{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#f0f7ff;border-radius:4px;border-left:3px solid #8bc34a}.np-location-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.np-geo-button{display:inline-flex;align-items:center;gap:.4rem;padding:.4em .9em;background:#607d8b;color:#fff;border:none;border-radius:4px;font-size:.85em;font-weight:500;cursor:pointer;transition:background .15s}.np-geo-button:hover:not(:disabled){background:#546e7a}.np-geo-button:disabled{opacity:.6;cursor:not-allowed}.np-loc-error{font-size:.82em;color:#d32f2f}.np-loc-error-inline{flex-basis:100%;margin-top:.25rem}.np-sites-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.np-sites-select-group{flex-shrink:0}.np-sites-select{width:180px!important;font-family:inherit!important}.np-sites-actions{display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap}.np-save-site-button{display:inline-flex;align-items:center;gap:.3rem;padding:.4em .8em;background:#e3f2fd;color:#1565c0;border:1px solid #90caf9;border-radius:4px;font-size:.82em;font-weight:500;cursor:pointer;transition:background .15s}.np-save-site-button:hover{background:#bbdefb}.np-manage-button{display:inline-flex;align-items:center;padding:.4em .8em;background:#f5f5f5;color:#555;border:1px solid #ddd;border-radius:4px;font-size:.82em;font-weight:500;cursor:pointer;transition:background .15s}.np-manage-button:hover{background:#e8e8e8}.np-save-form{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:#e3f2fd;border:1px solid #90caf9;border-radius:4px}.np-site-name-input{flex:1;font-family:inherit!important;width:auto!important}.np-save-confirm-button{padding:.35em .9em;background:#1565c0;color:#fff;border:none;border-radius:4px;font-size:.85em;font-weight:600;cursor:pointer;transition:background .15s}.np-save-confirm-button:hover:not(:disabled){background:#0d47a1}.np-save-confirm-button:disabled{opacity:.5;cursor:not-allowed}.np-cancel-button{padding:.35em .9em;background:#fff;color:#555;border:1px solid #ccc;border-radius:4px;font-size:.85em;cursor:pointer;transition:background .15s}.np-cancel-button:hover{background:#f5f5f5}.np-manage-sites{background:#fff;border:1px solid #ddd;border-radius:4px;overflow:hidden}.np-manage-title{padding:.4rem .75rem;background:#eceff1;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#546e7a;border-bottom:1px solid #ddd}.np-site-item{display:flex;align-items:center;gap:.75rem;padding:.45rem .75rem;border-bottom:1px solid #f0f0f0;font-size:.85rem}.np-site-item:last-child{border-bottom:none}.np-site-item-name{font-weight:600;color:#333;min-width:100px}.np-site-item-coords{font-family:Courier New,monospace;font-size:.78rem;color:#777;flex:1}.np-site-delete{padding:.1em .45em;background:none;border:1px solid #ffcdd2;color:#c62828;border-radius:3px;font-size:1rem;line-height:1;cursor:pointer;transition:background .12s;flex-shrink:0}.np-site-delete:hover{background:#ffebee}.np-geo-search{display:flex;flex-direction:column;gap:0}.np-geo-search-row{display:flex;align-items:flex-end;gap:.5rem}.np-geo-search-input-wrap{position:relative;display:flex;align-items:center}.np-geo-search-input{width:320px!important}.np-geo-spinner{position:absolute;right:.6rem;font-size:.85rem;color:#888;animation:np-pulse .8s infinite}@keyframes np-pulse{0%,to{opacity:1}50%{opacity:.3}}.np-geo-results{border:1px solid #ddd;border-radius:4px;overflow:hidden;margin-top:.25rem;box-shadow:0 3px 8px #00000014;background:#fff}.np-geo-no-results{padding:.55rem .75rem;font-size:.83rem;color:#888;font-style:italic}.np-geo-result-item{display:flex;flex-direction:column;gap:.1rem;width:100%;padding:.5rem .75rem;text-align:left;background:#fff;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .12s}.np-geo-result-item:last-child{border-bottom:none}.np-geo-result-item:hover{background:#f1f8e9}.np-geo-result-name{font-size:.88rem;font-weight:600;color:#222}.np-geo-result-detail{font-size:.77rem;color:#777}.np-geo-result-coords{font-family:Courier New,monospace;color:#999}.np-visibility-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding-top:.5rem;border-top:1px solid #e0e0e0;margin-top:.25rem}.np-toggle-label{font-size:.78rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.4px;margin-right:.25rem}.np-toggle-btn{padding:.3em .8em;background:#f5f5f5;color:#555;border:1px solid #ddd;border-radius:20px;font-size:.82em;font-weight:500;cursor:pointer;transition:all .15s}.np-toggle-btn:hover:not(.active){background:#e8e8e8}.np-toggle-btn.active{background:#1565c0;color:#fff;border-color:#1565c0;font-weight:600}.np-toggle-hint{font-size:.72rem;color:#888;font-style:italic;margin-left:.25rem}.np-inputs{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.np-label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.4px}.np-input{padding:.4em .6em;border:1px solid #ccc;border-radius:4px;font-size:.9em;font-family:Courier New,monospace;background:#fff;width:140px;transition:border-color .15s}.np-input-sm{width:80px}.np-input:focus{outline:none;border-color:#8bc34a;box-shadow:0 0 0 2px #8bc34a26}.np-select{padding:.4em .6em;border:1px solid #ccc;border-radius:4px;font-size:.9em;background:#fff;cursor:pointer;width:100px;transition:border-color .15s}.np-select:focus{outline:none;border-color:#8bc34a}.np-search-button{display:inline-flex;align-items:center;padding:.45em 1.2em;background:#8bc34a;color:#fff;border:none;border-radius:4px;font-size:.9em;font-weight:600;cursor:pointer;transition:all .15s;align-self:flex-end}.np-search-button:hover:not(:disabled){background:#7cb342;transform:translateY(-1px);box-shadow:0 2px 8px #8bc34a4d}.np-search-button:disabled{opacity:.5;cursor:not-allowed}.np-results{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.np-results-meta{display:flex;gap:1.5rem;font-size:.85rem;color:#555;flex-wrap:wrap}.np-tle-age{color:#666}.np-stale-tle{color:#e65100;font-weight:500}.np-empty{padding:1.5rem 1rem;background:#fafafa;border:1px solid #eee;border-radius:4px;color:#666;font-size:.9rem;text-align:center}.np-table-container{overflow-x:auto;border:1px solid #ddd;border-radius:4px}.np-table{width:100%;border-collapse:collapse;font-size:.88rem}.np-table thead{position:sticky;top:0;background:#558b2f;color:#fff;z-index:10}.np-table thead th{padding:.65rem .75rem;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.np-table thead th.numeric{text-align:right}.np-table tbody tr{transition:background-color .12s}.np-table tbody tr:nth-child(2n){background:#f9f9f9}.np-table tbody tr:hover{background:#f1f8e9}.np-table tbody tr.np-row-optical{background:#e8f5e9}.np-table tbody tr.np-row-optical:hover{background:#dcedc8}.np-table tbody td{padding:.6rem .75rem;border-bottom:1px solid #eee;font-family:Courier New,monospace;font-size:.85rem;vertical-align:middle}.np-table tbody td.numeric{text-align:right;font-weight:500}.np-time{white-space:nowrap;font-size:.82rem!important}.np-elevation{font-weight:600!important}.pass-stars{display:inline-flex;gap:1px;font-size:1.05rem;line-height:1}.star.filled{color:#f9a825}.star.empty{color:#ccc}.np-optical{white-space:nowrap}.np-visible-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15em .5em;background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;border-radius:10px;font-size:.78rem;font-weight:600;font-family:inherit}.np-equip-badge{display:inline-flex;align-items:center;padding:.15em .5em;background:#f5f5f5;color:#757575;border:1px solid #e0e0e0;border-radius:10px;font-size:.78rem;font-family:inherit}.np-unknown-badge{color:#bbb;font-family:inherit}@media(max-width:768px){.next-pass-modal{max-width:98vw;max-height:95vh}.np-inputs{flex-direction:column;align-items:stretch}.np-input,.np-input-sm,.np-select{width:100%}.np-search-button{width:100%;justify-content:center}.np-table{font-size:.78rem}}.observations-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.observations-modal{background:#fff;border-radius:8px;box-shadow:0 4px 32px #0003;width:100%;max-width:calc(100vw - 2rem);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e0e0e0;flex-shrink:0}.modal-header h2{margin:0;font-size:1.2rem;color:#1a1a2e}.modal-subtitle{margin:.25rem 0 0;font-size:.9rem;color:#666;font-weight:400}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0 .25rem;line-height:1;margin-left:1rem;flex-shrink:0}.modal-close:hover{color:#1a1a2e}.loading-message{text-align:center;padding:2rem;color:#666;font-style:italic}.error-message{padding:.75rem 1rem;border-radius:4px;font-size:.9rem;background:#ffebee;color:#d32f2f;border-left:3px solid #d32f2f;margin:1rem 1.5rem}.observations-body{overflow:auto;flex:1}.observations-table-wrapper{overflow-x:auto;padding:1rem 1.5rem}.observations-table{border-collapse:collapse;font-size:.82rem;white-space:nowrap;width:100%}.observations-table th,.observations-table td{padding:.4rem .65rem;border:1px solid #e0e0e0;text-align:left;vertical-align:middle}.observations-table thead th{background-color:#1a1a2e;color:#fff;font-weight:600}.observations-table .th-section{text-align:center;background-color:#2d2d5e}.observations-table .th-top-level{background-color:#1a1a2e;vertical-align:middle}.observations-table .th-sub{background-color:#3d3d8e;font-weight:500}.observations-table .row-even{background-color:#f9f9f9}.observations-table .row-odd{background-color:#fff}.observations-table tbody tr:hover{background-color:#eef2ff}@media(max-width:768px){.observations-overlay{padding:.5rem}.observations-modal{max-width:100%;max-height:95vh}}.filters{display:flex;flex-direction:column;gap:1.5em}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5em}.filters-header h2{font-size:1.1em;margin:0}.reset-btn{padding:.4em .8em;font-size:.85em;background:#f0f0f0;color:#333;border:1px solid #ddd}.reset-btn:hover{background:#e0e0e0}.filter-group{display:flex;flex-direction:column;gap:.5em}.filter-group label{font-weight:600;font-size:.9em;color:#333;display:block}.filter-group input,.filter-group select{width:100%;padding:.6em;border:1px solid #ddd;border-radius:4px;font-size:.9em}.filter-group small{font-size:.8em;color:#888;display:block;margin-top:.25em}.range-inputs{display:flex;gap:.5em;align-items:center}.range-inputs input{flex:1;margin:0}.range-inputs span{color:#888;font-size:.9em;flex:0 0 auto}@media(max-width:1200px){.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1em;margin-bottom:1em}.filters-header{grid-column:1 / -1}}.graph-viewer{display:flex;flex-direction:column;height:100%;width:100%}.graph-controls{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:.5rem}.control-group label{font-weight:500;font-size:.9rem}.control-group select{padding:.4rem .8rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;background:#fff}.graph-controls button{padding:.4rem 1rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.graph-controls button:hover{background:#2980b9}.graph-stats{display:flex;gap:1rem;margin-left:auto;font-size:.9rem;color:#495057}.graph-stats span{padding:.3rem .8rem;background:#fff;border-radius:4px;border:1px solid #dee2e6}.graph-container{flex:1;position:relative;background:#fff;border:1px solid #dee2e6;margin:0}.loading-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fffffff2;padding:2rem 3rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;font-size:1.1rem;color:#495057;z-index:1000}.error-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fffffff2;padding:2rem 3rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;z-index:1000;max-width:80%}.error-message{color:#c0392b;font-size:1rem;line-height:1.5}.error-message strong{display:block;margin-bottom:.5rem;font-size:1.1rem}.graph-legend{padding:1rem;background:#f8f9fa;border-top:1px solid #dee2e6}.graph-legend h4{margin:0 0 .8rem;font-size:.9rem;color:#495057}.legend-item{display:flex;align-items:center;gap:.8rem;margin-bottom:.5rem;font-size:.85rem}.legend-node{width:20px;height:20px;border-radius:50%;display:inline-block}.legend-node.satellite{background-color:#3498db}.legend-node.hub{background-color:#e74c3c;width:28px;height:28px}.legend-node.document{background-color:#2ecc71;border-radius:4px;width:30px;height:20px}.legend-node.low-risk{background-color:#27ae60}.legend-node.medium-risk{background-color:#f39c12}.legend-node.high-risk{background-color:#e74c3c}.legend-node.critical-risk{background-color:#c0392b}.legend-section{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #dee2e6}.legend-section:last-child{border-bottom:none;margin-bottom:0}.legend-section h5{margin:0 0 .5rem;font-size:.8rem;color:#6c757d;font-weight:600;text-transform:uppercase}.legend-note{font-size:.75rem;color:#95a5a6;font-style:italic;margin-top:.5rem;padding-left:0}.legend-edge{width:30px;height:2px;background-color:#95a5a6;display:inline-block;position:relative}.legend-edge:after{content:"";position:absolute;right:-4px;top:-3px;width:0;height:0;border-left:6px solid #95a5a6;border-top:4px solid transparent;border-bottom:4px solid transparent}.legend-edge-medium{width:30px;height:2.5px;background-color:#f39c12;display:inline-block;position:relative}.legend-edge-medium:after{content:"";position:absolute;right:-4px;top:-3.5px;width:0;height:0;border-left:6px solid #f39c12;border-top:4px solid transparent;border-bottom:4px solid transparent}.legend-edge-thick{width:30px;height:3px;display:inline-block;position:relative}.legend-edge-thick.high{background-color:#e74c3c}.legend-edge-thick.critical{background-color:#c0392b;height:4px}.legend-edge-thick:after{content:"";position:absolute;right:-4px;top:-3.5px;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent}.legend-edge-thick.high:after{border-left:6px solid #e74c3c}.legend-edge-thick.critical:after{border-left:6px solid #c0392b;top:-3px}.legend-node.country{background-color:#9b59b6;width:24px;height:24px;clip-path:polygon(30% 0%,70% 0%,100% 50%,70% 100%,30% 100%,0% 50%)}.legend-edge-thick.collaboration{background-color:#27ae60;height:4px}.legend-edge-thick.collaboration:after{border-left:6px solid #27ae60;top:-2.5px}.legend-edge-dashed{width:30px;height:2px;background:repeating-linear-gradient(to right,#3498db 0,#3498db 4px,transparent 4px,transparent 8px);display:inline-block;position:relative}.legend-edge-dashed:after{content:"";position:absolute;right:-4px;top:-3px;width:0;height:0;border-left:6px solid #3498db;border-top:4px solid transparent;border-bottom:4px solid transparent}.graph-context-menu{background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;overflow:hidden;min-width:200px}.context-menu-item{padding:.75rem 1rem;cursor:pointer;transition:background .2s;font-size:.9rem;color:#333;border-bottom:1px solid #f0f0f0}.context-menu-item:last-child{border-bottom:none}.context-menu-item:hover{background:#f8f9fa;color:#2196f3}.detail-panel-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.graph-detail-panel{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0000004d;max-width:600px;max-height:80vh;width:90%;display:flex;flex-direction:column}.graph-detail-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #dee2e6;background:#f8f9fa;border-radius:8px 8px 0 0}.graph-detail-panel-header h3{margin:0;font-size:1.25rem;color:#2c3e50}.graph-detail-panel-header .close-button{background:none;border:none;font-size:1.5rem;color:#6c757d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.graph-detail-panel-header .close-button:hover{background:#e9ecef;color:#495057}.graph-detail-panel-content{padding:1.5rem;overflow-y:auto;flex:1}.satellite-details,.registration-details{display:flex;flex-direction:column}.error-details{font-size:.95rem}.error-details p{color:#c0392b;font-size:1rem;padding:1rem;background:#ffebee;border-radius:4px;border-left:4px solid #c0392b}.json-display{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:1rem;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:.85rem;line-height:1.5;color:#2c3e50;white-space:pre;margin:0;max-height:calc(80vh - 250px);overflow-y:auto}.copy-json-button{margin-top:1rem;padding:.5rem 1rem;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.copy-json-button:hover{background:#1976d2}.path-finder-panel{padding:1rem}.path-finder-panel h3{margin:0 0 .5rem;font-size:1rem;color:#495057}.panel-description{font-size:.85rem;color:#6c757d;margin:0 0 1rem;line-height:1.4}.path-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:#495057}.form-group input,.form-group select{padding:.5rem;border:1px solid #dee2e6;border-radius:4px;font-size:.9rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}.find-path-button{padding:.75rem;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.find-path-button:hover:not(:disabled){background:#2980b9}.find-path-button:disabled{background:#95a5a6;cursor:not-allowed}.error-message{padding:.75rem;background:#fee;border:1px solid #fcc;border-radius:4px;color:#c00;font-size:.85rem}.collision-risk-view{padding:1rem}.collision-risk-view h3{margin:0 0 .5rem;font-size:1rem;color:#495057}.collision-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.range-value{margin-left:.5rem;font-weight:500;color:#3498db}.range-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#6c757d;margin-top:.25rem}.load-button{padding:.75rem;background:#e74c3c;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.load-button:hover:not(:disabled){background:#c0392b}.load-button:disabled{background:#95a5a6;cursor:not-allowed}.risk-info{padding:1rem;background:#fff5f5;border-left:3px solid #e74c3c;border-radius:4px}.risk-info h4{margin:0 0 .75rem;font-size:.9rem;color:#495057}.risk-legend{display:flex;flex-direction:column;gap:.5rem}.risk-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#495057}.risk-badge{width:20px;height:20px;border-radius:3px;border:1px solid rgba(0,0,0,.1)}.risk-badge.critical{background:#c0392b}.risk-badge.high{background:#e74c3c}.risk-badge.medium{background:#f39c12}.risk-badge.low{background:#27ae60}.error-message{padding:.75rem;background:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;font-size:.85rem;line-height:1.4}.no-results-message{padding:.75rem;background:#e8f4fd;border:1px solid #b3d9f2;border-radius:4px;color:#0c5a7d;font-size:.85rem;line-height:1.4}.no-results-message ul{margin:.5rem 0 0 1.25rem;padding:0}.no-results-message li{margin:.25rem 0}.spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:.5rem;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.constellation-browser{padding:1rem}.constellation-header{margin-bottom:1.5rem}.constellation-header h3{margin:0 0 .5rem;color:#333}.section-description{color:#666;font-size:.9rem;margin:0}.constellation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.constellation-card{padding:1.25rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.constellation-card:hover{border-color:#2196f3;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.constellation-card.selected{border-color:#2196f3;background:#e3f2fd}.constellation-name{font-weight:600;font-size:1rem;color:#333;margin-bottom:.5rem}.constellation-count{font-size:.85rem;color:#666}.loading-indicator{position:absolute;top:.5rem;right:.5rem;font-size:.75rem;color:#2196f3;font-style:italic}.network-stats{background:#f5f5f5;padding:1.5rem;border-radius:8px;border:1px solid #e0e0e0}.network-stats h4{margin:0 0 1rem;color:#333;font-size:1.1rem}.error-message{padding:1rem;background:#ffebee;border:1px solid #ef5350;border-radius:4px;color:#c62828;margin-top:1rem}.no-data{grid-column:1 / -1;text-align:center;padding:2rem;color:#999;font-style:italic}.satellite-neighborhood{padding:1rem}.neighborhood-header{margin-bottom:1.5rem}.neighborhood-header h3{margin:0 0 .5rem;color:#333}.search-section{margin-bottom:1.5rem}.search-container{position:relative;margin-bottom:.5rem}.satellite-search-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid #e0e0e0;border-radius:8px;transition:border-color .2s}.satellite-search-input:focus{outline:none;border-color:#2196f3}.search-indicator{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.85rem;color:#2196f3;font-style:italic}.search-results{background:#fff;border:1px solid #e0e0e0;border-radius:8px;max-height:300px;overflow-y:auto;box-shadow:0 4px 8px #0000001a}.search-result-item{padding:1rem;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.search-result-item:hover{background-color:#f5f5f5}.search-result-item:last-child{border-bottom:none}.result-name{font-weight:600;color:#333;margin-bottom:.25rem}.result-details{display:flex;gap:.5rem;flex-wrap:wrap}.detail-badge{font-size:.75rem;padding:.25rem .5rem;background:#e3f2fd;color:#1976d2;border-radius:4px}.selected-satellite{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#e8f5e9;border:2px solid #4caf50;border-radius:8px;margin-bottom:1rem}.satellite-info{display:flex;align-items:center;gap:.75rem}.info-badge{font-size:.85rem;padding:.25rem .75rem;background:#fff;color:#2e7d32;border-radius:4px;font-weight:500}.clear-button{padding:.5rem 1rem;background:#fff;border:1px solid #4caf50;border-radius:4px;color:#2e7d32;cursor:pointer;font-weight:500;transition:all .2s}.clear-button:hover{background:#4caf50;color:#fff}.edge-type-filters{margin-bottom:1.5rem;padding:1rem;background:#f5f5f5;border-radius:8px}.filter-label{display:block;margin-bottom:.75rem;font-weight:600;color:#333}.filter-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.filter-button{padding:.5rem 1rem;background:#fff;color:#333;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s;font-size:.9rem}.filter-button:hover{border-color:#2196f3}.filter-button.active{background:#2196f3;color:#fff;border-color:#2196f3}.reload-button{padding:.5rem 1.5rem;background:#2196f3;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.reload-button:hover:not(:disabled){background:#1976d2}.reload-button:disabled{opacity:.6;cursor:not-allowed}.neighborhood-stats{background:#f5f5f5;padding:1.5rem;border-radius:8px;border:1px solid #e0e0e0}.neighborhood-stats h4{margin:0 0 1rem;color:#333;font-size:1.1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.85rem;color:#666;font-weight:500}.stat-value{font-size:1.5rem;font-weight:600;color:#2196f3}.error-message{padding:1rem;background:#ffebee;border:1px solid #ef5350;border-radius:8px;color:#c62828;margin-top:1rem}.proximity-filters{margin-top:1rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.filter-sliders{display:flex;flex-direction:column;gap:1rem}.filter-slider{display:flex;flex-direction:column;gap:.5rem}.filter-slider label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#555}.filter-slider label strong{color:#2196f3;font-weight:600}.filter-help{font-size:.75rem;color:#999;font-style:italic;margin-left:auto}.filter-slider input[type=range]{width:100%;height:6px;border-radius:3px;background:#e0e0e0;outline:none;-webkit-appearance:none}.filter-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#2196f3;cursor:pointer;transition:background .2s}.filter-slider input[type=range]::-webkit-slider-thumb:hover{background:#1976d2}.filter-slider input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#2196f3;cursor:pointer;border:none;transition:background .2s}.filter-slider input[type=range]::-moz-range-thumb:hover{background:#1976d2}.graph-explorer{display:flex;height:100%;width:100%}.graph-sidebar{width:420px;background:#f8f9fa;border-right:1px solid #dee2e6;display:flex;flex-direction:column;overflow:hidden}.graph-type-selector{display:flex;flex-direction:column;background:#fff;border-bottom:1px solid #dee2e6;padding:.5rem;gap:.25rem}.graph-type-selector button{padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;font-size:.9rem;font-weight:500;color:#6c757d;transition:all .2s;border-radius:6px;text-align:left;border-left:3px solid transparent}.graph-type-selector button:hover{background:#f8f9fa;color:#495057}.graph-type-selector button.active{color:#3498db;border-left-color:#3498db;background:#e3f2fd}.selector-content{flex:1;overflow-y:auto;padding:1rem}.selector-content h3{margin:0 0 1rem;font-size:1rem;color:#495057}.section-description{font-size:.85rem;color:#6c757d;margin:-.5rem 0 1rem;line-height:1.4}.item-list{display:flex;flex-direction:column;gap:.5rem}.list-item{padding:.8rem;background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;transition:all .2s}.list-item:hover{border-color:#3498db;box-shadow:0 2px 4px #3498db1a}.list-item.selected{background:#e3f2fd;border-color:#3498db;box-shadow:0 2px 6px #3498db33}.item-name{font-weight:500;font-size:.9rem;color:#2c3e50;margin-bottom:.3rem;word-break:break-word}.item-count{font-size:.85rem;color:#6c757d}.item-meta{font-size:.75rem;color:#95a5a6;margin-top:.3rem}.graph-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.timeline-chart-container{display:flex;flex-direction:column;align-items:center;padding:2rem;background:#fff;height:100%;overflow-y:auto}.timeline-header{text-align:center;margin-bottom:2rem}.timeline-header h3{margin:0 0 .5rem;font-size:1.5rem;color:#2c3e50;display:flex;align-items:center;gap:1rem}.back-button{padding:.5rem 1rem;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.back-button:hover{background:#2980b9}.timeline-subtitle{margin:0;font-size:.95rem;color:#6c757d}.active-filters{color:#e74c3c;font-weight:600}.filter-tag{background:#e74c3c;color:#fff;padding:.15rem .5rem;border-radius:4px;font-size:.85rem;margin:0 .25rem}.timeline-header p.timeline-subtitle:after{content:" • Click any year to view monthly breakdown";color:#3498db;font-weight:500;font-size:.85rem}.timeline-filters{display:flex;gap:1.5rem;margin-bottom:2rem;align-items:center;justify-content:center;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.85rem;color:#495057;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.filter-select{padding:.5rem 1rem;border:1px solid #ced4da;border-radius:6px;background:#fff;color:#495057;font-size:.9rem;min-width:180px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.filter-select:hover{border-color:#3498db}.filter-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.clear-filters-button{padding:.5rem 1rem;background:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s;align-self:flex-end;margin-bottom:.5rem}.clear-filters-button:hover{background:#c0392b}.timeline-chart{display:block;margin:0 auto}.timeline-loading,.timeline-empty{display:flex;align-items:center;justify-content:center;height:100%;font-size:1rem;color:#6c757d}.timeline-stats{display:flex;gap:1.5rem;margin-top:2rem;flex-wrap:wrap;justify-content:center}.stat-card{background:#f8f9fa;padding:1rem 1.5rem;border-radius:8px;min-width:140px;text-align:center;border:1px solid #dee2e6}.stat-label{font-size:.85rem;color:#6c757d;margin-bottom:.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.75rem;color:#3498db;font-weight:700}.timeline-breakdown{width:100%;max-width:1400px;margin-top:3rem;padding:2rem;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.timeline-breakdown h4{margin:0 0 1.5rem;font-size:1.25rem;color:#2c3e50;text-align:center}.breakdown-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.breakdown-section h5{margin:0 0 1rem;font-size:1rem;color:#495057;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.breakdown-items{display:flex;flex-direction:column;gap:.75rem}.breakdown-item{display:grid;grid-template-columns:120px 1fr 50px;gap:.75rem;align-items:center;font-size:.9rem}.breakdown-name{color:#495057;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breakdown-bar-container{height:20px;background:#e9ecef;border-radius:4px;overflow:hidden}.breakdown-bar{height:100%;background:#3498db;transition:width .3s ease;border-radius:4px}.breakdown-bar-country{background:#2ecc71}.breakdown-bar-constellation{background:#9b59b6}.breakdown-count{color:#6c757d;font-weight:600;text-align:right}.breakdown-loading{color:#6c757d;font-style:italic;text-align:center;padding:1rem}.function-analytics{width:100%;padding:.75rem 1.5rem;max-width:1400px;margin:0 auto;overflow-y:auto;font-size:.9em}.view-selector{display:flex;gap:.5rem}.view-selector button{padding:.4rem .8rem;border:1px solid #ddd;background:#fff;color:#333;cursor:pointer;border-radius:4px;font-size:.85em;transition:all .2s}.view-selector button:hover{background:#f5f5f5}.view-selector button.active{background:#3498db;color:#fff;border-color:#3498db}.matrix-container{background:#fff;padding:1rem;border-radius:4px;box-shadow:0 1px 3px #0000001a}.matrix-container h3{margin:0 0 .2rem;color:#333;font-size:1em}.matrix-container .description{color:#666;margin-bottom:.75rem;font-size:.8em}.matrix-wrapper{overflow-x:auto;margin-bottom:1rem}.connection-matrix{border-collapse:collapse;width:100%;min-width:800px;font-size:.9em}.connection-matrix th,.connection-matrix td{padding:.5rem;text-align:center;border:1px solid #e0e0e0}.connection-matrix th{background:#f5f5f5;font-weight:600;color:#333}.matrix-header{writing-mode:vertical-rl;text-orientation:mixed;max-width:40px;font-size:.75em}.matrix-row-header{text-align:left;position:sticky;left:0;background:#f5f5f5;z-index:1;font-size:.75em}.matrix-cell{font-weight:500;cursor:help;transition:all .2s;color:#333}.matrix-cell:hover{transform:scale(1.1);box-shadow:0 0 0 2px #3498db;z-index:2}.legend{margin-top:.75rem;padding:.75rem;background:#f9f9f9;border-radius:4px}.legend h4{margin:0 0 .5rem;font-size:.8em;color:#666}.legend-items{display:flex;flex-wrap:wrap;gap:.75rem}.legend-item{display:flex;align-items:center;gap:.4rem;font-size:.75em}.legend-box{width:24px;height:16px;border:1px solid #ddd;border-radius:2px}.statistics-container{background:#fff;padding:1rem;border-radius:4px;box-shadow:0 1px 3px #0000001a}.statistics-container h3{margin:0 0 .2rem;color:#333;font-size:1em}.statistics-container .description{color:#666;margin-bottom:.75rem;font-size:.8em}.summary-cards{display:flex;justify-content:flex-start;gap:1.5rem;margin-bottom:1rem;padding:.75rem;background:#f8f9fa;border-radius:4px;border:1px solid #e0e0e0}.function-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.function-group{border:1px solid #e0e0e0;border-radius:4px;padding:.75rem;background:#fafafa}.function-name{margin:0 0 .4rem;color:#2c3e50;font-size:.95em;padding-bottom:.25rem;border-bottom:2px solid #3498db;font-weight:600}.function-stats{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.stat{display:flex;align-items:center;gap:.3rem;padding:.25rem .4rem;background:#fff;border-radius:3px;border:1px solid #e0e0e0;font-size:.75em}.stat-label{font-weight:600;color:#666}.stat-value{color:#333;font-weight:700}.cluster-table{overflow-x:auto}.cluster-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:3px;overflow:hidden;font-size:.75em}.cluster-table thead{background:#3498db;color:#fff}.cluster-table th,.cluster-table td{padding:.3rem .4rem;text-align:left;border-bottom:1px solid #e0e0e0}.cluster-table th{font-weight:600;font-size:.75em;text-transform:uppercase;letter-spacing:.3px}.cluster-table tbody tr:hover{background:#f5f5f5}.cluster-table tbody tr:last-child td{border-bottom:none}@media(max-width:768px){.function-analytics{padding:1rem}.analytics-header{flex-direction:column;align-items:flex-start;gap:1rem}.matrix-header{font-size:.75em}.function-stats,.summary-cards{grid-template-columns:1fr}}.registration-document-analytics{padding:.75rem 1.5rem;max-width:100%;margin:0 auto;height:calc(100vh - 80px);overflow-y:auto;font-size:.9em}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.analytics-header h2{margin:0;color:#333;font-size:1.3em}.search-box{display:flex;gap:.5rem}.search-box input{padding:.4rem .8rem;border:1px solid #ddd;border-radius:4px;font-size:.85em;min-width:250px}.search-box input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.loading{text-align:center;padding:4rem;font-size:1.1em;color:#666}.analytics-content{display:flex;flex-direction:column;gap:1rem}.summary-cards{display:flex;justify-content:flex-start;gap:1.5rem;padding:.75rem;background:#f8f9fa;border-radius:4px;border:1px solid #e0e0e0}.summary-card{display:flex;align-items:center;gap:.5rem}.card-value{font-size:1.5em;font-weight:700;color:#3498db}.card-label{font-size:.7em;color:#666;text-transform:uppercase;letter-spacing:.3px}.table-container{background:#fff;padding:1rem;border-radius:4px;box-shadow:0 1px 3px #0000001a}.table-container h3{margin:0 0 .2rem;color:#333;font-size:1em}.table-container .description{color:#666;margin-bottom:.75rem;font-size:.8em}.table-wrapper{overflow-x:auto}.documents-table{width:100%;border-collapse:collapse;background:#fff;border-radius:3px;overflow:hidden;font-size:.85em}.documents-table thead{background:#3498db;color:#fff}.documents-table th{padding:.5rem .6rem;text-align:left;font-weight:600;font-size:.85em;text-transform:uppercase;letter-spacing:.3px}.documents-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.documents-table th.sortable:hover{background:#2980b9}.documents-table td{padding:.5rem .6rem;border-bottom:1px solid #e0e0e0}.documents-table tbody tr:hover{background:#f5f5f5}.documents-table tbody tr:last-child td{border-bottom:none}.url-cell a{color:#3498db;text-decoration:none;word-break:break-all}.url-cell a:hover{text-decoration:underline}.count-cell{font-weight:600;color:#2c3e50;text-align:center}.countries-cell{color:#555;font-size:.9em}.date-cell{color:#666;font-size:.9em;white-space:nowrap}.no-data{text-align:center;padding:3rem;color:#999;font-size:1em;background:#fafafa;border-radius:4px;border:1px dashed #ddd}@media(max-width:768px){.registration-document-analytics{padding:1rem}.analytics-header{flex-direction:column;align-items:flex-start;gap:1rem}.search-box input{min-width:100%}.summary-cards{flex-direction:column;gap:.5rem}.documents-table{font-size:.75em}.documents-table th,.documents-table td{padding:.4rem}}.admin-page{width:100%;max-width:1000px;margin:0 auto;padding:1.5rem;overflow-y:auto}.admin-header{margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0}.admin-header h2{margin:0;color:#333;font-size:1.3em}.admin-loading{text-align:center;padding:4rem;color:#666;font-size:1em}.script-category{margin-bottom:2rem}.category-title{margin:0 0 .75rem;color:#2c3e50;font-size:1em;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.script-list{display:flex;flex-direction:column;gap:.75rem}.script-card{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:1rem;box-shadow:0 1px 3px #0000000d}.script-card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.script-info{flex:1;min-width:0}.script-name{font-weight:600;color:#333;font-size:.95em;margin-bottom:.25rem}.script-description{color:#666;font-size:.83em}.script-controls{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.status-badge{padding:.25rem .6rem;border-radius:12px;font-size:.75em;font-weight:600;text-transform:capitalize}.status-idle{background:#f0f0f0;color:#666}.status-running{background:#fff3cd;color:#856404}.status-success{background:#d1e7dd;color:#0a3622}.status-error{background:#f8d7da;color:#58151c}.run-button{padding:.4rem 1rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85em;font-weight:500;transition:background .2s}.run-button:hover:not(:disabled){background:#2980b9}.run-button:disabled{background:#adb5bd;cursor:not-allowed}.upload-control{display:flex;align-items:center;gap:.5rem}.upload-button{padding:.4rem .85rem;background:#f0f4f8;color:#444;border:1px solid #c8d0da;border-radius:4px;cursor:pointer;font-size:.82em;font-weight:500;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;transition:background .2s,border-color .2s}.upload-button:hover:not(:disabled){background:#e2eaf2;border-color:#a0aab4}.upload-button:disabled{opacity:.6;cursor:not-allowed}.upload-button.upload-ready{background:#d1e7dd;border-color:#a3cfbb;color:#0a3622}.upload-error{font-size:.78em;color:#c0392b;font-weight:500}.backup-download-bar{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.6rem .9rem;background:#d1e7dd;border:1px solid #a3cfbb;border-radius:4px}.backup-ready-label{font-size:.82em;font-weight:600;color:#0a3622}.download-button{padding:.35rem .9rem;background:#198754;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.82em;font-weight:500;transition:background .2s}.download-button:hover{background:#157347}.script-log{margin-top:.75rem;padding:.75rem;background:#1e1e1e;color:#d4d4d4;border-radius:4px;font-size:.78em;font-family:Courier New,Courier,monospace;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.backups-section{margin-bottom:2rem;padding:1rem;background:#fff8e1;border:1px solid #ffe082;border-radius:6px}.backups-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.backups-section-header .category-title{margin:0;color:#7b5800}.refresh-button{padding:.3rem .75rem;background:transparent;border:1px solid #c8a000;border-radius:4px;color:#7b5800;font-size:.8em;cursor:pointer;transition:background .2s}.refresh-button:hover:not(:disabled){background:#fff0b3}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.backup-list{display:flex;flex-direction:column;gap:.5rem}.backup-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .8rem;background:#fff;border:1px solid #ffe082;border-radius:4px}.backup-item-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.backup-item-name{font-size:.88em;font-weight:600;color:#333;font-family:Courier New,Courier,monospace}.backup-item-meta{font-size:.78em;color:#666}.no-backups{font-size:.85em;color:#888;padding:.5rem 0}.download-button:disabled{background:#adb5bd;cursor:not-allowed}.demo-contents-section{margin-bottom:2rem;padding:1rem;background:#f0f4ff;border:1px solid #c5d0e8;border-radius:6px}.demo-contents-header{margin-bottom:.75rem}.demo-contents-header .category-title{margin:0 0 .25rem;color:#1a2a5e}.demo-contents-desc{margin:0;font-size:.83em;color:#555}.demo-tab-list{display:flex;flex-direction:column;gap:.5rem}.demo-tab-item{background:#fff;border:1px solid #c5d0e8;border-radius:4px;padding:.6rem .8rem}.demo-tab-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.demo-tab-label input[type=checkbox]{width:15px;height:15px;cursor:pointer;flex-shrink:0}.demo-tab-name{font-size:.9em;font-weight:600;color:#2c3e50}.demo-subtab-list{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;margin-top:.5rem;padding-left:1.5rem;border-left:2px solid #c5d0e8}.demo-subtab-label{display:flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:140px}.demo-subtab-label input[type=checkbox]{width:13px;height:13px;cursor:pointer;flex-shrink:0}.demo-subtab-label.demo-subtab-disabled{opacity:.4;cursor:not-allowed}.demo-subtab-label.demo-subtab-disabled input[type=checkbox]{cursor:not-allowed}.demo-subtab-name{font-size:.83em;color:#444}.demo-save-row{margin-top:.75rem;display:flex;justify-content:flex-end}.obs-checkbox-label{display:flex;align-items:center;gap:.5em;font-weight:600;font-size:.9em;color:#333;cursor:pointer}.obs-checkbox-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}.observations-view-container{display:flex;flex:1;overflow:hidden;background:#f5f5f5}.observations-view-sidebar{width:280px;background:#fff;border-right:1px solid #ddd;overflow-y:auto;padding:1.5em;flex-shrink:0}.observations-view-main{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:1.5em;gap:1em}.observations-view-header{flex-shrink:0}.observations-view-header h2{margin:0;font-size:1.2rem;color:#1a1a2e}.observations-view-subtitle{margin:.25rem 0 0;font-size:.9rem;color:#666;font-weight:400}.observations-view-message{text-align:center;padding:2rem;color:#666;font-style:italic}.observations-view-error{padding:.75rem 1rem;border-radius:4px;font-size:.9rem;background:#ffebee;color:#d32f2f;border-left:3px solid #d32f2f}.observations-view-table-wrapper{flex:1;overflow:auto;padding:0;background:#fff;border-radius:4px;border:1px solid #ddd}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sortable:hover{background-color:#0000000f}.sort-indicator{display:inline-block;margin-left:4px;font-size:.75em;vertical-align:middle}.sort-indicator-inactive{opacity:.35}.sort-indicator-active{opacity:1;color:#1a73e8}.th-section-computed{background-color:#dff0fb;color:#1a6090}.th-sub-computed{background-color:#eaf6fd;color:#1a6090}.td-computed{background-color:#f4fbff}@media(max-width:1200px){.observations-view-container{flex-direction:column}.observations-view-sidebar{width:100%;border-right:none;border-bottom:1px solid #ddd;max-height:200px;overflow-x:auto}}.observation-graphs-container{display:flex;height:calc(100vh - 80px);background-color:#f8f9fa}.observation-graphs-sidebar{width:280px;background-color:#fff;border-right:1px solid #dee2e6;display:flex;flex-direction:column;flex-shrink:0}.observation-graphs-sidebar h3{padding:1.5rem 1.5rem .5rem;margin:0;font-size:1.1rem;color:#333}.observation-graphs-sidebar .section-description{padding:0 1.5rem 1rem;margin:0;font-size:.85rem;color:#666;border-bottom:1px solid #eee}.observation-graphs-menu{flex:1;overflow-y:auto;padding:1rem 0}.menu-item{padding:.75rem 1.5rem;cursor:pointer;transition:all .2s ease;border-left:4px solid transparent;display:flex;flex-direction:column}.menu-item:hover{background-color:#f1f3f5}.menu-item.active{background-color:#e7f5ff;border-left-color:#3498db}.menu-item .item-label{font-weight:600;color:#333}.menu-item .item-desc{font-size:.8rem;color:#666;margin-top:.2rem}.observation-graphs-main{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column}.chart-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;padding:2rem;margin-bottom:2rem}.chart-card h2{margin-top:0;margin-bottom:.5rem;font-size:1.5rem;color:#2c3e50}.chart-card .chart-description{color:#7f8c8d;margin-bottom:2rem;font-size:.95rem}.chart-controls{margin-bottom:1.5rem;display:flex;gap:1rem;align-items:center}.chart-controls label{font-weight:600;font-size:.9rem}.chart-controls select{padding:.4rem .8rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem}.loading-container{display:flex;justify-content:center;align-items:center;height:400px;color:#666;font-style:italic}.error-container{display:flex;justify-content:center;align-items:center;height:400px;color:#e74c3c;background-color:#fdf2f2;border-radius:8px;padding:2rem;text-align:center}.observation-chart{width:100%;height:auto;display:block}.grid-line{stroke:#eee;stroke-width:1}.axis-line{stroke:#333;stroke-width:1.5}.axis-text{font-size:12px;fill:#666}.axis-label{font-size:14px;font-weight:600;fill:#333}.chart-path{fill:none;stroke:#3498db;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:url(#chartGradient);opacity:.3}.chart-dot{fill:#3498db;stroke:#fff;stroke-width:2;cursor:pointer;transition:r .2s ease}.chart-dot:hover{r:6}.bar{transition:fill .2s ease,opacity .2s ease;cursor:pointer}.anomaly-bar{fill:#e67e22}.anomaly-bar:hover{fill:#d35400}.source-bar{fill:#2ecc71}.source-bar:hover{fill:#27ae60}.bar-axis-label{font-weight:600;fill:#7f8c8d}.bar-label{font-size:11px;fill:#333;text-anchor:middle}.aql-editor-container{display:flex;flex-direction:column;gap:1rem}.aql-textarea{width:100%;height:200px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:14px;padding:1rem;border:1px solid #ced4da;border-radius:4px;resize:vertical}.aql-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}.aql-error{color:#e74c3c;background-color:#fdf2f2;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;flex:1}.aql-buttons{display:flex;gap:1rem}.clear-button{padding:.6rem 1.5rem;background-color:transparent;color:#7f8c8d;border:1px solid #ced4da;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s}.clear-button:hover{background-color:#f8f9fa;border-color:#bdc3c7;color:#34495e}.sample-queries{display:flex;flex-direction:column;gap:.5rem}.sample-queries label{font-size:.85rem;font-weight:600;color:#666}.sample-chips{display:flex;flex-wrap:wrap;gap:.5rem}.sample-chip{padding:.3rem .8rem;background-color:#e9ecef;border:none;border-radius:16px;font-size:.8rem;color:#495057;cursor:pointer;transition:all .2s}.sample-chip:hover{background-color:#dee2e6;color:#212529}.results-summary{padding:.75rem 1rem;background-color:#f8f9fa;border-bottom:1px solid #eee;font-size:.85rem;color:#666;font-weight:600}.null-val{color:#adb5bd;font-size:.8rem}.json-val{margin:0;font-size:.8rem;background-color:#f8f9fa;padding:.5rem;border-radius:4px;max-width:300px;max-height:150px;overflow:auto;font-family:inherit}.run-button{padding:.6rem 1.5rem;background-color:#3498db;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:background-color .2s}.run-button:hover{background-color:#2980b9}.run-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.results-container{margin-top:1rem;border:1px solid #eee;border-radius:4px;max-height:400px;overflow-y:auto}.results-table{width:100%;border-collapse:collapse;table-layout:auto}.results-table th,.results-table td{padding:.75rem;text-align:left;border-bottom:1px solid #eee;max-width:400px;overflow-wrap:break-word;vertical-align:top}.results-table th{background-color:#f8f9fa;font-weight:600;position:sticky;top:0}.card-header-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.card-header-actions h2{margin-bottom:0}.view-toggle{display:flex;background-color:#f1f3f5;padding:.2rem;border-radius:6px}.toggle-btn{padding:.4rem 1rem;border:none;background:none;border-radius:4px;font-size:.85rem;font-weight:600;cursor:pointer;color:#666;transition:all .2s}.toggle-btn.active{background-color:#fff;color:#3498db;box-shadow:0 1px 3px #0000001a}.json-wrapper{position:relative;display:inline-block;width:100%}.copy-val-btn{position:absolute;top:.5rem;right:.5rem;background:#fffc;border:1px solid #ddd;border-radius:4px;padding:.2rem;cursor:pointer;font-size:.8rem;opacity:0;transition:opacity .2s}.json-wrapper:hover .copy-val-btn{opacity:1}.copy-val-btn:hover{background:#fff;border-color:#3498db}.sample-chip.challenge-chip{background-color:#f3f0ff;color:#6741d9;border:1px dashed #b197fc}.sample-chip.challenge-chip:hover{background-color:#ede9fe}.no-results{padding:2rem;text-align:center;color:#999;font-style:italic}.search-box{display:flex;align-items:center;gap:1rem;background-color:#f1f3f5;padding:1rem;border-radius:4px;width:100%}.norad-input{padding:.5rem .75rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;width:200px}.network-view .chart-controls{flex-direction:column;align-items:flex-start}.graph-container-wrapper{margin-top:1rem}.graph-placeholder{border:2px dashed #dee2e6}.graph-stats-bar{display:flex;gap:1.5rem;padding:.6rem 1rem;background-color:#f1f3f5;border-radius:4px;font-size:.85rem;color:#555;margin-bottom:.75rem}.graph-stats-bar strong{color:#333}.export-buttons{display:flex;gap:.5rem}.export-button{padding:.6rem 1.2rem;background-color:#2ecc71;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;font-size:.85rem;transition:background-color .2s}.export-button:hover{background-color:#27ae60}.export-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.inline-error{padding:.6rem 1rem;background-color:#ffeef0;border:1px solid #fca5a5;border-radius:4px;color:#b91c1c;font-size:.85rem;margin-bottom:.75rem}.header-controls{display:flex;align-items:center;gap:1rem}.object-selector{padding:.4rem .8rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;min-width:240px;background-color:#fff;cursor:pointer}.object-selector:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.obs-dashboard{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;background:#f0f2f5}.obs-dashboard-header{background:linear-gradient(135deg,#1a1f36,#2c3e6b);padding:.9rem 1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;color:#fff;box-shadow:0 2px 12px #00000040}.obs-dashboard-title h2{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:.3px}.obs-dashboard-title p{margin:0;font-size:.875rem;color:#ffffffa6}.obs-selector-area{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-left:auto}.obs-search-group{display:flex;flex-direction:column;gap:.3rem;position:relative}.obs-search-group label{font-size:.75rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.obs-search-input{width:260px;padding:.55rem .85rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:.9rem;background:#ffffff1a;color:#fff;outline:none;transition:border-color .2s,background .2s}.obs-search-input::placeholder{color:#ffffff73}.obs-search-input:focus{border-color:#ffffff80;background:#ffffff26}.obs-norad-row{display:flex;gap:.5rem}.obs-norad-input{width:120px;padding:.55rem .85rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:.9rem;background:#ffffff1a;color:#fff;outline:none;transition:border-color .2s}.obs-norad-input::placeholder{color:#ffffff73}.obs-norad-input:focus{border-color:#ffffff80}.obs-load-btn{padding:.55rem 1.2rem;background:#3498db;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .2s,transform .1s;white-space:nowrap}.obs-load-btn:hover:not(:disabled){background:#2980b9}.obs-load-btn:active:not(:disabled){transform:scale(.97)}.obs-load-btn:disabled{background:#fff3;cursor:not-allowed}.obs-selector-divider{font-size:.8rem;color:#ffffff73;padding-bottom:.6rem;-webkit-user-select:none;user-select:none}.obs-sat-select{width:240px;padding:.55rem 2rem .55rem .85rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:.9rem;background:#ffffff1a;color:#fff;outline:none;cursor:pointer;transition:border-color .2s,background .2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.6)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.obs-sat-select option{background:#1a1f36;color:#fff}.obs-sat-select:focus{border-color:#ffffff80;background-color:#ffffff26}.obs-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;min-width:280px;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 8px 24px #00000026;max-height:260px;overflow-y:auto;z-index:1000}.obs-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;cursor:pointer;transition:background .15s;border-bottom:1px solid #f1f3f5}.obs-dropdown-item:last-child{border-bottom:none}.obs-dropdown-item:hover{background:#e7f5ff}.obs-dd-norad{font-size:.8rem;font-weight:700;color:#3498db;background:#e7f5ff;padding:.1rem .5rem;border-radius:4px;min-width:60px;text-align:center}.obs-dd-name{font-size:.875rem;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obs-dashboard-body{flex:1;min-height:0;padding:.75rem 1rem;display:flex;flex-direction:column;overflow-y:auto}.obs-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 2rem;color:#6c757d;text-align:center}.obs-empty-icon{font-size:3.5rem;margin-bottom:1rem}.obs-empty-state h3{margin:0 0 .5rem;font-size:1.2rem;color:#495057}.obs-empty-state p{margin:0;font-size:.9rem;max-width:420px}.obs-empty-hint{margin-top:.5rem!important;color:#adb5bd;font-size:.8rem!important}.obs-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 2rem;color:#6c757d;gap:1rem}.obs-spinner{width:40px;height:40px;border:4px solid #dee2e6;border-top-color:#3498db;border-radius:50%;animation:obs-spin .75s linear infinite}@keyframes obs-spin{to{transform:rotate(360deg)}}.obs-error{background:#fff5f5;border:1px solid #fca5a5;color:#b91c1c;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem;font-size:.9rem}.obs-no-data{color:#adb5bd;font-style:italic;text-align:center;padding:2rem;font-size:.9rem}.obs-summary-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.75rem;flex-shrink:0}.obs-stat-card{background:#fff;border-radius:8px;padding:.6rem 1rem;box-shadow:0 1px 4px #00000012;min-width:100px;flex:1}.obs-stat-card--wide{flex:2;min-width:220px}.obs-stat-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#8e9aaf;margin-bottom:.35rem}.obs-stat-value{font-size:1.25rem;font-weight:700;color:#1a1f36;line-height:1.2}.obs-stat-value--sm{font-size:.875rem;font-weight:500;color:#495057;font-family:Monaco,Menlo,monospace;line-height:1.5}.obs-stat-card--deltatime{min-width:140px;flex:1.2}.obs-deltatime-select{width:100%;font-size:.82rem;border:1px solid #dee2e6;border-radius:4px;padding:.25rem .5rem;color:#1a1f36;background:#f8f9fa;cursor:pointer;margin-top:.1rem}.obs-deltatime-select:focus{outline:none;border-color:#3498db;background:#fff}.obs-stat-card--daterange{flex:3;min-width:340px}.obs-daterange-inputs{display:flex;align-items:center;gap:.5rem;margin-top:.1rem}.obs-date-input{font-size:.8rem;font-family:Monaco,Menlo,monospace;border:1px solid #dee2e6;border-radius:4px;padding:.2rem .4rem;color:#495057;background:#f8f9fa;cursor:pointer;flex:1;min-width:0}.obs-date-input:focus{outline:none;border-color:#3498db;background:#fff}.obs-date-arrow{color:#8e9aaf;font-size:.875rem;flex-shrink:0}.obs-meta-breakdown{display:flex;flex-direction:column;gap:.35rem;padding:.65rem 1rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin-bottom:.5rem;font-size:.82em}.obs-meta-group{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}.obs-meta-label{font-weight:600;color:#495057;white-space:nowrap}.obs-meta-values{color:#343a40}.obs-charts-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:.75rem}.obs-chart-card{background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000012;padding:.75rem .75rem .4rem;overflow:hidden;display:flex;flex-direction:column;min-height:0}.obs-chart-card--health{background:linear-gradient(135deg,#f8fff8,#fff)}.obs-chart-card--ml{border-top:2px solid #6c3483;background:linear-gradient(135deg,#fdf8ff,#fff)}.obs-chart-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem .75rem;margin-bottom:.3rem;flex-shrink:0}.obs-chart-header h3{margin:0;font-size:.9rem;font-weight:700;color:#1a1f36}.obs-chart-subtitle{font-size:.8rem;color:#8e9aaf;flex:1}.obs-health-avg{font-size:.9rem;font-weight:700;margin-left:auto}.obs-chart-legend{display:flex;flex-wrap:wrap;gap:.25rem .75rem;margin-bottom:.2rem;flex-shrink:0}.obs-legend-item{display:flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600}.obs-legend-right{margin-left:auto}.obs-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.obs-legend-dot-dashed{border-radius:0;width:16px;height:3px;position:relative;background:transparent!important;border-top:3px dashed currentColor}.obs-svg{width:100%;height:auto;display:block;overflow:visible}.obs-flag-legend{display:flex;gap:1rem;margin-top:.25rem;padding-left:78px;font-size:.75rem;color:#6c757d}.obs-flag-legend span{display:flex;align-items:center;gap:.3rem}.obs-flag-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.obs-flag-line{width:3px;height:14px;border-radius:1px;display:inline-block;opacity:.8}.obs-stat-card--ml{border-top:2px solid #3498db}.obs-stat-sublabel{font-size:.65rem;color:#adb5bd;margin-top:.15rem}.obs-ml-panel{background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000012;margin:0 0 1rem;overflow:hidden}.obs-ml-panel--loading{display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;font-size:.75rem;color:#adb5bd;font-family:Monaco,Menlo,monospace}.obs-ml-panel-header{background:linear-gradient(90deg,#1a1f36,#2c3e6b);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.45rem 1rem}.obs-ml-panel-body{display:flex;gap:2rem;padding:.75rem 1rem .9rem;flex-wrap:wrap}.obs-ml-left{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;flex-shrink:0}.obs-ml-gauge-wrap{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.obs-ml-gauge-val{font-size:1.1rem;font-weight:700;font-family:Monaco,Menlo,monospace;margin-top:-8px}.obs-ml-gauge-label{font-size:.6rem;font-weight:700;letter-spacing:.1em;color:#8e9aaf;text-transform:uppercase}.obs-ml-summary-stats{display:flex;flex-direction:column;gap:.35rem;justify-content:center}.obs-ml-badge{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.07em;color:#fff;padding:2px 8px;border-radius:4px;white-space:nowrap}.obs-ml-kv{display:flex;align-items:baseline;gap:.4rem}.obs-ml-kv-label{font-size:.6rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#8e9aaf;white-space:nowrap}.obs-ml-kv-val{font-size:.82rem;font-weight:600;font-family:Monaco,Menlo,monospace;color:#1a1f36}.obs-ml-kv-sub{font-size:.65rem;color:#adb5bd}.obs-ml-reentry{color:#e74c3c!important}.obs-ml-right{flex:1;min-width:280px;max-width:560px}.obs-ml-section-title{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8e9aaf;margin-bottom:.4rem}.obs-ml-factor-row{display:grid;grid-template-columns:96px 1fr 38px 80px;align-items:center;gap:.4rem;margin-bottom:4px}.obs-ml-factor-label{font-size:.65rem;color:#495057;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obs-ml-factor-track{height:7px;background:#e9ecef;border-radius:4px;overflow:hidden}.obs-ml-factor-fill{height:100%;border-radius:4px;transition:width .4s ease}.obs-ml-sim-fill{background:#3498db}.obs-ml-factor-pct{font-size:.65rem;font-weight:700;font-family:Monaco,Menlo,monospace;text-align:right}.obs-ml-factor-raw{font-size:.62rem;color:#8e9aaf;font-family:Monaco,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:700px){.obs-charts-grid{grid-template-columns:1fr}.obs-dashboard-header{flex-direction:column;align-items:flex-start}.obs-selector-area{margin-left:0;width:100%}.obs-search-input{width:100%}}.adhoc-root{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;background:#f0f2f5}.adhoc-header{background:linear-gradient(135deg,#1a1f36,#2c3e6b);padding:.9rem 1.5rem;color:#fff;box-shadow:0 2px 12px #00000040;flex-shrink:0}.adhoc-heading{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:.3px}.adhoc-desc{margin:0;font-size:.875rem;color:#ffffffa6}.adhoc-body{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.adhoc-section{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000012;padding:1.1rem 1.25rem}.adhoc-section-head{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.adhoc-step-badge{width:24px;height:24px;border-radius:50%;background:#1a1f36;color:#fff;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.adhoc-section-title{margin:0;font-size:1rem;font-weight:700;color:#1a1f36}.adhoc-field-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.adhoc-field-row{display:flex;align-items:center;gap:.75rem}.adhoc-label{font-size:.82rem;font-weight:600;color:#495057;width:72px;flex-shrink:0}.adhoc-req{color:#e74c3c}.adhoc-input{padding:.38rem .65rem;border:1px solid #dee2e6;border-radius:5px;font-size:.85rem;color:#212529;background:#f8f9fa;outline:none;transition:border-color .15s,background .15s;width:100%}.adhoc-input:focus{border-color:#3498db;background:#fff}.adhoc-input--key{width:130px;flex-shrink:0;font-family:Monaco,Menlo,monospace;font-size:.8rem}.adhoc-input--label{flex:1;min-width:0}.adhoc-input--narrow{width:72px;flex-shrink:0}.adhoc-input--cell{width:100%;min-width:80px}.adhoc-axis-block{border:1px solid #eef0f3;border-radius:7px;padding:.75rem 1rem;margin-bottom:.75rem;background:#fafbfc}.adhoc-axis-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem}.adhoc-axis-name{font-size:.82rem;font-weight:700;color:#343a40;text-transform:uppercase;letter-spacing:.4px}.adhoc-add-btn{padding:.2rem .65rem;font-size:.78rem;font-weight:600;color:#3498db;background:#e7f5ff;border:1px solid #a5d8ff;border-radius:4px;cursor:pointer;transition:background .15s;white-space:nowrap}.adhoc-add-btn:hover{background:#d0ebff}.adhoc-metric-header{display:flex;gap:.5rem;padding:0 0 .3rem;font-size:.72rem;font-weight:600;color:#8e9aaf;text-transform:uppercase;letter-spacing:.4px}.adhoc-metric-header span:first-child{width:130px;flex-shrink:0}.adhoc-metric-header span:nth-child(2){flex:1}.adhoc-metric-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.adhoc-color{width:32px;height:28px;border:1px solid #dee2e6;border-radius:4px;padding:2px;cursor:pointer;background:#f8f9fa;flex-shrink:0}.adhoc-select{padding:.35rem .5rem;border:1px solid #dee2e6;border-radius:5px;font-size:.82rem;color:#212529;background:#f8f9fa;cursor:pointer}.adhoc-select--cell{width:100%;min-width:68px}.adhoc-rm-btn{padding:.2rem .45rem;font-size:.75rem;color:#adb5bd;background:transparent;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;transition:color .15s,border-color .15s;flex-shrink:0}.adhoc-rm-btn:hover{color:#e74c3c;border-color:#e74c3c}.adhoc-axis-opts{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.6rem;padding-top:.55rem;border-top:1px solid #eef0f3}.adhoc-check-label{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:#495057;cursor:pointer;-webkit-user-select:none;user-select:none}.adhoc-range-group{display:flex;align-items:center;gap:.35rem}.adhoc-range-sep{color:#8e9aaf;font-size:.85rem}.adhoc-empty-note{margin:.2rem 0 0;font-size:.82rem;color:#adb5bd;font-style:italic}.adhoc-table-wrap{overflow-x:auto;border:1px solid #dee2e6;border-radius:7px;margin-bottom:.5rem}.adhoc-table{width:100%;border-collapse:collapse;font-size:.82rem}.adhoc-table th{background:#f1f3f5;color:#495057;font-weight:700;padding:.45rem .65rem;text-align:left;border-bottom:1px solid #dee2e6;white-space:nowrap}.adhoc-th-hint{font-weight:400;font-style:italic;color:#adb5bd;font-size:.72rem}.adhoc-table td{padding:.3rem .65rem;border-bottom:1px solid #f1f3f5;vertical-align:middle;color:#343a40}.adhoc-table tr:last-child td{border-bottom:none}.adhoc-td-epoch{font-family:Monaco,Menlo,monospace;font-size:.78rem;color:#6c757d;white-space:nowrap}.adhoc-td-true{color:#27ae60;font-weight:600}.adhoc-td-false{color:#adb5bd}.adhoc-input-row td{background:#f8f9fa}.adhoc-add-row-btn{padding:.3rem .75rem;font-size:.8rem;font-weight:600;color:#fff;background:#3498db;border:none;border-radius:5px;cursor:pointer;white-space:nowrap;transition:background .15s}.adhoc-add-row-btn:hover{background:#2980b9}.adhoc-errors{background:#fff5f5;border:1px solid #fca5a5;border-radius:6px;padding:.6rem .9rem;margin-bottom:.5rem}.adhoc-error-item{font-size:.82rem;color:#b91c1c;margin-bottom:.15rem}.adhoc-error-item:last-child{margin-bottom:0}.adhoc-row-count{margin:0;font-size:.8rem;color:#8e9aaf}.adhoc-actions{display:flex;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.adhoc-preview-btn{padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;color:#fff;background:#1a1f36;border:none;border-radius:6px;cursor:pointer;transition:background .15s,transform .1s}.adhoc-preview-btn:hover:not(:disabled){background:#2c3e6b}.adhoc-preview-btn:active:not(:disabled){transform:scale(.97)}.adhoc-preview-btn:disabled{background:#adb5bd;cursor:not-allowed}.adhoc-export-btn{padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;color:#1a1f36;background:#fff;border:1.5px solid #dee2e6;border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.adhoc-export-btn:hover:not(:disabled){border-color:#3498db;color:#3498db;background:#f0f8ff}.adhoc-export-btn:active:not(:disabled){transform:scale(.97)}.adhoc-export-btn:disabled{color:#adb5bd;border-color:#dee2e6;cursor:not-allowed}.adhoc-schema-bar{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem;flex-wrap:wrap}.adhoc-schema-label{font-size:.8rem;font-weight:700;color:#495057;text-transform:uppercase;letter-spacing:.4px;margin-right:auto}.adhoc-schema-toggle{padding:.25rem .7rem;font-size:.78rem;font-weight:600;color:#3498db;background:#e7f5ff;border:1px solid #a5d8ff;border-radius:4px;cursor:pointer;transition:background .15s}.adhoc-schema-toggle:hover{background:#d0ebff}.adhoc-schema-dl{padding:.25rem .7rem;font-size:.78rem;font-weight:600;color:#495057;background:#f1f3f5;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;transition:background .15s}.adhoc-schema-dl:hover{background:#e9ecef}.adhoc-schema-block{background:#f8f9fa;border:1px solid #dee2e6;border-radius:7px;padding:.9rem 1rem;margin-bottom:1rem;font-size:.82rem}.adhoc-schema-legend{color:#495057;margin-bottom:.75rem;line-height:1.5}.adhoc-schema-legend code{background:#e9ecef;padding:.1rem .3rem;border-radius:3px;font-size:.78rem}.adhoc-schema-fields{border:1px solid #dee2e6;border-radius:5px;overflow:hidden;margin-bottom:.85rem;background:#fff}.adhoc-schema-field{display:grid;grid-template-columns:160px 80px 1fr;gap:.5rem;padding:.35rem .75rem;border-bottom:1px solid #f1f3f5;align-items:baseline}.adhoc-schema-field:last-child{border-bottom:none}.adhoc-schema-field--header{background:#f1f3f5;font-size:.72rem;font-weight:700;color:#8e9aaf;text-transform:uppercase;letter-spacing:.4px}.adhoc-schema-field--epoch{background:#fffbf0}.adhoc-schema-field code{font-family:Monaco,Menlo,monospace;font-size:.78rem;color:#2c3e50}.adhoc-schema-type{color:#6c3483;font-size:.78rem;font-weight:600}.adhoc-schema-note{color:#6c757d;font-size:.78rem}.adhoc-schema-sample-label{font-size:.75rem;font-weight:700;color:#8e9aaf;text-transform:uppercase;letter-spacing:.4px;margin-bottom:.35rem}.adhoc-schema-pre{background:#1a1f36;color:#a8d8ea;border-radius:6px;padding:.75rem 1rem;font-size:.78rem;font-family:Monaco,Menlo,monospace;overflow-x:auto;margin:0 0 .85rem;line-height:1.55}.adhoc-schema-note-block{font-size:.8rem;color:#495057;line-height:1.6;background:#e9ecef;border-radius:5px;padding:.55rem .8rem}.adhoc-schema-note-block code{background:#dee2e6;padding:.05rem .3rem;border-radius:3px;font-size:.75rem}.adhoc-load-block{border:1px solid #eef0f3;border-radius:7px;padding:.75rem 1rem;margin-bottom:.65rem;background:#fafbfc}.adhoc-load-title{font-size:.8rem;font-weight:700;color:#343a40;text-transform:uppercase;letter-spacing:.4px;margin-bottom:.45rem}.adhoc-load-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.adhoc-url-input{flex:1;min-width:200px}.adhoc-load-btn{padding:.38rem 1rem;font-size:.85rem;font-weight:600;color:#fff;background:#3498db;border:none;border-radius:5px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}.adhoc-load-btn:hover:not(:disabled){background:#2980b9}.adhoc-load-btn:disabled{background:#adb5bd;cursor:not-allowed}.adhoc-file-btn{padding:.38rem 1rem;font-size:.85rem;font-weight:600;color:#495057;background:#fff;border:1.5px solid #dee2e6;border-radius:5px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:border-color .15s,background .15s}.adhoc-file-btn:hover{border-color:#3498db;color:#3498db;background:#f0f8ff}.adhoc-load-hint{margin:.35rem 0 0;font-size:.78rem;color:#8e9aaf;flex:1;min-width:0}.adhoc-load-hint code{background:#e9ecef;padding:.05rem .25rem;border-radius:3px;font-size:.75rem}.adhoc-collection-info{font-size:.82rem;color:#27ae60;font-weight:600;margin-top:.5rem;padding:.4rem .8rem;background:#f0fff4;border:1px solid #b2f2cc;border-radius:5px}.adhoc-clear-btn{margin-left:auto;padding:.2rem .65rem;font-size:.75rem;font-weight:600;color:#e74c3c;background:#fff5f5;border:1px solid #fca5a5;border-radius:4px;cursor:pointer;transition:background .15s}.adhoc-clear-btn:hover{background:#fee2e2}.adhoc-starter-block{border:1.5px solid #a5d8ff;border-radius:8px;padding:.9rem 1rem;margin-bottom:1rem;background:linear-gradient(135deg,#e7f5ff,#f8fbff)}.adhoc-starter-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.adhoc-starter-title{font-size:.85rem;font-weight:700;color:#1a1f36}.adhoc-starter-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#3498db;background:#d0ebff;border:1px solid #a5d8ff;border-radius:3px;padding:.05rem .4rem}.adhoc-starter-desc{margin:0 0 .65rem;font-size:.82rem;color:#495057;line-height:1.55}.adhoc-starter-desc code{background:#d0ebff;padding:.05rem .3rem;border-radius:3px;font-size:.78rem;color:#1864ab}.adhoc-starter-config-hint{margin-bottom:.7rem}.adhoc-starter-hint-label{display:block;font-size:.72rem;font-weight:700;color:#8e9aaf;text-transform:uppercase;letter-spacing:.4px;margin-bottom:.3rem}.adhoc-starter-pre{background:#1a1f36;color:#a8d8ea;border-radius:6px;padding:.65rem .9rem;font-size:.75rem;font-family:Monaco,Menlo,monospace;overflow-x:auto;margin:0;line-height:1.55;max-height:220px;overflow-y:auto}.adhoc-starter-actions{display:flex;gap:.6rem;margin-top:.65rem;flex-wrap:wrap}.adhoc-starter-load-btn{padding:.38rem 1rem;font-size:.85rem;font-weight:600;color:#fff;background:#3498db;border:none;border-radius:5px;cursor:pointer;transition:background .15s}.adhoc-starter-load-btn:hover{background:#2980b9}.adhoc-preview-wrap{border:1px solid #dee2e6;border-radius:8px;overflow:hidden;background:#fff;padding:.5rem}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f5f5f5}.login-card{background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000001a;padding:2.5rem;width:100%;max-width:380px}.login-title{margin:0 0 1.5rem;font-size:1.6em;color:#2c3e50;text-align:center}.login-form{display:flex;flex-direction:column;gap:1rem}.login-field{display:flex;flex-direction:column;gap:.35rem}.login-field label{font-size:.9em;font-weight:500;color:#2c3e50}.login-field input{padding:.6rem .8rem;border:1px solid #dee2e6;border-radius:6px;font-size:.95rem;transition:border-color .2s;outline:none}.login-field input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db26}.login-error{padding:.5rem .75rem;background:#f8d7da;color:#58151c;border-radius:4px;font-size:.88em}.login-button{margin-top:.25rem;padding:.65rem 1rem;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.login-button:hover:not(:disabled){background:#2980b9}.login-button:disabled{background:#adb5bd;cursor:not-allowed}.help-page{flex:1;display:flex;overflow:hidden;background:#fff}.help-sidebar{width:280px;flex-shrink:0;border-right:1px solid #dee2e6;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.help-sidebar h3{margin:0;font-size:1.1rem;color:#2c3e50}.help-sidebar-desc{margin:0;font-size:.85rem;color:#6c757d;line-height:1.5}.help-status-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:.75rem;font-size:.82rem;color:#856404;line-height:1.4}.help-status-warning code{font-family:monospace;background:#00000014;padding:.1em .3em;border-radius:3px}.help-docs h4,.help-samples h4{margin:0 0 .5rem;font-size:.9rem;color:#495057}.help-doc-link{display:flex;flex-direction:column;width:100%;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:.5rem .75rem;margin-bottom:.4rem;cursor:pointer;text-align:left;color:inherit;transition:all .15s}.help-doc-link:hover{background:#e9ecef;border-color:#3498db}.help-doc-link.active{background:#e3f2fd;border-color:#3498db}.help-doc-label{font-size:.85rem;font-weight:600;color:#2c3e50}.help-doc-desc{font-size:.76rem;color:#6c757d;margin-top:.1rem}.help-doc-viewer{flex:1;display:flex;flex-direction:column;overflow:hidden}.help-doc-viewer-bar{display:flex;align-items:center;gap:1rem;padding:.6rem 1.25rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;flex-shrink:0}.help-doc-viewer-title{flex:1;font-size:.9rem;font-weight:600;color:#2c3e50}.help-doc-viewer-external{font-size:.8rem;color:#3498db;text-decoration:none;white-space:nowrap}.help-doc-viewer-external:hover{text-decoration:underline}.help-doc-viewer-close{padding:.3rem .75rem;background:transparent;border:1px solid #dee2e6;border-radius:5px;cursor:pointer;font-size:.8rem;color:#6c757d;white-space:nowrap;transition:all .15s}.help-doc-viewer-close:hover{border-color:#dc3545;color:#dc3545}.help-doc-frame{flex:1;width:100%;border:none;background:#f7f9fc}.help-sample-btn{display:block;width:100%;text-align:left;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:.5rem .75rem;margin-bottom:.4rem;cursor:pointer;font-size:.82rem;color:#495057;transition:all .15s;line-height:1.4}.help-sample-btn:hover:not(:disabled){background:#e9ecef;border-color:#3498db;color:#2c3e50}.help-sample-btn:disabled{opacity:.5;cursor:not-allowed}.help-clear-btn{margin-top:auto;padding:.5rem 1rem;background:transparent;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:.85rem;color:#6c757d;transition:all .15s}.help-clear-btn:hover{border-color:#dc3545;color:#dc3545}.help-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.help-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.help-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#6c757d;padding:3rem}.help-empty-icon{width:56px;height:56px;border-radius:50%;background:#e9ecef;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:#adb5bd;margin-bottom:1rem}.help-empty-icon-warn{background:#fff3cd;color:#856404}.help-empty code{font-family:monospace;background:#00000012;padding:.1em .35em;border-radius:3px;font-size:.9em}.help-empty p{margin:0 0 .5rem;font-size:1rem}.help-empty-sub{font-size:.85rem!important;color:#adb5bd}.help-message{max-width:820px;display:flex;flex-direction:column;gap:.35rem}.help-message-user{align-self:flex-end;align-items:flex-end}.help-message-assistant{align-self:flex-start;align-items:flex-start}.help-message-label{font-size:.75rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.04em}.help-message-content{padding:.75rem 1rem;border-radius:10px;font-size:.92rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.help-message-user .help-message-content{background:#3498db;color:#fff;border-bottom-right-radius:3px}.help-message-assistant .help-message-content{background:#f8f9fa;color:#212529;border:1px solid #dee2e6;border-bottom-left-radius:3px}.help-message-error .help-message-content{background:#fff5f5;border-color:#f5c2c7;color:#842029}.help-message-sources{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.help-sources-label{font-size:.75rem;color:#6c757d}.help-source-tag{font-size:.72rem;background:#e3f2fd;border:1px solid #90caf9;color:#1565c0;border-radius:4px;padding:.15em .4em;font-family:monospace}.help-loading{display:flex;align-items:center;gap:.3rem;padding:.75rem 1rem;min-height:2.5rem}.help-dot{width:8px;height:8px;border-radius:50%;background:#adb5bd;animation:help-bounce 1.2s infinite}.help-dot:nth-child(2){animation-delay:.2s}.help-dot:nth-child(3){animation-delay:.4s}@keyframes help-bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-6px);opacity:1}}.help-input-area{display:flex;align-items:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #dee2e6;background:#fff}.help-input{flex:1;resize:none;border:1px solid #dee2e6;border-radius:8px;padding:.65rem .9rem;font-size:.92rem;font-family:inherit;line-height:1.5;color:#212529;outline:none;transition:border-color .15s}.help-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.help-input:disabled{background:#f8f9fa;cursor:not-allowed}.help-send-btn{padding:.65rem 1.4rem;background:#3498db;border:none;border-radius:8px;color:#fff;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap;flex-shrink:0}.help-send-btn:hover:not(:disabled){background:#2980b9}.help-send-btn:disabled{background:#adb5bd;cursor:not-allowed}.help-message-clarify{margin-top:.5rem;padding:.5rem .75rem;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;font-size:.8rem;color:#856404}.help-clarify-label{font-weight:600}.cesium-wrapper{position:relative;width:100%;height:calc(100vh - 380px);min-height:400px;border:1px solid #2a2a4a;border-radius:4px;overflow:hidden;background:#000}.cesium-container{width:100%;height:100%}.cesium-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#a0aec0;background:#0f0f1a;z-index:10}.cesium-status p{margin:0;font-size:14px}.cesium-error{color:#fc8181}.cesium-hint{font-size:12px!important;color:#718096!important}.cesium-spinner{width:36px;height:36px;border:3px solid #2a2a4a;border-top-color:#4299e1;border-radius:50%;animation:cesium-spin .8s linear infinite}@keyframes cesium-spin{to{transform:rotate(360deg)}}.ephemeris-page{display:flex;flex:1;height:calc(100vh - 100px);overflow:hidden;background:#f5f5f5}.ephemeris-sidebar{width:300px;min-width:280px;background:#fff;border-right:1px solid #ddd;overflow-y:auto;padding:1.5em;display:flex;flex-direction:column;gap:1.25rem;flex-shrink:0}.ephemeris-main{flex:1;overflow-y:auto;padding:1.5em;background:#f5f5f5}.eph-section{display:flex;flex-direction:column;gap:.75rem}.eph-section h3{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#2c3e50;border-bottom:1px solid #dee2e6;padding-bottom:.4rem}.eph-field{display:flex;flex-direction:column;gap:4px}.eph-field label{font-size:.8rem;color:#6c757d;font-weight:500}.eph-input,.eph-select{width:100%;background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#2c3e50;padding:6px 10px;font-size:.9rem;box-sizing:border-box;transition:border-color .15s}.eph-input:focus,.eph-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db26}.eph-search-wrapper{position:relative}.eph-spinner{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:12px;height:12px;border:2px solid #3498db;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.eph-search-results{position:absolute;z-index:100;top:100%;left:0;right:0;background:#fff;border:1px solid #dee2e6;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;list-style:none;margin:0;padding:0;box-shadow:0 4px 8px #0000001a}.eph-search-results li{padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid #f0f0f0}.eph-search-results li:hover{background:#f8f9fa}.eph-result-name{font-size:.88rem;color:#2c3e50}.eph-result-norad{font-size:.75rem;color:#6c757d}.eph-selected-sat{margin-top:4px;display:flex;align-items:center;gap:8px;font-size:.85rem;color:#2c3e50}.eph-norad-badge{background:#e3f2fd;color:#1a6fa8;border-radius:10px;padding:1px 8px;font-size:.75rem;font-weight:500}.eph-generate-btn{width:100%;background:#3498db;color:#fff;border:none;border-radius:4px;padding:9px 0;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s;margin-top:4px}.eph-generate-btn:hover:not(:disabled){background:#2980b9}.eph-generate-btn:disabled{opacity:.5;cursor:not-allowed}.eph-error{color:#d32f2f;font-size:.82rem;background:#ffebee;border-left:3px solid #d32f2f;padding:6px 10px;border-radius:0 4px 4px 0}.eph-loading{color:#6c757d;font-size:.85rem}.eph-empty{color:#6c757d;font-size:.85rem;font-style:italic}.eph-list-header{display:flex;flex-direction:column;gap:6px}.eph-list-controls label{font-size:.82rem;color:#6c757d;cursor:pointer;-webkit-user-select:none;user-select:none}.eph-envelope-list{display:flex;flex-direction:column;gap:6px}.eph-envelope-item{background:#f8f9fa;border:2px solid transparent;border-radius:6px;padding:10px 12px;cursor:pointer;position:relative;transition:all .15s}.eph-envelope-item:hover{background:#e9ecef;border-color:#dee2e6}.eph-envelope-item.selected{background:#e3f2fd;border-color:#3498db}.eph-env-name{font-size:.88rem;color:#2c3e50;font-weight:600;margin-bottom:3px;padding-right:20px}.eph-env-meta{display:flex;gap:8px;font-size:.75rem;color:#6c757d}.eph-env-time{font-size:.7rem;color:#adb5bd;margin-top:2px}.eph-delete-btn{position:absolute;top:8px;right:8px;background:none;border:none;color:#adb5bd;font-size:18px;cursor:pointer;line-height:1;padding:0 2px}.eph-delete-btn:hover{color:#d32f2f}.eph-total{font-size:.75rem;color:#adb5bd;margin-top:4px;text-align:right}.eph-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#6c757d;font-size:.95rem}.eph-detail{display:flex;flex-direction:column;gap:1.25rem}.eph-detail-header{display:flex;justify-content:space-between;align-items:flex-start}.eph-detail-header h2{margin:0 0 4px;font-size:1.25rem;color:#2c3e50}.eph-detail-subtitle{margin:0;font-size:.85rem;color:#6c757d}.eph-view-toggle{display:flex;gap:4px}.eph-view-toggle button{background:#fff;border:2px solid #dee2e6;color:#6c757d;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s}.eph-view-toggle button.active{background:#3498db;border-color:#3498db;color:#fff}.eph-view-toggle button:hover:not(.active){border-color:#3498db;color:#3498db}.eph-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}.eph-summary-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:10px 14px;display:flex;flex-direction:column;gap:4px}.eph-sum-label{font-size:.72rem;color:#6c757d;text-transform:uppercase;letter-spacing:.04em;font-weight:500}.eph-sum-value{font-size:.9rem;color:#2c3e50;font-weight:600;word-break:break-word;overflow-wrap:anywhere}.eph-points-section{display:flex;flex-direction:column;gap:10px}.eph-points-header{display:flex;justify-content:space-between;align-items:center}.eph-points-header h3{margin:0;font-size:.95rem;color:#2c3e50;font-weight:600}.eph-eci-toggle{font-size:.82rem;color:#6c757d;cursor:pointer;-webkit-user-select:none;user-select:none}.eph-table-wrapper{overflow:auto;max-height:calc(100vh - 380px);border:1px solid #dee2e6;border-radius:4px;background:#fff}.eph-table{width:100%;border-collapse:collapse;font-size:.82rem;white-space:nowrap}.eph-table thead tr{background:#f8f9fa;position:sticky;top:0;z-index:1}.eph-table th{padding:8px 14px;text-align:left;color:#6c757d;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #dee2e6}.eph-table td{padding:5px 14px;color:#2c3e50;border-bottom:1px solid #f0f0f0}.eph-table tbody tr:hover{background:#f8f9fa}.eph-table .numeric{text-align:right;font-family:Courier New,monospace}.eph-ts{font-family:Courier New,monospace;font-size:.78rem;color:#6c757d}.kcv-wrapper{flex:1;position:relative;background:#0a0e1a;overflow:hidden;min-height:0}.kcv-container{position:absolute;inset:0;width:100%;height:100%}.kcv-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6c8ebf;text-align:center;gap:1rem;padding:2rem}.kcv-empty-icon{font-size:3.5rem;opacity:.5}.kcv-empty p{font-size:.95rem;color:#5a7296;max-width:360px;line-height:1.5;margin:0}.kcv-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#8facd4;font-size:.9rem;background:#0a0e1a}.kcv-status p{margin:0}.kcv-error{color:#e57373}.kcv-hint{font-size:.78rem;color:#6c8ebf}.kcv-spinner{width:36px;height:36px;border:3px solid rgba(52,152,219,.2);border-top-color:#3498db;border-radius:50%;animation:kcv-spin .8s linear infinite}@keyframes kcv-spin{to{transform:rotate(360deg)}}.kcv-telemetry{position:absolute;top:14px;z-index:10;background:#050a16eb;border:1px solid rgba(88,166,255,.4);border-radius:10px;padding:14px 18px;min-width:200px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;font-family:Courier New,Courier,monospace;animation:kcv-fadein .4s ease;box-shadow:0 4px 24px #0009}@keyframes kcv-fadein{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.kcv-telemetry-left{left:14px}.kcv-telemetry-right{right:14px;text-align:right}.kcv-telem-header{font-size:.82rem;font-weight:700;letter-spacing:.14em;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.18)}.kcv-telem-kestrel{color:#79c0ff}.kcv-telem-target{color:#ff9492}.kcv-telem-rows{display:flex;flex-direction:column;gap:6px}.kcv-telem-row{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.82rem}.kcv-telemetry-right .kcv-telem-row{flex-direction:row-reverse}.kcv-telem-row span{color:#8facd4;font-size:.72rem;letter-spacing:.07em;flex-shrink:0}.kcv-telem-row strong{color:#fff;font-weight:600;font-size:.82rem;font-family:Courier New,Courier,monospace;transition:color .3s}.kcv-telem-range{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:6px}.kcv-closing-in{color:#56d364!important}.kcv-moving-away{color:#f0b429!important}.kcv-telem-time{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);font-size:.68rem;color:#8facd4;letter-spacing:.03em}.kdd-strip{background:#fff;border-bottom:1px solid #dee2e6;padding:.5rem 1rem .4rem;flex-shrink:0;overflow-x:auto;overflow-y:hidden}.kdd-strip-inner{display:flex;gap:.5rem;align-items:stretch;min-width:max-content}.kdd-footer{display:flex;align-items:center;gap:.75rem;margin-top:.3rem;padding-left:2px}.kdd-epoch{font-size:.62rem;color:#adb5bd;font-family:Courier New,monospace;white-space:nowrap}.kdd-progress-bar{flex:1;height:3px;background:#e9ecef;border-radius:2px;overflow:hidden;max-width:160px}.kdd-progress-fill{height:100%;background:#8b5cf6;border-radius:2px;transition:width .4s ease}.kdd-card{display:flex;flex-direction:column;align-items:center;gap:2px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:6px 10px;min-width:88px;max-width:110px;flex-shrink:0}.kdd-label{font-size:.58rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#6c757d;white-space:nowrap}.kdd-card svg{flex-shrink:0}.kdd-hbar-value{font-size:.78rem;font-weight:600;color:#2c3e50;font-family:Courier New,monospace;white-space:nowrap}.kdd-unit{font-size:.65rem;color:#6c757d;font-weight:400}.kdd-hbar-track{position:relative;width:100%;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden;margin-top:2px}.kdd-hbar-center-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#ced4da;z-index:1}.kdd-hbar-fill{position:absolute;top:0;bottom:0;border-radius:3px;transition:width .3s ease,left .3s ease}.kdd-hbar-range{display:flex;justify-content:space-between;width:100%;font-size:.55rem;color:#adb5bd;margin-top:1px}.kdd-big-value{font-size:.85rem;font-weight:700;font-family:Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.kdd-sub{font-size:.6rem;color:#6c757d;white-space:nowrap}.kdd-bool-dot{width:10px;height:10px;border-radius:50%;margin-top:2px}.kdd-obs-window-badge{font-size:.6rem;font-weight:700;letter-spacing:.08em;color:#ff7c00;white-space:nowrap;animation:kdd-pulse 1.5s ease-in-out infinite}@keyframes kdd-pulse{0%,to{opacity:1}50%{opacity:.5}}.kdd-analytics-panel{border-top:1px solid #e9ecef;padding:.5rem 1rem .6rem;background:#f8f9fa}.kdd-analytics-loading{display:flex;align-items:center;justify-content:center;padding:.5rem 1rem}.kdd-analytics-loading-text{font-size:.65rem;color:#adb5bd;font-family:Courier New,monospace}.kdd-analytics-top{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.kdd-gauge-wrap{display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0}.kdd-gauge-value{font-size:1rem;font-weight:700;font-family:Courier New,monospace;margin-top:-6px}.kdd-gauge-label{font-size:.55rem;font-weight:700;letter-spacing:.1em;color:#6c757d;text-transform:uppercase}.kdd-summary-stats{display:flex;flex-wrap:wrap;gap:.4rem .75rem;align-items:center;flex:1}.kdd-summary-badge{font-size:.6rem;font-weight:700;letter-spacing:.08em;color:#fff;padding:2px 6px;border-radius:4px;white-space:nowrap}.kdd-summary-stat{display:flex;align-items:baseline;gap:.3rem;white-space:nowrap}.kdd-summary-stat-label{font-size:.55rem;font-weight:700;letter-spacing:.08em;color:#6c757d;text-transform:uppercase}.kdd-summary-stat-value{font-size:.75rem;font-weight:600;font-family:Courier New,monospace;color:#2c3e50}.kdd-summary-stat-sub{font-size:.6rem;color:#adb5bd}.kdd-reentry-date{color:#e74c3c!important}.kdd-analytics-section-title{font-size:.55rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6c757d;margin-bottom:.35rem;margin-top:.5rem}.kdd-analytics-factors{max-width:520px}.kdd-factor-row{display:grid;grid-template-columns:90px 1fr 36px 72px;align-items:center;gap:.4rem;margin-bottom:3px}.kdd-factor-label{font-size:.6rem;color:#495057;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kdd-factor-bar-track{height:6px;background:#dee2e6;border-radius:3px;overflow:hidden}.kdd-factor-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.kdd-sim-bar{background:#3498db}.kdd-factor-pct{font-size:.6rem;font-weight:600;font-family:Courier New,monospace;text-align:right}.kdd-factor-raw{font-size:.58rem;color:#6c757d;font-family:Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kdd-similarity-wrap{margin-top:.25rem;max-width:520px}.kdd-similarity-dims{display:flex;flex-direction:column;gap:0}.km-page{display:flex;flex-direction:column;flex:1;height:calc(100vh - 100px);overflow:hidden;background:#f5f5f5}.km-subnav{display:flex;gap:.25rem;padding:.5rem 1.5rem;background:#fff;border-bottom:1px solid #ddd;flex-shrink:0}.km-subnav button{padding:.4rem 1.2rem;background:transparent;border:2px solid transparent;border-radius:5px;cursor:pointer;font-size:.875rem;font-weight:500;color:#666;transition:all .2s}.km-subnav button:hover{border-color:#3498db;color:#3498db}.km-subnav button.active{background:#e3f2fd;border-color:#3498db;color:#3498db}.km-subnav button:disabled{opacity:.4;cursor:not-allowed}.km-body{display:flex;flex:1;overflow:hidden;min-height:0}.km-sidebar{width:320px;min-width:300px;background:#fff;border-right:1px solid #ddd;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;flex-shrink:0}.km-section{display:flex;flex-direction:column;gap:.65rem}.km-section h3{margin:0 0 .1rem;font-size:.85rem;font-weight:600;color:#3498db;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #e0e0e0;padding-bottom:.4rem}.km-field{display:flex;flex-direction:column;gap:5px;position:relative}.km-field label{font-size:.78rem;color:#555;font-weight:500;display:flex;justify-content:space-between;align-items:center}.km-field-value{color:#333;font-weight:600;font-size:.82rem}.km-select,.km-input{width:100%;background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;padding:7px 10px;font-size:.875rem;box-sizing:border-box;transition:border-color .15s}.km-select:focus,.km-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db26}.km-slider{width:100%;accent-color:#3498db;cursor:pointer}.km-slider-labels{display:flex;justify-content:space-between;font-size:.7rem;color:#999;margin-top:-2px}.km-mission-types{display:flex;gap:6px}.km-mission-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;background:#f8f9fa;border:2px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .15s}.km-mission-btn span:first-child{font-size:1.1rem}.km-mission-btn:hover{border-color:#3498db;color:#3498db}.km-mission-btn.active{background:#e3f2fd;border-color:#3498db;color:#3498db}.km-site-info{display:flex;flex-direction:column;gap:2px;margin-top:-2px}.km-site-coord{font-size:.75rem;color:#666;font-family:monospace}.km-site-note{font-size:.72rem;color:#999;font-style:italic}.km-presets{display:flex;flex-wrap:wrap;gap:5px}.km-preset-btn{padding:4px 10px;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;color:#555;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .15s;white-space:nowrap}.km-preset-btn:hover{background:#e3f2fd;border-color:#3498db;color:#3498db}.km-orbit-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:10px}.km-sum-item{display:flex;flex-direction:column;gap:2px}.km-sum-item span{font-size:.7rem;color:#999;text-transform:uppercase;letter-spacing:.04em}.km-sum-item strong{font-size:.85rem;color:#333}.km-primary-btn{width:100%;background:#3498db;color:#fff;border:none;border-radius:6px;padding:10px 0;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s;letter-spacing:.02em}.km-primary-btn:hover:not(:disabled){background:#2980b9}.km-primary-btn:disabled{opacity:.4;cursor:not-allowed}.km-hint-text{font-size:.82rem;color:#888;line-height:1.5;margin:0}.km-link-btn{background:none;border:none;color:#3498db;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.km-search-wrapper{position:relative}.km-search-results{position:absolute;z-index:100;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 6px 6px;max-height:220px;overflow-y:auto;list-style:none;margin:0;padding:0;box-shadow:0 6px 16px #0000001a}.km-search-results li{padding:8px 10px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .1s}.km-search-results li:hover{background:#f5f5f5}.km-res-name{font-size:.85rem;color:#333;display:block;margin-bottom:2px}.km-res-meta{display:flex;gap:6px;font-size:.72rem;color:#999}.km-res-type{color:#666}.km-spinner{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:12px;height:12px;border:2px solid rgba(52,152,219,.25);border-top-color:#3498db;border-radius:50%;animation:km-spin .6s linear infinite}@keyframes km-spin{to{transform:translateY(-50%) rotate(360deg)}}.km-selected-target{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.km-target-name{font-size:.9rem;color:#d4820a;font-weight:600}.km-target-meta{display:flex;gap:6px;flex-wrap:wrap}.km-badge{background:#e3f2fd;color:#3498db;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:500;border:1px solid #bbdefb}.km-badge-type{background:#f0f0f0;color:#666;border-color:#ddd}.km-badge-cached{background:#fff8e1;color:#e65100;border-color:#ffe0b2;cursor:help}.km-target-orbit{border-color:#e74c3c40}.km-error{color:#c0392b;font-size:.8rem;background:#c0392b12;border-left:3px solid #c0392b;padding:6px 10px;border-radius:0 4px 4px 0;margin:0}.km-results{border-top:1px solid #e0e0e0;padding-top:.65rem;margin-top:.25rem}.km-result-block{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.km-result-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#888;font-weight:600}.km-result-rows{display:flex;flex-direction:column;gap:6px}.km-result-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:#666}.km-result-row strong{color:#333;font-size:.85rem}.km-result-row.km-total{border-top:1px solid #e0e0e0;padding-top:6px;margin-top:2px}.km-result-row.km-total strong{color:#27ae60}.km-dv{font-family:monospace;font-size:.83rem!important}.km-timeline-block{border-left:3px solid #2980b9;background:#f0f6fb}.km-timeline-note{padding:0 0 4px}.km-timeline-sub{font-size:.72rem;color:#888;font-style:italic}.km-timeline-total{color:#2980b9!important;font-size:.9rem!important}.km-timeline-arrival-row{border-top:1px dashed #c0d8ef;padding-top:5px;margin-top:2px}.km-timeline-arrival{font-family:monospace;font-size:.78rem!important;color:#555!important}.km-warn{color:#d4820a!important}.km-coorbital-warning{display:flex;align-items:flex-start;gap:10px;background:#e74c3c1a;border:1px solid rgba(231,76,60,.4);border-left:4px solid #e74c3c;border-radius:6px;padding:10px 14px;margin:8px 0;font-size:.82rem;color:#e8d5d3;line-height:1.5}.km-coorbital-warning .km-warn-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}.km-warn-note{font-size:.74rem;color:#d4820a;background:#d4820a12;border-left:3px solid #d4820a;padding:5px 8px;border-radius:0 4px 4px 0;margin:0;line-height:1.4}.km-tab-badge{display:inline-block;margin-left:6px;font-size:.7rem;color:#27ae60;font-weight:700}.km-target-card{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.km-hint-suggest{color:#27ae60!important;font-style:italic;font-size:.74rem!important;margin:0!important}.km-mission-icon{font-size:1.15rem;line-height:1}.km-mission-summary-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;font-size:.82rem;padding:3px 0;border-bottom:1px solid #f0f0f0}.km-mission-summary-row:last-child{border-bottom:none}.km-sum-label{color:#999;font-size:.75rem;white-space:nowrap}.km-sum-value-inline{color:#333;font-weight:500;font-size:.82rem;text-align:right}.km-deorbit-block{border-color:#c0392b40;background:#c0392b0a}.km-deorbit-block .km-result-title{color:#c0392b}.km-scenarios{display:flex;flex-direction:column;gap:.65rem}.km-scenario-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:.75rem;transition:border-color .2s,box-shadow .2s}.km-scenario-card:hover{border-color:#3498db;box-shadow:0 0 0 1px #3498db26}.km-scenario-active{border-color:#3498db;box-shadow:0 0 0 1px #3498db33}.km-scenario-executed{border-color:#27ae60;box-shadow:0 0 0 1px #27ae6033}.km-scenario-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;flex-wrap:wrap}.km-scenario-name{font-size:.875rem;font-weight:600;color:#333}.km-scenario-tag{font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:2px 6px;border-radius:4px;border:1px solid}.km-scenario-check{margin-left:auto;font-size:.7rem;font-weight:700;color:#27ae60;letter-spacing:.04em}.km-scenario-desc{font-size:.75rem;color:#666;margin:0 0 .5rem;line-height:1.4}.km-scenario-stats{display:flex;gap:.5rem;margin-bottom:.6rem}.km-sc-stat{flex:1;display:flex;flex-direction:column;gap:2px;background:#f8f9fa;border-radius:5px;padding:4px 6px;border:1px solid #f0f0f0}.km-sc-stat span{font-size:.65rem;color:#999;text-transform:uppercase;letter-spacing:.04em}.km-sc-stat strong{font-size:.78rem;color:#333}.km-scenario-actions{display:flex;gap:.5rem}.km-btn-suggest,.km-btn-execute{flex:1;padding:5px 10px;border-radius:5px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid;transition:all .15s}.km-btn-suggest{background:transparent;border-color:#ddd;color:#666}.km-btn-suggest:hover{border-color:#3498db;color:#3498db;background:#e3f2fd}.km-btn-execute{background:#27ae6014;border-color:#27ae60;color:#27ae60}.km-btn-execute:hover{background:#27ae602e}.km-scenario-preview{margin-top:.75rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:.65rem .75rem}.km-preview-title{font-size:.78rem;font-weight:600;color:#3498db;margin-bottom:.5rem}.km-advisor-btn{width:100%;padding:.5rem 1rem;border-radius:6px;border:1px solid #8b5cf6;background:#8b5cf612;color:#7c3aed;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s;margin-top:.25rem}.km-advisor-btn:hover:not(:disabled){background:#8b5cf626}.km-advisor-btn:disabled{opacity:.5;cursor:not-allowed}.km-advisor-clarify{margin-top:.75rem;background:#fffbeb;border:1px solid #fbbf24;border-radius:6px;padding:.65rem .75rem}.km-advisor-clarify-label{font-size:.72rem;font-weight:700;color:#92400e;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}.km-advisor-clarify-q{font-size:.82rem;color:#78350f;margin:0 0 .5rem}.km-advisor-clarify-row{display:flex;gap:.4rem}.km-advisor-clarify-row .km-advisor-btn{width:auto;flex-shrink:0;margin-top:0}.km-advisor-result{margin-top:.75rem;background:#f5f3ff;border:1px solid #c4b5fd;border-radius:8px;padding:.75rem}.km-advisor-result-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.6rem}.km-advisor-rec-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#7c3aed}.km-advisor-rec-name{font-size:.85rem;font-weight:700}.km-advisor-confidence{margin-left:auto;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.km-advisor-reasoning{font-size:.82rem;color:#374151;margin:0 0 .5rem;line-height:1.5}.km-advisor-tradeoff{font-size:.78rem;color:#555;margin:0 0 .4rem;line-height:1.45}.km-advisor-caveat{font-size:.76rem;color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:4px;padding:.35rem .5rem;margin:.35rem 0 0}.km-advisor-scenario-row{padding:.45rem .6rem;border-radius:5px;background:#f8f9fa;margin-bottom:.4rem;border-left-width:3px;border-left-style:solid}.km-advisor-sc-name{font-size:.8rem;font-weight:600;color:#333;margin-bottom:.2rem}.km-advisor-sc-stats{display:flex;gap:.75rem;font-size:.72rem;color:#666}.km-kestrel-status-banner{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#0f3460,#1a4a6b);color:#7ee8e8;font-size:.75rem;font-weight:700;letter-spacing:.08em;padding:8px 12px;border-radius:6px;margin-bottom:.25rem}.km-kestrel-orbit-dot{width:8px;height:8px;background:#2ec4c4;border-radius:50%;flex-shrink:0;animation:km-pulse 2s ease-in-out infinite}.km-collect-tab{position:relative;background:linear-gradient(135deg,#0f3460,#1a6b6b);color:#7ee8e8!important;border-color:#1a9090!important;font-weight:600}.km-collect-tab:hover:not(:disabled){background:linear-gradient(135deg,#163b70,#1f7a7a);border-color:#23b0b0!important;color:#9ff0f0!important}.km-collect-tab.active{background:linear-gradient(135deg,#1a4a80,#1f8888)!important;border-color:#2ec4c4!important;color:#c0f8f8!important}.km-tab-pulse{display:inline-block;width:8px;height:8px;background:#2ec4c4;border-radius:50%;margin-left:6px;animation:km-pulse 1s ease-in-out infinite;vertical-align:middle}@keyframes km-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.km-collect-cta-btn{width:100%;background:linear-gradient(135deg,#0f3460,#1a6b6b);color:#7ee8e8;border:1px solid #1a9090;border-radius:6px;padding:11px 0;font-size:.9rem;font-weight:700;cursor:pointer;letter-spacing:.03em;transition:all .15s}.km-collect-cta-btn:hover{background:linear-gradient(135deg,#163b70,#1f7a7a);color:#9ff0f0}.km-collect-target-card{background:#f0faff;border:1px solid #b3d9f0;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.km-collect-target-label{font-size:.68rem;color:#999;text-transform:uppercase;letter-spacing:.06em}.km-collect-target-name{font-size:.9rem;font-weight:700;color:#0f3460}.km-collect-status-row{display:flex;align-items:center;gap:8px;margin:.25rem 0}.km-collect-indicator{width:10px;height:10px;border-radius:50%;background:#ccc;flex-shrink:0}.km-collect-indicator-live{background:#2ec4c4;animation:km-pulse 1s ease-in-out infinite;box-shadow:0 0 6px #2ec4c499}.km-collect-indicator-done{background:#27ae60}.km-collect-status-text{font-size:.75rem;font-weight:600;color:#444;letter-spacing:.04em}.km-collect-progress-wrap{display:flex;align-items:center;gap:8px}.km-collect-progress-bar{flex:1;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.km-collect-progress-fill{height:100%;background:linear-gradient(90deg,#1a9090,#2ec4c4);border-radius:3px;transition:width .6s ease}.km-collect-progress-label{font-size:.72rem;color:#888;white-space:nowrap}.km-collect-scanning{display:flex;align-items:center;gap:10px;padding:8px 0;color:#1a9090;font-size:.82rem;font-weight:600}.km-collect-scan-ring{width:22px;height:22px;border:3px solid rgba(26,144,144,.2);border-top-color:#1a9090;border-radius:50%;animation:km-spin .8s linear infinite;flex-shrink:0}.km-collection-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.km-collect-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:#888;font-size:.9rem;flex-shrink:0}.km-gmat-plan-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#13161a;min-height:0}.km-gmat-upper{overflow-y:auto;padding:1.5rem;flex:0 0 auto;max-height:55%;display:flex;flex-direction:column;gap:1.25rem}.km-gmat-cesium{flex:1;min-height:0;border-top:1px solid #2a2f38;display:flex;flex-direction:column}.km-gmat-metrics{display:flex;flex-direction:column;gap:1.25rem}.km-gmat-metrics-title{font-size:1rem;font-weight:600;color:#cdd9e5;letter-spacing:.01em;padding-bottom:.5rem;border-bottom:1px solid #2a2f38}.km-gmat-metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.km-gmat-metric-card{background:#1c2128;border:1px solid #2a2f38;border-radius:8px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.2rem;transition:border-color .2s}.km-gmat-metric-card:hover{border-color:#444c58}.km-gmat-metric-card--highlight{border-color:#2a3a50;background:#161e28}.km-gmat-metric-label{font-size:.72rem;color:#768390;text-transform:uppercase;letter-spacing:.05em}.km-gmat-metric-value{font-size:2rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.km-gmat-metric-unit{font-size:.75rem;color:#636e7b;font-weight:500}.km-gmat-burn-epochs{background:#1c2128;border:1px solid #2a2f38;border-radius:8px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.4rem}.km-gmat-epoch-row{display:flex;align-items:center;gap:.75rem;font-size:.82rem}.km-gmat-epoch-label{color:#768390;white-space:nowrap;width:130px;flex-shrink:0}.km-gmat-epoch-val{color:#cdd9e5;font-variant-numeric:tabular-nums;font-family:Lucida Console,monospace;font-size:.78rem}.kdg-wrapper{position:relative;display:flex;flex-direction:column;width:100%;height:100%;background:#f5f5f5;overflow:hidden}.kdg-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6c757d;gap:1rem;text-align:center;padding:2rem}.kdg-empty-icon{font-size:3rem}.kdg-empty p{font-size:.95rem;line-height:1.6;max-width:360px;margin:0}.kdg-status{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6c757d;gap:1rem}.kdg-spinner{width:40px;height:40px;border:3px solid rgba(139,92,246,.15);border-top-color:#8b5cf6;border-radius:50%;animation:kdg-spin .8s linear infinite}@keyframes kdg-spin{to{transform:rotate(360deg)}}.kdg-error{color:#e74c3c}.kdg-hint{font-size:.8rem;color:#6c757d}.kdg-container{flex:1;min-height:0;width:100%}.kdg-overlay{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:8px;pointer-events:none;z-index:10}.kdg-telemetry-card{background:#ffffffeb;border:1px solid rgba(139,92,246,.3);border-radius:8px;padding:10px 14px;min-width:200px;pointer-events:auto;box-shadow:0 2px 8px #0000001f}.kdg-telem-header{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;color:#7c3aed}.kdg-telem-rows{display:flex;flex-direction:column;gap:2px}.kdg-telem-row{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;gap:12px}.kdg-telem-row span{color:#6c757d;font-weight:500;letter-spacing:.05em;font-size:.68rem}.kdg-telem-row strong{color:#1a202c;font-family:Courier New,monospace;font-size:.78rem}.kdg-health-bar-wrap{margin-top:6px;padding-top:6px;border-top:1px solid #e9ecef}.kdg-health-label{font-size:.68rem;color:#6c757d;margin-bottom:3px;letter-spacing:.05em}.kdg-health-bar{height:6px;border-radius:3px;background:#e9ecef;overflow:hidden}.kdg-health-fill{height:100%;border-radius:3px;transition:width .3s ease}.kdg-health-fill.good{background:#27ae60}.kdg-health-fill.warning{background:#f39c12}.kdg-health-fill.critical{background:#e74c3c}.kdg-telem-time{margin-top:6px;padding-top:6px;border-top:1px solid #e9ecef;font-size:.68rem;color:#6c757d;font-family:Courier New,monospace}.kdg-legend{position:absolute;bottom:40px;right:12px;background:#ffffffeb;border:1px solid #dee2e6;border-radius:8px;padding:8px 12px;pointer-events:none;z-index:10;box-shadow:0 2px 8px #0000001a}.kdg-legend-title{font-size:.68rem;color:#6c757d;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.kdg-legend-items{display:flex;flex-direction:column;gap:4px}.kdg-legend-item{display:flex;align-items:center;gap:6px;font-size:.72rem;color:#2c3e50}.kdg-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.kdg-legend-dot.good{background:#27ae60}.kdg-legend-dot.warning{background:#f39c12}.kdg-legend-dot.critical{background:#e74c3c}.kdg-legend-dot.unknown{background:#adb5bd}.kdg-legend-line{width:18px;height:3px;border-radius:2px;flex-shrink:0}.kdg-legend-line-gray{background:#8ca0b4cc}.kdg-legend-line-obs{background:#ffa028}.kdg-tl-wrap{flex-shrink:0;background:#0a0e16f5;border-top:1px solid rgba(255,255,255,.08);padding:8px 14px 10px;z-index:10}.kdg-tl-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.kdg-tl-title{font-size:.6rem;font-weight:700;letter-spacing:.1em;color:#b4c3d799;text-transform:uppercase}.kdg-tl-in-obs{font-size:.6rem;font-weight:700;letter-spacing:.08em;color:#ffa028;animation:kdg-tl-pulse 1.5s ease-in-out infinite}@keyframes kdg-tl-pulse{0%,to{opacity:1}50%{opacity:.45}}.kdg-tl-bar{position:relative;height:22px;cursor:pointer;border-radius:3px;overflow:hidden}.kdg-tl-bar:hover .kdg-tl-bg{background:#8ca0b438}.kdg-tl-bg{position:absolute;inset:0;background:#8ca0b421;border-radius:3px;transition:background .15s}.kdg-tl-obs-band{position:absolute;top:0;bottom:0;background:#ffa02852;border-left:2px solid rgba(255,160,40,.9);border-right:2px solid rgba(255,160,40,.9);display:flex;align-items:center;justify-content:center;min-width:2px;overflow:hidden}.kdg-tl-obs-label{font-size:.58rem;font-weight:700;letter-spacing:.1em;color:#ffa028f2;text-transform:uppercase;white-space:nowrap;pointer-events:none;text-shadow:0 0 6px rgba(0,0,0,.9)}.kdg-tl-cursor{position:absolute;top:-1px;bottom:-1px;width:2px;background:#fff;transform:translate(-50%);border-radius:1px;pointer-events:none;box-shadow:0 0 4px #ffffffb3}.kdg-tl-labels{position:relative;display:flex;justify-content:space-between;margin-top:5px;font-size:.58rem;color:#a0afc399;font-family:Courier New,monospace}.kdg-tl-label-obs{position:absolute;transform:translate(-50%);color:#ffa028cc;font-size:.55rem;letter-spacing:.04em;white-space:nowrap}.kdp-page{display:flex;flex-direction:column;flex:1;height:calc(100vh - 100px);overflow:hidden;background:#f5f5f5}.kdp-subnav{display:flex;gap:.25rem;padding:.5rem 1.5rem;background:#fff;border-bottom:1px solid #ddd;flex-shrink:0}.kdp-subnav button{padding:.4rem 1.2rem;background:transparent;border:2px solid transparent;border-radius:5px;cursor:pointer;font-size:.875rem;font-weight:500;color:#666;transition:all .2s}.kdp-subnav button:hover{border-color:#8b5cf6;color:#8b5cf6}.kdp-subnav button.active{background:#f3effe;border-color:#8b5cf6;color:#8b5cf6}.kdp-body{display:flex;flex:1;overflow:hidden;min-height:0}.kdp-sidebar{width:300px;min-width:280px;background:#fff;border-right:1px solid #ddd;overflow-y:auto;padding:1.25rem;flex-shrink:0;display:flex;flex-direction:column;gap:1rem}.kdp-sidebar-title{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8b5cf6;margin:0}.kdp-stats-row{display:flex;gap:.5rem}.kdp-stat{flex:1;background:#f8f9fa;border-radius:6px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:2px}.kdp-stat-value{font-size:1.3rem;font-weight:700;color:#2c3e50;line-height:1}.kdp-stat-label{font-size:.68rem;color:#6c757d;text-transform:uppercase;letter-spacing:.05em}.kdp-search{width:100%;padding:.5rem .75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.85rem;outline:none;transition:border-color .2s;box-sizing:border-box}.kdp-search:focus{border-color:#8b5cf6}.kdp-sat-list{display:flex;flex-direction:column;gap:.4rem;flex:1}.kdp-sat-item{padding:.6rem .75rem;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:all .15s;border:2px solid transparent}.kdp-sat-item:hover{background:#f3effe;border-color:#c4b5fd}.kdp-sat-item.selected{background:#f3effe;border-color:#8b5cf6}.kdp-sat-item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:3px}.kdp-sat-name{font-size:.82rem;font-weight:600;color:#2c3e50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.kdp-health-badge{font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:4px;flex-shrink:0}.kdp-health-badge.good{background:#d4edda;color:#155724}.kdp-health-badge.warning{background:#fff3cd;color:#856404}.kdp-health-badge.critical{background:#f8d7da;color:#721c24}.kdp-health-badge.unknown{background:#e9ecef;color:#6c757d}.kdp-sat-meta{display:flex;gap:.5rem;font-size:.7rem;color:#6c757d}.kdp-sat-meta span{white-space:nowrap}.kdp-loading-text{font-size:.82rem;color:#6c757d;text-align:center;padding:1rem}.kdp-no-tle{font-size:.68rem;color:#adb5bd;margin-top:2px}.kdp-globe-toggle{font-size:.7rem;color:#8b5cf6;cursor:pointer;text-decoration:underline;margin-top:2px;display:inline-block}.kdp-show-all-btn{margin-top:.5rem;padding:.4rem .75rem;background:#fff;border:1px solid #dee2e6;border-radius:6px;font-size:.78rem;color:#6c757d;cursor:pointer;width:100%;transition:all .2s}.kdp-show-all-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.kdp-main{flex:1;overflow:hidden;display:flex;flex-direction:column;min-width:0}.kdp-globe-area{flex:1;overflow:hidden;display:flex;flex-direction:column}.kdp-timeline-area{flex:1;overflow-y:auto;padding:1.5rem 2rem;background:#fff}.kdp-timeline-title{font-size:1rem;font-weight:600;color:#2c3e50;margin:0 0 1.25rem}.kdp-obs-cards{display:flex;flex-direction:column;gap:1rem}.kdp-obs-card{border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.kdp-obs-card-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.kdp-obs-card-name{font-weight:600;font-size:.9rem;color:#2c3e50}.kdp-obs-card-meta{font-size:.75rem;color:#6c757d}.kdp-obs-card-body{padding:.75rem 1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.kdp-obs-field{display:flex;flex-direction:column;gap:2px}.kdp-obs-field-label{font-size:.68rem;color:#adb5bd;text-transform:uppercase;letter-spacing:.05em}.kdp-obs-field-value{font-size:.82rem;color:#2c3e50;font-family:Courier New,monospace}.kdp-obs-empty{text-align:center;color:#adb5bd;font-size:.9rem;padding:3rem 1rem}.ins-section{flex:1;min-width:0;overflow-y:auto;padding:1.25rem;max-width:1400px;box-sizing:border-box}.ins-section-title{font-size:1.2rem;font-weight:700;color:#0f172a;margin:0 0 1rem;display:flex;align-items:center;gap:.75rem}.ins-carrier-badge{font-size:.75rem;background:#0369a118;color:#0369a1;border:1px solid #0369a140;border-radius:4px;padding:2px 8px;font-weight:600}.ins-badge{border:1px solid;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.ins-kpi-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1.25rem}.ins-kpi-tile{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.25rem;min-width:0}.ins-kpi-label{font-size:.7rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}.ins-kpi-value{font-size:1.5rem;font-weight:700;color:#0f172a;line-height:1.1}.ins-kpi-sub{font-size:.72rem;color:#94a3b8;margin-top:.2rem}.ins-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.ins-card-title{font-size:.9rem;font-weight:600;color:#334155;margin:0 0 .75rem}.ins-table{width:100%;border-collapse:collapse;font-size:.85rem}.ins-table thead tr{background:#f8fafc;border-bottom:2px solid #e2e8f0}.ins-table th{padding:.5rem .75rem;text-align:left;font-weight:600;color:#64748b;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ins-table tbody tr{border-bottom:1px solid #f1f5f9}.ins-table tbody tr:hover{background:#f8fafc}.ins-table td{padding:.55rem .75rem;vertical-align:middle}.ins-loading{padding:3rem;text-align:center;color:#64748b;font-size:.95rem}.ins-error{padding:1rem 1.25rem;background:#fee2e2;color:#991b1b;border-radius:6px;margin:1rem 0;font-size:.85rem}.ins-filters{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.ins-select{padding:.4rem .75rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.85rem;background:#fff;color:#334155;cursor:pointer}.ins-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 0 .25rem;font-size:.85rem;color:#64748b}.ins-btn{padding:.35rem .85rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;cursor:pointer;font-size:.85rem}.ins-btn:hover:not(:disabled){background:#f1f5f9}.ins-btn:disabled{opacity:.4;cursor:not-allowed}.ins-btn-link{color:#0369a1;border-color:#0369a140;background:#0369a108;font-size:.78rem;padding:.2rem .55rem;white-space:nowrap}.ins-btn-link:hover:not(:disabled){background:#0369a118;color:#024f85}.ins-coverage-bar{display:flex;height:32px;border-radius:6px;overflow:hidden;gap:2px}.ins-coverage-segment{display:flex;align-items:center;justify-content:center;color:#fff;font-size:.72rem;font-weight:600;white-space:nowrap;overflow:hidden;transition:flex .3s ease}.ins-kestrel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.ins-kestrel-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.ins-kestrel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.ins-kestrel-name{font-weight:700;color:#0f172a;font-size:1rem}.ins-kestrel-detail{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:#475569}.ins-kd-label{font-weight:600;color:#94a3b8;text-transform:uppercase;font-size:.68rem;letter-spacing:.05em;margin-right:.35rem}.ins-bold{font-weight:600}.ins-muted{font-size:.8rem;color:#64748b}.ins-small{font-size:.8rem}.ins-center{text-align:center}.ins-capitalize{text-transform:capitalize}.ins-code{font-size:.78rem;font-family:monospace}.ins-empty{text-align:center;color:#94a3b8;padding:2rem!important}.ins-row-clickable{cursor:pointer}.ins-row-clickable:hover td{background:#eff6ff!important}.ins-link-cell{color:#0369a1;text-decoration:underline;text-underline-offset:2px}.ins-table-hover tbody tr:hover{background:#f0f9ff}.ins-heatmap{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0 .75rem}.ins-heatmap-row{display:flex;align-items:center;gap:.75rem}.ins-heatmap-label{width:180px;font-size:.78rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.ins-heatmap-track{flex:1;height:22px;background:#f1f5f9;border-radius:4px;overflow:hidden}.ins-heatmap-fill{height:100%;background:linear-gradient(90deg,#0369a1,#38bdf8);border-radius:4px;transition:width .4s ease}.ins-heatmap-value{width:72px;font-size:.8rem;color:#0f172a;font-weight:600;text-align:right}.iad-wrapper{display:flex;flex-direction:column;gap:0;width:100%;min-height:0;background:#f8fafc}.iad-header{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.5rem .75rem;background:#fff;border-bottom:1px solid #e2e8f0}.iad-header-actions{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;margin-top:.15rem}.iad-back-btn{background:transparent;border:1px solid #cbd5e1;color:#475569;padding:.35rem .75rem;border-radius:6px;cursor:pointer;font-size:.8rem;white-space:nowrap}.iad-back-btn:hover{background:#f1f5f9;color:#0f172a}.iad-title-block{flex:1}.iad-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.iad-subtitle{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:#64748b;flex-wrap:wrap}.iad-tabs{display:flex;gap:0;background:#f8f9fa;border-bottom:1px solid #dee2e6;padding:0 1.5rem;overflow-x:auto}.iad-tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:#6c757d;padding:.6rem 1rem;cursor:pointer;font-size:.82rem;white-space:nowrap;transition:color .15s,border-color .15s}.iad-tab-btn:hover{color:#0f172a}.iad-tab-btn.active{color:#0369a1;border-bottom-color:#0369a1;font-weight:600}.iad-tab-content{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;flex:1}.iad-field-label{color:#64748b;font-size:.8rem;width:120px;font-weight:500}.iad-no-data{color:#94a3b8;font-size:.85rem;padding:1rem 0;font-style:italic}.iad-chart{padding:.5rem 0}.iad-chart-bars{display:flex;align-items:flex-end;gap:.5rem;height:140px;padding:0 0 .25rem}.iad-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:0}.iad-chart-bar-pair{display:flex;align-items:flex-end;gap:2px;height:120px;width:100%;justify-content:center}.iad-bar{width:12px;border-radius:3px 3px 0 0;min-height:4px;transition:height .3s}.iad-bar-talon{background:#0369a1}.iad-bar-baseline{background:#cbd5e1}.iad-chart-label{font-size:.7rem;color:#94a3b8}.iad-chart-legend{display:flex;gap:1.5rem;margin-top:.75rem}.iad-legend-item{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#64748b}.iad-legend-dot{width:12px;height:12px;border-radius:2px;display:inline-block}.iad-gauges{display:flex;flex-direction:column;gap:1.25rem;padding:.5rem 0}.iad-gauge{display:flex;flex-direction:column;gap:.25rem}.iad-gauge-label{font-size:.82rem;font-weight:600;color:#334155;text-transform:uppercase;letter-spacing:.04em}.iad-gauge-track{height:16px;background:#f1f5f9;border-radius:4px;overflow:hidden;border:1px solid #e2e8f0}.iad-gauge-track-thin{height:8px;margin-top:-2px}.iad-gauge-fill{height:100%;border-radius:4px;transition:width .4s ease}.iad-gauge-talon{background:linear-gradient(90deg,#0369a1,#0ea5e9)}.iad-gauge-baseline{background:#94a3b8}.iad-gauge-values{display:flex;align-items:center;gap:.5rem;font-size:.78rem}.iad-gauge-talon-val{color:#0369a1;font-weight:600}.iad-gauge-sep{color:#94a3b8}.iad-gauge-base-val{color:#64748b}.iad-gauge-delta{font-weight:700;font-size:.8rem;margin-left:auto}.iad-model-tag{font-size:.72rem;color:#94a3b8;font-weight:400;margin-left:.75rem;font-family:monospace}.iad-kestrel-chips{display:flex;flex-wrap:wrap;gap:.5rem}.iad-kestrel-chip{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:.3rem .75rem;font-size:.82rem;color:#334155;display:flex;flex-direction:column;gap:.1rem}.iad-chip-sensors{font-size:.7rem;color:#94a3b8}.iad-heatmap{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}.iad-heatmap-row{display:flex;align-items:center;gap:.75rem}.iad-heatmap-label{width:160px;font-size:.78rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iad-heatmap-bar-track{flex:1;height:20px;background:#f1f5f9;border-radius:4px;overflow:hidden;border:1px solid #e2e8f0}.iad-heatmap-bar{height:100%;background:linear-gradient(90deg,#0369a1,#0ea5e9);border-radius:4px;transition:width .4s}.iad-heatmap-value{width:70px;font-size:.8rem;color:#0f172a;font-weight:600;text-align:right}.iad-heatmap-count{width:70px;font-size:.75rem;color:#64748b;text-align:right}.iad-row-selected td{background:#eff6ff!important}.iad-link-btn{background:transparent;border:1px solid #cbd5e1;color:#0369a1;padding:.2rem .5rem;border-radius:4px;cursor:pointer;font-size:.78rem}.iad-link-btn:hover{background:#f0f9ff}.iad-hash-block{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.5rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:.78rem}.iad-hash-label{color:#64748b;white-space:nowrap}.iad-desc{font-size:.85rem;color:#64748b;margin:0 0 .75rem}.iad-export-btn{background:#0369a1;border:none;color:#fff;padding:.3rem .75rem;border-radius:5px;cursor:pointer;font-size:.8rem}.iad-export-btn:hover:not(:disabled){background:#0284c7}.iad-export-btn:disabled{opacity:.6;cursor:not-allowed}.iad-json-pre{font-size:.72rem;font-family:monospace;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.75rem;overflow:auto;max-height:400px}.iad-list{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.35rem}.iad-list li{font-size:.85rem;color:#475569}.iagg-root{display:flex;flex-direction:column;gap:1.5rem;padding:1.25rem;flex:1;min-width:0;min-height:0;overflow-y:auto;background:#f8fafc}.iagg-main-grid{display:grid;grid-template-columns:1fr 1fr 320px;gap:1.25rem;align-items:start}@media(max-width:1100px){.iagg-main-grid{grid-template-columns:1fr 1fr}.iagg-sidebar-col{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap}.iagg-sidebar-col .iagg-card{flex:1;min-width:260px}}@media(max-width:700px){.iagg-main-grid{grid-template-columns:1fr}.iagg-sidebar-col{grid-column:1}}.iagg-viz-panel{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;height:760px}.iagg-sidebar-col{display:flex;flex-direction:column;gap:1rem}.iagg-panel-title{font-weight:600;font-size:.9rem;color:#0f172a;padding:.75rem 1rem .5rem;border-bottom:1px solid #f1f5f9}.iagg-globe-placeholder{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;color:#64748b;font-size:.85rem;padding:2rem}.iagg-globe-placeholder.iagg-error{color:#dc2626}.iagg-globe-wrapper{flex:1;position:relative;width:100%;min-height:0}.iagg-globe-container{position:absolute;inset:0}.iagg-globe-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:#64748b;font-size:.85rem;background:#f1f5f9;z-index:2}.iagg-globe-status.iagg-globe-error{color:#dc2626}.iagg-spinner{width:22px;height:22px;border:3px solid #e2e8f0;border-top-color:#0369a1;border-radius:50%;animation:iagg-spin .8s linear infinite}@keyframes iagg-spin{to{transform:rotate(360deg)}}.iagg-sidebar{display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.iagg-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1rem}.iagg-form{display:flex;flex-direction:column;gap:.875rem}.iagg-form-title{font-size:.95rem;font-weight:600;color:#0f172a;margin:0 0 .25rem}.iagg-form-row{display:flex;flex-direction:column;gap:.3rem}.iagg-label{font-size:.78rem;font-weight:500;color:#475569;text-transform:uppercase;letter-spacing:.04em}.iagg-select{width:100%;padding:.5rem .65rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;font-size:.87rem;color:#0f172a;cursor:pointer}.iagg-select:focus{outline:none;border-color:#0369a1;box-shadow:0 0 0 2px #0369a120}.iagg-range-row{display:flex;align-items:center;gap:.75rem}.iagg-range{flex:1;accent-color:#0369a1}.iagg-range-value{font-size:.87rem;font-weight:600;color:#0f172a;min-width:3.5rem;text-align:right}.iagg-form-error{font-size:.82rem;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.4rem .6rem}.iagg-btn-run{padding:.6rem 1.25rem;background:#0369a1;color:#fff;border:none;border-radius:6px;font-size:.87rem;font-weight:600;cursor:pointer;transition:background .15s}.iagg-btn-run:hover:not(:disabled){background:#0284c7}.iagg-btn-run:disabled{background:#94a3b8;cursor:not-allowed}.iagg-heatmap{display:flex;flex-direction:column;gap:.45rem;margin-top:.5rem}.iagg-heatmap-row{display:flex;align-items:center;gap:.5rem}.iagg-heatmap-label{width:110px;font-size:.75rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.iagg-heatmap-track{flex:1;background:#f1f5f9;border-radius:4px;height:10px;overflow:hidden}.iagg-heatmap-fill{height:100%;border-radius:4px;transition:width .3s ease;min-width:3px}.iagg-heatmap-meta{display:flex;flex-direction:column;align-items:flex-end;min-width:76px}.iagg-heatmap-value{font-size:.75rem;font-weight:600;color:#0f172a}.iagg-heatmap-pct{font-size:.7rem;color:#64748b}.iagg-heatmap-count{font-size:.68rem;color:#94a3b8}.iagg-result-container{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.iagg-result{padding:1.25rem}.iagg-result-header{margin-bottom:1rem}.iagg-result-title{font-size:1.05rem;font-weight:700;color:#0f172a;margin:0 0 .2rem}.iagg-result-meta{font-size:.82rem;color:#64748b}.iagg-result-kpis{display:flex;gap:1rem;margin-bottom:1.25rem}.iagg-kpi{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem;min-width:130px}.iagg-kpi-label{font-size:.72rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.iagg-kpi-value{font-size:1.25rem;font-weight:700;color:#0f172a}.iagg-kpi-value.iagg-kpi-danger{color:#dc2626}.iagg-kpi-value.iagg-kpi-small{font-size:.9rem}.iagg-result-section{margin-top:1.25rem}.iagg-result-subtitle{font-size:.88rem;font-weight:600;color:#0f172a;margin:0 0 .6rem;padding-bottom:.4rem;border-bottom:1px solid #f1f5f9}.iagg-result-table-wrap{overflow-x:auto}.iagg-table{width:100%;border-collapse:collapse;font-size:.83rem}.iagg-table th{text-align:left;padding:.45rem .65rem;font-size:.72rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap}.iagg-table td{padding:.5rem .65rem;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.iagg-table tbody tr:hover{background:#f8fafc}.iagg-table tbody tr:last-child td{border-bottom:none}.iagg-bold{font-weight:600;color:#0f172a}.iagg-muted{color:#94a3b8;font-size:.8rem}.iagg-center{text-align:center}.iagg-danger{color:#dc2626}.iagg-result-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.iagg-result-section-header .iagg-result-subtitle{margin:0;border-bottom:none;padding-bottom:0}.iagg-view-toggle{display:flex;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden}.iagg-view-btn{padding:.3rem .85rem;font-size:.78rem;font-weight:600;border:none;background:#fff;color:#64748b;cursor:pointer;transition:background .12s,color .12s}.iagg-view-btn+.iagg-view-btn{border-left:1px solid #cbd5e1}.iagg-view-btn:hover:not(.iagg-view-btn-active){background:#f1f5f9}.iagg-view-btn-active{background:#0369a1;color:#fff}.iagg-sg-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.iagg-sg-canvas{flex:1;width:100%;min-height:0;background:#0f172a;overflow:hidden;display:block}.iagg-sg-legend{display:flex;flex-wrap:wrap;gap:.6rem 1.25rem;padding:.5rem .25rem .25rem}.iagg-sg-legend-item{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:#475569}.iagg-sg-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.iagg-sg-line{display:inline-block;width:28px;height:0;border-top:2.5px solid #94a3b8;flex-shrink:0}.iagg-sg-line-dashed{border-top-style:dashed}.iagg-selected-asset-card{background:#fff;border:1.5px solid #0369a1;border-radius:10px;overflow:hidden;box-shadow:0 2px 12px #0369a11f}.iagg-selected-asset-header{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;background:linear-gradient(90deg,#0369a1,#0284c7)}.iagg-selected-asset-name{font-size:.97rem;font-weight:700;color:#fff;flex:1}.iagg-selected-asset-hint{font-size:.75rem;color:#ffffffbf;white-space:nowrap}.iagg-selected-asset-close{background:none;border:none;color:#fffc;font-size:1rem;cursor:pointer;line-height:1;padding:0 .1rem}.iagg-selected-asset-close:hover{color:#fff}.iagg-selected-asset-body{display:flex;flex-wrap:wrap;gap:0;padding:.75rem 1rem}.iagg-selected-kpi{display:flex;flex-direction:column;gap:.2rem;padding:.4rem 1rem .4rem 0;min-width:120px}.iagg-selected-kpi-label{font-size:.7rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.iagg-selected-kpi-value{font-size:.92rem;font-weight:600;color:#0f172a}.iagg-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:4px;font-size:.72rem;font-weight:600;border:1px solid transparent;white-space:nowrap}.icon-root{display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem;background:#f8fafc;min-height:100%}.icon-loading-full,.icon-error-full{flex:1;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:4rem;color:#64748b;font-size:.9rem}.icon-error-full{color:#dc2626}.icon-kestrel-bar{display:flex;gap:.75rem;flex-wrap:wrap}.icon-kestrel-pill{display:flex;align-items:center;gap:.45rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.55rem .9rem;flex:1;min-width:200px}.icon-kestrel-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.icon-kestrel-name{font-weight:700;font-size:.87rem;color:#0f172a;min-width:72px}.icon-kestrel-orbit{font-size:.75rem;color:#94a3b8;margin-left:auto}.icon-main-grid{display:grid;grid-template-columns:1fr 380px;gap:1.25rem;min-height:520px}@media(max-width:1100px){.icon-main-grid{grid-template-columns:1fr}}.icon-globe-panel,.icon-right-panel,.icon-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.icon-globe-panel{display:flex;flex-direction:column}.icon-right-panel{display:flex;flex-direction:column;overflow:hidden}.icon-queue-card{display:flex;flex-direction:column}.icon-panel-title{font-weight:600;font-size:.9rem;color:#0f172a;padding:.75rem 1rem .5rem;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:.5rem}.icon-panel-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#dcfce7;color:#15803d;border:1px solid #86efac;border-radius:4px;padding:.1rem .4rem}.icon-globe-wrapper{flex:1;position:relative;min-height:460px}.icon-globe-container{position:absolute;inset:0}.icon-globe-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:#64748b;font-size:.85rem;background:#f1f5f9;z-index:2}.icon-globe-error{color:#dc2626}.icon-globe-legend{position:absolute;bottom:1rem;left:1rem;background:#0f172ad1;border-radius:8px;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.3rem;z-index:10;pointer-events:none}.icon-legend-row{display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:#e2e8f0}.icon-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.icon-spinner{width:22px;height:22px;border:3px solid #e2e8f0;border-top-color:#0369a1;border-radius:50%;animation:icon-spin .8s linear infinite}@keyframes icon-spin{to{transform:rotate(360deg)}}.icon-matrix-wrap{overflow-x:auto;padding:.75rem 1rem}.icon-matrix{width:100%;border-collapse:collapse;font-size:.8rem}.icon-matrix-corner{text-align:left;padding:.35rem .5rem;font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em;min-width:110px}.icon-matrix-kestrel{text-align:center;padding:.35rem .4rem;font-size:.72rem;font-weight:700;white-space:nowrap}.icon-matrix-asset{padding:.35rem .5rem;font-size:.78rem;color:#334155;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #f1f5f9}.icon-matrix-cell{text-align:center;padding:.35rem .4rem;border-bottom:1px solid #f1f5f9}.icon-matrix-dot{width:14px;height:14px;border-radius:3px;margin:0 auto}.icon-matrix-legend{display:flex;gap:1rem;margin-top:.75rem;flex-wrap:wrap}.icon-matrix-legend-row{display:flex;align-items:center;gap:.35rem}.icon-matrix-legend-dot{width:10px;height:10px;border-radius:2px}.icon-matrix-legend-label{font-size:.72rem;color:#64748b;text-transform:capitalize}.icon-queue-wrap{overflow-x:auto;padding:.25rem 0}.icon-table{width:100%;border-collapse:collapse;font-size:.83rem}.icon-table th{text-align:left;padding:.45rem .75rem;font-size:.72rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap}.icon-table td{padding:.5rem .75rem;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.icon-table tbody tr:hover{background:#f8fafc}.icon-table tbody tr:last-child td{border-bottom:none}.icon-mono{font-family:monospace;font-size:.77rem;color:#64748b}.icon-capitalize{text-transform:capitalize}.icon-muted{color:#94a3b8;font-size:.79rem}.icon-empty{text-align:center;padding:2rem;color:#94a3b8;font-size:.85rem}.icon-loading{display:flex;align-items:center;gap:.5rem;padding:1rem .75rem;color:#64748b;font-size:.85rem}.icon-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:4px;font-size:.72rem;font-weight:600;border:1px solid transparent;white-space:nowrap}.ct-section{flex:1;min-width:0;overflow-y:auto;padding:1.25rem;max-width:1400px;box-sizing:border-box}.ct-section-title{font-size:1.2rem;font-weight:700;color:#0f172a;margin:0 0 1rem;display:flex;align-items:center;gap:.75rem}.ct-badge{border:1px solid;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.ct-badge-drafted{background:#f1f5f918;color:#64748b;border-color:#64748b40}.ct-badge-submitted{background:#eff6ff18;color:#3b82f6;border-color:#3b82f640}.ct-badge-accepted{background:#ecfdf518;color:#16a34a;border-color:#16a34a40}.ct-badge-executing{background:#eff6ff18;color:#2563eb;border-color:#2563eb40}.ct-badge-paused{background:#fefce818;color:#ca8a04;border-color:#ca8a0440}.ct-badge-completed,.ct-badge-delivered{background:#ecfdf518;color:#15803d;border-color:#15803d40}.ct-badge-disputed{background:#fff7ed18;color:#ea580c;border-color:#ea580c40}.ct-badge-closed{background:#f8fafc18;color:#94a3b8;border-color:#94a3b840}.ct-badge-cancelled{background:#fee2e218;color:#dc2626;border-color:#dc262640}.ct-badge-pending_review{background:#faf5ff18;color:#9333ea;border-color:#9333ea40}.ct-badge-qa_review{background:#faf5ff18;color:#7c3aed;border-color:#7c3aed40}.ct-badge-loss_assessment{background:#fff7ed18;color:#c2410c;border-color:#c2410c40}.ct-badge-escalated{background:#fef2f218;color:#b91c1c;border-color:#b91c1c40}.ct-badge-unknown{background:#f1f5f918;color:#94a3b8;border-color:#94a3b840}.ct-priority-urgent{background:#fee2e218;color:#dc2626;border-color:#dc262640}.ct-priority-routine{background:#f1f5f918;color:#64748b;border-color:#64748b40}.ct-sev-high{background:#fee2e218;color:#dc2626;border-color:#dc262640}.ct-sev-medium{background:#fff7ed18;color:#d97706;border-color:#d9770640}.ct-sev-low{background:#fefce818;color:#ca8a04;border-color:#ca8a0440}.ct-filters{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;align-items:flex-end}.ct-filter-group{display:flex;flex-direction:column;gap:.25rem}.ct-filter-label{font-size:.7rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.ct-input{padding:.4rem .75rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.85rem;background:#fff;color:#334155}.ct-select{padding:.4rem .75rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.85rem;background:#fff;color:#334155;cursor:pointer}.ct-select-multi{padding:.25rem .5rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.82rem;background:#fff;color:#334155;height:100px}.ct-btn{padding:.4rem 1rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;cursor:pointer;font-size:.85rem;font-weight:600}.ct-btn:hover:not(:disabled){background:#f1f5f9}.ct-btn:disabled{opacity:.4;cursor:not-allowed}.ct-btn-primary{background:#0369a1;color:#fff;border-color:#0369a1}.ct-btn-primary:hover:not(:disabled){background:#0284c7;border-color:#0284c7}.ct-btn-sm{padding:.2rem .55rem;font-size:.78rem}.ct-btn-link{color:#0369a1;border-color:#0369a140;background:#0369a108;font-size:.78rem;padding:.2rem .55rem;white-space:nowrap}.ct-btn-link:hover:not(:disabled){background:#0369a118}.ct-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.ct-card-title{font-size:.9rem;font-weight:600;color:#334155;margin:0 0 .75rem}.ct-table{width:100%;border-collapse:collapse;font-size:.85rem}.ct-table thead tr{background:#f8fafc;border-bottom:2px solid #e2e8f0}.ct-table th{padding:.5rem .75rem;text-align:left;font-weight:600;color:#64748b;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ct-table tbody tr{border-bottom:1px solid #f1f5f9}.ct-table tbody tr:hover{background:#f0f9ff}.ct-table td{padding:.55rem .75rem;vertical-align:middle}.ct-loading{padding:3rem;text-align:center;color:#64748b;font-size:.95rem}.ct-error{padding:1rem 1.25rem;background:#fee2e2;color:#991b1b;border-radius:6px;margin:1rem 0;font-size:.85rem}.ct-empty{text-align:center;color:#94a3b8;padding:2rem!important}.ct-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 0 .25rem;font-size:.85rem;color:#64748b}.ct-priority-urgent-text{color:#dc2626;font-weight:600}.ct-alerts-feed{margin-top:1.5rem}.ct-alert-row{display:flex;align-items:center;gap:.65rem;padding:.5rem 0;border-bottom:1px solid #f1f5f9;font-size:.83rem;color:#334155}.ct-alert-icon{font-size:1rem}.ct-alert-type{font-weight:600;flex:1}.ct-alert-meta{color:#94a3b8;font-size:.78rem}.ct-detail-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.ct-detail-task-number{font-size:1.1rem;font-weight:700;color:#0f172a}.ct-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem 1.25rem;margin-bottom:.75rem;font-size:.85rem}.ct-detail-field{display:flex;flex-direction:column;gap:.15rem}.ct-detail-field-label{font-size:.68rem;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.ct-detail-field-value{color:#0f172a;font-weight:500}.ct-overdue{color:#dc2626;font-weight:700}.ct-obs-summary{display:flex;align-items:center;gap:1rem;font-size:.9rem}.ct-check-ok{color:#15803d;font-size:1.1rem}.ct-check-no{color:#dc2626;font-size:1.1rem}.ct-timeline{display:flex;flex-direction:column;gap:0}.ct-timeline-item{display:flex;gap:.75rem;padding:.6rem 0;border-bottom:1px solid #f1f5f9;font-size:.82rem}.ct-timeline-dot{width:10px;height:10px;border-radius:50%;background:#cbd5e1;margin-top:4px;flex-shrink:0}.ct-timeline-content{flex:1}.ct-timeline-transition{font-weight:600;color:#0f172a}.ct-timeline-meta{color:#94a3b8;font-size:.75rem;margin-top:.15rem}.ct-timeline-note{color:#475569;font-style:italic;margin-top:.1rem}.ct-next-states{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.ct-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.ct-modal{background:#fff;border-radius:10px;padding:1.5rem;width:420px;max-width:95vw;box-shadow:0 20px 60px #0003}.ct-modal-title{font-size:1rem;font-weight:700;color:#0f172a;margin:0 0 1.25rem}.ct-modal-field{margin-bottom:.85rem}.ct-modal-field label{display:block;font-size:.78rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem}.ct-modal-field input,.ct-modal-field textarea{width:100%;padding:.45rem .75rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.85rem;color:#334155;box-sizing:border-box}.ct-modal-field textarea{resize:vertical;min-height:80px}.ct-modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.ct-bold{font-weight:600}.ct-muted{font-size:.8rem;color:#64748b}.ct-small{font-size:.8rem}.ct-code{font-size:.78rem;font-family:monospace}.ct-btn-report{background:linear-gradient(135deg,#1a1f36,#2c3e6b);color:#fff;border-color:#1a1f36;font-size:.82rem;padding:.35rem 1rem;letter-spacing:.02em}.ct-btn-report:hover:not(:disabled){background:linear-gradient(135deg,#2c3e6b,#3a5298);border-color:#2c3e6b}.ct-btn-report:disabled{opacity:.6;cursor:not-allowed}.npp-root{min-height:100vh;display:flex;flex-direction:column;background:#0d1117;color:#e6edf3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.npp-header{background:#161b22;border-bottom:1px solid #30363d;padding:.75rem 1.5rem}.npp-header-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:1rem}.npp-logo-text{font-size:1.1rem;font-weight:700;color:#8bc34a;letter-spacing:.08em}.npp-title{font-size:1.2rem;font-weight:600;margin:0;color:#e6edf3}.npp-subtitle{font-size:.78rem;color:#8d96a0;margin-left:auto;background:#21262d;border:1px solid #30363d;border-radius:4px;padding:.2em .6em}.npp-main{flex:1;max-width:900px;width:100%;margin:2rem auto;padding:0 1rem}.npp-selector-card{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:2rem}.npp-selector-heading{font-size:1.15rem;font-weight:600;margin:0 0 1.25rem;color:#e6edf3}.npp-mode-tabs{display:flex;gap:0;border-radius:6px;overflow:hidden;border:1px solid #30363d;margin-bottom:1.5rem;width:fit-content}.npp-mode-tab{padding:.5rem 1.1rem;background:#21262d;color:#8d96a0;border:none;border-right:1px solid #30363d;cursor:pointer;font-size:.9rem;transition:background .15s,color .15s}.npp-mode-tab:last-child{border-right:none}.npp-mode-tab:hover{background:#2d333b;color:#e6edf3}.npp-mode-tab.active{background:#8bc34a;color:#0d1117;font-weight:600}.npp-mode-panel{display:flex;flex-direction:column;gap:.75rem}.npp-mode-hint{font-size:.875rem;color:#8d96a0;margin:0}.npp-mode-hint a{color:#58a6ff;text-decoration:none}.npp-mode-hint a:hover{text-decoration:underline}.npp-search-row{display:flex;gap:.5rem;align-items:center}.npp-input{flex:1;padding:.55rem .75rem;background:#21262d;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-size:.95rem;outline:none;transition:border-color .15s}.npp-input:focus{border-color:#58a6ff}.npp-input::placeholder{color:#484f58}.npp-spinner{color:#8d96a0;font-size:1.2rem}.npp-field-error{font-size:.82rem;color:#f85149;padding:.3rem 0}.npp-search-results{display:flex;flex-direction:column;border:1px solid #30363d;border-radius:6px;overflow:hidden;max-height:320px;overflow-y:auto}.npp-result-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;background:#21262d;border:none;border-bottom:1px solid #30363d;color:#e6edf3;cursor:pointer;text-align:left;gap:.5rem;transition:background .12s}.npp-result-item:last-child{border-bottom:none}.npp-result-item:hover{background:#2d333b}.npp-result-name{font-size:.9rem;font-weight:500}.npp-result-norad{font-size:.78rem;color:#8d96a0;white-space:nowrap}.npp-submit-button{padding:.55rem 1rem;background:#238636;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s}.npp-submit-button:hover{background:#2ea043}.npp-tle-input{width:100%;box-sizing:border-box;padding:.6rem .75rem;background:#21262d;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-size:.82rem;font-family:Courier New,Courier,monospace;line-height:1.6;resize:vertical;outline:none;transition:border-color .15s}.npp-tle-input:focus{border-color:#58a6ff}.npp-tle-input::placeholder{color:#484f58}.npp-tle-actions{display:flex;align-items:center;gap:.75rem}.npp-content-wrap{display:flex;flex-direction:column;gap:0}.npp-content-header{display:flex;align-items:center;justify-content:space-between;background:#161b22;border:1px solid #30363d;border-bottom:none;border-radius:8px 8px 0 0;padding:.85rem 1.25rem}.npp-content-title{display:flex;align-items:baseline;gap:.75rem}.npp-content-title h2{margin:0;font-size:1.05rem;font-weight:600;color:#e6edf3}.npp-content-norad{font-size:.82rem;color:#8d96a0}.npp-change-button{padding:.35rem .8rem;background:transparent;color:#58a6ff;border:1px solid #58a6ff40;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.npp-change-button:hover{background:#58a6ff15;border-color:#58a6ff}.npp-content-wrap .modal-body{background:#161b22;border:1px solid #30363d;border-radius:0 0 8px 8px;padding:0}.npp-content-wrap .np-controls{background:#1c2128;border-left:3px solid #8bc34a;border-radius:0}.npp-content-wrap .np-results{padding:1rem}.npp-content-wrap .np-label,.npp-content-wrap .np-results-meta,.npp-content-wrap .np-tle-age,.npp-content-wrap .np-toggle-label{color:#8d96a0}.npp-content-wrap .np-toggle-hint{color:#6e7681}.npp-content-wrap .np-visibility-toggle{border-top-color:#30363d}.npp-content-wrap .np-input,.npp-content-wrap .np-select{background:#21262d;border-color:#30363d;color:#e6edf3}.npp-content-wrap .np-input:focus,.npp-content-wrap .np-select:focus{border-color:#8bc34a;box-shadow:0 0 0 2px #8bc34a33}.npp-content-wrap .np-toggle-btn{background:#21262d;color:#8d96a0;border-color:#30363d}.npp-content-wrap .np-toggle-btn:hover:not(.active){background:#2d333b;color:#e6edf3}.npp-content-wrap .np-save-site-button{background:#1f3a5f;color:#79c0ff;border-color:#388bfd40}.npp-content-wrap .np-save-site-button:hover{background:#253f6a}.npp-content-wrap .np-manage-button{background:#21262d;color:#8d96a0;border-color:#30363d}.npp-content-wrap .np-manage-button:hover{background:#2d333b;color:#e6edf3}.npp-content-wrap .np-save-form{background:#1c2128;border-color:#30363d}.npp-content-wrap .np-cancel-button{background:#21262d;color:#8d96a0;border-color:#30363d}.npp-content-wrap .np-cancel-button:hover{background:#2d333b}.npp-content-wrap .np-manage-sites{background:#1c2128;border-color:#30363d}.npp-content-wrap .np-manage-title{background:#161b22;color:#8d96a0;border-bottom-color:#30363d}.npp-content-wrap .np-site-item{border-bottom-color:#21262d}.npp-content-wrap .np-site-item-name{color:#e6edf3}.npp-content-wrap .np-site-item-coords{color:#6e7681}.npp-content-wrap .np-geo-results{background:#1c2128;border-color:#30363d;box-shadow:0 4px 12px #0006}.npp-content-wrap .np-geo-no-results{color:#6e7681}.npp-content-wrap .np-geo-result-item{background:#1c2128;border-bottom-color:#21262d}.npp-content-wrap .np-geo-result-item:hover{background:#2d333b}.npp-content-wrap .np-geo-result-name{color:#e6edf3}.npp-content-wrap .np-geo-result-detail{color:#6e7681}.npp-content-wrap .np-geo-result-coords{color:#484f58}.npp-content-wrap .np-empty{background:#1c2128;border-color:#30363d;color:#8d96a0}.npp-content-wrap .np-table-container{border-color:#30363d}.npp-content-wrap .np-table tbody tr:nth-child(2n){background:#1c2128}.npp-content-wrap .np-table tbody tr:hover{background:#2d333b}.npp-content-wrap .np-table tbody tr.np-row-optical{background:#162217}.npp-content-wrap .np-table tbody tr.np-row-optical:hover{background:#1e3320}.npp-content-wrap .np-table tbody td{color:#e6edf3;border-bottom-color:#21262d}.npp-content-wrap .np-visible-badge{background:#162217;color:#3fb950;border-color:#238636}.npp-content-wrap .np-equip-badge{background:#21262d;color:#8d96a0;border-color:#30363d}.npp-content-wrap .np-unknown-badge{color:#484f58}.npp-content-wrap .star.empty{color:#30363d}.npp-footer{text-align:center;font-size:.78rem;color:#484f58;padding:1.5rem 1rem;border-top:1px solid #21262d}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;color:#333}h1,h2,h3{color:#1a1a1a;margin-bottom:.5em}input,select,button{font-family:inherit}button{padding:.5em 1em;background:#06c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em}button:hover{background:#0052a3}input,select{padding:.5em;border:1px solid #ddd;border-radius:4px;font-size:.9em}input:focus,select:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}
