:root{--gray-0:#fff;--gray-100:#f8f9fa;--gray-200:#eaecef;--gray-300:#dfe2e6;--gray-400:#cfd4d9;--gray-500:#aeb5bc;--gray-600:#6e757c;--gray-700:#4a5056;--gray-800:#353a3f;--gray-900:#222529;--gray-1000:#000;--blue-400:#004094;--blue-300:#0051bb;--blue-200:#006cfa;--blue-100:#3489f7;--blue-0:#bfdafe;--green-400:#136f26;--green-300:#1a9432;--green-200:#1cbb40;--green-100:#40dd64;--green-0:#c6eecf;--yellow-400:#e3b718;--yellow-300:#f7c707;--yellow-200:gold;--yellow-100:#fbe366;--yellow-0:#fdf5ca;--orange-400:#d87204;--orange-300:#e67906;--orange-200:#f2820a;--orange-100:#ff9c33;--orange-0:#ffdcb8;--red-400:#b31b06;--red-300:#d51d09;--red-200:#ff1e05;--red-100:#fb5d4c;--red-0:#f7d2ce;--purple-400:#7b1da7;--purple-300:#8d27be;--purple-200:#ac2ee7;--purple-100:#c259f3;--purple-0:#eac5fb;--color-bg:var(--gray-1000);--color-surface:var(--gray-900);--color-border:var(--gray-800);--color-text:var(--gray-200);--color-muted:var(--gray-600);--color-accent:var(--yellow-400)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--gray-800) transparent;margin:0;padding:0}svg,svg *{outline:none}body{background:var(--color-bg);color:var(--color-text);min-height:100vh;font-family:IBM Plex Sans,sans-serif;font-size:13px}.auth-loading{height:100vh;color:var(--color-muted);justify-content:center;align-items:center;font-size:13px;display:flex}#root{flex-direction:column;height:100vh;display:flex}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:16px;padding:10px 16px;display:flex}.hamburger{position:relative}.hamburger-btn{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:18px;line-height:1}.hamburger-btn:hover{color:var(--color-text)}.hamburger-menu{background:var(--color-surface);border:1px solid var(--color-border);z-index:1000;border-radius:4px;min-width:120px;margin-top:6px;position:absolute;top:100%;left:0}.hamburger-menu button{width:100%;color:var(--color-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 12px;font-family:IBM Plex Sans,sans-serif;font-size:12px;display:block}.hamburger-menu button:hover{background:var(--color-border)}.hamburger-version{color:var(--gray-600);padding:4px 12px 6px;font-size:9px}.hamburger-sep{border-top:1px solid var(--color-border);margin:2px 0}.baseline-trigger-wrap{align-items:center;gap:4px;margin-left:8px;display:flex}.baseline-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;font-family:IBM Plex Sans,sans-serif;font-size:10px;font-weight:600}.baseline-trigger{border:1px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border-radius:3px;padding:2px 8px;font-family:IBM Plex Sans,sans-serif;font-size:10px;font-weight:600}.baseline-trigger:hover{color:var(--color-text)}.baseline-trigger.active{color:var(--color-accent);border-color:var(--color-accent)}.baseline-clear{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:10px}.baseline-clear:hover{color:var(--color-text)}.app-brand{color:var(--color-text);letter-spacing:.01em;align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:600;display:flex}.tab-bar{gap:0;display:flex}.tab-bar-global{border-left:1px solid var(--color-border);margin-left:8px;padding-left:8px}.tab{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:4px 12px;font-family:IBM Plex Sans,sans-serif;font-size:11px;font-weight:600;transition:color .1s,border-color .1s}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tab-sm{border:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);cursor:pointer;background:0 0;padding:2px 8px;font-family:IBM Plex Sans,sans-serif;font-size:10px;font-weight:600}.tab-sm:first-child{border-radius:3px 0 0 3px}.tab-sm:last-child{border-radius:0 3px 3px 0}.tab-sm+.tab-sm{margin-left:-1px}.tab-sm:hover{color:var(--color-text)}.tab-sm.active{color:var(--color-accent);border-color:var(--color-accent);z-index:1;position:relative}.main{flex:1;display:flex;overflow:hidden}.panel{background:var(--color-bg);flex-direction:column;height:100%;display:flex;overflow:hidden}.resize-handle{background:var(--color-border);cursor:col-resize;flex-shrink:0;width:1px;transition:background .15s;position:relative}.resize-handle:hover,.resize-handle[data-resize-handle-active]{background:var(--color-accent);width:2px}.panel-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;font-weight:600;display:flex}.panel-subheader{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:6px 12px}.pagination{border-top:1px solid var(--color-border);color:var(--color-muted);flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:6px 12px;font-size:11px;display:flex}.pagination button{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:0 0;border-radius:3px;padding:1px 8px;font-size:11px}.pagination button:hover:not(:disabled){color:var(--color-text)}.pagination button:disabled{opacity:.3;cursor:default}.panel-body{flex:1;padding:10px;overflow:auto}.tree-search{background:var(--color-surface);border:1px solid var(--color-border);width:100%;color:var(--color-text);border-radius:4px;outline:none;flex-shrink:0;padding:5px 8px;font-family:IBM Plex Sans,sans-serif;font-size:12px}.tree-search::placeholder{color:var(--color-muted)}.tree-search:focus{border-color:var(--color-accent)}.tree-input-wrap{width:100%;display:flex;position:relative}.tree-input-wrap .tree-search{width:100%;padding-right:22px}.search-mode-wrap{z-index:2;position:absolute;top:1px;bottom:1px;left:1px}.search-mode-btn{background:var(--color-border);width:56px;height:100%;color:var(--color-muted);cursor:pointer;border:none;border-radius:3px 0 0 3px;justify-content:space-between;align-items:center;padding:0 4px 0 6px;font-family:IBM Plex Sans,sans-serif;font-size:10px;display:flex}.search-mode-btn:hover{color:var(--color-text)}.search-mode-arrow{font-size:8px}.search-mode-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;min-width:80px;margin-top:2px;position:absolute;top:100%;left:0;overflow:hidden}.search-mode-item{color:var(--color-muted);cursor:pointer;padding:4px 8px;font-family:IBM Plex Sans,sans-serif;font-size:11px}.search-mode-item:hover{background:var(--color-border);color:var(--color-text)}.search-mode-item.active{color:var(--color-accent)}.tree-input-wrap .search-has-mode{padding-left:62px}.tree-input-clear{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:10px;line-height:1;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.tree-input-clear:hover{color:var(--color-text)}.search-count{color:var(--color-muted);white-space:nowrap;flex-shrink:0;font-size:11px}.search-nav{background:var(--color-surface);border:1px solid var(--color-border);color:var(--gray-500);cursor:pointer;border-radius:4px;flex-shrink:0;padding:3px 6px;font-size:11px;line-height:1}.search-nav:hover{border-color:var(--color-accent);color:var(--color-text)}.tree-breadcrumb{color:var(--color-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;padding:3px 10px;font-family:IBM Plex Mono,monospace;font-size:10px}.tree-browser{padding:4px 0}.tree-node{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;transition:background .1s;display:flex}.tree-node:hover{background:var(--color-surface)}.tree-node.selected{background:color-mix(in srgb, var(--color-fg) 8%, transparent)}.tree-node.domain-hit{background:color-mix(in srgb, var(--yellow-200) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--yellow-200) 40%, transparent)}.tree-caret{color:var(--color-muted);flex-shrink:0;width:12px;font-size:8px}.tree-key{color:var(--color-text);flex:1;font-family:IBM Plex Mono,monospace;font-size:11.5px}.tree-node.selected .tree-key{color:var(--color-fg)}.tree-count{color:var(--color-muted);flex-shrink:0;font-size:11px}.tree-loading{color:var(--color-muted);padding:4px 28px;font-size:11px}.tree-toolbar{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.tree-toolbar-icons{align-items:center;gap:4px;display:flex}.icon-btn{color:var(--color-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:3px 5px;font-size:14px;line-height:1;transition:color .1s,border-color .1s}.delta-table th{position:relative}.delta-table th .icon-btn{font-size:16px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.icon-btn:hover{color:var(--color-text);border-color:var(--color-border)}.icon-btn.active{color:var(--color-accent);border-color:var(--color-accent)}.tree-groupby-badge{background:color-mix(in srgb, var(--yellow-400) 15%, transparent);color:var(--yellow-400);border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.tree-groupby-clear{cursor:pointer;opacity:.7;font-size:10px}.tree-groupby-clear:hover{opacity:1}.tree-context-menu{background:var(--color-surface);border:1px solid var(--color-border);z-index:100;min-width:160px;font-family:IBM Plex Sans,sans-serif;position:fixed;box-shadow:0 4px 16px #00000080}.tree-context-item{cursor:pointer;color:var(--color-muted);align-items:center;gap:8px;padding:7px 12px;font-size:12px;display:flex}.tree-context-item:hover{background:var(--color-border);color:var(--color-text)}.tree-context-icon{flex-shrink:0;font-size:14px}.stat-path{color:var(--color-muted);word-break:break-all;margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:11px}.stat-label{color:var(--color-fg);margin-bottom:2px;font-size:11px;font-weight:500}.stat-description{color:var(--color-muted);margin-bottom:6px;font-size:11px;line-height:1.4}.label-indicator{color:var(--color-muted);font-size:10px;font-style:italic}.tree-link{color:var(--color-accent);cursor:pointer;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.tree-link:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.stat-badge{background:var(--color-surface);color:var(--gray-500);border-radius:4px;margin-bottom:10px;padding:2px 7px;font-size:11px;display:inline-block}.note-indicator{color:color-mix(in srgb, var(--yellow-300) 50%, transparent);font-size:inherit;margin-left:4px}.note-field{margin-bottom:10px}.delta-table .note-field{margin-bottom:0}.note-input{width:100%;color:var(--color-text);background:0 0;border:1px solid #0000;border-radius:4px;outline:none;padding:4px 6px;font-family:IBM Plex Sans,sans-serif;font-size:11px;transition:border-color .15s,background .15s}.note-input::placeholder{color:var(--gray-700)}.note-input:hover{border-color:var(--color-border)}.note-input:focus{border-color:var(--color-accent);background:var(--color-surface)}.stats-row{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.stat-box{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:4px;flex:1;min-width:56px;padding:7px 8px}.stat-box .label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.stat-box .value{color:var(--color-text);word-break:break-all;margin-top:2px;font-size:13px;font-weight:600}.tenant-list-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tenant-value{color:var(--color-accent);text-overflow:ellipsis;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:11px;overflow:hidden}.tenant-count{color:var(--color-muted);font-size:11px}.tenant-item{cursor:pointer;color:var(--color-muted);border-radius:4px;justify-content:space-between;align-items:center;padding:5px 8px;font-family:IBM Plex Mono,monospace;font-size:12px;transition:background .1s;display:flex}.tenant-item:hover{background:var(--color-surface);color:var(--color-text)}.tenant-item-count{color:var(--color-muted);flex-shrink:0;font-size:11px}.bar-row{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:4px 6px;transition:background .1s;display:flex}.bar-row:hover{background:var(--color-surface)}.bar-label{color:var(--gray-500);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-family:IBM Plex Mono,monospace;font-size:11px;position:relative;overflow:hidden}.bar-count{text-align:right;width:56px;color:var(--gray-500);flex-shrink:0;font-size:11px}.bar-pct{color:var(--color-muted);margin-left:4px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-800);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-700)}.placeholder{height:100%;color:var(--gray-800);text-align:center;justify-content:center;align-items:center;padding:20px;font-size:12px;display:flex}.empty-value{color:var(--color-muted);font-style:italic}.loading{height:100%;color:var(--color-muted);justify-content:center;align-items:center;font-size:12px;display:flex}.delta-mode-toggle{display:flex}.delta-type-list,.delta-tenant-list{flex-direction:column;gap:1px;display:flex}.tree-node.template-node{flex-direction:column;align-items:stretch;gap:0;padding:5px 10px}.template-node-top{align-items:baseline;gap:6px;width:100%;display:flex}.template-node-top .tree-key{flex:1;min-width:0}.template-node-top .tree-count{flex-shrink:0}.template-node-sub{color:var(--color-muted);opacity:.6;margin-top:2px;font-size:9px;font-style:italic}.delta-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:12px}.delta-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);box-shadow:inset 0 -1px 0 var(--color-border);background:var(--color-bg);z-index:2;white-space:nowrap;border-bottom:none;padding:6px 8px;font-size:10px;font-weight:600;position:sticky;top:0;overflow:visible}.delta-table td{border-bottom:1px solid color-mix(in srgb, var(--color-border) 40%, transparent);padding:5px 8px}.delta-table tbody tr:hover{background:var(--color-surface)}.delta-table tbody tr.selected{background:color-mix(in srgb, var(--color-fg) 8%, transparent)}.bar-label .tree-caret{text-align:center;width:12px;margin-right:4px;display:inline-block}.delta-table tbody tr.selected .bar-label{color:var(--color-fg)}.delta-value{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:11px;overflow:hidden}.delta-value-current{color:var(--color-accent)}.baseline-diff{background:color-mix(in srgb, var(--orange-200) 15%, transparent)}.sorted-col{background:color-mix(in srgb, var(--color-surface) 80%, transparent)}.sortable-col{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-col:hover{color:var(--color-fg)}.tenant-ms-trigger{border:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:3px;align-items:center;gap:4px;padding:2px 8px;font-family:IBM Plex Sans,sans-serif;font-size:10px;font-weight:600;display:flex}.tenant-ms-trigger:hover{color:var(--color-text)}.tenant-ms-trigger.open{color:var(--color-accent);border-color:var(--color-accent)}.tenant-ms-label{text-overflow:ellipsis;max-width:120px;overflow:hidden}.tenant-ms-caret{font-size:8px;line-height:1}.tenant-ms-dropdown{background:var(--color-surface);border:1px solid var(--color-border);z-index:200;border-radius:6px;flex-direction:column;width:220px;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 24px #00000080}.tenant-ms-search-wrap{padding:6px 6px 4px;position:relative}.tenant-ms-search{background:var(--gray-900);border:1px solid var(--color-border);width:100%;color:var(--color-text);border-radius:4px;outline:none;padding:5px 22px 5px 8px;font-family:IBM Plex Sans,sans-serif;font-size:12px}.tenant-ms-search::placeholder{color:var(--color-muted)}.tenant-ms-search:focus{border-color:var(--color-accent)}.tenant-ms-search-wrap .tree-input-clear{right:11px}.tenant-ms-warning{color:var(--color-accent);background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:6px 10px;font-size:12px}.tenant-ms-actions{border-bottom:1px solid var(--color-border);gap:8px;padding:2px 8px 4px;display:flex}.tenant-ms-action{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:IBM Plex Sans,sans-serif;font-size:10px}.tenant-ms-action:hover{color:var(--color-text);text-decoration:underline}.tenant-ms-groups{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:4px;max-height:60px;padding:4px 8px 6px;display:flex;overflow-y:auto}.tenant-ms-group{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-family:IBM Plex Sans,sans-serif;font-size:10px;font-weight:600;transition:color .1s,border-color .1s,background .1s;display:flex}.tenant-ms-group:hover{color:var(--color-text);border-color:var(--gray-600)}.tenant-ms-group.active{color:var(--color-accent);border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.tenant-ms-group-count{opacity:.6;font-size:9px}.tenant-ms-list{max-height:260px;padding:4px 0;overflow-y:auto}.tenant-ms-item{color:var(--color-muted);cursor:pointer;align-items:center;gap:6px;padding:4px 8px;font-family:IBM Plex Mono,monospace;font-size:12px;transition:background .1s;display:flex}.tenant-ms-item:hover{background:var(--color-border)}.tenant-ms-item.checked{color:var(--color-text)}.tenant-ms-item input[type=checkbox]{accent-color:var(--color-accent);flex-shrink:0;width:13px;height:13px}.tenant-ms-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tenant-ms-empty{color:var(--color-muted);text-align:center;padding:8px;font-size:11px}.delta-sensor-list{flex-direction:column;gap:2px;display:flex}.delta-sensor-labels{text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);cursor:default;font-size:10px;font-weight:600}.delta-sensor-labels:hover{background:0 0}.delta-sensor-labels .tree-key,.delta-sensor-labels .delta-sensor-type,.delta-sensor-labels .delta-sensor-template,.delta-sensor-labels .tree-count{color:var(--color-muted);font-family:IBM Plex Sans,sans-serif;font-size:10px}.delta-sensor-type{color:var(--color-muted);font-size:11px}.delta-sensor-child{color:var(--color-muted);align-items:center;gap:8px;padding:2px 8px;font-size:11px;display:flex}.delta-default-row td{opacity:.4}.delta-children-badge{color:var(--color-muted);text-transform:none;letter-spacing:0;font-size:10px;font-weight:400}.delta-sensor-template{color:var(--gray-600);background:var(--color-surface);padding:1px 5px;font-size:10px}.delta-table-nested{width:calc(100% - 20px);margin:4px 0 8px 20px}.delta-nested-row td{background:color-mix(in srgb, var(--color-surface) 50%, transparent);white-space:normal;word-break:break-word}.label-wrap{white-space:normal;word-break:break-word}.delta-section-header td{color:var(--color-fg);border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:8px 8px 4px;font-size:12px;font-weight:600}.delta-section-header .delta-sensor-type{margin-left:8px}.delta-section-header .delta-sensor-template{margin-left:6px}.delta-section-header .tree-count{float:right;margin-left:auto}.delta-section-subheader td{color:var(--color-muted);border-bottom:1px solid color-mix(in srgb, var(--color-border) 40%, transparent);padding:6px 8px 3px 20px;font-size:11px}.delta-section-subheader .tree-count{float:right}.global-loading-overlay{background:color-mix(in srgb, var(--color-bg) 80%, transparent);color:var(--color-muted);z-index:100;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.value-drawer{border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;padding:6px 10px}.value-drawer-header{justify-content:flex-end;gap:6px;margin-bottom:4px;display:flex}.value-drawer-copy,.value-drawer-close{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:0 0;border-radius:3px;padding:1px 8px;font-size:11px}.value-drawer-copy:hover,.value-drawer-close:hover{color:var(--color-text)}.value-drawer-content{color:var(--color-accent);white-space:pre-wrap;word-break:break-all;max-height:120px;font-family:IBM Plex Mono,monospace;font-size:11px;overflow-y:auto}
