:root{--brand-900: #0B2438;--brand-800: #13253C;--brand-700: #185684;--brand-600: #2070A8;--brand-500: #4BC0E2;--brand-100: #DCEEF7;--brand-50: #EEF7FB;--brand-accent: #C637F7;--ink-900: #0E1222;--ink-800: #1B2036;--ink-700: #2B324E;--ink-600: #4A526F;--ink-500: #6C7592;--ink-400: #9098B0;--ink-300: #C2C8D6;--ink-200: #DDE1EB;--ink-150: #E6E9F1;--ink-100: #EEF0F5;--surface: #FFFFFF;--app-bg: #F5F6FA;--success-700: #12744A;--success-500: #1FA971;--success-100: #DFF4EA;--warn-700: #8A5A06;--warn-500: #D69320;--warn-100: #FBEFD5;--danger-700: #A11A2A;--danger-500: #D93449;--danger-100: #FADDE2;--info-500: #2893C8;--info-100: #DCEEF7;--r-sm: 4px;--r: 6px;--r-md: 8px;--r-lg: 10px;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-16: 16px;--fs-20: 20px;--fs-28: 28px;--sans: "Open Sauce One", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--app-bg);color:var(--ink-800);font-family:var(--sans);font-size:var(--fs-13);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}a{color:inherit}.app{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--brand-900);color:#c9cee8;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:18px 0 16px}.sb-brand{display:flex;align-items:center;gap:10px;padding:4px 18px 22px}.sb-brand .mark{width:30px;height:30px}.sb-brand .name{color:#fff;font-weight:600;font-size:15px;letter-spacing:.2px}.sb-brand .sub{color:#7aa5c4;font-size:11px;font-family:var(--mono);letter-spacing:.5px;text-transform:uppercase}.sb-section-label{padding:14px 20px 6px;color:#5c89a8;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;font-weight:600}.sb-nav{display:flex;flex-direction:column;gap:2px;padding:0 10px}.sb-item{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--r);color:#a9c5dc;font-size:13px;line-height:1;cursor:pointer;position:relative;transition:background .12s,color .12s}.sb-item svg{flex:0 0 16px;opacity:.85}.sb-item .count{margin-left:auto;font-family:var(--mono);font-size:11px;color:#7aa5c4}.sb-item:hover{background:#ffffff0a;color:#fff}.sb-item.active{background:#ffffff14;color:#fff}.sb-item.active:before{content:"";position:absolute;left:-10px;top:6px;bottom:6px;width:3px;background:#fff;border-radius:0 2px 2px 0}.sb-item.active svg{opacity:1}.sb-item.active .count{color:#fff}.sb-divider{height:1px;background:#ffffff0f;margin:10px 16px}.sb-foot{margin-top:auto;padding:0 10px}.sb-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r)}.sb-user .avatar{width:30px;height:30px;border-radius:50%;background:#185684;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}.sb-user .who{line-height:1.25}.sb-user .who .n{color:#fff;font-size:13px;font-weight:500}.sb-user .who .r{color:#7aa5c4;font-size:11px}.sb-user .logout{margin-left:auto;color:#7aa5c4;padding:6px;border-radius:var(--r-sm)}.sb-user .logout:hover{color:#fff;background:#ffffff0f}.main{min-width:0}.header{display:flex;align-items:center;gap:16px;padding:16px 28px;background:var(--surface);border-bottom:1px solid var(--ink-150)}.header .crumbs{display:flex;flex-direction:column;min-width:0}.header .crumbs .path{font-family:var(--mono);font-size:11px;color:var(--ink-500);letter-spacing:.3px}.header h1{margin:2px 0 0;font-size:20px;font-weight:600;color:var(--ink-900);letter-spacing:-.2px}.tenant-select{margin-left:auto;display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--ink-200);background:#fff;border-radius:var(--r);min-width:260px;cursor:pointer;transition:border-color .12s,box-shadow .12s}.tenant-select:hover{border-color:var(--ink-300)}.tenant-select.open{border-color:var(--brand-700);box-shadow:0 0 0 3px var(--brand-100)}.tenant-select .t-dot{width:8px;height:8px;border-radius:50%;background:var(--success-500)}.tenant-select .t-name{font-weight:500;color:var(--ink-900)}.tenant-select .t-id{font-family:var(--mono);font-size:11px;color:var(--ink-500);margin-left:auto}.tenant-select svg{color:var(--ink-500)}.t-popover{position:absolute;top:calc(100% + 6px);right:0;width:320px;background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-md);box-shadow:0 12px 28px #0e12221f;z-index:20;padding:6px}.t-popover .search{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--ink-150)}.t-popover .search input{flex:1;border:none;outline:none;font-size:13px;font-family:inherit;background:transparent}.t-popover .item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);cursor:pointer}.t-popover .item:hover{background:var(--brand-50)}.t-popover .item.selected{background:var(--brand-100)}.t-popover .item .n{font-weight:500;color:var(--ink-900)}.t-popover .item .id{font-family:var(--mono);font-size:11px;color:var(--ink-500);margin-left:auto}.t-popover .item .dot{width:7px;height:7px;border-radius:50%}.refresh-info{display:flex;align-items:center;gap:6px;color:var(--ink-500);font-size:12px}.refresh-info .spin{transform-origin:center}.refresh-info.spinning .spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.refresh-info button{color:var(--ink-500);padding:6px;border-radius:var(--r-sm)}.refresh-info button:hover{color:var(--brand-800);background:var(--brand-50)}.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--r);font-weight:500;font-size:13px;border:1px solid transparent;transition:background .12s,box-shadow .12s}.btn.primary{background:var(--brand-800);color:#fff}.btn.primary:hover{background:var(--brand-700)}.btn.ghost{color:var(--ink-700);border-color:var(--ink-200);background:#fff}.btn.ghost:hover{background:var(--ink-100)}.btn.icon-only{padding:7px}.content{padding:20px 28px 40px;display:flex;flex-direction:column;gap:16px}.grid-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.kpi{padding:16px 18px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}.kpi .label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-500);font-weight:600}.kpi .row{display:flex;align-items:flex-end;gap:10px}.kpi .val{font-size:30px;font-weight:600;color:var(--ink-900);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.kpi .unit{font-size:13px;color:var(--ink-500);padding-bottom:3px}.kpi .meta{font-size:12px;color:var(--ink-500);display:flex;align-items:center;gap:8px;margin-top:2px}.kpi .delta{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);font-size:11px;padding:2px 6px;border-radius:3px}.kpi .delta.up{color:var(--success-700);background:var(--success-100)}.kpi .delta.down{color:var(--danger-700);background:var(--danger-100)}.kpi .delta.flat{color:var(--ink-600);background:var(--ink-100)}.kpi .spark{margin-top:8px;height:34px;width:100%}.kpi .accent-bar{position:absolute;left:0;top:0;bottom:0;width:3px}.grid-row2{display:grid;grid-template-columns:2fr 1fr;gap:14px}.grid-row2>.card{min-width:0}.card-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--ink-150)}.card-head h3{margin:0;font-size:14px;font-weight:600;color:var(--ink-900)}.card-head .sub{color:var(--ink-500);font-size:12px}.card-head .actions{margin-left:auto;display:flex;gap:8px;align-items:center}.seg{display:flex;border:1px solid var(--ink-200);border-radius:var(--r-sm);overflow:hidden}.seg button{padding:5px 10px;font-size:11px;color:var(--ink-600);font-family:var(--mono)}.seg button.on{background:var(--ink-100);color:var(--ink-900)}.seg button+button{border-left:1px solid var(--ink-200)}.legend{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--ink-600)}.legend .sw{width:10px;height:10px;border-radius:2px;display:inline-block;vertical-align:middle;margin-right:6px}.chart-wrap{padding:14px 18px 18px}.chart-svg{width:100%;height:260px;display:block}.chart-tooltip{position:absolute;pointer-events:none;transform:translate(-50%,-100%);background:var(--ink-900);color:#fff;padding:8px 10px;border-radius:var(--r);font-size:11px;font-family:var(--mono);white-space:nowrap;box-shadow:0 6px 16px #0003;opacity:0;transition:opacity .1s}.chart-tooltip.show{opacity:1}.chart-tooltip .line{display:flex;align-items:center;gap:6px}.chart-tooltip .line .sw{width:8px;height:8px;border-radius:2px}.events{padding:4px 0 6px}.event{display:grid;grid-template-columns:64px 1fr auto;gap:10px;padding:10px 18px;border-bottom:1px solid var(--ink-100);align-items:start}.event:last-child{border-bottom:none}.event .time{font-family:var(--mono);font-size:11px;color:var(--ink-500);padding-top:2px}.event .body{line-height:1.35;min-width:0}.event .body .tenant{color:var(--ink-500);font-size:11px;font-family:var(--mono)}.event .body .msg{color:var(--ink-800);font-size:13px;word-wrap:break-word}.event .body .msg b{color:var(--ink-900);font-weight:600}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 8px;border-radius:99px;font-weight:500;white-space:nowrap;font-family:var(--mono)}.badge .d{width:6px;height:6px;border-radius:50%}.badge.ok{background:var(--success-100);color:var(--success-700)}.badge.ok .d{background:var(--success-500)}.badge.warn{background:var(--warn-100);color:var(--warn-700)}.badge.warn .d{background:var(--warn-500)}.badge.err{background:var(--danger-100);color:var(--danger-700)}.badge.err .d{background:var(--danger-500)}.badge.info{background:var(--info-100);color:var(--info-500)}.badge.info .d{background:var(--info-500)}.badge.paused{background:var(--ink-100);color:var(--ink-600)}.badge.paused .d{background:var(--ink-400)}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}table.data thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-500);font-weight:600;padding:10px 14px;background:#fafbfd;border-bottom:1px solid var(--ink-150);position:sticky;top:0}table.data tbody td{padding:12px 14px;border-bottom:1px solid var(--ink-100);vertical-align:middle;color:var(--ink-800)}table.data tbody tr:hover{background:var(--brand-50)}table.data tbody tr:last-child td{border-bottom:none}table.data .cell-tenant{font-weight:500;color:var(--ink-900)}table.data .cell-tenant .sub{display:block;font-family:var(--mono);font-size:11px;color:var(--ink-500);font-weight:400}table.data .cell-connector{display:flex;align-items:center;gap:8px}table.data .cell-connector .cicon{width:26px;height:26px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;font-weight:600}table.data .cell-connector .name{font-weight:500;color:var(--ink-900)}table.data .cell-connector .sub{font-family:var(--mono);font-size:11px;color:var(--ink-500)}table.data .cell-time{font-family:var(--mono);font-size:12px;color:var(--ink-700)}table.data .cell-time .rel{display:block;font-size:11px;color:var(--ink-500)}table.data .row-actions{display:flex;gap:4px;justify-content:flex-end}table.data .row-actions button{width:28px;height:28px;border-radius:var(--r-sm);color:var(--ink-500);display:inline-flex;align-items:center;justify-content:center}table.data .row-actions button:hover{background:var(--ink-100);color:var(--brand-800)}table.data .row-actions button.danger:hover{color:var(--danger-700);background:var(--danger-100)}.toolbar{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--ink-150);background:#fafbfd}.toolbar .search{display:flex;align-items:center;gap:6px;border:1px solid var(--ink-200);border-radius:var(--r);padding:6px 10px;background:#fff;min-width:240px}.toolbar .search input{border:none;outline:none;font:inherit;width:100%;background:transparent}.toolbar .chip{padding:4px 10px;border:1px solid var(--ink-200);border-radius:99px;font-size:12px;color:var(--ink-700);background:#fff;display:inline-flex;align-items:center;gap:5px}.toolbar .chip.on{background:var(--brand-100);border-color:var(--brand-600);color:var(--brand-800)}.toolbar .meta{margin-left:auto;color:var(--ink-500);font-size:12px;font-family:var(--mono)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e122273;display:flex;align-items:center;justify-content:center;z-index:40;animation:fadeIn .12s ease}@keyframes fadeIn{0%{opacity:0}}.modal{background:#fff;width:520px;border-radius:var(--r-lg);box-shadow:0 30px 60px #00000040;overflow:hidden;animation:popIn .18s cubic-bezier(.2,.9,.3,1.2)}@keyframes popIn{0%{transform:translateY(8px) scale(.98);opacity:0}}.modal-head{padding:16px 20px;border-bottom:1px solid var(--ink-150);display:flex;align-items:center}.modal-head h3{margin:0;font-size:16px}.modal-head .x{margin-left:auto;padding:6px;border-radius:var(--r-sm);color:var(--ink-500)}.modal-head .x:hover{background:var(--ink-100);color:var(--ink-900)}.modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px}.modal-foot{padding:14px 20px;border-top:1px solid var(--ink-150);display:flex;gap:8px;justify-content:flex-end;background:#fafbfd}.field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-500);font-weight:600;margin-bottom:6px}.field select,.field input[type=text]{width:100%;padding:8px 10px;border:1px solid var(--ink-200);border-radius:var(--r);font:inherit;background:#fff;color:var(--ink-800)}.field select:focus,.field input:focus{outline:none;border-color:var(--brand-700);box-shadow:0 0 0 3px var(--brand-100)}.radio-group{display:flex;gap:8px}.radio-group label{flex:1;padding:10px 12px;border:1px solid var(--ink-200);border-radius:var(--r);cursor:pointer;display:flex;flex-direction:column;gap:3px}.radio-group label.on{border-color:var(--brand-700);background:var(--brand-50)}.radio-group label input{display:none}.radio-group label .t{font-weight:500;color:var(--ink-900);font-size:13px}.radio-group label .d{font-size:11px;color:var(--ink-500)}.toast{position:fixed;bottom:22px;right:22px;z-index:50;background:var(--ink-900);color:#fff;padding:10px 14px;border-radius:var(--r);display:flex;align-items:center;gap:10px;font-size:13px;box-shadow:0 10px 30px #00000040;animation:toastIn .2s cubic-bezier(.2,.9,.3,1.2)}@keyframes toastIn{0%{transform:translateY(10px);opacity:0}}.tweaks{position:fixed;bottom:16px;right:16px;width:280px;background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-md);box-shadow:0 18px 40px #0e12222e;z-index:60;overflow:hidden}.tweaks .th{padding:10px 14px;background:var(--ink-900);color:#fff;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500}.tweaks .th .x{margin-left:auto;cursor:pointer;color:#aaa}.tweaks .tb{padding:12px 14px;display:flex;flex-direction:column;gap:14px}.tweaks .row{display:flex;flex-direction:column;gap:6px}.tweaks .row>.lbl{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-500);font-weight:600}.tweaks .swatches{display:flex;gap:6px}.tweaks .sw{width:24px;height:24px;border-radius:var(--r-sm);cursor:pointer;position:relative;border:2px solid transparent}.tweaks .sw.on{border-color:var(--ink-900)}.row-flex{display:flex;align-items:center;gap:8px}.grow{flex:1}.muted{color:var(--ink-500)}.mono{font-family:var(--mono)}.relative{position:relative}body.density-compact table.data tbody td{padding:8px 14px}body.density-compact .event{padding:7px 18px}.sb-poweredby{margin-top:12px;padding:14px 10px 4px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;border-top:1px solid rgba(255,255,255,.08)}.sb-poweredby span{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#5c89a8;font-weight:600}.sb-poweredby img{height:60px;width:auto;display:block}body.sidebar-light .sb-poweredby{border-color:var(--ink-150)}body.sidebar-light .sb-poweredby span{color:var(--ink-500)}body.sidebar-light .sb-poweredby img{filter:none;opacity:1}.sb-brand img{border-radius:6px}body.sidebar-light .sidebar{background:#fff;color:var(--ink-700);border-right:1px solid var(--ink-150)}body.sidebar-light .sidebar .sb-brand .name{color:var(--ink-900)}body.sidebar-light .sidebar .sb-brand .sub{color:var(--ink-500)}body.sidebar-light .sb-item{color:var(--ink-600)}body.sidebar-light .sb-item:hover{background:var(--ink-100);color:var(--ink-900)}body.sidebar-light .sb-item.active{background:var(--brand-100);color:var(--brand-800)}body.sidebar-light .sb-item.active:before{background:var(--brand-800)}body.sidebar-light .sb-section-label{color:var(--ink-500)}body.sidebar-light .sb-divider{background:var(--ink-150)}body.sidebar-light .sb-user .who .n{color:var(--ink-900)}body.sidebar-light .sb-user .who .r,body.sidebar-light .sb-user .logout{color:var(--ink-500)}body.sidebar-light .sb-user .logout:hover{background:var(--ink-100);color:var(--ink-900)}
