:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f7;--surface:#fff;--surface-2:#f9fafb;--surface-3:#eef0f3;--border:#e3e6ea;--border-strong:#cfd4da;--text:#14171a;--text-2:#4b5259;--muted:#7d858e;--primary:#2a78d6;--primary-hover:#1f63b5;--primary-soft:#e6f0fc;--danger:#d03b3b;--danger-soft:#fbe9e9;--success:#0c7a2a;--success-soft:#e5f5e9;--warning:#9a6300;--warning-soft:#fff4d6;--radius:8px;--radius-sm:6px;--shadow-sm:0 1px 2px #14171a0f;--shadow:0 4px 16px #14171a1a;--shadow-lg:0 20px 48px #14171a2e;--nav-h:56px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--chart-grid:#e1e0d9;--chart-axis:#c3c2b7;--chart-muted:#898781}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:22px}h2{font-size:17px}h3{font-size:14px}p{margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:var(--mono);font-size:12.5px}pre{white-space:pre-wrap;word-break:break-word;margin:0}.app{flex-direction:column;min-height:100%;display:flex}.nav{height:var(--nav-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:20;align-items:center;gap:24px;padding:0 24px;display:flex;position:sticky;top:0}.nav-brand{color:var(--text);letter-spacing:-.02em;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.nav-brand:hover{text-decoration:none}.nav-logo{background:var(--primary);border-radius:7px;place-items:center;width:26px;height:26px;display:grid}.nav-links{flex:1;gap:4px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-2);padding:6px 12px;font-weight:500}.nav-link:hover{background:var(--surface-3);color:var(--text);text-decoration:none}.nav-link.active{background:var(--primary-soft);color:var(--primary)}.nav-user{color:var(--text-2);align-items:center;gap:12px;font-size:13px;display:flex}.demo-banner{background:var(--warning-soft);color:var(--warning);border-bottom:1px solid var(--border);text-align:center;padding:8px 24px;font-size:13px;line-height:1.4}.user-menu{position:relative}.user-menu-btn{font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;max-width:260px;padding:4px 8px 4px 4px;font-size:13px;display:inline-flex}.user-menu-btn:hover,.user-menu-btn[aria-expanded=true]{background:var(--surface-3);color:var(--text)}.user-menu-btn:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.user-menu-btn .email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-menu-btn .caret{color:var(--muted);font-size:11px}.avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:grid}.menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:220px;box-shadow:var(--shadow-lg);z-index:30;padding:6px;animation:.12s ease-out pop;position:absolute;top:calc(100% + 6px);right:0}.menu-heading{border-bottom:1px solid var(--border);color:var(--text);max-width:280px;margin-bottom:6px;padding:6px 10px 8px;font-size:13px}.menu-item{font:inherit;text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13.5px;display:block}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-3);outline:none}.page{width:100%;max-width:1280px;margin:0 auto;padding:28px 24px 48px}.page-wide{max-width:none}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-header .subtitle{color:var(--muted);margin-top:4px}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fullscreen-center{place-items:center;min-height:100%;padding:24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-body{padding:18px 20px}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.table-wrap{max-width:100%;overflow:auto}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;padding:10px 14px}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);font-size:12px;font-weight:600;position:sticky;top:0}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:none}.table td.num{text-align:right;font-variant-numeric:tabular-nums}.table-compact th,.table-compact td{padding:6px 10px;font-size:12.5px}.row-link{cursor:pointer}.form{flex-direction:column;gap:14px;display:flex}.form-row{flex-direction:column;gap:5px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.label{color:var(--text-2);font-size:12.5px;font-weight:600}.help{color:var(--muted);font-size:12px}.input,.select,.textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;padding:7px 10px;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-3);color:var(--muted)}.textarea{resize:vertical;min-height:90px}.textarea.mono{font-family:var(--mono);font-size:12.5px}.input-sm{padding:4px 8px;font-size:13px}.inline-fields{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.checkbox{cursor:pointer;align-items:center;gap:8px;display:flex}.btn{font:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:7px 14px;font-weight:500;line-height:1.3;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--muted)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-soft)}.btn-ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-3);border-color:#0000}.btn-sm{padding:4px 10px;font-size:13px}.btn-xs{padding:2px 7px;font-size:12px}.btn-block{justify-content:center;width:100%}.badge{background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600;line-height:1.5;display:inline-block}.badge-primary{background:var(--primary-soft);color:var(--primary)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.alert{border-radius:var(--radius-sm);border:1px solid #0000;padding:10px 14px;font-size:13px}.alert-error{background:var(--danger-soft);color:#8c1f1f;border-color:#f1c4c4}.alert-success{background:var(--success-soft);color:var(--success);border-color:#bfe5c8}.alert-info{background:var(--primary-soft);color:#1b4f8a;border-color:#c4dbf6}.muted{color:var(--muted)}.small{font-size:12.5px}.mono{font-family:var(--mono)}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:8px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.spacer{flex:1}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.divider{border:none;border-top:1px solid var(--border);margin:16px 0}.empty-state{text-align:center;color:var(--muted);padding:56px 24px}.empty-state h2{color:var(--text);margin-bottom:6px}.empty-state .btn{margin-top:16px}.spinner{border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:32px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--text-2);-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;display:inline-flex}.chip:hover{border-color:var(--muted)}.chip.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.kv{grid-template-columns:max-content 1fr;gap:4px 12px;font-size:13px;display:grid}.kv dt{color:var(--muted)}.kv dd{word-break:break-word;margin:0}.auth-card{width:100%;max-width:400px}.auth-brand{letter-spacing:-.02em;justify-content:center;align-items:center;gap:10px;margin-bottom:22px;font-size:20px;font-weight:700;display:flex}.auth-brand .nav-logo{width:32px;height:32px}.auth-footer{text-align:center;color:var(--muted);margin-top:14px;font-size:13px}.modal-backdrop{z-index:100;background:#14171a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;width:100%;max-width:560px;max-height:calc(100vh - 48px);animation:.14s ease-out pop;display:flex}.modal-lg{max-width:760px}.modal-xl{max-width:1080px}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.98)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-body{padding:20px;overflow:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:4px;font-size:20px;line-height:1}.modal-close:hover{color:var(--text)}.drawer-backdrop{z-index:90;background:#14171a4d;position:fixed;inset:0}.drawer{background:var(--surface);width:min(720px,100vw);box-shadow:var(--shadow-lg);z-index:95;flex-direction:column;animation:.16s ease-out slide;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slide{0%{opacity:0;transform:translate(24px)}}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.drawer-body{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow:auto}.schema-table{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.schema-table summary{cursor:pointer;background:var(--surface-2);justify-content:space-between;padding:8px 12px;font-weight:600;display:flex}.schema-table summary::-webkit-details-marker{display:none}.schema-cols{grid-template-columns:1fr auto;gap:2px 16px;padding:6px 12px 10px;font-size:12.5px;display:grid}.schema-cols .type{color:var(--muted);font-family:var(--mono);font-size:11.5px}.dash-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:80px;gap:12px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.panel.selectable{cursor:pointer}.panel.selectable:hover{border-color:var(--border-strong)}.panel.selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.panel-header{justify-content:space-between;align-items:center;gap:8px;padding:10px 14px 6px;display:flex}.panel-title{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.panel-actions{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.btn-icon{color:var(--text-2);gap:4px;padding:2px 6px}.btn-icon-label{letter-spacing:.02em;font-size:11px;font-weight:600}.btn-icon:disabled{opacity:.4}.export-wrap{display:inline-flex}.panel-body{flex-direction:column;flex:1;min-height:0;padding:0 10px 10px;display:flex;container-type:inline-size}.panel-body .table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;min-height:0}.panel-placeholder{color:var(--muted);text-align:center;flex:1;place-items:center;padding:8px;font-size:13px;display:grid}.panel-error{background:var(--danger-soft);color:#8c1f1f;border-radius:var(--radius-sm);flex:1;padding:8px 10px;font-size:12.5px;overflow:auto}.metric{flex-direction:column;flex:1;justify-content:center;padding:0 6px 6px;display:flex}.metric-value{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(18px,13cqw,40px);font-weight:600;line-height:1.1;overflow:hidden}.metric-label{color:var(--muted);margin-top:6px;font-size:12.5px}.chart-box{flex:1;min-width:0;min-height:0}.recharts-cartesian-axis-tick text{fill:var(--chart-muted);font-size:11px}.recharts-legend-item-text{font-size:12px;color:var(--text-2)!important}.recharts-default-tooltip{box-shadow:var(--shadow);font-size:12.5px;border-radius:var(--radius-sm)!important;border-color:var(--border)!important}@media (width<=900px){.dash-grid{grid-template-columns:1fr;grid-auto-rows:auto}.dash-grid .panel{min-height:260px;grid-area:auto/1/auto/-1!important}.dash-grid .panel-type-metric{min-height:130px}}.editor{height:calc(100vh - var(--nav-h));flex-direction:column;min-height:0;display:flex}.editor-topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex}.editor-topbar .name-input{width:260px;font-size:16px;font-weight:600}.editor-body{flex:1;grid-template-columns:340px minmax(0,1fr) 340px;min-height:0;display:grid}.editor-col{background:var(--surface);flex-direction:column;min-height:0;display:flex}.editor-col+.editor-col{border-left:1px solid var(--border)}.editor-col.center{background:var(--bg)}.editor-col-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-weight:600;display:flex}.editor-col-body{flex:1;min-height:0;padding:14px;overflow:auto}.unsaved{color:var(--warning);font-size:12.5px;font-weight:600}.saved{color:var(--success);font-size:12.5px}@media (width<=1100px){.editor{height:auto}.editor-body{grid-template-columns:1fr}.editor-col+.editor-col{border-left:none;border-top:1px solid var(--border)}.editor-col-body{max-height:70vh}}.panel-list{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.panel-list-item{border-radius:var(--radius-sm);cursor:pointer;text-align:left;font:inherit;color:var(--text);background:0 0;border:1px solid #0000;align-items:center;gap:8px;width:100%;padding:7px 10px;display:flex}.panel-list-item:hover{background:var(--surface-2)}.panel-list-item.active{background:var(--primary-soft);border-color:var(--primary)}.panel-list-item .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.layout-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.chat{flex-direction:column;height:100%;min-height:0;display:flex}.chat-sources{border-bottom:1px solid var(--border);padding:10px 14px}.chat-messages{flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow:auto}.msg{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:92%;padding:9px 12px;font-size:13.5px}.msg-user{background:var(--primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.msg-assistant{background:var(--surface-3);border-bottom-left-radius:4px;align-self:flex-start}.msg-meta{color:var(--muted);align-self:flex-start;margin-top:-6px;font-size:11.5px}.chat-compose{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.chat-compose .textarea{min-height:64px}.proposal{border:1px solid var(--primary);background:var(--primary-soft);border-radius:var(--radius);flex-direction:column;gap:10px;padding:12px;font-size:13px;display:flex}.proposal-title{color:var(--primary);font-weight:600}.proposal .diff{background:var(--surface);border-radius:var(--radius-sm);max-height:260px;padding:8px 10px;overflow:auto}.diff{flex-direction:column;gap:8px;font-size:13px;display:flex}.diff-row{border-radius:var(--radius-sm);border-left:3px solid var(--border-strong);background:var(--surface-2);flex-direction:column;gap:4px;padding:8px 10px;display:flex}.diff-row.added{border-left-color:var(--success)}.diff-row.removed{border-left-color:var(--danger)}.diff-row.changed{border-left-color:var(--warning)}.diff-head{align-items:center;gap:8px;font-weight:600;display:flex}.diff-fields{flex-direction:column;gap:3px;margin:0;padding-left:0;font-size:12.5px;list-style:none;display:flex}.diff-field .fname{color:var(--text-2);margin-right:6px;font-weight:600}.diff-before{color:var(--danger);font-family:var(--mono);word-break:break-word;font-size:12px;text-decoration:line-through}.diff-after{color:var(--success);font-family:var(--mono);word-break:break-word;font-size:12px}.diff-arrow{color:var(--muted);margin:0 5px}.ds-card{flex-direction:column;gap:10px;padding:16px 18px;display:flex}.ds-card .ds-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.ds-card .ds-meta{color:var(--text-2);font-size:12.5px}.ds-card .ds-actions{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.alias-chip{font-family:var(--mono);background:var(--surface-3);border:1px solid var(--border);color:var(--text-2);cursor:help;white-space:nowrap;border-radius:4px;padding:1px 7px;font-size:11px;display:inline-block}.type-groups{flex-direction:column;gap:12px;display:flex}.type-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px;font-size:11.5px;font-weight:600}.type-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.type-card{font:inherit;text-align:left;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;flex-direction:column;gap:2px;padding:8px 10px;transition:border-color .12s,box-shadow .12s;display:flex}.type-card:hover{border-color:var(--muted)}.type-card.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 2px var(--primary-soft)}.type-card-label{font-size:13px;font-weight:600}.type-card-sub{color:var(--muted);font-size:11px}.join-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:4px;max-height:180px;padding:6px 8px;display:flex;overflow:auto}.join-list .checkbox{gap:6px}.join-list .checkbox.disabled{color:var(--muted);cursor:not-allowed}.join-list .ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.multi-box{border-radius:var(--radius-sm);background:var(--surface-2);border:1px dashed var(--border-strong);margin-top:6px;padding:8px 10px}.multi-box code,.help code{font-family:var(--mono);background:var(--surface-3);border-radius:3px;padding:0 4px;font-size:11.5px}.table-ref{font:inherit;font-family:var(--mono);border:1px solid var(--border);background:var(--surface);color:var(--primary);cursor:pointer;border-radius:4px;margin:1px 3px 1px 0;padding:0 6px;font-size:11.5px}.table-ref:hover{border-color:var(--primary)}.audit-request{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:pre;max-height:360px;padding:10px;font-size:12px;overflow:auto}@media (width<=700px){.nav{flex-wrap:wrap;gap:8px 12px;height:auto;padding:8px 14px}.nav-links{flex-basis:100%;order:3;overflow-x:auto}.nav-user{margin-left:auto}.nav-user .email,.nav-user .org-badge{display:none}.menu{position:fixed;top:52px;right:8px}.editor{height:auto}.editor-topbar .name-input,.editor-topbar .form-row{width:100%}.editor-topbar .name-input,.editor-topbar .form-row .input{width:100%!important}.page{padding:18px 14px 40px}.form-grid{grid-template-columns:1fr}}.param-bar{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-bottom:14px;padding:10px 14px;display:flex}.param-field{flex-direction:column;gap:4px;min-width:140px;display:flex}.param-field .input,.param-field .select{width:auto;min-width:140px}.param-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.param-list{flex-direction:column;gap:6px;display:flex}.param-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.param-item .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.field-error{color:var(--danger);font-size:12px}.drawer-analysis{width:min(560px,100vw)}.drawer-analysis .drawer-header h2{font-size:16px}.drawer-question{border-bottom:1px solid var(--border);background:var(--surface-2);flex-direction:column;gap:6px;padding:14px 20px;display:flex}.drawer-question .textarea{min-height:56px}.analysis-body{gap:10px}.analysis-text{color:var(--text);font-size:14px;line-height:1.55}.analysis-text p{margin:0 0 10px}.analysis-text ul{margin:0 0 10px;padding-left:20px}.analysis-text li{margin:2px 0}.analysis-text .analysis-heading{margin-top:6px;margin-bottom:4px;font-weight:600}.drawer-footer{border-top:1px solid var(--border);background:var(--surface-2);padding:12px 20px}.threshold-list{flex-direction:column;gap:6px;display:flex}.threshold-row{grid-template-columns:1fr 1fr 24px;align-items:center;gap:6px;display:grid}.threshold-row .swatch{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.threshold-color{align-items:center;gap:4px;display:flex}.threshold-color .select{flex:1;min-width:0}.form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.public{flex-direction:column;gap:16px;min-height:100%;padding:24px 24px 28px;display:flex}.public-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.public-header h1{font-size:22px}.public-header .subtitle{color:var(--muted);margin-top:4px}.public-brand{color:var(--text-2);align-items:center;gap:8px;font-weight:700;display:flex}.public-body{flex-direction:column;flex:1;gap:14px;display:flex}.public-footer{border-top:1px solid var(--border);color:var(--muted);padding-top:12px;font-size:13px}.public-embed{gap:0;padding:0}.public-missing p{margin:0;font-size:15px}.public-missing .help{margin-top:10px}.security-page .kv{grid-template-columns:210px 1fr;gap:10px 20px;font-size:13.5px;line-height:1.5}.security-page .kv dt{color:var(--text-2);font-weight:600}.security-page p{max-width:78ch;line-height:1.55}.security-banner{max-width:none;line-height:1.5}.alert-warning{background:var(--warning-soft);color:var(--warning);border-color:#eedaa6}.security-table td{white-space:normal;vertical-align:top;font-size:13px}.security-table td:first-child{min-width:170px;font-weight:600}.security-footer{margin-top:4px}@media (width<=900px){.security-page .kv{grid-template-columns:1fr;gap:2px 0}.security-page .kv dd{margin-bottom:8px}}@media print{.nav,.no-print,.btn,.user-menu{display:none!important}body{background:#fff}.page{max-width:none;padding:0}.card{box-shadow:none;break-inside:avoid;page-break-inside:avoid}.table th{position:static}.table-wrap{overflow:visible}a{color:inherit;text-decoration:none}}.user-menu-notice{z-index:30;border-radius:var(--radius-sm);border:1px solid var(--border);max-width:280px;box-shadow:var(--shadow);padding:8px 10px;font-size:13px;line-height:1.4;animation:.12s ease-out pop;position:absolute;top:calc(100% + 6px);right:0}.user-menu-notice.ok{background:var(--success-soft);color:var(--success)}.user-menu-notice.bad{background:var(--danger-soft);color:var(--danger)}.status-pill{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:2px 10px 2px 8px;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.status-pill .dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.status-pill.success{background:var(--success-soft);color:var(--success);border-color:#bfe5c8}.status-pill.danger{background:var(--danger-soft);color:#8c1f1f;border-color:#f1c4c4}.status-pill.warning{background:var(--warning-soft);color:var(--warning);border-color:#ecd9a4}.status-pill.muted{color:var(--muted)}.diag-progress{color:var(--text-2);align-items:center;gap:8px;font-size:13px;display:flex}.diag-card{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);flex-direction:column;gap:8px;padding:12px 14px;font-size:13px;display:flex}.diag-card.ok{background:var(--success-soft);border-color:#bfe5c8}.diag-card.bad{background:var(--danger-soft);border-color:#f1c4c4}.diag-card.banner{background:var(--warning-soft);border-color:#ecd9a4}.diag-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.diag-subhead{font-size:12.5px;font-weight:600}.diag-reasons,.diag-details{flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.diag-details{font-family:var(--mono);color:var(--text-2);word-break:break-word;font-size:12px}.diag-log summary{cursor:pointer;-webkit-user-select:none;user-select:none}.diag-hint{margin:0}.firewall-box{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.firewall-text{color:var(--text-2);max-height:180px;font-size:12px;overflow:auto}.panel-unreachable{flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;height:100%;padding:12px;display:flex}@media (width<=700px){.diag-card{padding:10px}.status-pill{font-size:11.5px}}.sso-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:10px;font-size:12px;display:flex}.sso-divider:before,.sso-divider:after{content:"";background:var(--border);flex:1;height:1px}.ws-switcher{position:relative}.ws-btn{font:inherit;border:1px solid var(--border-strong);background:var(--surface);max-width:220px;color:var(--text-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.ws-btn:hover,.ws-btn[aria-expanded=true]{background:var(--surface-3);color:var(--text)}.ws-btn:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.ws-btn .ellipsis,.ws-menu .ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ws-btn .caret{color:var(--muted);font-size:10px}.ws-menu{min-width:260px;max-height:60vh;overflow:auto}.ws-menu .menu-item{justify-content:space-between;align-items:center;gap:8px;display:flex}.ws-menu .menu-item.active{background:var(--primary-soft);color:var(--primary)}.menu-sep{background:var(--border);height:1px;margin:6px 4px}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:18px;display:flex;overflow-x:auto}.tab{font:inherit;color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-weight:500}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.template-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.similar-box{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 12px}.std-editor{grid-template-columns:1fr 1fr;gap:14px;display:grid}.std-source{min-height:260px}.std-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);min-height:260px;max-height:420px;padding:10px 12px;overflow:auto}.markdown-body{font-size:13.5px;line-height:1.55}.markdown-body p{margin:0 0 10px}.markdown-body ul,.markdown-body ol{margin:0 0 10px;padding-left:20px}.markdown-body li{margin:2px 0}.analysis-text .md-heading,.markdown-body .md-heading{margin-top:8px;margin-bottom:4px;font-weight:600}.markdown-body .md-h1{font-size:15px}.markdown-body .md-h2{font-size:14px}@media (width<=800px){.std-editor{grid-template-columns:1fr}.std-source,.std-preview{min-height:160px}}.info-strip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 18px;margin-bottom:14px;padding:8px 14px;font-size:12.5px;display:flex}.info-strip-item{align-items:baseline;gap:8px;min-width:0;display:flex}.info-strip-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex:none;font-size:11px;font-weight:600}.info-strip-values{word-break:break-word;min-width:0}.info-strip-values .sep{color:var(--muted)}.info-strip-about{margin-left:auto}.src-dot{background:var(--muted);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.src-dot.ok{background:var(--success)}.src-dot.bad{background:var(--danger)}.src-dot.unknown{background:var(--border-strong)}.drawer-about{width:min(560px,100vw)}.about-summary{white-space:pre-wrap;max-width:68ch;line-height:1.55}.about-table td{white-space:normal;vertical-align:top}.about-table td:first-child{width:34%}.standards-banner{margin-bottom:14px}.standards-banner.compact{margin:0}.standards-message{white-space:pre-wrap;font-size:13px;line-height:1.5}.editor-notices{flex-direction:column;gap:8px;padding:8px 16px 0;display:flex}.metric-main{align-items:center;gap:10px;min-width:0;display:flex}.metric-icon{background:var(--surface-3);width:34px;height:34px;color:var(--text-2);border-radius:8px;flex:none;place-items:center;display:grid}.metric-main .metric-value{min-width:0}.metric-trend{color:var(--text-2);flex-wrap:wrap;align-items:baseline;gap:5px;margin-top:6px;font-size:12.5px;font-weight:600;display:flex}.metric-trend .arrow{font-size:11px}.metric-trend.good{color:var(--success)}.metric-trend.bad{color:var(--danger)}.metric-trend.flat{color:var(--muted)}.metric-trend .pct{font-weight:500}.metric-trend .vs{font-size:11.5px;font-weight:400}.panel-info{border:1px solid var(--border-strong);width:16px;height:16px;color:var(--muted);cursor:help;border-radius:50%;flex:none;place-items:center;font-size:10.5px;font-style:italic;font-weight:700;display:inline-grid}.panel-info:hover,.panel-info:focus-visible{border-color:var(--primary);color:var(--primary);outline:none}.icon-picker{align-items:center;gap:8px;display:flex}.icon-picker .select{flex:1;min-width:0}.icon-preview{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);width:28px;height:28px;color:var(--text-2);flex:none;place-items:center;display:grid}.metric-def-list{flex-direction:column;gap:6px;display:flex}.metric-def-row{grid-template-columns:1fr 1.4fr 24px;align-items:center;gap:6px;display:grid}.drawer-versions{width:min(520px,100vw)}.version-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.version-row.current{border-color:var(--success);background:var(--success-soft)}.version-note{white-space:pre-wrap;word-break:break-word}.drawer-email,.drawer-alerts{width:min(560px,100vw)}.sub-row,.alert-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.sub-row .alert,.alert-row .alert{margin-top:4px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipient-chips{margin-bottom:6px}.chip .chip-x{color:inherit;cursor:pointer;opacity:.65;background:0 0;border:none;padding:0;font-size:15px;line-height:1}.chip .chip-x:hover{opacity:1}.chip[disabled]{opacity:.6;cursor:default}.xf-bar{border-radius:var(--radius-sm);background:var(--primary-soft);border:1px solid #c4dbf6;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:14px;padding:8px 14px;display:flex}.xf-bar .help{margin-left:auto}.xf-chart,.xf-chart .recharts-surface,.table td.xf-cell{cursor:pointer}.table td.xf-cell:hover{background:var(--primary-soft);color:var(--primary)}.table td.xf-on{background:var(--primary-soft);color:var(--primary);font-weight:600}.badge.xf-hint{background:var(--warning-soft);color:var(--warning)}.metric-sql{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-2);max-height:180px;padding:8px 10px;overflow:auto}.metric-preview{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:260px}.metric-def-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:3px;padding:8px 10px;display:flex}.alert-bell{color:var(--danger);align-items:center;display:inline-flex}.btn-icon.has-alert{color:var(--primary)}.alert-current{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.alert-current-value{font-variant-numeric:tabular-nums;font-size:22px}.table tr.row-triggered td{background:var(--danger-soft)}.plain-list{margin:6px 0 0;padding-left:18px}.plain-list li{margin-bottom:2px}@media (width<=700px){.ws-btn{max-width:150px}.info-strip{gap:6px 12px}.info-strip-about{margin-left:0}.metric-def-row{grid-template-columns:1fr 24px}.editor-notices{padding:8px 14px 0}.xf-bar{padding:8px 10px}.xf-bar .help{flex-basis:100%;margin-left:0}.metric-sql{max-height:140px}.alert-current-value{font-size:19px}}.tf-editor .editor-col{min-width:0}.tf-footer{border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.tf-table.active>summary{background:var(--primary-soft)}.tf-table summary .ellipsis{min-width:0}.tf-step{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.tf-step.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-soft)}.tf-step.off{opacity:.6}.tf-step.bad{border-color:var(--danger)}.tf-step-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tf-step-no{background:var(--surface-3);width:20px;height:20px;color:var(--text-2);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11.5px;font-weight:600;display:inline-flex}.tf-step-name{font:inherit;color:var(--text);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;min-width:0;padding:0;font-weight:600;overflow:hidden}.tf-step-meta{align-items:baseline;gap:8px;min-width:0;font-size:12.5px;display:flex}.tf-step-actions{gap:4px}.tf-kind-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.tf-kind-grid .type-card{text-align:left;align-items:flex-start;gap:2px}.tf-propose{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-top:14px;padding:10px 12px}.tf-review{border-top:1px dashed var(--border);flex-direction:column;gap:8px;margin-top:8px;padding-top:8px;display:flex}.tf-preview{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:60vh}.tf-preview-meta{color:var(--text-2);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.tf-pair{align-items:center;gap:6px;display:flex}.tf-pair>*{min-width:0}.tf-pair>.mono,.tf-pair>.input,.tf-pair>.select{flex:1 1 0}.tf-expr{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;align-items:center;gap:6px;display:grid}@media (width<=700px){.tf-footer{padding:10px}.tf-footer .help{flex-basis:100%}.tf-pair{flex-wrap:wrap}.tf-expr{grid-template-columns:minmax(0,1fr) auto}.tf-preview{max-height:50vh}}.rls-badge{color:var(--warning);background:var(--warning-soft);align-items:center;gap:4px;display:inline-flex}.rls-note{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);align-items:flex-start;gap:8px;margin:0 0 12px;padding:8px 12px;font-size:12.5px;line-height:1.5;display:flex}.rls-note svg{color:var(--primary);margin-top:1px}.rls-note.empty{border-left-color:var(--danger)}.rls-note.empty svg{color:var(--danger)}.rls-note.bypass{border-left-color:var(--success)}.rls-note.bypass svg{color:var(--success)}.rls-refusal,.rls-panel-hint{align-items:flex-start;gap:8px;display:flex}.rls-refusal svg,.rls-panel-hint svg{margin-top:2px}.rls-editor .rls-rules{max-height:44vh;overflow:auto}.rls-rule{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.rls-rule-head{flex-wrap:wrap}.rls-rule-head>.input{flex:200px;min-width:0}.rls-value-picker{flex-wrap:wrap;gap:6px;display:flex}.rls-value-picker>*{flex:180px;min-width:0}.rls-derived .join-list{max-height:140px}.rls-test{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:10px 12px}.rls-result{flex-direction:column;gap:6px;display:flex}.rls-result .badge{align-items:center;gap:4px;display:inline-flex}.rls-sample{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:240px}.rls-actions{flex-wrap:wrap}.group-chips-cell{flex-direction:column;gap:4px;min-width:180px;display:flex}.group-chips .chip{max-width:180px}.user-groups{min-width:220px}.user-groups .chip-row{margin-bottom:4px}@media (width<=700px){.rls-editor .rls-rules{max-height:none}.rls-value-picker>*{flex-basis:100%}}.assist-layout{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.assist-layout.with-assist{grid-template-columns:minmax(0,1fr) minmax(0,340px);align-items:start}.assist-pane{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.assist-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.assist-explainer{line-height:1.5}.assist-log{flex-direction:column;gap:10px;min-height:90px;max-height:44vh;padding:2px;display:flex;overflow:auto}.assist-log .msg{max-width:100%}.assist-reply{flex-direction:column;gap:8px;display:flex}.assist-reply .msg-assistant{background:var(--surface);border:1px solid var(--border);white-space:normal}.assist-compose{flex-direction:column;gap:8px;display:flex}.assist-compose .textarea{min-height:72px}.assist-suggest{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary-soft);flex-direction:column;gap:8px;padding:10px;font-size:13px;display:flex}.assist-suggest-title{color:var(--primary);font-weight:600}.assist-patch{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.assist-patch-row{border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;padding:6px 8px;display:grid}.assist-patch-label{color:var(--text-2);font-size:12.5px;font-weight:600}.assist-patch-value{word-break:break-word;grid-column:1;font-size:12.5px}.assist-patch-row .btn,.assist-patch-row .badge{grid-area:1/2/span 2}.assist-needs{border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);padding:6px 8px;font-size:12.5px}.assist-probe{border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);padding:6px 8px;font-size:12px}.ai-badge{vertical-align:middle;margin-left:6px}.input.needs-value,.select.needs-value,.textarea.needs-value{border-color:var(--warning);box-shadow:0 0 0 3px var(--warning-soft)}@media (width<=860px){.assist-layout.with-assist{grid-template-columns:minmax(0,1fr)}.assist-log{max-height:40vh}}
