.app-container{display:flex;flex:1;min-height:0}.sidebar{width:272px;flex-shrink:0;overflow-y:auto;padding:var(--space-5) var(--space-5) var(--space-6);border-right:1px solid var(--border-subtle);background:var(--bg)}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.table-container{flex:1;display:flex;flex-direction:column;min-height:0;padding:var(--space-4) var(--space-6) var(--space-5);gap:var(--space-4);overflow:hidden}.graph-view-container,.timeline-view-container,.analytics-view-container{flex:1;display:flex;min-height:0;overflow:hidden;background:var(--bg)}.timeline-sidebar{width:320px;flex-shrink:0;overflow-y:auto;padding:var(--space-5);border-right:1px solid var(--border-subtle)}.timeline-sidebar h3,.analytics-sidebar h3{margin:0 0 var(--space-1);font-size:var(--text-md)}.timeline-sidebar .section-description,.analytics-sidebar .section-description{margin:0 0 var(--space-4);font-size:var(--text-xs);color:var(--text-muted);line-height:1.45}.timeline-sidebar .item-list,.analytics-sidebar .item-list{display:flex;flex-direction:column;gap:2px}.timeline-sidebar .list-item,.analytics-sidebar .list-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.timeline-sidebar .list-item{flex-direction:row;align-items:baseline;justify-content:space-between}.timeline-sidebar .list-item:hover,.analytics-sidebar .list-item:hover{background:var(--surface-2)}.timeline-sidebar .list-item.selected,.analytics-sidebar .list-item.selected{background:var(--accent-soft);border-color:var(--accent-border)}.timeline-sidebar .item-name,.analytics-sidebar .item-name{font-weight:var(--weight-medium);color:var(--text);font-size:var(--text-sm)}.timeline-sidebar .item-name{font-variant-numeric:tabular-nums}.timeline-sidebar .item-count,.analytics-sidebar .item-description{font-size:var(--text-xs);color:var(--text-muted);line-height:1.35;font-variant-numeric:tabular-nums}.timeline-main,.analytics-main{flex:1;min-width:0;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center}.analytics-sidebar{width:320px;flex-shrink:0;overflow-y:auto;padding:var(--space-5);border-right:1px solid var(--border-subtle)}.coming-soon-placeholder{margin:auto;max-width:44ch;text-align:center;color:var(--text-muted)}.coming-soon-placeholder h2{color:var(--text)}@media(max-width:1200px){.app-container{flex-direction:column}.sidebar{width:100%;max-height:240px;border-right:none;border-bottom:1px solid var(--border-subtle)}}.shell{display:grid;grid-template-columns:var(--shell-nav-width) minmax(0,1fr);height:100dvh;background:var(--bg);transition:grid-template-columns var(--duration) var(--ease-out)}.shell.nav-collapsed{grid-template-columns:var(--shell-nav-collapsed) minmax(0,1fr)}.skip-link{position:absolute;left:var(--space-3);top:-40px;z-index:var(--z-toast);padding:var(--space-2) var(--space-3);background:var(--primary);color:var(--primary-text);border-radius:var(--radius-sm)}.skip-link:focus{top:var(--space-3)}.shell-nav{display:flex;flex-direction:column;min-height:0;background:var(--bg-subtle);border-right:1px solid var(--border-subtle)}.shell-brand{display:flex;align-items:center;height:var(--topbar-height);padding:0 var(--space-3);border-bottom:1px solid var(--border-subtle)}.shell-brand-link{height:36px;padding:0 var(--space-2);gap:var(--space-3);background:transparent;border:0;justify-content:flex-start;width:100%}.shell-brand-link:hover{background:var(--surface-2)}.shell-brand-mark{color:var(--text);flex-shrink:0}.shell-brand-text{display:flex;align-items:baseline;gap:var(--space-2)}.shell-brand-name{font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:.14em;color:var(--text)}.shell-brand-org{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:.12em;color:var(--text-subtle)}.shell-nav-scroll{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-3) var(--space-2)}.shell-nav-group+.shell-nav-group{margin-top:var(--space-4)}.shell-nav-group-label{padding:0 var(--space-2) var(--space-1);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle)}.shell-nav-item{width:100%;height:32px;justify-content:flex-start;gap:var(--space-3);padding:0 var(--space-2);margin-bottom:1px;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-sm);font-weight:var(--weight-medium)}.shell-nav-item .icon{flex-shrink:0;color:var(--text-subtle);transition:color var(--duration-fast) var(--ease-out)}.shell-nav-item:hover{background:var(--surface-2);color:var(--text)}.shell-nav-item:hover .icon{color:var(--text-muted)}.shell-nav-item.active{background:var(--surface-3);color:var(--text)}.shell-nav-item.active .icon{color:var(--accent)}.shell-nav-item span{overflow:hidden;text-overflow:ellipsis}.shell-nav-footer{padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--border-subtle)}.shell-collapse{color:var(--text-subtle)}.shell-health{display:flex;align-items:center;gap:var(--space-3);height:32px;padding:0 var(--space-2);font-size:var(--text-xs);color:var(--text-subtle)}.shell-health-dot{width:8px;height:8px;margin:0 5px;border-radius:50%;background:var(--text-subtle);flex-shrink:0}.shell-health.is-ok .shell-health-dot{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.shell-health.is-degraded .shell-health-dot{background:var(--warning);box-shadow:0 0 0 3px var(--warning-soft)}.shell-health.is-down .shell-health-dot{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.shell-nav.is-collapsed .shell-brand{padding:0 var(--space-2)}.shell-nav.is-collapsed .shell-brand-link,.shell-nav.is-collapsed .shell-nav-item,.shell-nav.is-collapsed .shell-health{justify-content:center;padding:0}.shell-nav.is-collapsed .shell-nav-scroll,.shell-nav.is-collapsed .shell-nav-footer{padding-left:var(--space-2);padding-right:var(--space-2)}.shell-nav.is-collapsed .shell-nav-group+.shell-nav-group{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.shell-main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-4);height:var(--topbar-height);padding:0 var(--space-6);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.breadcrumbs{display:flex;align-items:center;gap:var(--space-1);min-width:0;flex:1;font-size:var(--text-sm);white-space:nowrap}.crumb{color:var(--text);font-weight:var(--weight-medium)}.crumb-muted{color:var(--text-subtle)}.crumb-sep{color:var(--text-subtle);flex-shrink:0}.search-trigger{width:280px;justify-content:flex-start;gap:var(--space-2);color:var(--text-subtle);background:var(--surface-1);font-weight:var(--weight-regular)}.search-trigger span{flex:1;text-align:left}.search-trigger:hover{color:var(--text-muted)}.shell kbd,.cmdk kbd{display:inline-flex;align-items:center;height:18px;padding:0 5px;font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-subtle);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-xs)}.account{position:relative}.account-trigger{gap:var(--space-2);padding:0 var(--space-2) 0 3px;background:transparent;border-color:transparent}.account-trigger:hover{background:var(--surface-2);border-color:transparent}.account-name{max-width:140px;overflow:hidden;text-overflow:ellipsis}.avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.02em;color:var(--text);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:var(--z-dropdown);width:240px;padding:var(--space-1);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:menu-in var(--duration) var(--ease-out)}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.menu-header{padding:var(--space-2) var(--space-3) var(--space-3);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-1)}.menu-title{font-weight:var(--weight-semibold);color:var(--text)}.menu-subtitle{font-size:var(--text-xs);color:var(--text-subtle)}.menu-section-label{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle)}.menu-item{width:100%;justify-content:space-between;height:30px;padding:0 var(--space-3);background:transparent;border:0;color:var(--text-muted);font-weight:var(--weight-regular)}.menu-item:hover{background:var(--surface-2);color:var(--text)}.menu-item .icon{color:var(--accent)}.menu-divider{height:1px;margin:var(--space-1) 0;background:var(--border-subtle)}.page{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;outline:none}.page-header{padding:var(--space-5) var(--space-6) 0;flex-shrink:0}.page-heading{display:flex;align-items:baseline;gap:var(--space-3)}.page-title{margin:0;font-size:var(--text-xl);letter-spacing:-.02em}.page-meta{font-size:var(--text-sm);color:var(--text-subtle);font-variant-numeric:tabular-nums}.page-description{margin-top:var(--space-1);color:var(--text-muted);font-size:var(--text-sm);max-width:72ch}.page-tabs{margin-top:var(--space-4)}.page-header:not(:has(.page-tabs)){padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.page-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:auto}.page-skeleton{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-6)}.page-skeleton-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.cmdk-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;justify-content:center;align-items:flex-start;padding-top:14vh;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in var(--duration-fast) ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.cmdk{width:min(620px,calc(100vw - 32px));background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:cmdk-in var(--duration) var(--ease-out)}@keyframes cmdk-in{0%{opacity:0;transform:translateY(-6px) scale(.99)}to{opacity:1;transform:none}}.cmdk-input{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--border);color:var(--text-subtle)}.cmdk-input input{flex:1;height:52px!important;padding:0!important;border:0;background:transparent;font-size:var(--text-md);box-shadow:none!important}.cmdk-list{max-height:360px;overflow-y:auto;padding:var(--space-2)}.cmdk-item{width:100%;justify-content:flex-start;gap:var(--space-3);height:38px;padding:0 var(--space-3);background:transparent;border:0;color:var(--text-muted);font-weight:var(--weight-regular)}.cmdk-item:hover{background:transparent}.cmdk-item[data-active=true]{background:var(--surface-3);color:var(--text)}.cmdk-item[data-active=true] .icon{color:var(--accent)}.cmdk-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis}.cmdk-hint{font-size:var(--text-xs);color:var(--text-subtle)}.cmdk-empty{padding:var(--space-8);text-align:center;color:var(--text-subtle)}.cmdk-footer{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-subtle)}.cmdk-footer kbd{margin-right:3px}@media(max-width:1100px){.search-trigger span,.search-trigger kbd{display:none}.search-trigger{width:32px;padding:0;justify-content:center}.account-name{display:none}}@media(max-width:760px){.shell,.shell.nav-collapsed{grid-template-columns:var(--shell-nav-collapsed) minmax(0,1fr)}.shell-nav-group-label,.shell-brand-text,.shell-nav-item span,.shell-health span{display:none}.topbar,.page-header{padding-left:var(--space-4);padding-right:var(--space-4)}.crumb-muted,.breadcrumbs .crumb-sep:first-of-type{display:none}}.data-table-wrapper{position:relative;flex:1;min-height:0;overflow:auto;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg)}.data-table-wrapper .data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.data-table-wrapper .data-table thead th{position:sticky;top:0;z-index:2;height:34px;padding:0 var(--space-3);background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table-wrapper .data-table th.sortable{cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.data-table-wrapper .data-table th.sortable:hover,.data-table-wrapper .data-table th.is-sorted{color:var(--text)}.data-table-wrapper .th-content{display:flex;align-items:center;gap:var(--space-1)}.data-table-wrapper th.cell-number .th-content{flex-direction:row-reverse;justify-content:flex-start}.data-table-wrapper .sort-indicator{display:inline-flex;align-items:center;gap:1px;color:var(--accent-text)}.data-table-wrapper .sort-indicator .icon{transition:transform var(--duration-fast) var(--ease-out)}.data-table-wrapper .sort-indicator.is-asc .icon{transform:rotate(180deg)}.data-table-wrapper .sort-order{font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.data-table-wrapper .data-table tbody td{height:36px;padding:0 var(--space-3);border-bottom:1px solid var(--border-subtle);color:var(--text);white-space:nowrap;vertical-align:middle}.data-table-wrapper .data-table th:first-child,.data-table-wrapper .data-table td:first-child{padding-left:var(--space-4)}.data-table-wrapper .data-table th:last-child,.data-table-wrapper .data-table td:last-child{padding-right:var(--space-4)}.data-table-wrapper .data-table tbody tr:last-child td{border-bottom:0}.data-table-wrapper .data-table tbody tr{cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.data-table-wrapper .data-table tbody tr:hover{background:var(--surface-2)}.data-table-wrapper .data-table tbody tr.selected,.data-table-wrapper .data-table tbody tr.selected:hover{background:var(--accent-soft)}.data-table-wrapper .data-table tbody tr.selected td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.data-table-wrapper .data-table th:nth-child(-n+2),.data-table-wrapper .data-table td:nth-child(-n+2){position:sticky}.data-table-wrapper .data-table th:first-child,.data-table-wrapper .data-table td:first-child{left:0;width:116px;min-width:116px}.data-table-wrapper .data-table th:nth-child(2),.data-table-wrapper .data-table td:nth-child(2){left:116px;box-shadow:inset -1px 0 0 var(--border)}@supports (animation-timeline: scroll()){.data-table-wrapper .data-table th:nth-child(2),.data-table-wrapper .data-table td:nth-child(2){animation:dt-frozen-edge linear both;animation-timeline:scroll(nearest inline);animation-range:0 24px}}@keyframes dt-frozen-edge{0%{box-shadow:inset -1px 0 0 transparent}to{box-shadow:inset -1px 0 0 var(--border)}}.data-table-wrapper .data-table thead th:nth-child(-n+2){z-index:3}.data-table-wrapper .data-table tbody td:nth-child(-n+2){z-index:1;background:var(--surface-1);transition:background var(--duration-fast) var(--ease-out)}.data-table-wrapper .data-table tbody tr:hover td:nth-child(-n+2){background:var(--surface-2)}.data-table-wrapper .data-table tbody tr.selected td:nth-child(-n+2){background:linear-gradient(var(--accent-soft),var(--accent-soft)),var(--surface-1)}.data-table-wrapper .data-table tbody tr.skeleton-row td:nth-child(-n+2){background:var(--surface-1)}.data-table-wrapper .cell-clip{display:block;overflow:hidden;text-overflow:ellipsis}.data-table-wrapper .cell-reg .cell-clip{width:88px}.data-table-wrapper .cell-name .cell-clip{max-width:240px}.data-table-wrapper .cell-reg{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-muted)}.data-table-wrapper tr.selected .cell-reg{color:var(--accent-text)}.data-table-wrapper .cell-name{font-weight:var(--weight-medium)}.data-table-wrapper .cell-date{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-muted)}.data-table-wrapper .data-table td.cell-muted{color:var(--text-muted)}.data-table-wrapper .cell-type{text-transform:lowercase}.data-table-wrapper .cell-type:first-letter{text-transform:uppercase}.data-table-wrapper .cell-number{text-align:right;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.data-table-wrapper .data-table thead th.cell-number{font-family:var(--font-sans)}.data-table-wrapper .cell-none{color:var(--text-subtle)}.data-table-wrapper .dt-status-text,.data-table-wrapper .dt-risk-text{display:inline-block}.data-table-wrapper .dt-risk-text{text-transform:lowercase}.data-table-wrapper .dt-status-text:first-letter,.data-table-wrapper .dt-risk-text:first-letter{text-transform:uppercase}.data-table-wrapper .dt-status{font-size:var(--text-xs)}.data-table-wrapper .dt-risk{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-muted)}.data-table-wrapper .dt-risk .dot{color:var(--text-subtle)}.data-table-wrapper .dt-risk.is-high{color:var(--text)}.data-table-wrapper .dt-risk.is-high .dot{color:var(--danger)}.data-table-wrapper .dt-risk.is-medium .dot{color:var(--warning)}.data-table-wrapper .dt-risk.is-low .dot{color:var(--success)}.data-table-wrapper.is-loading{overflow:hidden}.data-table-wrapper .data-table tbody tr.skeleton-row,.data-table-wrapper .data-table tbody tr.skeleton-row:hover{cursor:default;background:transparent}.data-table-wrapper .dt-skeleton{display:block;width:64%;height:8px;border-radius:var(--radius-xs)}.data-table-wrapper .skeleton-row:nth-child(3n+2) .dt-skeleton{width:48%}.data-table-wrapper .skeleton-row:nth-child(3n) .dt-skeleton{width:78%}.data-table-wrapper .skeleton-row td:nth-child(2) .dt-skeleton{width:88%}.data-table-wrapper .skeleton-row td.cell-number .dt-skeleton{width:44px;margin-left:auto}.data-table-wrapper.is-empty{display:flex;align-items:center;justify-content:center}.data-table-wrapper .empty-state .icon{color:var(--text-subtle);margin-bottom:var(--space-1)}.data-table-wrapper .empty-state h3{font-size:var(--text-md)}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-shrink:0;min-height:32px;font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.pager .pager-status strong{color:var(--text);font-weight:var(--weight-medium)}.pager .pager-summary{margin-left:var(--space-3);padding-left:var(--space-3);border-left:1px solid var(--border);color:var(--text-subtle)}.pager .pager-buttons{display:flex;gap:var(--space-2)}.pager .pager-buttons button{gap:var(--space-1)}.pager .pager-prev-icon{transform:rotate(180deg)}.detail-panel{flex-shrink:0;width:100%;max-height:36vh;overflow-y:auto;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg)}.detail-panel.empty{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:56px;padding:var(--space-3) var(--space-4);background:transparent;border-style:dashed;color:var(--text-subtle);overflow:hidden}.detail-panel.empty p{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.detail-panel .detail-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-1);border-bottom:1px solid var(--border-subtle)}.detail-panel .detail-heading{display:flex;align-items:baseline;gap:var(--space-3);min-width:0}.detail-panel .detail-heading h2{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-panel .detail-reg{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap}.detail-panel .header-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.detail-panel .header-buttons a.btn:hover,.detail-panel a.detail-link:hover{text-decoration:none}.detail-panel .detail-external{transform:rotate(-45deg);color:var(--text-subtle)}.detail-panel .detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-auto-flow:row dense;gap:var(--space-5) var(--space-8);padding:var(--space-4) var(--space-4) var(--space-5)}.detail-panel .detail-section{display:flex;flex-direction:column;min-width:0}.detail-panel .detail-section>h3{margin:0 0 var(--space-1);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:0;color:var(--text)}.detail-panel .detail-section-tle{grid-column:1 / -1}.detail-panel .orbital-data{display:flex;flex-direction:column}.detail-panel .detail-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:5px 0;font-size:var(--text-sm);line-height:1.45}.detail-panel .detail-label{flex:0 1 auto;max-width:55%;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-muted)}.detail-panel .detail-value{min-width:0;color:var(--text);text-align:right;overflow-wrap:anywhere}.detail-panel .detail-value.mono{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.detail-panel .detail-unit{margin-left:.3em;font-family:var(--font-sans);color:var(--text-subtle)}.detail-panel .detail-unit.is-tight{margin-left:0}.detail-panel .stacked-row,.detail-panel .remarks-row{flex-direction:column;align-items:stretch;gap:var(--space-1)}.detail-panel .stacked-row .detail-label,.detail-panel .remarks-row .detail-label{max-width:none}.detail-panel .stacked-row .detail-value,.detail-panel .remarks-row .detail-value{text-align:left}.detail-panel .detail-remarks{padding:var(--space-2) var(--space-3);background:var(--surface-2);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-muted)}.detail-panel .object-class-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}.detail-panel .detail-status-text{display:inline-block}.detail-panel .detail-status-text:first-letter{text-transform:uppercase}.detail-panel .tle-data{display:flex;flex-direction:column;gap:var(--space-2)}.detail-panel .tle-source{justify-content:flex-start}.detail-panel .tle-source .detail-label{flex-basis:52px}.detail-panel .tle-lines-block{padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow-x:auto}.detail-panel .tle-row{justify-content:flex-start;align-items:baseline;padding:2px 0}.detail-panel .tle-row .detail-label{flex:0 0 40px;color:var(--text-subtle)}.detail-panel .tle-value{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:left;white-space:pre;overflow-wrap:normal}.detail-panel .detail-link{align-self:flex-start;margin-top:var(--space-2)}.detail-panel .detail-link-inline{min-width:0;text-align:right;overflow-wrap:anywhere}.detail-panel .document-metadata{display:flex;flex-direction:column;margin-top:var(--space-3)}.detail-panel .document-orbital-params{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.detail-panel .document-orbital-params>h4{margin:0 0 var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:0;color:var(--text-subtle)}.detail-panel .provenance-caveat{margin:var(--space-1) 0 var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);line-height:var(--leading-normal)}.detail-panel .detail-loading{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--text-xs);color:var(--text-muted)}.detail-panel .detail-loading .spinner{width:12px;height:12px;border-width:1.5px}.detail-panel .detail-skeleton{display:flex;flex-direction:column}.detail-panel .detail-skeleton-row{display:flex;align-items:center;justify-content:space-between;height:29px}.detail-panel .detail-skeleton-row .skeleton{height:8px;border-radius:var(--radius-xs)}.detail-panel .detail-skeleton-row .skeleton:first-child{width:34%}.detail-panel .detail-skeleton-row .skeleton:last-child{width:26%}.detail-panel .detail-section-tle .detail-skeleton-row .skeleton:last-child{width:62%}.detail-panel .detail-info{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--text-subtle)}.detail-panel .detail-error{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}@media(max-width:768px){.detail-panel{max-height:none}.detail-panel .detail-grid{grid-template-columns:1fr}}.drm-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:drm-fade-in var(--duration-fast) ease-out}.drm-overlay .drm-panel{display:flex;flex-direction:column;width:100%;max-width:880px;max-height:min(85vh,960px);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:drm-panel-in var(--duration) var(--ease-out)}.drm-overlay .drm-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-bottom:1px solid var(--border)}.drm-overlay .drm-header h2{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.01em}.drm-overlay .drm-body{flex:1;min-height:0;overflow:auto;background:var(--surface-2)}.drm-overlay .drm-json{margin:0;padding:var(--space-4) var(--space-5);background:transparent;border:0;border-radius:0;overflow:visible;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:1.6;color:var(--text);white-space:pre;tab-size:2}.drm-overlay .drm-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border)}.drm-overlay .drm-copy{min-width:96px}.drm-overlay .drm-copy-error{margin-right:auto;padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}@keyframes drm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes drm-panel-in{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}@media(max-width:768px){.drm-overlay{padding:var(--space-4)}.drm-overlay .drm-panel{max-height:90vh}}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:var(--overlay)}:where(.modal-overlay) .modal-content{display:flex;flex-direction:column;width:100%;max-width:900px;max-height:85vh;background:var(--surface-1);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}:where(.modal-overlay) .modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}:where(.modal-overlay) .modal-header h2{margin:0;font-size:var(--text-md);color:var(--text)}:where(.modal-overlay) .modal-close{width:32px;height:32px;padding:0;font-size:var(--text-xl);line-height:1;color:var(--text-muted);background:transparent;border-color:transparent}:where(.modal-overlay) .modal-close:hover{color:var(--text);background:var(--surface-2);border-color:transparent}:where(.modal-overlay) .modal-body{flex:1;overflow-y:auto;padding:var(--space-5)}:where(.modal-overlay) .modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border)}@media(max-width:768px){.modal-overlay{padding:var(--space-4)}:where(.modal-overlay) .modal-content{max-height:90vh}:where(.modal-overlay) .modal-header,:where(.modal-overlay) .modal-body{padding:var(--space-4)}}.mqtt-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:mqtt-overlay-in var(--duration-fast) ease-out}.mqtt-modal{display:flex;flex-direction:column;width:min(640px,100%);max-height:100%;overflow:hidden;color:var(--text);font-size:var(--text-sm);line-height:var(--leading-normal);text-align:left;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:mqtt-modal-in var(--duration) var(--ease-out)}@keyframes mqtt-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes mqtt-modal-in{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}.mqtt-modal .mqtt-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0}.mqtt-modal .mqtt-modal-heading{min-width:0}.mqtt-modal .mqtt-modal-title-row{display:flex;align-items:center;gap:var(--space-2)}.mqtt-modal .mqtt-modal-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.015em;color:var(--text)}.mqtt-modal .mqtt-modal-subtitle{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);margin-top:2px;font-size:var(--text-sm);color:var(--text-muted)}.mqtt-modal .mqtt-modal-subtitle .mono{font-size:var(--text-xs);color:var(--text-subtle)}.mqtt-modal .mqtt-modal-close{flex-shrink:0;margin-top:-2px}.mqtt-modal .mqtt-modal-body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-5)}.mqtt-modal .mqtt-form{display:flex;flex-direction:column;gap:var(--space-5)}.mqtt-modal .mqtt-section{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.mqtt-modal .mqtt-section+.mqtt-section{padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.mqtt-modal .mqtt-section-title{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:-.005em;color:var(--text)}.mqtt-modal .mqtt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);width:100%}.mqtt-modal .mqtt-field-wide{grid-column:span 3}.mqtt-modal .mqtt-field-half{grid-column:span 2}.mqtt-modal .mqtt-field-full{grid-column:1 / -1}.mqtt-modal .field input:not([type=checkbox]),.mqtt-modal .field select{width:100%}.mqtt-modal input.mono{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.mqtt-modal input:disabled,.mqtt-modal select:disabled{opacity:.55;cursor:not-allowed}.mqtt-modal .field-hint code{padding:0 4px;font-size:var(--text-2xs);color:var(--text-muted);background:var(--surface-3);border-radius:var(--radius-xs)}.mqtt-modal .mqtt-checkbox{display:flex;align-items:flex-end}.mqtt-modal .mqtt-checkbox label{display:inline-flex;align-items:center;gap:var(--space-2);height:32px;font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.mqtt-modal .mqtt-test-button .icon{color:var(--text-muted)}.mqtt-modal .mqtt-tle{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--space-3);overflow-x:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md)}.mqtt-modal .mqtt-tle code{display:block;font-size:var(--text-xs);line-height:1.6;white-space:pre;color:var(--text)}.mqtt-modal .callout .icon{flex-shrink:0;margin-top:1px}.mqtt-modal .mqtt-skeleton{display:flex;flex-direction:column;gap:var(--space-3)}.mqtt-modal .mqtt-skeleton-title{width:22%;height:14px}.mqtt-modal .mqtt-skeleton-field{height:32px}.mqtt-modal .mqtt-skeleton-title:not(:first-child){margin-top:var(--space-4)}.mqtt-modal .mqtt-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--surface-2);border-top:1px solid var(--border);flex-shrink:0}.mqtt-modal .mqtt-footer-group{display:flex;align-items:center;gap:var(--space-2)}.mqtt-modal .mqtt-delete-button{color:var(--danger-text)}.mqtt-modal .mqtt-delete-button:hover:not(:disabled){color:var(--danger-text);background:var(--danger-soft)}@media(max-width:640px){.mqtt-overlay{padding:var(--space-3)}.mqtt-modal .mqtt-grid{grid-template-columns:minmax(0,1fr)}.mqtt-modal .mqtt-field-wide,.mqtt-modal .mqtt-field-half{grid-column:1 / -1}.mqtt-modal .mqtt-modal-footer{flex-direction:column-reverse;align-items:stretch}.mqtt-modal .mqtt-footer-group{justify-content:flex-end}}.orbit-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:orbit-overlay-in var(--duration-fast) ease-out}.orbit-modal{display:flex;flex-direction:column;width:min(1040px,100%);max-height:100%;overflow:hidden;color:var(--text);font-size:var(--text-sm);line-height:var(--leading-normal);text-align:left;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:orbit-modal-in var(--duration) var(--ease-out)}@keyframes orbit-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes orbit-modal-in{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}.orbit-modal .orbit-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0}.orbit-modal .orbit-modal-heading{min-width:0}.orbit-modal .orbit-modal-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.015em;color:var(--text)}.orbit-modal .orbit-modal-subtitle{margin-top:2px;font-size:var(--text-sm);color:var(--text-muted)}.orbit-modal .orbit-modal-close{flex-shrink:0;margin-top:-2px}.orbit-modal .orbit-modal-body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-5)}.orbit-modal .orbit-content{display:flex;flex-direction:column;gap:var(--space-5)}.orbit-modal .orbit-header-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.orbit-modal .orbit-summary{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius-lg)}.orbit-modal .orbit-stat{display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);min-width:0;padding:var(--space-3) var(--space-4)}.orbit-modal .orbit-stat+.orbit-stat{border-left:1px solid var(--border-subtle)}.orbit-modal .orbit-stat-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-muted)}.orbit-modal .orbit-stat-value{font-size:var(--text-sm);line-height:26px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orbit-modal .orbit-stat-value:has(select){overflow:visible}.orbit-modal .orbit-stat-value.mono{font-variant-numeric:tabular-nums}.orbit-modal .orbit-interval-select{height:26px;padding:0 var(--space-8) 0 var(--space-2);font-size:var(--text-xs);background-position:right 8px center}.orbit-modal .orbit-position{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:var(--radius-lg)}.orbit-modal .orbit-position-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-2)}.orbit-modal .orbit-position-title{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text)}.orbit-modal .orbit-live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);flex-shrink:0}.orbit-modal .orbit-position-note{font-size:var(--text-xs);color:var(--text-subtle);white-space:nowrap}.orbit-modal .orbit-position-data{display:flex;flex-direction:column;margin:0;padding:0 var(--space-4) var(--space-2)}.orbit-modal .orbit-position-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:5px 0}.orbit-modal .orbit-position-row+.orbit-position-row{border-top:1px solid var(--border-subtle)}.orbit-modal .orbit-position-row dt{font-size:var(--text-sm);color:var(--text-muted)}.orbit-modal .orbit-position-row dd{margin:0;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}.orbit-modal .orbit-table-section{display:flex;flex-direction:column;gap:var(--space-2)}.orbit-modal .orbit-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:28px}.orbit-modal .orbit-table-title{display:flex;align-items:baseline;gap:var(--space-2);margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text)}.orbit-modal .orbit-table-hint{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--text-subtle);letter-spacing:0}.orbit-modal .orbit-eci-toggle{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.orbit-modal .orbit-eci-toggle:hover{color:var(--text)}.orbit-modal .orbit-table-container{max-height:clamp(220px,calc(100vh - 480px),560px);overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg)}.orbit-modal .orbit-table thead th{height:34px;padding:0 var(--space-4)}.orbit-modal .orbit-table th.numeric,.orbit-modal .orbit-table td.numeric{text-align:right}.orbit-modal .orbit-table tbody td{padding:6px var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.orbit-modal .orbit-table tbody td:first-child{color:var(--text-muted)}.orbit-modal .orbit-table tbody tr:last-child td{border-bottom:0}.orbit-modal .orbit-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);color:var(--text-muted)}.orbit-modal .orbit-empty{padding:var(--space-10) var(--space-6)}.orbit-modal .orbit-empty .icon{color:var(--text-subtle)}@media(max-width:900px){.orbit-modal .orbit-header-info{grid-template-columns:minmax(0,1fr)}.orbit-modal .orbit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.orbit-modal .orbit-stat:nth-child(3){border-left:0}.orbit-modal .orbit-stat:nth-child(n+3){border-top:1px solid var(--border-subtle)}}@media(max-width:640px){.orbit-overlay{padding:var(--space-3)}.orbit-modal .orbit-modal-body{padding:var(--space-4)}.orbit-modal .orbit-table-toolbar{flex-direction:column;align-items:flex-start}}.np-modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:np-overlay-in var(--duration-fast) ease-out}.np-modal{display:flex;flex-direction:column;width:min(920px,100%);max-height:100%;overflow:hidden;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:np-modal-in var(--duration) var(--ease-out)}@keyframes np-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes np-modal-in{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}.np-modal .np-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0;text-align:left}.np-modal .np-modal-heading{min-width:0}.np-modal .np-modal-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.015em;color:var(--text)}.np-modal .np-modal-subtitle{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);margin-top:2px;font-size:var(--text-sm);color:var(--text-muted)}.np-modal .np-modal-subtitle .mono{font-size:var(--text-xs);color:var(--text-subtle)}.np-modal .np-modal-close{flex-shrink:0;margin-top:-2px}.np-modal .np-content{flex:1;min-height:0;overflow-y:auto}.np-modal .np-table-container{max-height:clamp(220px,calc(100vh - 470px),620px)}.np-content{display:flex;flex-direction:column;color:var(--text);font-size:var(--text-sm);line-height:var(--leading-normal);text-align:left}.np-content .np-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4) var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--border)}.np-content .np-sites-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2) var(--space-3);flex:0 1 auto;min-width:0}.np-content .np-save-form,.np-content .np-manage-sites,.np-content .np-inputs,.np-content .np-visibility-toggle{flex:1 1 100%}.np-content .np-geo-search{position:relative;flex:1 1 260px;min-width:0}.np-content .np-label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-muted)}.np-content .np-input{width:132px}.np-content .np-input-sm{width:96px}.np-content .np-select{width:120px}.np-content .np-sites-select{width:200px}.np-content .np-sites-actions{display:flex;align-items:center;gap:var(--space-1)}.np-content .np-geo-button{margin-right:var(--space-1)}.np-content .np-geo-button .icon{color:var(--text-muted)}.np-content .np-button-spinner{width:13px;height:13px}.np-content .np-loc-error{flex-basis:100%;font-size:var(--text-xs);color:var(--danger-text)}.np-content .np-save-form{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md)}.np-content .np-site-name-input{flex:1;width:auto;min-width:0}.np-content .np-manage-sites{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.np-content .np-manage-title{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border)}.np-content .np-site-item{display:flex;align-items:center;gap:var(--space-3);min-height:36px;padding:2px var(--space-1) 2px var(--space-3)}.np-content .np-site-item+.np-site-item{border-top:1px solid var(--border-subtle)}.np-content .np-site-item-name{min-width:120px;font-weight:var(--weight-medium);color:var(--text)}.np-content .np-site-item-coords{flex:1;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-muted)}.np-content .np-site-delete{width:28px;height:28px;color:var(--text-subtle)}.np-content .np-site-delete:hover{color:var(--danger-text);background:var(--danger-soft)}.np-content .np-geo-label{width:100%}.np-content .np-geo-search-input-wrap{position:relative;display:flex;align-items:center}.np-content .np-geo-icon{position:absolute;left:10px;color:var(--text-subtle);pointer-events:none}.np-content .np-geo-search .np-geo-search-input-wrap .np-input.np-geo-search-input{width:100%;padding-left:30px;padding-right:30px}.np-content .np-geo-spinner{position:absolute;right:10px;width:13px;height:13px}.np-content .np-geo-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:var(--z-dropdown);max-height:280px;overflow-y:auto;padding:var(--space-1);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.np-content .np-geo-no-results{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-muted)}.np-content .np-geo-result-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;height:auto;padding:6px var(--space-3);text-align:left;white-space:normal;background:transparent;border:0;border-radius:var(--radius-sm)}.np-content .np-geo-result-item:hover{background:var(--surface-2)}.np-content .np-geo-result-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text)}.np-content .np-geo-result-detail{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--text-muted)}.np-content .np-geo-result-coords{margin-left:var(--space-1);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-subtle)}.np-content .np-inputs{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.np-content .np-inputs .np-input{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.np-content .np-search-button{min-width:108px}.np-content .np-visibility-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.np-content .np-toggle-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-muted)}.np-content .np-toggle-hint{font-size:var(--text-xs);color:var(--text-subtle)}.np-content .np-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);color:var(--text-muted)}.np-content .np-error{margin:var(--space-4) var(--space-5) 0}.np-content .np-results{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-5)}.np-content .np-results-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-muted)}.np-content .np-observer{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.np-content .np-observer strong{font-weight:var(--weight-medium);color:var(--text)}.np-content .np-observer .mono{font-size:var(--text-xs)}.np-content .np-empty{padding:var(--space-8) var(--space-6);border:1px dashed var(--border);border-radius:var(--radius-lg)}.np-content .np-empty .icon{color:var(--text-subtle)}.np-content .np-table-container{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg)}.np-content .np-table thead th{height:34px;padding:0 var(--space-3)}.np-content .np-table th.numeric,.np-content .np-table td.numeric{text-align:right}.np-content .np-table tbody td{height:38px;padding:0 var(--space-3);vertical-align:middle;white-space:nowrap}.np-content .np-table tbody td.numeric,.np-content .np-table .np-time{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.np-content .np-table .np-elevation{font-weight:var(--weight-semibold)}.np-content .np-table tbody tr:last-child td{border-bottom:0}.np-content .np-table tbody tr.np-row-optical td:first-child{box-shadow:inset 2px 0 0 var(--success)}.np-content .np-stars{display:inline-flex;gap:1px;font-size:var(--text-sm);line-height:1}.np-content .np-star{color:var(--border-strong)}.np-content .np-star.is-filled{color:var(--accent)}.np-content .np-unknown-badge{color:var(--text-subtle)}@media(max-width:768px){.np-modal-overlay{padding:var(--space-3)}.np-content .np-controls,.np-content .np-results{padding-left:var(--space-4);padding-right:var(--space-4)}.np-content .np-sites-row,.np-content .np-geo-search{flex-basis:100%}.np-content .np-inputs .np-label{flex:1 1 40%}.np-content .np-input,.np-content .np-input-sm,.np-content .np-select,.np-content .np-sites-select{width:100%}.np-content .np-search-button{flex:1 1 100%}}.observations-table{width:100%;font-size:var(--text-sm);white-space:nowrap}.observations-table thead th{height:32px;padding:0 var(--space-3);vertical-align:middle}.observations-table thead tr+tr th{top:32px}.observations-table .th-top-level{vertical-align:bottom;padding-bottom:7px}.observations-table .th-section{color:var(--text);border-left:1px solid var(--border);border-bottom-color:var(--border-subtle)}.observations-table .is-group-start{border-left:1px solid var(--border-subtle)}.observations-table th.is-group-start{border-left-color:var(--border)}.observations-table tbody td{padding:6px var(--space-3)}.observations-table th.is-num,.observations-table td.is-num{text-align:right}.observations-table td.is-num,.observations-table td.is-id{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.observations-table .observations-health{justify-content:center;min-width:48px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.observations-table .observations-health.is-empty{color:var(--text-subtle)}.observations-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:observations-overlay-in var(--duration-fast) ease-out}.observations-modal{display:flex;flex-direction:column;width:min(1440px,100%);max-height:100%;overflow:hidden;color:var(--text);font-size:var(--text-sm);line-height:var(--leading-normal);text-align:left;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:observations-modal-in var(--duration) var(--ease-out)}@keyframes observations-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes observations-modal-in{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}.observations-modal .observations-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0}.observations-modal .observations-modal-heading{min-width:0}.observations-modal .observations-modal-title-row{display:flex;align-items:center;gap:var(--space-2)}.observations-modal .observations-modal-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.015em;color:var(--text)}.observations-modal .observations-modal-title-row .badge{font-variant-numeric:tabular-nums}.observations-modal .observations-modal-subtitle{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);margin-top:2px;font-size:var(--text-sm);color:var(--text-muted)}.observations-modal .observations-modal-subtitle .mono{font-size:var(--text-xs);color:var(--text-subtle)}.observations-modal .observations-modal-close{flex-shrink:0;margin-top:-2px}.observations-modal .observations-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.observations-modal .observations-table-wrapper{flex:1 1 auto;min-height:0;overflow:auto}.observations-modal .observations-table thead th{z-index:2}.observations-modal .observations-table tbody tr:last-child td{border-bottom:0}.observations-modal .observations-table thead tr:first-child th:nth-child(-n+2),.observations-modal .observations-table tbody td:nth-child(-n+2){position:sticky}.observations-modal .observations-table thead tr:first-child th:first-child,.observations-modal .observations-table tbody td:first-child{left:0;width:76px;min-width:76px;max-width:76px}.observations-modal .observations-table thead tr:first-child th:nth-child(2),.observations-modal .observations-table tbody td:nth-child(2){left:76px;box-shadow:inset -1px 0 0 var(--border)}.observations-modal .observations-table thead tr:first-child th:nth-child(-n+2){z-index:3}.observations-modal .observations-table tbody td:nth-child(-n+2){z-index:1;background:var(--surface-1);transition:background var(--duration-fast) var(--ease-out)}.observations-modal .observations-table tbody tr:hover td:nth-child(-n+2){background:var(--surface-2)}.observations-modal .observations-skeleton{display:flex;flex-direction:column;gap:10px;padding:var(--space-5)}.observations-modal .observations-skeleton-head{height:32px;margin-bottom:var(--space-2)}.observations-modal .observations-skeleton-row{height:16px}.observations-modal .observations-skeleton-row:nth-child(3n){width:86%}.observations-modal .observations-skeleton-row:nth-child(3n+1){width:94%}.observations-modal .observations-error{margin:var(--space-5)}.observations-modal .observations-empty .icon{color:var(--text-subtle)}@media(max-width:768px){.observations-overlay{padding:var(--space-3)}}.filters{display:flex;flex-direction:column;gap:var(--space-4)}.filters .filters-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:26px}.filters .filters-header h2{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--text)}.filters .filters-header .reset-btn.btn-ghost{margin-right:calc(var(--space-2) * -1)}.filters .filter-group{display:flex;flex-direction:column;gap:6px;min-width:0}.filters .filter-group label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-muted)}.filters .filter-group input:not([type=checkbox]):not([type=radio]),.filters .filter-group select{width:100%;min-width:0}.filters .filter-group small{font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--text-subtle)}.filters .filter-search{position:relative}.filters .filter-search .icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-subtle);pointer-events:none}.filters .filter-search input:not([type=checkbox]){padding-left:30px}.filters .range-inputs{display:flex;align-items:center;gap:var(--space-2)}.filters .range-inputs input:not([type=checkbox]){flex:1;min-width:0;margin:0;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.filters .range-inputs input::placeholder{font-family:var(--font-sans);font-size:var(--text-sm)}.filters .range-inputs span{flex:0 0 auto;color:var(--text-subtle)}.filters input[type=number]{appearance:textfield;-moz-appearance:textfield}.filters input[type=number]::-webkit-inner-spin-button,.filters input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media(max-width:1200px){.filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3) var(--space-4)}.filters .filters-header{grid-column:1 / -1}}.login-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,1fr);min-height:100dvh;background:var(--bg)}.login-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-10);overflow:hidden;color:var(--text);background:radial-gradient(120% 80% at 20% 0%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 60%),var(--bg-subtle);border-right:1px solid var(--border-subtle)}.login-brand:before{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 12% 18%,var(--text-subtle),transparent 60%),radial-gradient(1px 1px at 72% 12%,var(--text-subtle),transparent 60%),radial-gradient(1px 1px at 88% 64%,var(--text-subtle),transparent 60%),radial-gradient(1px 1px at 32% 82%,var(--text-subtle),transparent 60%),radial-gradient(1px 1px at 55% 40%,var(--text-subtle),transparent 60%),radial-gradient(1px 1px at 8% 58%,var(--text-subtle),transparent 60%),radial-gradient(1px 1px at 64% 90%,var(--text-subtle),transparent 60%);opacity:.6;pointer-events:none}.login-brand-top{position:relative;display:flex;align-items:center;gap:var(--space-3)}.login-wordmark{font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:.22em}.login-art{position:absolute;top:50%;left:55%;width:min(70%,560px);transform:translate(-50%,-54%);color:var(--text);opacity:.9}.login-sats{transform-origin:300px 300px;animation:login-orbit 90s linear infinite}@keyframes login-orbit{to{transform:rotate(360deg)}}.login-brand-copy{position:relative;max-width:460px}.login-kicker{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.24em;color:var(--accent-text);margin-bottom:var(--space-3)}.login-headline{font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:-.03em;line-height:1.12;margin-bottom:var(--space-3)}.login-sub{color:var(--text-muted);font-size:var(--text-md);line-height:1.55}.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-6)}.login-card{width:100%;max-width:360px;margin:auto 0}.login-card-head{margin-bottom:var(--space-6)}.login-card-mark{display:none;color:var(--text);margin-bottom:var(--space-4)}.login-title{font-size:var(--text-2xl);letter-spacing:-.025em;margin-bottom:var(--space-1)}.login-subtitle{color:var(--text-muted)}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.login-form input{height:40px!important;font-size:var(--text-md)}.login-submit,.login-demo{width:100%}.login-spinner{width:14px;height:14px;border-color:color-mix(in srgb,currentColor 35%,transparent);border-top-color:currentColor}.login-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0;color:var(--text-subtle);font-size:var(--text-xs)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-demo-note{margin-top:var(--space-2);text-align:center;font-size:var(--text-xs);color:var(--text-subtle)}.login-footer{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-8);font-size:var(--text-xs);color:var(--text-subtle)}.login-footer-sep{width:3px;height:3px;border-radius:50%;background:var(--text-subtle)}@media(max-width:960px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-card-mark{display:block}}.npp-root{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-sm)}.npp-root .npp-header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--bg);border-bottom:1px solid var(--border-subtle)}.npp-root .npp-header-inner{display:flex;align-items:center;gap:var(--space-3);height:var(--topbar-height);padding:0 var(--space-6)}.npp-root .npp-brand{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.npp-root .npp-brand-mark{color:var(--text)}.npp-root .npp-logo-text{font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.14em;color:var(--text)}.npp-root .npp-header-sep{color:var(--border-strong);font-size:var(--text-md)}.npp-root .npp-title{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:0;color:var(--text-muted)}.npp-root .npp-subtitle{margin-left:auto;flex-shrink:0}.npp-root .npp-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-10)}.npp-root .npp-selector-card{width:100%}.npp-root .npp-card-head{padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--border)}.npp-root .npp-selector-heading{margin:0;font-size:var(--text-lg);letter-spacing:-.015em}.npp-root .npp-card-desc{margin-top:var(--space-1);max-width:60ch;color:var(--text-muted);line-height:var(--leading-normal)}.npp-root .npp-card-body{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-6) var(--space-6)}.npp-root .npp-mode-tabs{align-self:flex-start}.npp-root .npp-mode-panel{display:flex;flex-direction:column;gap:var(--space-3);max-width:720px}.npp-root .npp-mode-hint{color:var(--text-muted)}.npp-root .npp-mode-hint a{color:var(--accent-text)}.npp-root .npp-mode-panel .npp-search-field .npp-input.npp-input-search,.npp-root .npp-mode-panel .npp-search-row .npp-input.npp-input-mono{height:36px;font-size:var(--text-md)}.npp-root .npp-search-field{position:relative;display:flex;align-items:center}.npp-root .npp-search-icon{position:absolute;left:var(--space-3);color:var(--text-subtle);pointer-events:none}.npp-root .npp-mode-panel .npp-search-field .npp-input.npp-input-search{width:100%;padding-left:34px;padding-right:36px}.npp-root .npp-spinner{position:absolute;right:var(--space-3);width:14px;height:14px}.npp-root .npp-search-row{display:flex;align-items:center;gap:var(--space-2)}.npp-root .npp-mode-panel .npp-search-row .npp-input.npp-input-mono{flex:0 1 240px;min-width:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.npp-root .npp-submit-button{height:36px;padding:0 var(--space-4)}.npp-root .npp-field-error{margin-top:calc(-1 * var(--space-1))}.npp-root .npp-search-note{padding:var(--space-3) var(--space-4);color:var(--text-muted);background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius-md)}.npp-root .npp-search-results{display:flex;flex-direction:column;max-height:calc(10 * 36px + 2 * var(--space-1) + 2px);overflow-y:auto;padding:var(--space-1);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md)}.npp-root .npp-result-item{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);width:100%;height:36px;flex-shrink:0;padding:0 var(--space-2) 0 var(--space-3);text-align:left;font-weight:var(--weight-regular);background:transparent;border:0;border-radius:var(--radius-sm)}.npp-root .npp-result-item:hover{background:var(--surface-2)}.npp-root .npp-result-item:active{transform:none}.npp-root .npp-result-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:var(--weight-medium);color:var(--text)}.npp-root .npp-result-norad{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-muted)}.npp-root .npp-result-chevron{flex-shrink:0;color:var(--text-subtle);opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.npp-root .npp-result-item:hover .npp-result-chevron,.npp-root .npp-result-item:focus-visible .npp-result-chevron{opacity:1}.npp-root .npp-tle-input{width:100%;min-height:108px;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:1.7;white-space:pre;overflow-x:auto}.npp-root .npp-tle-actions{display:flex;justify-content:flex-end}.npp-root .npp-content-wrap{display:flex;flex-direction:column}.npp-root .npp-content-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.npp-root .npp-content-title{display:flex;align-items:center;gap:var(--space-3);min-width:0}.npp-root .npp-content-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;color:var(--accent-text);background:var(--accent-soft);border-radius:var(--radius-sm)}.npp-root .npp-content-title h2{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-lg);letter-spacing:-.015em}.npp-root .npp-content-norad{flex-shrink:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.npp-root .npp-content-tle{font-family:var(--font-sans)}.npp-root .npp-change-button{flex-shrink:0}.npp-root .npp-change-button .icon{color:var(--text-muted)}.npp-root .npp-content-wrap .np-content{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.npp-root .npp-content-wrap .np-content>.np-controls:last-child{border-bottom:0}.npp-root .npp-content-wrap .np-content>.np-error:last-child{margin-bottom:var(--space-5)}.npp-root .npp-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1) var(--space-2);padding:var(--space-5) var(--space-6);font-size:var(--text-xs);color:var(--text-subtle);border-top:1px solid var(--border-subtle)}@media(max-width:640px){.npp-root .npp-header-inner,.npp-root .npp-main{padding-left:var(--space-4);padding-right:var(--space-4)}.npp-root .npp-main{padding-top:var(--space-5)}.npp-root .npp-subtitle{display:none}.npp-root .npp-card-head,.npp-root .npp-card-body{padding-left:var(--space-4);padding-right:var(--space-4)}.npp-root .npp-mode-tabs{align-self:stretch}.npp-root .npp-mode-tabs button{flex:1}.npp-root .npp-mode-panel .npp-search-row .npp-input.npp-input-mono{flex:1 1 auto}.npp-root .npp-content-header{flex-wrap:wrap;padding-left:var(--space-4)}.npp-root .npp-footer{flex-direction:column;align-items:center}.npp-root .npp-footer-sep{display:none}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-theme=dark]{color-scheme:dark;--bg: #0a0c10;--bg-subtle: #0d1015;--surface-1: #12161c;--surface-2: #171c23;--surface-3: #1e242d;--surface-inverse: #eef1f5;--overlay: rgba(4, 6, 10, .72);--border: #222932;--border-subtle: #1a2028;--border-strong: #303944;--text: #e7ebf0;--text-muted: #98a2ae;--text-subtle: #67717d;--text-inverse: #0a0c10;--primary: #eef1f5;--primary-hover: #ffffff;--primary-text: #0a0c10;--accent: #5cc0d2;--accent-hover: #7bcfdd;--accent-soft: rgba(92, 192, 210, .12);--accent-border: rgba(92, 192, 210, .35);--accent-text: #8fd6e2;--success: #3fb68b;--success-soft: rgba(63, 182, 139, .13);--success-text: #6fd0a9;--warning: #e0a84a;--warning-soft: rgba(224, 168, 74, .14);--warning-text: #ecc27a;--danger: #e5645c;--danger-soft: rgba(229, 100, 92, .14);--danger-text: #f08e87;--info: var(--accent);--info-soft: var(--accent-soft);--info-text: var(--accent-text);--chart-1: #5cc0d2;--chart-2: #9d8cf0;--chart-3: #e0a84a;--chart-4: #3fb68b;--chart-5: #e5645c;--chart-6: #6b93e8;--chart-7: #d27fc0;--chart-8: #a3b3c2;--chart-grid: #1e252e;--chart-axis: #67717d;--shadow-sm: 0 1px 2px rgba(2, 5, 10, .5);--shadow-md: 0 4px 14px -2px rgba(2, 5, 10, .6), 0 1px 3px rgba(2, 5, 10, .4);--shadow-lg: 0 18px 48px -12px rgba(2, 5, 10, .75), 0 2px 6px rgba(2, 5, 10, .4);--ring: 0 0 0 3px rgba(92, 192, 210, .28);--skeleton-from: #151a20;--skeleton-to: #1c222a}:root[data-theme=light]{color-scheme:light;--bg: #f5f6f8;--bg-subtle: #eef0f3;--surface-1: #ffffff;--surface-2: #f7f8fa;--surface-3: #eef1f4;--surface-inverse: #10151b;--overlay: rgba(16, 21, 27, .42);--border: #e1e5ea;--border-subtle: #eceff3;--border-strong: #cfd5dc;--text: #10151b;--text-muted: #56606b;--text-subtle: #8a939d;--text-inverse: #ffffff;--primary: #10151b;--primary-hover: #242b33;--primary-text: #ffffff;--accent: #0e8499;--accent-hover: #0b6f81;--accent-soft: rgba(14, 132, 153, .09);--accent-border: rgba(14, 132, 153, .32);--accent-text: #0b6f81;--success: #1f9a6c;--success-soft: rgba(31, 154, 108, .1);--success-text: #167a55;--warning: #b97c14;--warning-soft: rgba(185, 124, 20, .11);--warning-text: #8f600f;--danger: #c9433b;--danger-soft: rgba(201, 67, 59, .09);--danger-text: #a8352e;--chart-1: #0e8499;--chart-2: #6a58d6;--chart-3: #c88a1c;--chart-4: #1f9a6c;--chart-5: #c9433b;--chart-6: #3a68cc;--chart-7: #b3509f;--chart-8: #7c8a98;--chart-grid: #e8ebef;--chart-axis: #8a939d;--shadow-sm: 0 1px 2px rgba(16, 24, 34, .06);--shadow-md: 0 4px 14px -2px rgba(16, 24, 34, .1), 0 1px 3px rgba(16, 24, 34, .06);--shadow-lg: 0 18px 48px -12px rgba(16, 24, 34, .22), 0 2px 6px rgba(16, 24, 34, .06);--ring: 0 0 0 3px rgba(14, 132, 153, .22);--skeleton-from: #eef1f4;--skeleton-to: #e3e7ec}:root{--font-sans: "Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--leading-tight: 1.2;--leading-normal: 1.5;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--ease-out: cubic-bezier(.22, 1, .36, 1);--duration-fast: .12s;--duration: .2s;--shell-nav-width: 248px;--shell-nav-collapsed: 60px;--topbar-height: 52px;--content-max: 1600px;--z-sticky: 10;--z-dropdown: 30;--z-overlay: 40;--z-modal: 50;--z-toast: 60}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);font-feature-settings:"ss01","cv11";background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5{color:var(--text);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-.015em;text-wrap:balance;margin-bottom:.5em}h1{font-size:var(--text-2xl);letter-spacing:-.025em}h2{font-size:var(--text-xl);letter-spacing:-.02em}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}h5{font-size:var(--text-sm)}p{text-wrap:pretty}a{color:var(--accent-text);text-decoration:none;text-underline-offset:3px}a:hover{text-decoration:underline}strong,b{font-weight:var(--weight-semibold)}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.92em}pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);overflow:auto}hr{border:0;border-top:1px solid var(--border)}::selection{background:var(--accent-soft);color:var(--text)}.mono,.num,td{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;white-space:nowrap;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}button:hover,.btn:hover{background:var(--surface-3);border-color:var(--border-strong)}button:active,.btn:active{transform:translateY(1px)}button:disabled,.btn:disabled,button[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn-primary,button.primary{color:var(--primary-text);background:var(--primary);border-color:var(--primary)}.btn-primary:hover,button.primary:hover{color:var(--primary-text);background:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:disabled,.btn-primary[aria-disabled=true],button.primary:disabled{opacity:1;color:var(--text-subtle);background:var(--surface-2);border-color:var(--border-strong)}.btn-accent{color:var(--text-inverse);background:var(--accent);border-color:var(--accent)}.btn-accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-2);border-color:transparent;color:var(--text)}.btn-danger{color:var(--danger-text);background:var(--danger-soft);border-color:transparent}.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:var(--text-inverse)}.btn-sm{height:26px;padding:0 var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-xs)}.btn-lg{height:40px;padding:0 var(--space-5);font-size:var(--text-md)}.btn-icon{width:32px;padding:0}input,select,textarea{font-family:inherit;font-size:var(--text-sm);color:var(--text);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select{height:32px;padding:0 var(--space-3)}textarea{padding:var(--space-2) var(--space-3);line-height:var(--leading-normal);resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-subtle)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}select{appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2398a2ae' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}input[type=checkbox],input[type=radio]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}input[type=range]{accent-color:var(--accent);border:0;background:transparent}label{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field-hint{font-size:var(--text-xs);color:var(--text-subtle)}.field-error{font-size:var(--text-xs);color:var(--danger-text)}table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:left;white-space:nowrap;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}tbody td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);color:var(--text)}tbody tr{transition:background var(--duration-fast) var(--ease-out)}tbody tr:hover{background:var(--surface-2)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.card-title{font-size:var(--text-md);font-weight:var(--weight-semibold);margin:0}.card-body{padding:var(--space-4)}.stat{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg)}.stat-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--weight-medium)}.stat-value{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text)}.stat-meta{font-size:var(--text-xs);color:var(--text-subtle)}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:.01em;white-space:nowrap;color:var(--text-muted);background:var(--surface-3);border-radius:var(--radius-xs)}.badge-accent{color:var(--accent-text);background:var(--accent-soft)}.badge-success{color:var(--success-text);background:var(--success-soft)}.badge-warning{color:var(--warning-text);background:var(--warning-soft)}.badge-danger{color:var(--danger-text);background:var(--danger-soft)}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;height:38px;padding:0 var(--space-3);background:transparent;border:0;border-radius:0;color:var(--text-muted);font-weight:var(--weight-medium)}.tab:hover{background:transparent;color:var(--text)}.tab.active{color:var(--text)}.tab.active:after{content:"";position:absolute;left:var(--space-2);right:var(--space-2);bottom:-1px;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.segmented{display:inline-flex;padding:2px;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.segmented button{height:26px;padding:0 var(--space-3);background:transparent;border:0;color:var(--text-muted);border-radius:var(--radius-xs)}.segmented button:hover{background:var(--surface-3);color:var(--text)}.segmented button.active{background:var(--surface-1);color:var(--text);box-shadow:var(--shadow-sm)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);text-align:center;color:var(--text-muted)}.empty-state h3{color:var(--text);margin:0}.empty-state p{max-width:44ch;font-size:var(--text-sm)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--skeleton-from) 25%,var(--skeleton-to) 37%,var(--skeleton-from) 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite}@keyframes skeleton{0%{background-position:100% 50%}to{background-position:0 50%}}.spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.callout{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--text-sm)}.callout-danger{background:var(--danger-soft);border-color:transparent;color:var(--danger-text)}.callout-warning{background:var(--warning-soft);border-color:transparent;color:var(--warning-text)}.callout-success{background:var(--success-soft);border-color:transparent;color:var(--success-text)}.callout-info{background:var(--accent-soft);border-color:transparent;color:var(--accent-text)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.text-muted{color:var(--text-muted)}.text-subtle{color:var(--text-subtle)}.text-danger{color:var(--danger-text)}.text-success{color:var(--success-text)}.text-warning{color:var(--warning-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
