:root{--brand-50:#e8f3fb;--brand-100:#cce4f5;--brand-200:#a0d0ee;--brand-300:#6db5e0;--brand-500:#1581bf;--brand-600:#126b9e;--brand-700:#0f3758;--brand-800:#0c2840;--brand-900:#071a2b;--gold-50:#e8f6f5;--gold-100:#c8eceb;--gold-500:#34a29e;--gold-700:#1f6d6a;--sage-50:#f3f9f4;--sage-100:#e4f2e5;--sage-200:#d8ecda;--sage-500:#7eb983;--sage-700:#3d7a42;--accent-50:#fef7fa;--accent-100:#fceef4;--accent-300:#f8c7db;--accent-500:#e08dad;--accent-700:#b85581;--violet-50:#f3effc;--violet-100:#e0d4f7;--violet-500:#8a63cf;--violet-700:#5b3aa8;--amber-50:#fffbeb;--amber-100:#fff4cc;--amber-500:#d4a017;--amber-700:#8a5d1d;--surface:#fff;--surface-dim:#f8f9fb;--surface-container:#f0f2f5;--outline:#e1e5ea;--text:#1d1d1f;--muted:#48484a;--shadow:0 1px 2px #0f37580d, 0 8px 24px #0f375814;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--surface-dim);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,system-ui,sans-serif}a{color:inherit;text-decoration:none}.app-shell{background:var(--surface-dim);height:100vh;display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.workspace{flex:1;min-height:0;display:flex;overflow:hidden}.sidebar{background:var(--brand-800);color:#ffffffd1;flex-direction:column;flex:none;width:258px;display:flex}.sidebar-header{align-items:center;gap:11px;padding:18px 18px 14px;display:flex}.sidebar-mark{background:#ffffff1a;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.sidebar-mark svg{fill:#fff;width:22px;height:22px}.sidebar-title{flex-direction:column;line-height:1.1;display:flex}.sidebar-title strong{letter-spacing:.02em;color:#fff;font-size:16px;font-weight:800}.sidebar-title span{letter-spacing:.14em;text-transform:uppercase;color:var(--brand-200);font-size:10.5px;font-weight:700}.sidebar-nav{flex:1;min-height:0;padding:8px 12px 16px;overflow-y:auto}.nav-group-label{letter-spacing:.12em;text-transform:uppercase;color:var(--brand-300);padding:16px 12px 6px;font-size:9.5px;font-weight:900}.nav-group-label:first-child{padding-top:4px}.nav-item{color:var(--brand-200);border-radius:9px;align-items:center;gap:11px;margin:2px 0;padding:9px 12px;font-size:13px;font-weight:650;transition:background .14s,color .14s;display:flex}.nav-item svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{background:var(--surface);color:var(--brand-700);box-shadow:inset 4px 0 0 var(--brand-500);font-weight:750}.sidebar-foot{letter-spacing:.06em;text-transform:uppercase;color:var(--brand-300);border-top:1px solid #ffffff1a;padding:12px 18px;font-size:10px;font-weight:700}.topbar{border-bottom:1px solid var(--outline);background:var(--surface);flex:none;align-items:center;gap:14px;height:52px;padding:0 22px;display:flex}.tenant-chip{color:var(--brand-700);align-items:center;gap:9px;font-size:13px;font-weight:700;display:flex}.tenant-logo{background:var(--brand-600);color:#fff;border-radius:7px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:grid}.topbar-spacer{flex:1}.topbar-note{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.content{scrollbar-gutter:stable;background:var(--surface-dim);flex:1;min-width:0;padding:24px 28px 60px;overflow:auto}.content-header{margin:0 0 20px}.view-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--brand-600);margin-bottom:8px;font-size:10.5px;font-weight:800;display:inline-block}.content-header h2{color:var(--brand-700);letter-spacing:-.01em;text-wrap:balance;margin:0 0 8px;font-size:26px;line-height:1.12}.content-header p{max-width:74ch;color:var(--muted);margin:0;font-size:14px;line-height:1.6}.doc-section{--sec-accent:var(--brand-600);--sec-dot:#4b9bd3;--sec-bg:var(--brand-50);--sec-border:var(--brand-100);margin:26px 0 0}.doc-section.sage{--sec-accent:var(--sage-700);--sec-dot:var(--sage-500);--sec-bg:var(--sage-50);--sec-border:var(--sage-200)}.doc-section.violet{--sec-accent:var(--violet-700);--sec-dot:var(--violet-500);--sec-bg:var(--violet-50);--sec-border:var(--violet-100)}.doc-section.amber{--sec-accent:var(--amber-700);--sec-dot:var(--amber-500);--sec-bg:var(--amber-50);--sec-border:var(--amber-100)}.doc-section.teal{--sec-accent:var(--gold-700);--sec-dot:var(--gold-500);--sec-bg:var(--gold-50);--sec-border:var(--gold-100)}.section-head{align-items:center;gap:12px;margin:0 0 14px;display:flex}.section-head .bar{background:linear-gradient(var(--sec-accent), var(--sec-dot));border-radius:3px;width:4px;height:18px}.section-head h3{color:var(--brand-700);letter-spacing:.01em;margin:0;font-size:15px;font-weight:800}.section-head .state{color:var(--muted);margin-left:auto;font-size:11px;font-weight:700}.section-lead{max-width:78ch;color:var(--muted);margin:-6px 0 16px 16px;font-size:13.5px;line-height:1.6}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.card{border:1px solid var(--outline);background:linear-gradient(180deg, color-mix(in srgb, var(--sec-bg) 55%, #fff), #fff 60%);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.card-head{border-bottom:1px solid var(--sec-border);align-items:center;gap:10px;padding:12px 14px;display:flex}.card-head .num{background:var(--sec-accent);color:#fff;border-radius:7px;place-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:grid}.card-head .title{color:var(--brand-700);font-size:13.5px;font-weight:750}.card-head .tag{letter-spacing:.05em;text-transform:uppercase;color:var(--sec-accent);background:var(--sec-bg);border:1px solid var(--sec-border);border-radius:5px;margin-left:auto;padding:2px 7px;font-size:9.5px;font-weight:800}.card-body{padding:12px 14px}.card-body p{color:var(--muted);margin:0 0 10px;font-size:12.8px;line-height:1.55}.card-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 5px;font-size:9.5px;font-weight:800;display:block}.card-body ul{margin:0 0 10px;padding-left:16px}.card-body li{color:var(--text);margin:0 0 3px;font-size:12.5px;line-height:1.5}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{font-family:var(--mono);color:var(--sec-accent);background:var(--sec-bg);border:1px solid var(--sec-border);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.hero{border:1px solid var(--brand-100);background:linear-gradient(135deg, var(--surface), #e8f3fbb8);box-shadow:var(--shadow);border-radius:14px;align-items:flex-start;gap:20px;padding:20px 22px;display:flex}.hero .lead{flex:1}.hero .lead p{color:var(--muted);max-width:72ch;margin:0 0 10px;font-size:14px;line-height:1.62}.hero .lead p strong{color:var(--brand-700)}.hero-badges{flex-wrap:wrap;gap:12px;display:flex}.hero-badge{border:1px solid var(--brand-100);background:var(--surface);text-align:center;border-radius:11px;min-width:96px;padding:12px 14px}.hero-badge span{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:800;display:block}.hero-badge strong{color:var(--brand-600);margin-top:3px;font-size:20px;font-weight:800;display:block}.doc-table-wrap{border:1px solid var(--outline);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;overflow-x:auto}table.doc-table{border-collapse:collapse;width:100%;font-size:12.8px}.doc-table thead th{background:var(--surface-container);color:#667085;letter-spacing:.08em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--outline);white-space:nowrap;padding:12px 14px;font-size:10.5px;font-weight:800}.doc-table tbody td{border-bottom:1px solid var(--surface-container);color:var(--text);vertical-align:top;padding:11px 14px;line-height:1.5}.doc-table tbody tr:last-child td{border-bottom:0}.doc-table tbody tr:hover{background:var(--brand-50)}.doc-table code{font-family:var(--mono);color:var(--brand-700);background:var(--brand-50);border:1px solid var(--brand-100);border-radius:5px;padding:1px 6px;font-size:11.5px}.pill{letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-block}.pill.on{color:var(--sage-700);background:var(--sage-50);border:1px solid var(--sage-200)}.pill.off{color:var(--muted);background:var(--surface-container);border:1px solid var(--outline)}.pill.warn{color:var(--amber-700);background:var(--amber-50);border:1px solid var(--amber-100)}.pill.info{color:var(--brand-600);background:var(--brand-50);border:1px solid var(--brand-100)}.pill.violet{color:var(--violet-700);background:var(--violet-50);border:1px solid var(--violet-100)}.pill.teal{color:var(--gold-700);background:var(--gold-50);border:1px solid var(--gold-100)}.sample{color:#e8f3fb;font-family:var(--mono);white-space:pre-wrap;word-break:break-word;background:#0f1e2e;border:1px solid #1d3349;border-radius:9px;margin:7px 0 0;padding:9px 12px;font-size:11.5px;line-height:1.55;overflow-x:auto}.sample .k{color:#82c4f0}.sample .s{color:#a4e480}.sample .n{color:#ffd9a6}.sample .c{color:#6b7e94;font-style:italic}.kv{color:var(--muted);margin:2px 0;font-size:11.5px;display:block}.kv code{font-family:var(--mono);color:var(--brand-700);background:var(--brand-50);border:1px solid var(--brand-100);border-radius:5px;padding:1px 6px;font-size:11px}.callout{border:1px solid var(--amber-100);border-left:4px solid var(--amber-500);background:var(--amber-50);border-radius:10px;gap:12px;margin:18px 0 0;padding:13px 16px;display:flex}.callout.info{border-color:var(--brand-100);border-left-color:var(--brand-500);background:var(--brand-50)}.callout .k{letter-spacing:.1em;text-transform:uppercase;color:var(--amber-700);font-size:9.5px;font-weight:800}.callout.info .k{color:var(--brand-600)}.callout p{color:var(--text);margin:3px 0 0;font-size:12.8px;line-height:1.55}.diagram-card{border:1px solid var(--outline);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;padding:10px;overflow:hidden}.diagram-scale{width:100%;position:relative;overflow:hidden}.board-error{border:1px solid var(--amber-100);background:var(--amber-50);color:var(--amber-700);border-radius:12px;padding:16px;font-size:13px}.board-error code{font-family:var(--mono)}.tabbar{border:1px solid var(--outline);background:var(--surface);box-shadow:var(--shadow);border-radius:11px;flex-wrap:wrap;gap:4px;margin:0 0 12px;padding:4px;display:flex}.tab{color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:12.5px;font-weight:700;transition:background .14s,color .14s;display:inline-flex}button.tab{background:0 0;border:0;font-family:inherit}.tab .dot{opacity:.5;background:currentColor;border-radius:999px;width:7px;height:7px}.tab:hover{background:var(--brand-50);color:var(--brand-700)}.tab.active{background:var(--brand-600);color:#fff}.tab.active .dot{opacity:1}.diagram-canvas{border:1px solid var(--outline);background:var(--surface);height:680px;box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.diagram-canvas.tall{height:calc(100vh - 220px);min-height:640px}@media (width<=900px){.diagram-canvas{height:520px}.sidebar{width:210px}.content{padding:18px 16px 48px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
