:root{--shell: #000000;--shell-hover: #2b2b2b;--accent: #0078d4;--accent-hover: #106ebe;--accent-active: #005a9e;--accent-light: #deecf9;--canvas: #faf9f8;--surface: #ffffff;--surface-hover: #f3f2f1;--border: #edebe9;--border-strong: #c8c6c4;--text: #201f1e;--text-muted: #605e5c;--text-inverted: #ffffff;--positive: #107c10;--negative: #a4262c;--critical: #ca5010;--shadow: 0 1.6px 3.6px rgba(0, 0, 0, .13), 0 .3px .9px rgba(0, 0, 0, .1);--shadow-hover: 0 6.4px 14.4px rgba(0, 0, 0, .13), 0 1.2px 3.6px rgba(0, 0, 0, .1);--radius: 4px;--font: "Segoe UI", "Segoe UI Web (West European)", -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:14px;color:var(--text);background:var(--canvas)}.app{display:flex;flex-direction:column;height:100%}.suitebar{display:flex;align-items:center;gap:12px;height:48px;padding:0 12px;background:var(--shell);color:var(--text-inverted);flex-shrink:0}.suitebar .hamburger{display:grid;place-items:center;padding:6px;border:none;background:transparent;color:var(--text-inverted);cursor:pointer;border-radius:var(--radius)}.suitebar .hamburger:hover{background:var(--shell-hover)}.suitebar .waffle{display:grid;grid-template-columns:repeat(3,4px);gap:3px;padding:8px;border:none;background:transparent;cursor:pointer;border-radius:var(--radius)}.suitebar .waffle:hover{background:var(--shell-hover)}.suitebar .waffle span{width:4px;height:4px;background:var(--text-inverted)}.suitebar .brand{font-size:16px;font-weight:600;letter-spacing:.2px}.suitebar .brand-suffix{font-weight:300;opacity:.85}.suitebar .grow{flex:1}.suitebar .globalsearch{width:320px;max-width:34vw;background:var(--surface);color:var(--text);border:none;border-radius:var(--radius);padding:7px 12px;font-family:inherit;font-size:13px}.suitebar select,.suitebar .persona{background:#ffffff1f;color:var(--text-inverted);border:1px solid rgba(255,255,255,.4);border-radius:var(--radius);padding:4px 8px;font-family:inherit;font-size:13px}.suitebar select option{color:var(--text)}.suitebar .avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--text-inverted);display:grid;place-items:center;font-weight:600;font-size:12px}.suitebar .signout{background:transparent;border:1px solid rgba(255,255,255,.4);color:var(--text-inverted);border-radius:var(--radius);padding:4px 10px;font-family:inherit;font-size:12px;cursor:pointer}.suitebar .signout:hover{background:var(--shell-hover)}.badge.demo{background:var(--critical);border-color:var(--critical);color:var(--text-inverted)}.shell{display:flex;flex:1;min-height:0}.nav{width:230px;background:var(--surface);border-right:1px solid var(--border);padding:8px 0;overflow-y:auto;overflow-x:hidden;flex-shrink:0;transition:width .15s ease}.nav .group{margin:14px 14px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);white-space:nowrap}.nav a{display:flex;align-items:center;gap:10px;padding:8px 14px;margin:1px 8px;border-radius:var(--radius);color:var(--text);text-decoration:none;border-left:3px solid transparent;white-space:nowrap}.nav a:hover{background:var(--surface-hover)}.nav a.active{background:var(--accent-light);border-left-color:var(--accent);color:var(--accent-active);font-weight:600}.nav a .icon{width:18px;display:inline-flex;justify-content:center;flex-shrink:0}.nav a .icon svg{display:block}.nav.collapsed{width:52px}.nav.collapsed .group{height:0;margin:8px 12px;padding:0;overflow:hidden;border-top:1px solid var(--border);font-size:0}.nav.collapsed a{justify-content:center;gap:0;padding:10px 0;margin:1px 6px;border-left-width:0}.nav.collapsed a>span:not(.icon){display:none}.nav-backdrop{display:none}.content{flex:1;overflow-y:auto;padding:20px 28px;min-width:0}.inline-icon{display:inline-flex;vertical-align:-2px;margin-right:5px}.commandbar{display:flex;align-items:center;gap:12px;padding:4px 0 12px;border-bottom:1px solid var(--border);margin-bottom:16px;flex-wrap:wrap}h1.page-title{font-size:20px;font-weight:600;margin:0 8px 0 0}.btn{font-family:inherit;font-size:14px;padding:6px 16px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer}.btn:hover{background:var(--surface-hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--text-inverted);font-weight:600}.btn.primary:hover{background:var(--accent-hover)}.btn:disabled{opacity:.45;cursor:default}.btn.small{font-size:12px;padding:4px 10px}input,select{font-family:inherit;font-size:14px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text)}input:focus,select:focus,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label.field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.toolbar-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:16px;overflow-x:auto}.card h2{font-size:15px;font-weight:600;margin:0 0 12px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.tile .value{font-size:26px;font-weight:600;color:var(--accent-active)}.tile .label{font-size:12px;color:var(--text-muted);margin-top:2px}.home-group{margin-bottom:22px}.home-group>h2{font-size:16px;font-weight:600;margin:0 0 10px}.action-grid{display:flex;flex-wrap:wrap;gap:10px}.action-btn{display:flex;align-items:center;gap:10px;min-width:210px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);font-family:inherit;font-size:14px;text-align:left;cursor:pointer}.action-btn:hover{box-shadow:var(--shadow-hover);border-color:var(--accent)}.action-btn .icon{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius);background:var(--surface-hover);color:var(--text);flex-shrink:0}.action-btn .label{font-weight:600}.action-btn .sub{font-size:11px;color:var(--text-muted)}table.grid{width:100%;border-collapse:collapse;font-size:13px}table.grid th{text-align:left;font-weight:600;font-size:12px;color:var(--text-muted);padding:8px 10px;border-bottom:1px solid var(--border-strong);white-space:nowrap}table.grid td{padding:7px 10px;border-bottom:1px solid var(--border)}table.grid tr:hover td{background:var(--surface-hover)}table.grid tr.clickable{cursor:pointer}.badge{display:inline-block;padding:1px 8px;border:1px solid var(--accent);border-radius:10px;font-size:11px;font-weight:600;color:var(--accent-active)}.badge.inverted{background:var(--accent);border-color:var(--accent);color:var(--text-inverted)}.badge.muted{border-color:var(--border-strong);color:var(--text-muted)}.badge.positive{border-color:var(--positive);color:var(--positive)}.badge.negative{border-color:var(--negative);color:var(--negative)}.badge.critical{border-color:var(--critical);color:var(--critical)}.muted{color:var(--text-muted)}.mono{font-family:Cascadia Code,Consolas,monospace;font-size:12px}.error{border-left:4px solid var(--negative);background:#fdf3f4;color:var(--negative);padding:10px 12px;border-radius:var(--radius);margin-bottom:12px}.toasts{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:100}.toast{background:var(--text);color:var(--text-inverted);padding:10px 16px;border-radius:var(--radius);box-shadow:var(--shadow-hover);font-size:13px;max-width:340px}.toast.success{background:var(--positive)}pre.document-body{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius);padding:14px;font-family:Cascadia Code,Consolas,monospace;font-size:12px;overflow-x:auto;white-space:pre}.chart-bars{display:flex;align-items:flex-end;gap:6px;height:140px;padding-top:8px}.chart-bars .bar{flex:1;background:var(--accent);border-radius:2px 2px 0 0;min-width:8px}.chart-bars .bar-label{font-size:10px;color:var(--text-muted);text-align:center;margin-top:4px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.two-col{grid-template-columns:1fr}}.tree-indent-1 td:first-child{padding-left:28px}.tree-indent-2 td:first-child{padding-left:48px}.login-screen{height:100%;display:grid;place-items:center;background:linear-gradient(160deg,#f3f2f1,#deecf9)}.login-card{width:380px;background:var(--surface);border-radius:8px;box-shadow:var(--shadow-hover);padding:32px;text-align:center}.login-card h1{font-size:22px;font-weight:600;margin:0 0 4px}.login-card .subtitle{color:var(--text-muted);font-size:13px;margin-bottom:24px}.login-card .btn{width:100%;margin-bottom:10px;padding:9px 14px}.login-card .hint{font-size:11px;color:var(--text-muted);margin-top:12px}@media (max-width: 900px){.suitebar .brand-suffix{display:none}.content{padding:16px}}@media (max-width: 768px){.nav{position:fixed;top:48px;bottom:0;left:0;z-index:60;width:260px;transform:translate(-100%);transition:transform .2s ease;box-shadow:none}.nav.open{transform:none;box-shadow:var(--shadow-hover)}.nav.collapsed{width:260px}.nav.collapsed .group{height:auto;margin:14px 14px 4px;border-top:none;font-size:11px;overflow:visible}.nav.collapsed a{justify-content:flex-start;gap:10px;padding:10px 14px;margin:1px 8px;border-left-width:3px}.nav.collapsed a>span:not(.icon){display:inline}.nav-backdrop{display:block;position:fixed;top:48px;right:0;bottom:0;left:0;z-index:50;background:#0006}.suitebar{gap:8px;padding:0 8px}.suitebar .brand{white-space:nowrap}.suitebar .grow{display:none}.suitebar .globalsearch{flex:1 1 60px;width:auto;min-width:60px}.suitebar select{min-width:0;max-width:110px}.suitebar .waffle{display:none}.content{padding:12px}.tiles{grid-template-columns:repeat(2,1fr)}.action-btn{min-width:100%}.toasts{left:12px;right:12px;bottom:12px}.toast{max-width:none}.login-card{width:calc(100vw - 32px);max-width:380px}}@media (max-width: 480px){.suitebar .avatar,.suitebar .badge.demo{display:none}.suitebar .persona{max-width:90px}.tiles{grid-template-columns:1fr 1fr;gap:8px}.tile .value{font-size:22px}}
