.database-header,.database-page{align-items:stretch;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:none;display:flex;flex-direction:column;flex-shrink:0;gap:var(--space-4);margin-bottom:var(--space-region);padding:var(--space-4) var(--space-7)}.database-desc{color:var(--text-secondary);font-size:var(--fs-6);line-height:1.6;margin:0;max-width:800px}.db-health-strip{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.db-health-title{color:var(--text-secondary);font-size:var(--fs-3);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.db-health-chip{align-items:center;border:1px solid transparent;border-radius:var(--radius-pill);display:inline-flex;font-size:var(--fs-3);font-weight:600;padding:3px 8px;white-space:nowrap}.db-health-chip--ok{background:rgba(31,157,85,.1);border-color:rgba(31,157,85,.22);color:var(--accent-green)}.db-health-chip--bad{background:rgba(220,53,69,.1);border-color:rgba(220,53,69,.22);color:var(--accent-red)}.db-health-chip--neutral{background:var(--bg-subtle);border-color:var(--border-color);color:var(--text-secondary)}.ep-header-name-wrap{align-items:center;display:inline-flex;gap:var(--space-3);justify-content:center;max-width:100%}.ep-header-icon{color:var(--accent-text)}.header-controls{align-items:flex-end;display:flex;flex-direction:column;gap:var(--space-4)}.db-toolbar{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--space-5);width:100%}.db-toolbar-row,.db-toolbar-row--primary,.db-toolbar-row--secondary{display:contents}.db-schema-select,.db-schema-select-wrap{max-width:320px;min-width:50px}.db-schema-select-btn{align-items:center;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--fs-4);font-weight:600;gap:var(--space-4);height:34px;padding:0 var(--space-5);transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.db-schema-menu-color,.db-schema-select-btn.open,.db-schema-select-btn:disabled,.db-schema-select-btn:hover,.db-schema-select-chevron,.db-schema-select-color,.db-schema-select-label{cursor:default;opacity:.7}.db-schema-menu,.db-schema-select-btn.open,.db-schema-select-btn:focus-visible{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:none;left:0;max-height:260px;max-width:320px;min-width:50px;overflow-y:auto;padding:5px;position:absolute;top:calc(100% + 6px);width:100%;z-index:220}.db-schema-menu-item{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:var(--fs-5);gap:var(--space-4);padding:7px 8px;text-align:left;width:100%}.db-schema-menu-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-toolbar-right{align-items:center;display:flex;gap:var(--space-5);margin-left:auto}.db-type-filters-pills{flex:0 0 auto}.database-page .db-toolbar .cep-search-wrap{flex:1 1 280px;min-width:50px;order:2}.database-page .db-schema-select-wrap{order:1}.database-page .db-view-toggle{order:3}.database-page .db-type-filters-pills{order:4}.database-page .db-type-filter-dropdown{order:5}.database-page .db-toolbar-right{order:6}.db-type-filter-dropdown{display:none;flex:0 0 auto;position:relative}.db-type-filter-btn{align-items:center;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:var(--fs-4);font-weight:700;gap:var(--space-4);height:36px;padding:0 var(--space-region)}.db-type-filter-btn.open,.db-type-filter-btn:hover{border-color:color-mix(in srgb,var(--accent-line) 48%,transparent)}.db-type-filter-label{white-space:nowrap}.db-type-filter-count{align-items:center;background:color-mix(in srgb,var(--accent-fill) 24%,transparent);border-radius:var(--radius-pill);color:var(--accent-text);display:inline-flex;font-size:var(--fs-2);font-weight:700;height:16px;justify-content:center;min-width:16px;padding:0 5px}.db-type-filter-chevron{color:var(--text-secondary);font-size:var(--fs-3)}.db-type-filter-menu{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:none;min-width:148px;padding:var(--space-3);position:absolute;right:0;top:calc(100% + 6px);z-index:230}.db-type-filter-item{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:var(--fs-4);font-weight:600;justify-content:space-between;padding:7px 9px;width:100%}.db-type-filter-item:hover{background:color-mix(in srgb,var(--accent-line) 10%,transparent)}.db-type-filter-item.active{background:color-mix(in srgb,var(--accent-line) 16%,transparent);color:var(--accent-text)}.db-type-filter-item-count{color:var(--text-secondary);font-size:var(--fs-3)}.db-live-pill{align-items:center;background:rgba(31,157,85,.08);border:1px solid rgba(31,157,85,.28);border-radius:var(--radius-lg);color:var(--accent-green);display:none;font-size:var(--fs-4);font-weight:700;gap:7px;height:36px;padding:0 var(--space-region);white-space:nowrap}.db-live-pill-dot{background:var(--accent-green);border-radius:var(--radius-circle);height:8px;width:8px}.db-refresh-btn{align-items:center;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:var(--fs-4);font-weight:600;gap:var(--space-3);height:34px;justify-content:center;padding:0;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;width:34px}.db-refresh-btn:hover{background:var(--bg-subtle);border-color:#bbc5d4;box-shadow:none;transform:translateY(-1px)}.db-refresh-btn:hover .db-refresh-icon{animation:db-spin .5s ease}@keyframes db-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.last-update{color:var(--text-secondary);font-size:var(--fs-4)}@media (orientation:portrait){.database-desc,.database-header h1{display:none}.database-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.db-toolbar{flex-wrap:wrap;gap:var(--space-4)}.db-schema-select-wrap{order:1}.db-toolbar-right{order:2}.database-page .db-toolbar .cep-search-wrap{flex:1 1 auto;min-width:0;order:3}.database-page .db-view-toggle{order:4}.db-view-toggle{gap:var(--space-px);padding:3px 2px}.db-view-toggle-btn{font-size:0!important;gap:0;min-width:0;padding:var(--space-3) var(--space-2)}.db-live-pill{order:6}.db-toolbar-row--primary,.db-toolbar-row--secondary{flex-wrap:nowrap}.db-schema-select-wrap{flex:1 1 auto;max-width:none;min-width:0}.db-schema-select-btn{height:38px}.db-toolbar-right{flex:0 0 auto;gap:var(--space-4);margin-left:0}.db-refresh-btn{height:38px;padding:0;width:38px}.refresh-toggle{gap:var(--space-3)}.refresh-toggle span{display:none}.db-toolbar-row--secondary .cep-search-wrap{flex:1 1 auto;min-width:0}.db-type-filters-pills{display:none}.db-type-filter-dropdown{display:block}.db-live-pill{display:inline-flex}.last-update{display:none}}.table-tabs{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-8)}.tab-button{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;font-size:var(--fs-5);font-weight:600;padding:11px 16px;transition:background-color .2s,border-color .2s,color .2s}.tab-button:hover{background:#edf4ff;border-color:#c8d6ec;color:#1b3f77}.tab-button.active{background:var(--accent-fill);border-color:var(--accent-text);color:var(--accent-on-fill)}.row-count{font-size:var(--fs-4);opacity:.86}.database-content{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:none;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:var(--space-9)}.empty-state,.error-state,.loading-state{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:var(--space-3);justify-content:center;min-height:0}.spinner{animation:spin 1s linear infinite;border:4px solid #dde4ef;border-radius:var(--radius-circle);border-top:4px solid var(--accent-line);height:40px;width:40px}.empty-state p,.error-state p,.loading-state p{color:var(--text-secondary);font-size:var(--fs-6);margin:0}.error-state button{background:var(--accent-fill);border:none;border-radius:var(--radius-md);color:var(--accent-on-fill);cursor:pointer;font-size:var(--fs-6);font-weight:700;padding:10px 18px;transition:opacity .2s}.error-state button:hover{opacity:.88}.table-wrapper{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;width:100%}.database-page .table-info{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;flex-wrap:nowrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-region);padding-bottom:var(--space-5)}.database-page .table-info-right{align-items:center;display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:var(--space-5);margin-left:auto;min-width:0}.database-page .table-info.table-info--selector-mode{justify-content:center;padding-bottom:var(--space-region)}.table-series-selector-wrap{display:flex;justify-content:center;width:100%}.table-series-selector{background:var(--bg-main);border:1px solid #cfd9ea;border-radius:var(--radius-md);color:#324158;font-size:var(--fs-5);font-weight:700;max-width:460px;min-width:280px;padding:var(--space-4);text-align:center;text-align-last:center;width:100%}.table-series-selector:focus{background:#eaf1ff;border-color:#7fa2d6;outline:none}.table-series-record-count{margin:0 0 var(--space-5);text-align:center}.record-count,.table-series-record-count{color:var(--text-secondary);font-size:var(--fs-5);font-weight:600}.record-count{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-indicator{animation:pulse 2s ease-in-out infinite;color:var(--accent-green);font-weight:700}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.database-page .table-scroll{flex:1 1;min-height:0;overflow-x:auto;overflow-y:auto}.database-page .database-table{border-collapse:collapse;min-width:100%;width:max-content}.database-table thead{background:var(--bg-dark);position:-webkit-sticky;position:sticky;top:0;z-index:20}.database-table th{color:var(--text-secondary);font-size:var(--fs-4);font-weight:700;letter-spacing:.4px;padding:var(--space-region) var(--space-7);text-align:left;text-transform:uppercase;white-space:nowrap}.database-table td,.database-table th{border-bottom:1px solid var(--border-color)}.database-table td{font-size:var(--fs-5);max-width:400px;overflow:hidden;padding:11px 14px;text-overflow:ellipsis}.database-page .row-number-cell,.database-page .row-number-col-header{max-width:56px;min-width:56px;padding-left:var(--space-5);padding-right:var(--space-5);text-align:center;width:56px}.database-page .row-number-col-header{color:var(--text-secondary)}.database-page .row-number-cell{color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.database-table td.json-cell{font-family:Courier New,monospace;font-size:var(--fs-3);max-width:none;white-space:pre-wrap}.database-table tbody tr:nth-child(2n){background:var(--bg-subtle)}@media (orientation:portrait){.database-page .row-number-cell,.database-page .row-number-col-header{background:var(--bg-panel);border-right:1px solid var(--border-color);box-shadow:none;left:0;position:-webkit-sticky;position:sticky;z-index:4}.database-page .row-number-col-header{background:var(--bg-dark);z-index:22}}@media (min-width:1024px){.database-page .row-number-cell,.database-page .row-number-col-header{background:var(--bg-panel);border-right:1px solid var(--border-color);left:0;position:-webkit-sticky;position:sticky;z-index:4}.database-page .row-number-col-header{background:var(--bg-dark);z-index:22}.database-page .container-cell,.database-page .container-col-header{background:var(--bg-panel);border-right:1px solid var(--border-color);box-shadow:none;left:56px;position:-webkit-sticky;position:sticky;z-index:3}.database-page .container-col-header{background:var(--bg-dark);z-index:21}}.null-value{color:#8391a7;font-style:italic}.json-value{background:#edf4ff;border-radius:var(--radius-sm);color:var(--accent-text);display:inline-block;font-family:Courier New,monospace;font-size:var(--fs-3);max-width:100%;overflow-x:auto;padding:var(--space-2) var(--space-4)}.endpoints-page{display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:100%;min-height:0;overflow:hidden;width:100%}.ep-content{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:none;min-height:220px;padding:var(--space-10)}.ep-feedback{border-radius:var(--radius-md);font-size:var(--fs-5);font-weight:600;padding:7px 14px}.ep-feedback--success{background:#e9f8ef;border:1px solid #71c791;color:#1e7e34}.ep-feedback--error{background:#fdeced;border:1px solid #f2a2aa;color:#b02a37}.ep-update-btn{background:var(--accent-fill);border:none;border-radius:var(--radius-md);color:var(--accent-on-fill);cursor:pointer;font-family:inherit;font-size:var(--fs-6);font-weight:700;padding:var(--space-5) var(--space-10);transition:background .2s;white-space:nowrap}.ep-update-btn:disabled{cursor:not-allowed;opacity:.5}.ep-list{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-7)}.ep-add-btn{background:var(--accent-fill);color:var(--accent-on-fill);font-weight:700;padding:13px;transition:background .2s;width:100%}.ep-add-btn,.ep-remove-btn{border:none;border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-size:var(--fs-6)}.ep-remove-btn{align-items:center;background:#e53935;color:#fff;display:flex;flex-shrink:0;font-weight:400;height:32px;justify-content:center;line-height:1;transition:background .15s;width:32px}.ep-remove-btn:hover{background:#c62828}.ep-graph-row{align-items:center;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;gap:var(--space-3);padding:11px 14px;transition:border-color .15s,background .15s}.ep-graph-row:hover{background:#edf4ff;border-color:#c8d6ec}.ep-name-input{background:transparent;border:none;flex:1 1;font-family:inherit;font-size:var(--fs-6);font-weight:600;min-width:140px;outline:none}.ep-name-input::placeholder{color:#a0aabb;font-weight:400}.ep-id-input{background:transparent;border:none;border-right:1px solid var(--border-color);color:#5a7ab5;flex-shrink:0;font-family:Courier New,Courier,monospace;font-size:var(--fs-4);font-weight:600;margin-right:var(--space-1);outline:none;padding-right:var(--space-5);width:160px}.ep-id-input::placeholder{color:#a0aabb;font-weight:400}.ep-graph-row-right{align-items:center;display:flex;flex-shrink:0;gap:var(--space-region)}.ep-type-controls{align-items:stretch;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:none;display:flex;overflow:hidden}.ep-type-controls>*+*{border-left:1px solid var(--border-color)}.ep-range-input{background:var(--bg-panel);border:none;border-radius:0;font-family:inherit;font-size:var(--fs-5);padding:var(--space-3) var(--space-4);text-align:right;width:80px}.ep-range-input--int{width:80px}.ep-range-input:focus{background:#eef4ff;outline:none}.ep-bool-input{background:var(--bg-panel);border:none;border-radius:0;font-family:inherit;font-size:var(--fs-5);padding:var(--space-3) var(--space-4);text-align:center;width:80px}.ep-bool-input:focus{background:#eef4ff;outline:none}.ep-type-pill{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;border:none;border-radius:0;cursor:pointer;font-family:inherit;font-size:var(--fs-5);font-weight:700;padding:var(--space-3) var(--space-5)}.ep-type-float{background:#f5cc6e;border-left:1px solid rgba(160,110,0,.25)!important;border-right:1px solid rgba(160,110,0,.25)!important;color:#5a3800}.ep-type-int{background:#7eddd0;border-left:1px solid rgba(3,77,67,.2)!important;border-right:1px solid rgba(3,77,67,.2)!important;color:#034d43}.ep-type-bool{background:#e8ac82;border-left:1px solid rgba(160,64,0,.25)!important;border-right:1px solid rgba(160,64,0,.25)!important;color:#5a2000}.ep-decimal-pill{background:#f5cc6e;border:none;border-left:1px solid rgba(160,110,0,.25)!important;border-radius:0;border-right:1px solid rgba(160,110,0,.25)!important;color:#5a3800;font-weight:700;padding:var(--space-3) 7px}.ep-decimal-pill,.ep-interval-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer;font-family:inherit;font-size:var(--fs-5)}.ep-interval-select{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-weight:600;min-width:78px;padding:var(--space-3) var(--space-5);transition:border-color .15s}.ep-interval-select:hover{border-color:#c8d6ec}.ep-schema-row{flex-wrap:wrap}.ep-schema-id{align-items:center;background:#f0f4fb;border:1px solid #d0daf0;border-radius:var(--radius-md);display:inline-flex;flex-shrink:0;gap:5px;padding:var(--space-2) var(--space-4)}.ep-schema-id-label{color:#6b83b0;font-size:var(--fs-2);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ep-schema-id-code{color:var(--accent-text);font-family:Courier New,Courier,monospace;font-size:var(--fs-4);font-weight:600}.ep-unit-input{background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);flex-shrink:0;font-family:inherit;font-size:var(--fs-5);outline:none;padding:5px 8px;transition:border-color .15s;width:90px}.ep-unit-input:focus{border-color:var(--accent-text)}.ep-unit-input::placeholder{color:#a0aabb;font-size:var(--fs-4)}.ep-ts-toggle{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:var(--fs-4);font-weight:600;padding:5px 11px;transition:background .15s,color .15s,border-color .15s}.ep-ts-toggle--on{background:#e8f0fe;color:var(--accent-text)}.ep-ts-toggle--on,.ep-ts-toggle:hover{border-color:#a8bfe8}.ep-bool-pair{align-items:center;display:flex;flex-shrink:0;gap:var(--space-2)}.ep-bool-sep{color:#aaa;font-size:var(--fs-6)}.ep-decimals-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:var(--fs-4);padding:5px var(--space-3);transition:border-color .15s;width:62px}.ep-decimals-select:hover{border-color:#c8d6ec}.ep-table-card{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px 18px 14px;transition:border-color .15s}.ep-table-card:hover{border-color:#c8d6ec}.ep-table-header{align-items:center;display:flex;gap:var(--space-region);justify-content:space-between;margin-bottom:var(--space-7)}.ep-table-name-input{background:transparent;border:none;flex:1 1;font-family:inherit;font-size:var(--fs-9);font-weight:700;min-width:0;outline:none}.ep-table-name-input::placeholder{color:#a0aabb;font-weight:400}.ep-table-id-input{background:transparent;border:none;border-right:1px solid var(--border-color);color:#5a7ab5;flex-shrink:0;font-family:Courier New,Courier,monospace;font-size:var(--fs-4);font-weight:600;margin-right:var(--space-2);outline:none;padding-right:var(--space-region);width:180px}.ep-table-id-input::placeholder{color:#a0aabb;font-weight:400}.ep-table-header-right{align-items:center;display:flex;flex-shrink:0;gap:var(--space-4)}.ep-col-area{align-items:stretch;display:flex;gap:0;overflow:hidden}.ep-col-grid{display:flex;flex:1 1;gap:var(--space-5);overflow-x:auto;padding-bottom:var(--space-3)}.ep-add-col-btn{align-items:center;align-self:stretch;background:var(--accent-fill);border:none;border-radius:var(--radius-md);color:var(--accent-on-fill);cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:var(--fs-9);font-weight:300;justify-content:center;margin-left:var(--space-5);transition:background .15s;width:46px}.ep-col-cell{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:-webkit-grab;cursor:grab;display:flex;flex-direction:column;flex-shrink:0;gap:7px;max-width:215px;min-width:175px;padding:var(--space-4) var(--space-5) var(--space-5);transition:border-color .15s,box-shadow .15s}.ep-col-cell:hover{border-color:#c8d6ec;box-shadow:none}.ep-col-topbar{align-items:center;display:flex;height:18px;justify-content:space-between;margin-bottom:-2px}.ep-col-drag{color:#8fa3be;cursor:-webkit-grab;cursor:grab;letter-spacing:-1px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ep-col-drag,.ep-col-remove{font-size:var(--fs-6);line-height:1}.ep-col-remove{align-items:center;background:none;border:none;color:#b0bbc9;cursor:pointer;display:flex;font-family:inherit;justify-content:center;padding:0;transition:color .15s}.ep-col-remove:hover{color:#e53935}.ep-col-name-input{background:transparent;border:none;border-bottom:1px solid var(--border-color);font-family:inherit;font-size:var(--fs-5);font-weight:700;outline:none;padding-bottom:var(--space-2);width:100%}.ep-col-name-input::placeholder{color:#9ca6b6;font-weight:400}.ep-col-name-input:focus{border-bottom-color:#7fa2d4}.ep-col-type-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;border:none;border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-size:var(--fs-5);font-weight:700;padding:var(--space-3) var(--space-4);width:100%}.ep-col-type-string{background:#cdd3dd;color:#2b3a52}.ep-col-type-bool{background:#e8ac82;color:#5a2000}.ep-col-type-float{background:#f5cc6e;color:#5a3800}.ep-col-type-int{background:#7eddd0;color:#034d43}.ep-col-type-date{background:#a8cce8;color:#173f63}.ep-col-sub{display:flex;flex-wrap:wrap;gap:5px}.ep-col-sub-input{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex:1 1;font-family:inherit;font-size:var(--fs-4);min-width:48px;padding:5px 7px}.ep-col-sub-input--sm{max-width:56px}.ep-col-sub-input:focus{border-color:#7fa2d4;box-shadow:none;outline:none}.ep-col-decimal-pill{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:#f5cc6e;border:none;border-radius:var(--radius-sm);color:#5a3800;cursor:pointer;font-family:inherit;font-size:var(--fs-4);font-weight:700;padding:var(--space-2) var(--space-3)}.filter-toggle-btn{align-items:center;background:var(--bg-main);border:1px solid #cfd9ea;border-radius:var(--radius-md);color:#324158;cursor:pointer;display:flex;font-size:var(--fs-5);font-weight:600;gap:var(--space-4);padding:var(--space-3) var(--space-region);transition:border-color .15s,background .15s}.filter-toggle-btn.open,.filter-toggle-btn:hover{background:#eaf1ff;border-color:#7fa2d6}.filter-badge{background:#dbe4f2;border-radius:var(--radius-lg);color:#52617b;font-size:var(--fs-3);font-weight:700;padding:2px 7px}.filter-badge.all{background:#dcf5e6;color:var(--accent-green)}.filter-badge.partial{background:#f8edda;color:#c17b13}.filter-chevron{color:#6b7280;font-size:var(--fs-2)}.filter-dropdown{background:#fff;border:1px solid #d2dcee;border-radius:var(--radius-md);box-shadow:none;max-height:280px;min-width:50px;overflow-y:auto;padding:var(--space-3) 0;position:absolute;right:0;top:calc(100% + 6px);z-index:200}.filter-option{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:var(--space-4) var(--space-7);transition:background .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filter-option:hover{background:#f4f8ff}.filter-label{color:#324158;font-size:var(--fs-5);max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-check{align-items:center;background:transparent;border:1.5px solid #9fb2cf;border-radius:var(--radius-sm);display:flex;flex-shrink:0;height:16px;justify-content:center;transition:background .15s,border-color .15s;width:16px}.filter-check.checked{background:var(--accent-green);border-color:var(--accent-green)}.filter-check.checked:after{border:2px solid #fff;border-top:none;border-left:none;content:"";display:block;height:9px;transform:rotate(45deg) translateY(-1px);width:5px}.filter-divider{background:#e8edf5;height:1px;margin:var(--space-2) 0}@media (max-width:1200px){.metrics-bar{grid-template-columns:repeat(3,1fr)}.axis-controls--main{grid-template-columns:repeat(2,minmax(0,1fr))}.axis-control--wide{max-width:100%}.dashboard-row{grid-template-columns:minmax(0,1fr)}.full-panel{grid-column:span 1}}@media (max-width:980px){.ep-graph-row{align-items:stretch;flex-direction:column}.ep-graph-row-right{flex-wrap:wrap;justify-content:space-between}}@media (max-width:768px){.main-content{padding:var(--space-region)}.navigation-panel{width:82px}.nav-label,.nav-title{display:none}.metrics-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.value.large{font-size:31px}.stats-row{flex-direction:column;gap:var(--space-5)}.database-header{align-items:flex-start;flex-direction:column}.database-header h1{font-size:var(--fs-7)}.header-controls{align-items:flex-start}.tab-button{font-size:var(--fs-4);padding:var(--space-5)}.ep-table-name-input{font-size:var(--fs-8)}.ep-graph-row,.ep-graph-row-right{flex-wrap:wrap}.axis-controls,.axis-controls--graph-only,.axis-controls--main{grid-template-columns:minmax(0,1fr)}.axis-bound-control{margin-top:var(--space-2);position:static}.chart-with-axis-bounds{padding-bottom:var(--space-region)}}.dashboard-viewer{margin:0 auto;max-width:100%}.viewer-topbar{align-items:center;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:none;display:flex;gap:var(--space-5);margin-bottom:var(--space-9);padding:9px 14px;position:relative}.dashboard-select,.dashboard-select-wrap{flex:1 1 auto;max-width:400px;min-width:0}.dashboard-select-btn{align-items:center;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--fs-4);gap:var(--space-4);height:34px;padding:0 var(--space-5);transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.dashboard-select-label{flex:1 1;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.dashboard-select-chevron{color:var(--text-secondary);font-size:var(--fs-4);line-height:1}.dashboard-select-btn.open,.dashboard-select-btn:hover{border-color:color-mix(in srgb,var(--accent-line) 46%,transparent)}.dashboard-select-btn.open,.dashboard-select-btn:focus-visible{background:color-mix(in srgb,var(--bg-subtle) 90%,color-mix(in srgb,var(--accent-line) 8%,transparent) 10%);border-color:color-mix(in srgb,var(--accent-line) 56%,transparent);box-shadow:none;outline:none}.dashboard-select-btn:disabled{cursor:not-allowed;opacity:.7}.dashboard-select-menu{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:none;left:0;max-height:260px;overflow-y:auto;padding:5px;position:absolute;top:calc(100% + 6px);width:100%;z-index:220}.dashboard-select-menu-item{background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-5);padding:7px 8px;text-align:left;width:100%}.dashboard-select-menu-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-right{align-items:center;display:flex;flex-shrink:0;gap:var(--space-5);margin-left:auto;position:relative}.viewer-right-divider{background:var(--border-color);border-radius:var(--radius-xs);display:inline-block;flex-shrink:0;height:22px;width:1px}.viewer-delete-btn{background:transparent;border:1px solid var(--accent-red);border-radius:var(--radius-md);color:var(--accent-red);cursor:pointer;font-size:var(--fs-4);padding:var(--space-3) var(--space-7);transition:background .15s,color .15s}.viewer-delete-btn:hover{background:var(--accent-red);color:#fff}.dash-mode-tag{align-items:center;border:1.5px solid;border-radius:var(--radius-lg);cursor:default;display:inline-flex;flex-shrink:0;font-size:var(--fs-4);font-weight:600;gap:0;letter-spacing:.02em;padding:var(--space-2) var(--space-3);transition:padding .2s ease,gap .2s ease;white-space:nowrap}.dash-mode-tag:hover{gap:5px;padding:var(--space-2) var(--space-5)}.dash-mode-tag-icon{flex-shrink:0;height:13px;width:13px}.dash-mode-tag-text{max-width:0;overflow:hidden;transition:max-width .2s ease}.dash-mode-tag:hover .dash-mode-tag-text{max-width:80px}.dash-mode-tag--static{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.35);color:#2563eb}.dash-mode-tag--scrollable{background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.35);color:#16a34a}.viewer-grid{contain:layout paint;display:grid;grid-gap:var(--space-region);gap:var(--space-region);grid-auto-rows:43vh;grid-template-columns:repeat(3,minmax(0,1fr))}.viewer-static{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.viewer-static .viewer-topbar{flex-shrink:0}.viewer-grid--static{contain:layout paint;flex:1 1;grid-auto-rows:minmax(0,1fr);min-height:0;overflow:hidden;position:relative}.viewer-grid--static>*{min-height:0;min-width:0}.viewer-seam-layer{inset:0;pointer-events:none;position:absolute;z-index:4}.viewer-seam-handle{background:transparent;pointer-events:auto;position:absolute;touch-action:none}.viewer-seam-handle:before{background:var(--border-color);border-radius:var(--radius-xs);content:"";inset:0;margin:auto;position:absolute;transition:background .12s}.viewer-seam-handle--col:before{height:28px;width:2px}.viewer-seam-handle--row:before{height:2px;width:28px}.viewer-seam-handle--col{cursor:col-resize}.viewer-seam-handle--row{cursor:row-resize}.viewer-seam-handle--active:before,.viewer-seam-handle:hover:before{background:var(--accent-fill)}.viewer-seam-handle--blocked:before,.viewer-seam-handle--blocked:hover:before{background:var(--text-secondary)}.viewer-seam-connector{align-items:center;border-radius:50%;display:flex;justify-content:center;opacity:0;pointer-events:auto;position:absolute;touch-action:none;transition:opacity .11s ease;z-index:1}.viewer-seam-connector:after{background:var(--bg-panel);border:2px solid var(--accent-line);border-radius:50%;content:"";height:10px;width:10px}.viewer-seam-connector--col{cursor:col-resize}.viewer-seam-connector--row{cursor:row-resize}.viewer-seam-connector--active,.viewer-seam-connector:hover{opacity:1}.viewer-seam-connector--active:after,.viewer-seam-connector:hover:after{background:var(--accent-fill)}.viewer-seam-connector--blocked:after,.viewer-seam-connector--blocked:hover:after{background:var(--text-secondary);border-color:var(--text-secondary)}.viewer-seam-run{display:contents}.viewer-seam-run:hover .viewer-seam-connector{opacity:1}.viewer-seam-insert{background:var(--accent-fill);border-radius:var(--radius-sm);opacity:.85;pointer-events:none;position:absolute}.viewer-layout-reset{align-items:center;align-self:flex-start;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:var(--fs-3);gap:5px;margin-top:var(--space-4);opacity:.55;padding:var(--space-2) var(--space-5) var(--space-2) var(--space-4);transition:opacity .12s ease,color .12s ease,border-color .12s ease}.viewer-layout-reset:hover{border-color:var(--accent-text);color:var(--accent-text);opacity:1}.viewer-grid--static .view-el-title--drag-handle{cursor:-webkit-grab;cursor:grab;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.viewer-grid--static .view-el-title--drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.viewer-grid--layout-drag .view-element{pointer-events:none}.query-dashboard-viewer-container>.qi-timeline-slot{margin:0 -14px;position:-webkit-sticky;position:sticky;bottom:0;z-index:var(--z-sticky)}.query-dashboard-viewer-container>.qi-timeline-slot--on{margin-top:var(--space-5)}.query-dashboard-viewer-container>.qi-timeline-slot .qi-timeline{border-top:none}.query-dashboard-viewer-container>.qi-timeline-slot .qi-timeline-controls{align-items:start;padding-top:0}.view-element{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:none;container-name:panel;container-type:size;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}html:not([data-theme=dark]) .view-element:has(.lesson-pack-viewer-shell){background:#FFFFFF;border-color:#FFFFFF}html[data-theme=dark] .view-element:has(.lesson-pack-viewer-shell){background:var(--bg-panel);border-color:var(--border-color)}.view-element--strip{align-self:start;container-type:normal;grid-column:1/-1;height:auto}.view-element--scroll-active{border-color:var(--accent-text)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-line) 55%,transparent)}.view-element--strip .view-el-header{display:none}.view-element--strip .view-el-body{padding:var(--space-3) var(--space-5)}.view-el-header{align-items:center;background:var(--bg-subtle);border-bottom-width:1px;display:flex;flex-shrink:0;justify-content:space-between;border-bottom:0 solid var(--border-color);max-height:0;opacity:0;overflow:hidden;padding:0;pointer-events:none;transform:translateY(-100%);transition:max-height .14s ease,padding .14s ease,opacity .14s ease,transform .14s ease,border-bottom-width .14s ease}.view-el-header-actions{align-items:center;display:inline-flex;gap:var(--space-2)}.view-el-header-actions button svg{height:13px;width:13px}.view-el-title-pill{color:var(--text-secondary);display:inline-flex;font-size:11.5px;font-weight:600;left:18px;line-height:1.35;max-width:min(70%,320px);overflow:hidden;padding:0;pointer-events:none;position:absolute;text-overflow:ellipsis;top:8px;transition:opacity .14s ease;white-space:nowrap;z-index:2}.view-element--strip .view-el-title-pill{display:none}.view-element:not(.view-element--strip):focus-within .view-el-header,.view-element:not(.view-element--strip):hover .view-el-header{border-bottom-width:1px;max-height:40px;opacity:1;padding:7px var(--space-5) var(--space-3) 18px;pointer-events:auto;transform:none;transition-duration:.11s}.view-element:not(.view-element--strip):focus-within .view-el-title-pill,.view-element:not(.view-element--strip):hover .view-el-title-pill{opacity:0;transition-duration:.11s}.view-element:has(.viewport3d-shell) .view-el-header{position:absolute;top:0;left:0;right:0;z-index:3;pointer-events:none}.view-element:has(.viewport3d-shell):focus-within .view-el-header,.view-element:has(.viewport3d-shell):hover .view-el-header{pointer-events:auto}.view-element:has(.oil-gas-sandbox) .view-el-header{position:absolute;top:0;left:0;right:0;z-index:3;pointer-events:none}.view-element:has(.oil-gas-sandbox):focus-within .view-el-header,.view-element:has(.oil-gas-sandbox):hover .view-el-header{pointer-events:auto}.view-element:has(.oil-gas-sandbox) .view-el-title-pill{opacity:0}.view-element:has(.oil-gas-sandbox--view-2d) .view-el-header{position:static;top:auto;left:auto;right:auto}.view-element:has(.oil-gas-sandbox):not(:has(.oil-gas-sandbox--view-2d)) .oil-gas-sandbox__library{transition:padding-top .14s ease}.view-element:has(.oil-gas-sandbox):not(:has(.oil-gas-sandbox--view-2d)):focus-within .oil-gas-sandbox__library,.view-element:has(.oil-gas-sandbox):not(:has(.oil-gas-sandbox--view-2d)):hover .oil-gas-sandbox__library{padding-top:40px}.view-element:has(.oil-gas-sandbox):not(:has(.oil-gas-sandbox--view-2d)):focus-within .oil-gas-sandbox__inspector,.view-element:has(.oil-gas-sandbox):not(:has(.oil-gas-sandbox--view-2d)):hover .oil-gas-sandbox__inspector{top:52px}.view-element:has(.oil-gas-sandbox):not(:has(.oil-gas-sandbox--view-2d)):focus-within .oil-gas-sandbox__endpoint-charts--right,.view-element:has(.oil-gas-sandbox):not(:has(.oil-gas-sandbox--view-2d)):hover .oil-gas-sandbox__endpoint-charts--right{top:calc(52px + var(--ogs-inspector-height, 217px) + 12px)}.view-element:has(.oil-gas-sandbox) .view-el-header-actions>.oil-gas-sandbox__toolbar--viewer{order:1}.view-element:has(.oil-gas-sandbox) .view-el-header-actions>.view-el-action-wrap{order:2}.view-element:has(.oil-gas-2d__toolbar) .view-el-header-actions>.oil-gas-2d__toolbar{order:1}.view-element:has(.oil-gas-2d__toolbar) .view-el-header-actions>.view-el-action-wrap{order:2;flex:none}.view-el-title{font-size:12.5px;font-weight:600;flex:1 1 auto;min-width:0;overflow:hidden;--marquee-gap:48px}.view-el-title-scroll{display:inline-flex;align-items:center;gap:var(--marquee-gap);max-width:100%;min-width:0}.view-el-title-seg{white-space:nowrap}.view-el-title-seg--dup{display:none}.view-el-title--marquee .view-el-title-scroll{max-width:none;flex-wrap:nowrap;animation:view-el-marquee var(--marquee-duration,12s) linear infinite;will-change:transform}.view-el-title--marquee .view-el-title-seg--dup{display:inline}@keyframes view-el-marquee{0%{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--marquee-shift, 100%)))}}@media (prefers-reduced-motion:reduce){.view-el-title--marquee .view-el-title-scroll{animation:none}}@media (prefers-reduced-motion:reduce){.view-el-header,.view-el-title-pill,.view-element:not(.view-element--strip):focus-within .view-el-header,.view-element:not(.view-element--strip):focus-within .view-el-title-pill,.view-element:not(.view-element--strip):hover .view-el-header,.view-element:not(.view-element--strip):hover .view-el-title-pill{transition-duration:1ms}}.view-element:focus-within .view-el-title,.view-element:hover .view-el-title{overflow:hidden;text-overflow:ellipsis}.view-element:focus-within .view-el-title .view-el-title-scroll,.view-element:hover .view-el-title .view-el-title-scroll{animation:none;transform:none;max-width:100%;display:block}.view-element:focus-within .view-el-title .view-el-title-seg,.view-element:hover .view-el-title .view-el-title-seg{display:block;overflow:hidden;text-overflow:ellipsis}.view-element:focus-within .view-el-title .view-el-title-seg--dup,.view-element:hover .view-el-title .view-el-title-seg--dup{display:none}.view-element:focus-within .view-el-title--hover-hide,.view-element:hover .view-el-title--hover-hide{visibility:hidden}.view-el-media-toggles{align-items:center;display:inline-flex;gap:var(--space-1);opacity:0;transition:opacity .15s}.view-element:hover .view-el-media-toggles{opacity:1}.view-el-media-btn{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:26px;justify-content:center;padding:0;transition:background .15s,color .15s;width:26px}.view-el-media-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.view-el-media-btn--active{color:var(--accent-text)}.view-el-media-btn--active:hover{background:var(--accent-blue-tint-12);color:var(--accent-text)}.view-el-conditions-btn,.view-el-config-btn,.view-el-float-btn,.view-el-fullscreen-nav-btn,.view-el-maximize-btn,.view-el-pin-btn,.view-el-share-btn{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;opacity:0;padding:0;transition:opacity .15s,background .15s,color .15s,transform .22s ease;width:20px}.view-el-conditions-btn,.view-el-config-btn,.view-el-share-btn{position:relative}.view-element:hover .view-el-conditions-btn,.view-element:hover .view-el-config-btn,.view-element:hover .view-el-float-btn,.view-element:hover .view-el-fullscreen-nav-btn,.view-element:hover .view-el-maximize-btn,.view-element:hover .view-el-pin-btn,.view-element:hover .view-el-share-btn{opacity:1}.view-el-share-btn--active{background:var(--accent-blue-tint-12);color:var(--accent-text);opacity:1}.view-el-share-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.view-el-share-btn--active:hover{background:var(--accent-blue-tint-12);color:var(--accent-text)}.view-el-share-float{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:min(540px,calc(100vh - 16px));position:fixed;width:min(360px,calc(100vw - 16px));z-index:calc(var(--z-modal) + 2)}.view-el-share-float__header{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;gap:var(--space-region);padding:var(--space-7) var(--space-8) var(--space-region)}.view-el-share-float__title-wrap{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.view-el-share-float__title{color:var(--text-primary);font-size:var(--fs-5);font-weight:600}.view-el-share-float__subtitle{color:var(--text-muted);font-size:var(--fs-3);line-height:1.4}.view-el-share-float__close{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:var(--fs-8);height:28px;justify-content:center;line-height:1;padding:0;width:28px}.view-el-share-float__close:hover{background:var(--bg-hover);color:var(--text-primary)}.view-el-share-float__body{display:flex;flex-direction:column;gap:var(--space-3);overflow-y:auto;padding:var(--space-7) var(--space-8) var(--space-8)}.view-el-share-float__status{color:var(--text-muted);font-size:var(--fs-4);line-height:1.5}.view-el-share-float__status--error{color:var(--danger-color,#c2410c)}.view-el-share-access{border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-5)}.view-el-share-field--tight{gap:var(--space-3);margin:0}.view-el-share-toggle{align-items:center;cursor:pointer;display:flex;gap:var(--space-4);-webkit-user-select:none;-moz-user-select:none;user-select:none}.view-el-share-toggle input{opacity:0;pointer-events:none;position:absolute}.view-el-share-toggle__track{background:var(--border-color);border-radius:999px;flex-shrink:0;height:18px;position:relative;transition:background .18s;width:32px}.view-el-share-toggle__track:after{background:#fff;border-radius:50%;content:"";height:14px;left:2px;position:absolute;top:2px;transition:transform .18s;width:14px}.view-el-share-toggle input:checked+.view-el-share-toggle__track{background:var(--accent-green,#16a34a)}.view-el-share-toggle input:checked+.view-el-share-toggle__track:after{transform:translateX(14px)}.view-el-share-toggle input:focus-visible+.view-el-share-toggle__track{box-shadow:0 0 0 2px var(--accent-blue-tint-8)}.view-el-share-toggle__label{color:var(--text-primary);font-size:var(--fs-4);font-weight:600}.view-el-share-field__select{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-4);padding:var(--space-3) var(--space-4);width:100%}.view-el-share-field__select:focus{border-color:var(--accent-text);outline:none}.view-el-share-field__btn:disabled{cursor:not-allowed;opacity:.5}.view-el-share-field{display:flex;flex-direction:column;gap:var(--space-4)}.view-el-share-field__label{color:var(--text-secondary);font-size:var(--fs-3);font-weight:600}.view-el-share-field__hint{color:var(--text-tertiary);font-size:var(--fs-2);line-height:1.4}.view-el-share-field__code,.view-el-share-field__input{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-3);line-height:1.45;padding:var(--space-5);width:100%}.view-el-share-field__input{min-height:40px}.view-el-share-field__code{min-height:96px;resize:vertical}.view-el-share-field__actions{display:flex;gap:var(--space-4)}.view-el-share-field__btn{align-items:center;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:var(--fs-3);font-weight:600;height:32px;justify-content:center;min-width:68px;padding:0 var(--space-region);text-decoration:none}.view-el-share-field__btn:hover{background:var(--bg-hover)}.view-el-share-field__btn--link{color:var(--text-primary)}.view-el-share-qr{display:flex;flex-direction:column;gap:var(--space-4)}.view-el-share-qr__frame{align-items:center;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;justify-content:center;min-height:204px;padding:var(--space-region)}.view-el-share-qr__frame img{display:block;height:auto;max-width:100%}.view-el-share-float__copy{color:var(--text-secondary);font-size:var(--fs-3);font-weight:600}.view-el-share-float__copy--error{color:var(--danger-color,#c2410c)}.view-el-date-ctrl{align-items:center;display:inline-flex;gap:var(--space-region);opacity:0;transition:opacity .15s}.view-el-date-ctrl--historical,.view-element:hover .view-el-date-ctrl{opacity:1}.view-el-live-group,.view-el-zoom-group{align-items:center;display:inline-flex}.view-el-zoom-group{flex-shrink:0}.view-el-live-group{gap:var(--space-2)}.view-el-date-sep{color:var(--text-muted);font-size:var(--fs-3);-webkit-user-select:none;-moz-user-select:none;user-select:none}.lzs-track{display:inline-block;height:28px;margin-right:var(--space-3);position:relative;width:90px}.lzs-rail{background:var(--border-color);height:2px;left:6px;right:6px;top:8px}.lzs-fill,.lzs-rail{border-radius:var(--radius-xs);position:absolute}.lzs-fill{background:var(--accent-fill);height:100%;left:0;max-width:100%;top:0;transition:width .18s ease}.lzs-stop{align-items:center;background:var(--bg-panel);border:1.5px solid var(--border-color);border-radius:var(--radius-circle);cursor:pointer;display:flex;flex-direction:column;height:11px;justify-content:center;padding:0;position:absolute;top:3px;transform:translateX(-50%);transition:background .14s,border-color .14s,transform .12s;width:11px;z-index:1}.lzs-stop:hover{border-color:var(--accent-text);transform:translateX(-50%) scale(1.35);z-index:1}.lzs-stop--past{background:var(--bg-panel);border-color:var(--border-color)}.lzs-track:hover .lzs-stop--past{background:color-mix(in srgb,var(--accent-fill) 12%,var(--bg-panel));border-color:var(--accent-text)}.lzs-stop--active{background:var(--accent-fill);border-color:var(--accent-text);box-shadow:var(--ring-focus);height:13px;top:2px;transform:translateX(-50%);width:13px;z-index:1}.lzs-stop--active:hover{transform:translateX(-50%) scale(1.15)}.lzs-stop-label{color:var(--text-muted);font-size:var(--fs-0);font-weight:700;left:50%;letter-spacing:.05em;line-height:1;pointer-events:none;position:absolute;top:15px;transform:translateX(-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.lzs-stop--active .lzs-stop-label{color:var(--accent-text)}.lzs-stop--past .lzs-stop-label{color:var(--text-muted);opacity:1}.lzs-track:hover .lzs-stop--past .lzs-stop-label{color:var(--accent-text);opacity:.7}.view-el-live-pill{align-items:center;color:var(--accent-green);display:inline-flex;gap:5px;pointer-events:none;white-space:nowrap}.view-el-live-dot{animation:live-dot-pulse 1.6s ease-in-out infinite;background:var(--accent-green);border-radius:var(--radius-circle);display:inline-block;flex-shrink:0;height:6px;width:6px}.view-element--shared-live{animation:view-element-shared-pulse 2.8s ease-in-out infinite;border-color:var(--accent-green)}@keyframes view-element-shared-pulse{0%,to{box-shadow:0 0 0 0 rgba(31,157,85,.36)}50%{box-shadow:0 0 0 5px rgba(31,157,85,0)}}@media (prefers-reduced-motion:reduce){.view-element--shared-live{animation:none;box-shadow:0 0 0 2px rgba(31,157,85,.45)}}@keyframes live-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}.view-el-live-text{font-size:var(--fs-2);font-weight:700;letter-spacing:.06em}.view-el-toggle-wrap{max-width:0;overflow:hidden;transition:max-width .2s ease}.view-el-live-group--historical .view-el-toggle-wrap,.view-el-live-group:hover .view-el-toggle-wrap{max-width:32px}.view-el-live-toggle{background:var(--toggle-off-bg);border:none;border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;height:16px;padding:0;position:relative;transition:background .15s;width:28px}.view-el-live-toggle--on{background:var(--accent-green)}.view-el-live-toggle:not(.view-el-live-toggle--on):hover{background:var(--toggle-off-hover-bg)}.view-el-live-toggle:before{background:var(--toggle-knob-bg);border-radius:var(--radius-circle);content:"";height:10px;left:3px;position:absolute;top:50%;transform:translateY(-50%);transition:transform .15s ease;width:10px}.view-el-live-toggle--on:before{transform:translateX(12px) translateY(-50%)}.view-el-action-wrap{align-items:center;display:inline-flex;gap:var(--space-2);max-width:156px;overflow:hidden;transition:max-width .22s ease}.view-element:not(:hover) .view-el-action-wrap--historical{max-width:0}.view-element:not(:hover) .view-el-action-wrap--historical.view-el-action-wrap--cfg-filtered{max-width:28px}.view-el-cond-wrap{align-items:center;display:inline-flex;max-width:32px;overflow:hidden;transition:max-width .22s ease}.view-element:not(:hover) .view-el-cond-wrap--historical{max-width:0}.view-element:not(:hover) .view-el-action-wrap:not(.view-el-action-wrap--historical) .view-el-config-btn--filtered{transform:translateX(32px)}.vdp-wrap{align-items:center;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;gap:3px;height:20px;justify-content:center;min-width:20px;padding:0 var(--space-2);position:relative;transition:border-color .15s,background .15s}.vdp-wrap:hover{border-color:var(--accent-text)}.vdp-wrap--set,.vdp-wrap:hover{background:var(--accent-blue-tint-8)}.vdp-wrap--set{border-color:var(--accent-blue-tint-15)}.vdp-wrap--set:hover{background:var(--accent-blue-tint-12);border-color:var(--accent-text)}.vdp-text{color:var(--accent-text);font-size:var(--fs-2);font-weight:500;white-space:nowrap}.vdp-text--label{color:var(--text-muted);font-size:var(--fs-2);font-weight:400}.vdp-wrap svg{color:var(--text-muted);display:block;flex-shrink:0}.vdp-wrap:hover svg{color:var(--accent-text)}.vdp-popover{animation:vdp-in .13s ease;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md),0 0 0 1px rgba(0,0,0,.04);font-family:inherit;padding:var(--space-5);position:fixed;width:224px;z-index:var(--z-dropdown-elevated)}@keyframes vdp-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.vdp-pop-head{justify-content:space-between;margin-bottom:var(--space-4);padding:0 var(--space-1)}.vdp-nav-btn,.vdp-pop-head{align-items:center;display:flex}.vdp-nav-btn{background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;height:26px;justify-content:center;padding:0;transition:background .12s,color .12s;width:26px}.vdp-nav-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.vdp-month-lbl{color:var(--text-primary);font-size:var(--fs-5);font-weight:600}.vdp-pop-grid{display:grid;grid-gap:var(--space-1);gap:var(--space-1);grid-template-columns:repeat(7,1fr)}.vdp-wday{color:var(--text-muted);font-size:var(--fs-2);font-weight:600;letter-spacing:.03em;padding-bottom:var(--space-2);text-align:center}.vdp-day-empty{display:block}.vdp-day{align-items:center;aspect-ratio:1/1;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--fs-4);justify-content:center;padding:0;position:relative;transition:background .1s,color .1s;width:100%}.vdp-day:hover{background:var(--bg-hover)}.vdp-day--today{color:var(--accent-text);font-weight:700}.vdp-day--today:after{background:var(--accent-fill);border-radius:var(--radius-circle);bottom:2px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:3px}.vdp-day--sel{background:var(--accent-fill);color:var(--accent-on-fill);font-weight:600}.vdp-day--sel:hover{background:var(--accent-fill-hover)}.vdp-day--sel.vdp-day--today:after{background:rgba(255,255,255,.7)}.vdp-pop-foot{border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:var(--space-4);padding-top:var(--space-4)}.vdp-foot-btn{background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:var(--fs-4);padding:3px 7px;transition:background .12s,color .12s}.vdp-foot-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.vdp-foot-btn--today{color:var(--accent-text)}.vdp-foot-btn--today:hover{background:var(--accent-blue-tint-8);color:var(--accent-text)}.view-el-conditions-btn:hover,.view-el-config-btn:hover,.view-el-float-btn:hover,.view-el-fullscreen-nav-btn:hover,.view-el-maximize-btn:hover,.view-el-pin-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.view-el-conditions-btn:active,.view-el-config-btn:active,.view-el-float-btn:active,.view-el-fullscreen-nav-btn:active,.view-el-maximize-btn:active,.view-el-pin-btn:active{background:var(--accent-blue-tint-12);color:var(--accent-text)}.view-el-config-btn--active,.view-el-float-btn--active,.view-el-pin-btn--active{color:var(--accent-text);opacity:1}.view-el-config-btn--filtered{opacity:1}.view-el-config-btn--active.view-el-config-btn--filtered{color:var(--accent-text)}.view-el-conditions-dot,.view-el-config-dot{background:var(--accent-orange);border-radius:var(--radius-pill);height:6px;position:absolute;right:3px;top:3px;width:6px}.view-element--maximized .view-el-fullscreen-nav-btn,.view-element--maximized .view-el-maximize-btn{opacity:1}.fullscreen-block-controls__btn--active,.view-el-fullscreen-nav-btn--active{background:color-mix(in srgb,var(--accent-line) 14%,transparent);color:var(--accent-text)}.view-element--has-conditions{position:relative}.view-element--has-conditions:before{background:var(--accent-orange);border-radius:var(--radius-pill);content:"";height:7px;left:8px;position:absolute;top:8px;width:7px;z-index:2;pointer-events:none}.view-element--maximized{-webkit-backface-visibility:hidden;backface-visibility:hidden;contain:paint;transform-origin:top left;will-change:transform,border-radius}.view-el-content-shell{display:flex;flex:1 1;flex-direction:column;min-height:0;position:relative}.view-el-content-shell--slide-enter-next.view-el-content-shell--slide-enter-active,.view-el-content-shell--slide-enter-prev.view-el-content-shell--slide-enter-active,.view-el-content-shell--slide-leave-next,.view-el-content-shell--slide-leave-prev{transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .22s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}.view-el-content-shell--slide-leave-next{opacity:0;transform:translate3d(-44px,0,0)}.view-el-content-shell--slide-enter-next,.view-el-content-shell--slide-leave-prev{opacity:0;transform:translate3d(44px,0,0)}.view-el-content-shell--slide-enter-prev{opacity:0;transform:translate3d(-44px,0,0)}.view-el-content-shell--slide-enter-active{opacity:1;transform:translateZ(0)}html[data-theme=dark] .leaflet-container{background:var(--bg-main)}.relu-atlas-popup .leaflet-popup-content-wrapper{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}.relu-atlas-popup .leaflet-popup-content{margin:0}html[data-theme=dark] .relu-atlas-popup .leaflet-popup-tip{background:rgba(4,12,20,.94)}html:not([data-theme=dark]) .relu-atlas-popup .leaflet-popup-tip{background:rgba(255,255,255,.96)}html[data-theme=dark] .view-element--maximized .leaflet-tile-pane{will-change:transform}.view-el-body{flex:1 1;min-height:0;padding:var(--space-region) var(--space-7)}.view-element:has(.lesson-pack-viewer-shell) .view-el-body{padding:0}.view-element:not(.view-element--maximized):not(.view-element--strip):not(:hover) .view-el-body:has(.lesson-pack-viewer-shell){padding-top:24px}.view-element:has(.canvas2d-block) .view-el-body,.view-element:has(.chart-el--map) .view-el-body,.view-element:has(.chart-el--table) .view-el-body,.view-element:has(.discussion-shell) .view-el-body,.view-element:has(.globe-visualization) .view-el-body,.view-element:has(.oil-gas-2d-block) .view-el-body,.view-element:has(.oil-gas-sandbox) .view-el-body,.view-element:has(.rooms-runtime) .view-el-body,.view-element:has(.viewport3d-shell) .view-el-body{padding:0}.view-el-body .chart-el--table .table-pagination,.view-el-body .chart-el--table .table-scroll{border:0;border-radius:0}.view-element:has(.viewport3d-shell) .view-el-body .viewport3d-shell{border:none;border-radius:0}.view-element:has(.oil-gas-sandbox) .view-el-body .oil-gas-sandbox{border:none;border-radius:0}.view-element:has(.discussion-shell) .view-el-body .discussion-shell{border:none;border-radius:0}.view-element:has(.rooms-runtime) .view-el-body .rooms-runtime{border:none;border-radius:0}.view-element:focus-within .view-el-body .relu-map-visualization,.view-element:hover .view-el-body .relu-map-visualization{-webkit-clip-path:inset(0 round 0 0 var(--radius-lg,12px) var(--radius-lg,12px))!important;clip-path:inset(0 round 0 0 var(--radius-lg,12px) var(--radius-lg,12px))!important}.view-element:not(.view-element--maximized):not(.view-element--strip):not(:hover) .view-el-body:has(.chart-el):not(:has(.chart-el--map,.chart-el--media,.chart-el--form,.chart-el--oil-gas-sandbox,.chart-el--oil-gas-2d)){padding-top:34px}.view-element:has(.rooms-runtime) .view-el-header{opacity:1;max-height:40px;padding:7px var(--space-5) var(--space-3) 18px;pointer-events:auto;border-bottom-width:1px;transform:none}.view-element:has(.rooms-runtime) .view-el-title-pill{display:none}.view-el-body--maximized{position:relative}.view-el-body--timeline{display:flex;flex-direction:column;padding-bottom:0}.view-el-body-content{display:flex;flex:1 1;flex-direction:column;min-height:0}.view-element:has(.poll-block--results) .view-el-body{padding:0}.view-el-body .poll-block--results{background:transparent;border:0;border-radius:0;padding:var(--space-7)}.view-element:not(.view-element--maximized):not(.view-element--strip):not(:hover) .view-el-body:has(.poll-block--results){padding-top:12px}.view-el-body--draw-active{cursor:crosshair}.fullscreen-draw-overlay{inset:12px 14px;pointer-events:none;position:absolute;z-index:6}.fullscreen-draw-overlay--active{pointer-events:auto}.fullscreen-draw-overlay__svg{display:block;height:100%;width:100%}.fullscreen-draw-overlay__marker{height:56px;left:0;pointer-events:none;position:absolute;top:0;transform:translate(-50%,-50%);width:56px}.fullscreen-draw-overlay__marker-halo{background:rgba(255,255,255,.14);background:color-mix(in srgb,var(--fullscreen-marker-color) 10%,rgba(255,255,255,.22));border:1px solid rgba(255,255,255,.34);border-radius:var(--radius-pill);inset:3px;opacity:.92;position:absolute}.fullscreen-draw-overlay__marker-ring{background:rgba(255,255,255,.72);background:color-mix(in srgb,var(--fullscreen-marker-color) 18%,rgba(255,255,255,.84));border:3px solid var(--fullscreen-marker-color);border-radius:var(--radius-pill);box-shadow:0 0 0 1px rgba(255,255,255,.92),0 8px 18px rgba(15,23,42,.08);inset:11px;position:absolute}.fullscreen-draw-overlay__marker-core{background:var(--fullscreen-marker-color);border:3px solid rgba(255,255,255,.96);border-radius:var(--radius-pill);box-shadow:0 0 0 2px rgba(15,23,42,.08);height:14px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:14px}.fullscreen-block-controls{display:flex;gap:var(--space-region);position:absolute;top:50%;transform:translateY(-50%);z-index:8}.fullscreen-block-controls--left{left:20px}.fullscreen-block-controls--right{right:20px;flex-direction:row-reverse}.fullscreen-block-panels{min-width:56px;position:relative;transition:height .34s cubic-bezier(.16,1,.3,1);width:56px}.fullscreen-block-panels--transitioning{border-radius:var(--radius-lg);overflow:hidden;pointer-events:none}.fullscreen-block-panel{transform-origin:center center;transition:opacity .32s cubic-bezier(.16,1,.3,1),transform .34s cubic-bezier(.16,1,.3,1),filter .3s cubic-bezier(.16,1,.3,1);will-change:opacity,transform,filter}.fullscreen-block-panel>*{--fullscreen-panel-item-delay:0ms;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .24s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.fullscreen-block-panel>:first-child{--fullscreen-panel-item-delay:16ms}.fullscreen-block-panel>:nth-child(2){--fullscreen-panel-item-delay:34ms}.fullscreen-block-panel>:nth-child(3){--fullscreen-panel-item-delay:52ms}.fullscreen-block-panel>:nth-child(4){--fullscreen-panel-item-delay:70ms}.fullscreen-block-panel>:nth-child(5){--fullscreen-panel-item-delay:88ms}.fullscreen-block-panel>:nth-child(6){--fullscreen-panel-item-delay:106ms}.fullscreen-block-panels--transitioning .fullscreen-block-panel{left:0;position:absolute;top:0;width:100%}.fullscreen-block-panel--enter{filter:blur(4px);opacity:0;transform:scaleY(.93)}.fullscreen-block-panel--enter>*{opacity:0;transform:scale(.94)}.fullscreen-block-panel--enter.fullscreen-block-panel--enter-active{filter:blur(0);opacity:1;transform:scaleX(1)}.fullscreen-block-panel--enter.fullscreen-block-panel--enter-active>*{opacity:1;transform:scale(1);transition-delay:var(--fullscreen-panel-item-delay)}.fullscreen-block-panel--leave{filter:blur(0);opacity:1;transform:scaleX(1)}.fullscreen-block-panel--leave>*{opacity:1;transform:scale(1)}.fullscreen-block-panel--leave.fullscreen-block-panel--leave-active{filter:blur(4px);opacity:0;transform:scaleY(.93)}.fullscreen-block-panel--leave.fullscreen-block-panel--leave-active>*{opacity:0;transform:scale(.94)}.fullscreen-block-controls__stack,.fullscreen-block-tools-panel{background:rgba(255,255,255,.88);border:1px solid rgba(148,163,184,.25);border-radius:var(--radius-lg);box-shadow:none;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}html[data-theme=dark] .fullscreen-block-controls__stack,html[data-theme=dark] .fullscreen-block-tools-panel{background:rgba(7,13,22,.84);border-color:rgba(125,211,252,.18)}.fullscreen-block-controls__btn,.fullscreen-block-tools-panel__color,.fullscreen-block-tools-panel__tool{align-items:center;background:transparent;border:none;border-radius:var(--radius-lg);color:var(--text-muted);cursor:pointer;display:flex;height:42px;justify-content:center;padding:0;transition:background .16s ease,color .16s ease,transform .18s ease;width:42px}.fullscreen-block-controls__btn:hover,.fullscreen-block-tools-panel__color:hover,.fullscreen-block-tools-panel__tool:hover{background:var(--bg-hover);color:var(--text-primary)}.fullscreen-block-controls__btn:active,.fullscreen-block-tools-panel__color:active,.fullscreen-block-tools-panel__tool:active{transform:scale(.97)}.fullscreen-block-tools-panel{align-items:center}.fullscreen-block-tools-panel__tool--active{background:color-mix(in srgb,var(--accent-line) 14%,transparent);color:var(--accent-text)}.fullscreen-block-tools-panel__tool--danger{color:var(--accent-red)}.fullscreen-block-tools-panel__tool--warning{color:var(--accent-orange)}.fullscreen-block-tools-panel__colors{border-top:1px solid rgba(148,163,184,.22);display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-1);padding-top:var(--space-3)}.fullscreen-block-tools-panel__color{position:relative}.fullscreen-block-tools-panel__color:before{background:var(--fullscreen-draw-color);border-radius:var(--radius-md);content:"";height:22px;width:22px}.fullscreen-block-tools-panel__color--active{background:rgba(15,23,42,.08)}.fullscreen-block-tools-panel__color--active:after{border:2px solid;border-radius:var(--radius-lg);content:"";inset:7px;position:absolute}@media (max-width:720px){.fullscreen-block-controls--left{left:14px}.fullscreen-block-controls--right{right:14px}}.view-el-body,.viewer-empty{display:flex;flex-direction:column}.viewer-empty{align-items:center;color:var(--text-secondary);gap:var(--space-8);justify-content:center;min-height:400px;text-align:center}.viewer-empty-icon{opacity:.6}.viewer-empty-title{font-size:var(--fs-8);font-weight:600;margin:0}.viewer-empty-text{font-size:var(--fs-6);line-height:1.6;max-width:380px}@media (max-width:1100px){.viewer-grid{grid-auto-rows:43vh;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.viewer-grid{grid-auto-rows:43vh;grid-template-columns:minmax(0,1fr)}.view-element{grid-column:1/-1!important}}.pinned-dash-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.pinned-dash-page--not-found{align-items:center;color:var(--text-muted);font-size:var(--fs-6);justify-content:center}.pinned-dash-topbar{align-items:center;background:var(--bg-panel);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;gap:var(--space-region);height:45px;min-height:45px;padding:0 var(--space-5)}.pinned-dash-topbar-id{align-items:center;display:flex;gap:var(--space-3);min-width:0;overflow:hidden}.pinned-dash-topbar-actions{align-items:center;display:flex;flex-shrink:0;margin-left:auto;min-width:0}.pinned-dash-topbar-sep{color:var(--text-muted);flex-shrink:0;font-weight:600}.pinned-dash-topbar-block-name{color:var(--text-secondary);font-size:var(--fs-6);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-dash-block-actions{align-items:center;border-left:1px solid var(--border-color);display:flex;flex-shrink:0;gap:var(--space-2);margin-left:var(--space-4);min-width:0;padding-left:var(--space-4)}.pinned-dash-block-actions .view-el-config-btn,.pinned-dash-block-actions .view-el-float-btn,.pinned-dash-block-actions .view-el-fullscreen-nav-btn,.pinned-dash-block-actions .view-el-maximize-btn,.pinned-dash-block-actions .view-el-pin-btn,.pinned-dash-block-actions .view-el-share-btn{opacity:1}.pinned-dash-page--single-block .view-element:not(.view-element--maximized) .view-el-header,.pinned-dash-page--single-block .view-element:not(.view-element--maximized) .view-el-title-pill{display:none!important}.pinned-dash-page--single-block .view-element:not(.view-element--maximized) .view-el-body{padding:0}.pinned-dash-page--single-block .view-element:not(.view-element--maximized){border:none;border-radius:0}.pinned-dash-page--single-block .pinned-dash-viewer-wrap{padding:0}.pinned-dash-topbar-name{color:var(--text-primary);font-size:var(--fs-6);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-dash-topbar-update{align-items:center;color:var(--text-muted);display:inline-flex;font-size:var(--fs-3);gap:5px}.pinned-dash-live-dot{background:var(--accent-green,#28a745);border-radius:var(--radius-circle);display:inline-block;height:7px;width:7px}.pinned-dash-viewer-wrap{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:var(--space-7)}