:root{color:#20242c;background:#f4f5f7;font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #f4f5f7;--surface: #ffffff;--surface-muted: #f8f9fb;--surface-strong: #eef1f5;--ink: #20242c;--ink-muted: #667085;--ink-subtle: #8b95a7;--hairline: #d8dde6;--hairline-strong: #b8c0ce;--sidebar: #080a0f;--sidebar-surface: #11141b;--sidebar-ink: #f3f5f8;--sidebar-muted: #9ca6b8;--primary: #5c4ee5;--primary-hover: #4f43ca;--incident: #e5484d;--runbook: #22a06b;--approval: #f59e0b;--jobs: #14b8a6;--asset: #3b82f6;--credential: #f4c430;--user: #8b5cf6;--settings: #64748b;--audit: #475569;--report: #0ea5e9;--success: #15803d;--warning: #b45309;--danger: #c62828;--focus: rgba(92, 78, 229, .28)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}button{font:inherit}input,select,textarea{width:100%;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:6px;font:inherit;outline:none}input,select{height:38px;padding:0 11px}textarea{min-height:96px;padding:10px 11px;font:13px/1.5 Cascadia Mono,Consolas,ui-monospace,monospace;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus)}.login-shell{display:grid;place-items:center;min-height:100vh;padding:24px;background:#0d1117}.login-panel{display:grid;gap:16px;width:min(100%,390px);padding:24px;color:var(--ink);background:var(--surface);border:1px solid #262b36;border-top:4px solid var(--primary);border-radius:8px;box-shadow:0 18px 48px #0000003d}.login-panel label{display:grid;gap:6px;color:var(--ink-muted);font-size:13px}.login-brand{color:var(--ink)}.login-brand span{color:var(--ink-muted)}.auth-mode{display:grid;grid-template-columns:1fr 1fr;padding:3px;background:var(--surface-strong);border:1px solid var(--hairline);border-radius:6px}.auth-mode button{height:34px;color:var(--ink-muted);background:transparent;border:0;border-radius:4px;cursor:pointer}.auth-mode button.active{color:var(--ink);background:var(--surface);box-shadow:0 1px 2px #10182814}.password-rules{display:flex;flex-wrap:wrap;gap:6px}.password-rules span{padding:4px 7px;color:var(--ink-muted);background:var(--surface-muted);border:1px solid var(--hairline);border-radius:4px;font-size:12px}.password-rules span.ok{color:#0f6f3c;background:#ecfdf3;border-color:#b7ebc9}.form-hint{margin:-4px 0 0;color:var(--ink-muted);font-size:12px;line-height:1.45}.form-hint.padded{margin:-6px 0 0;padding:0 16px}.login-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;color:#fff;background:var(--primary);border:1px solid var(--primary);border-radius:6px;cursor:pointer}.login-button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.login-button:disabled{cursor:not-allowed;opacity:.55}.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;color:var(--ink);background:#fff;border:1px solid var(--border);border-radius:6px;cursor:pointer}.ghost-button:hover{border-color:var(--primary);color:var(--primary)}.ghost-button:disabled{cursor:not-allowed;opacity:.55}.ghost-button.danger{color:var(--danger);border-color:#f3b3b5}.ghost-button.danger:hover{color:#9f1d22;background:#fff5f5;border-color:#e37c84}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:0 16px}.inline-status{min-width:0;color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh;background:var(--canvas)}.sidebar{display:flex;flex-direction:column;gap:22px;padding:18px 14px;color:var(--sidebar-ink);background:var(--sidebar);border-right:1px solid #202632}.brand{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 8px}.brand svg{color:var(--primary)}.brand-logo{width:34px;height:34px;object-fit:contain;border-radius:6px;background:#ffffff14}.brand strong,.brand span{display:block}.brand span,.eyebrow,.incident-row small,.timeline-item small,.side-metrics span{color:var(--ink-subtle);font-size:12px}.sidebar .brand span,.sidebar .side-metrics span{color:var(--sidebar-muted)}.nav{display:grid;gap:5px}.nav-item,.incident-row,.icon-button,.actions button{cursor:pointer}.nav-item{--tab-color: var(--primary);position:relative;display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px 0 14px;color:#c9d1df;background:transparent;border:1px solid transparent;border-radius:6px;text-align:left}.nav-item:before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:3px;background:transparent;border-radius:2px}.nav-item:hover{color:#fff;background:#121722;border-color:#222a38}.nav-item.active{color:#fff;background:var(--sidebar-surface);border-color:#2b3343}.nav-item.active:before{background:var(--tab-color)}.nav-item[data-tab=incidents]{--tab-color: var(--incident)}.nav-item[data-tab=runbooks]{--tab-color: var(--runbook)}.nav-item[data-tab=approvals]{--tab-color: var(--approval)}.nav-item[data-tab=jobs]{--tab-color: var(--jobs)}.nav-item[data-tab=assets]{--tab-color: var(--asset)}.nav-item[data-tab=credentials]{--tab-color: var(--credential)}.nav-item[data-tab=knowledge]{--tab-color: var(--runbook)}.nav-item[data-tab=users]{--tab-color: var(--user)}.nav-item[data-tab=settings]{--tab-color: var(--settings)}.nav-item[data-tab=audit]{--tab-color: var(--audit)}.nav-item[data-tab=reports]{--tab-color: var(--report)}.side-metrics{display:grid;gap:10px;margin-top:auto}.side-metrics div{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 12px;background:#0e121a;border:1px solid #252c3a;border-radius:6px}.side-metrics strong{color:#fff}.workspace{position:relative;min-width:0;padding:22px}.workspace.refreshing>section,.workspace.refreshing>.error-line{opacity:.72;transition:opacity .18s ease}.workspace-refresh{position:absolute;top:0;right:0;left:0;z-index:20;display:grid;gap:8px;pointer-events:none}.workspace-refresh span{display:block;width:100%;height:3px;overflow:hidden;background:#dbe7ff}.workspace-refresh span:after{display:block;width:34%;height:100%;background:linear-gradient(90deg,transparent,var(--primary),transparent);animation:refresh-slide 1.05s ease-in-out infinite;content:""}.workspace-refresh strong{justify-self:center;padding:6px 12px;color:#334155;background:#ffffffeb;border:1px solid var(--hairline);border-radius:6px;box-shadow:0 8px 24px #0f172a14;font-size:12px;font-weight:650}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;margin-bottom:16px;padding:0 2px 14px;border-bottom:1px solid var(--hairline)}.topbar h1{margin:2px 0 0;color:var(--ink);font-size:24px;font-weight:650;line-height:1.2}.user-line{margin:4px 0 0;color:var(--ink-muted);font-size:13px}.eyebrow{margin:0;color:var(--ink-subtle)}.toolbar,.actions{display:flex;align-items:center;gap:8px}.toolbar{flex-wrap:wrap;justify-content:flex-end;max-width:100%;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.toolbar-compact{gap:6px}.icon-button,.actions button{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:0 12px;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:6px}.icon-button:hover{background:var(--surface-muted);border-color:var(--hairline-strong)}.quick-action{--action-color: var(--primary);--action-bg: rgba(255, 255, 255, .72);--action-hover: #f8fafc;--action-border: rgba(148, 163, 184, .24);--action-icon-bg: #eef2ff;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 13px 0 10px;color:var(--action-color);font-size:13px;font-weight:650;line-height:1;white-space:nowrap;background:var(--action-bg);border:1px solid var(--action-border);border-radius:999px;box-shadow:0 1px #ffffffad inset,0 1px 2px #0f172a06;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.quick-action:hover{transform:translateY(-1px);background:var(--action-hover);border-color:color-mix(in srgb,var(--action-color) 36%,var(--action-border));box-shadow:0 1px #ffffffb8 inset,0 6px 14px #0f172a0f}.quick-action:active{transform:translateY(0);box-shadow:0 3px 8px #0f172a14}.quick-action:focus-visible{outline:3px solid color-mix(in srgb,var(--action-color) 22%,transparent);outline-offset:2px}.quick-action:disabled{cursor:wait;opacity:.68;transform:none;box-shadow:none}.quick-action svg{box-sizing:content-box;flex:0 0 auto;padding:3px;color:var(--action-color);background:var(--action-icon-bg);border-radius:999px}.quick-action span{transform:translateY(-.25px)}.quick-action-alert{--action-color: #c2410c;--action-bg: #fff7ed;--action-hover: #ffedd5;--action-border: rgba(251, 146, 60, .38);--action-icon-bg: #ffedd5}.quick-action-log{--action-color: #2563eb;--action-bg: #eff6ff;--action-hover: #dbeafe;--action-border: rgba(96, 165, 250, .42);--action-icon-bg: #dbeafe}.quick-action-refresh{--action-color: #0f766e;--action-bg: rgba(255, 255, 255, .7);--action-hover: #ecfdf5;--action-border: rgba(148, 163, 184, .26);--action-icon-bg: rgba(20, 184, 166, .12)}.quick-action-exit{--action-color: #b91c1c;--action-bg: rgba(255, 255, 255, .7);--action-hover: #fef2f2;--action-border: rgba(148, 163, 184, .24);--action-icon-bg: transparent}.quick-action-round{width:auto;min-width:0;padding:0 13px 0 10px;border-radius:999px}.quick-action-round svg{padding:0;background:transparent}.icon-button.small{min-width:32px;min-height:32px}.icon-button.danger{color:var(--danger);background:#fff5f5;border-color:#f3b3b5}.actions{padding:0 16px 16px}.actions button{gap:8px;color:#fff;background:var(--primary);border-color:var(--primary)}.actions button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.actions button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.45}.grid{display:grid;gap:16px}.incident-grid{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr)}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;box-shadow:none}.panel-head{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 16px;background:var(--surface-muted);border-bottom:1px solid var(--hairline);border-radius:8px 8px 0 0}.panel-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:1 1 auto;min-width:0;margin-left:auto}.panel-head-actions>span{flex:0 0 auto;white-space:nowrap}.panel-head span{color:var(--ink-muted);font-size:12px}.panel h2,.panel-head h2{margin:0;color:var(--ink);font-size:15px;font-weight:650}.incident-list{overflow:hidden}.incident-row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:4px 10px;width:100%;min-height:86px;padding:12px 16px;color:#384152;background:var(--surface);border:0;border-bottom:1px solid var(--hairline);text-align:left}.incident-row:hover{background:#fff9f9}.incident-row.selected{background:#fff1f2;box-shadow:inset 4px 0 0 var(--incident)}.incident-row strong,.incident-row span,.incident-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incident-copy{display:grid;gap:4px;min-width:0}.incident-title-line{display:flex;align-items:center;gap:8px;min-width:0}.incident-title-line strong{min-width:0}.root-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;height:22px;padding:0 7px;color:#0b7a55;background:#e6f7f0;border:1px solid #a7dfc7;border-radius:4px;font-size:11px;font-weight:700}.severity,.risk,.job-status,.source-chip{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-width:62px;height:23px;padding:0 7px;border-radius:4px;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase}.severity[data-level=critical],.severity[data-level=high],.risk[data-risk=high]{background:var(--danger)}.severity[data-level=warning],.severity[data-level=medium],.risk[data-risk=medium]{background:var(--warning)}.severity,.risk[data-risk=low]{background:var(--success)}.job-status{min-width:74px;background:#596273}.source-chip{min-width:78px;color:#175cd3;background:#eef4ff;border:1px solid #c7d7fe}.job-status[data-status=succeeded],.job-status[data-status=verified]{background:var(--success)}.job-status[data-status=pending_approval],.job-status[data-status=running]{background:var(--warning)}.job-status[data-status=failed],.job-status[data-status=rejected],.job-status[data-status=rollback_failed]{background:var(--danger)}.detail-panel{min-height:420px;padding-bottom:16px}.definition{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px 12px;padding:16px;margin:0}.definition dt{color:var(--ink-muted)}.definition dd{min-width:0;margin:0;overflow-wrap:anywhere}.root-summary{padding:8px 10px;color:#243447;background:#f2f8fb;border:1px solid #d5e9f2;border-left:4px solid var(--primary);border-radius:6px}.detail-section{display:grid;gap:8px;padding:0 16px 16px}.section-title,.item-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title{color:var(--ink)}.section-title span,.detail-item small,td small{color:var(--ink-muted);font-size:12px}.detail-item{display:grid;gap:7px;padding:10px;background:var(--surface-muted);border:1px solid var(--hairline);border-radius:6px}.detail-item ul{margin:0;padding-left:18px;color:var(--ink-muted);font-size:13px}.detail-item pre{max-height:180px;margin:0}.empty.compact{padding:10px 0}.timeline{display:grid;gap:8px;padding:0 16px}.timeline-item{display:grid;grid-template-columns:20px minmax(0,1fr) 170px;align-items:center;gap:8px;min-height:36px;padding:0 10px;background:var(--surface-muted);border:1px solid var(--hairline);border-radius:6px}.timeline-item svg{color:var(--primary)}.table-panel{overflow:auto}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:max-content;padding:12px 16px;color:var(--ink-muted);background:var(--surface);border-top:1px solid var(--hairline);font-size:13px}.pagination-actions{display:flex;align-items:center;gap:8px}.pagination-actions .ghost-button{min-height:32px;padding:0 12px}.pagination-actions strong{min-width:64px;color:var(--ink);font-size:13px;text-align:center}.table-subhead{padding:10px 16px;color:var(--ink-muted);background:#fbfcfe;border-bottom:1px solid var(--hairline);font-size:12px}.knowledge-search-head{align-items:center;gap:12px}.knowledge-filter-panel{overflow:hidden}.knowledge-filter-head{align-items:center;gap:12px;min-height:54px}.knowledge-filter-head>div:first-child{display:grid;gap:4px;min-width:132px;max-width:150px}.knowledge-filter-head>div:first-child span{color:var(--ink-muted);font-size:12px}.knowledge-search-controls{display:flex;flex:1;justify-content:flex-end;gap:8px;min-width:0;flex-wrap:nowrap}.knowledge-search-primary{align-items:center}.knowledge-search-controls .table-input{min-width:136px}.knowledge-search-controls select.table-input{flex:0 0 190px;width:190px;max-width:22vw}.knowledge-search-controls .table-input.wide{width:auto;flex:1;min-width:260px}.knowledge-search-controls .ghost-button{flex:0 0 58px;width:58px;min-height:34px;padding:0;white-space:nowrap}.knowledge-search-controls .ghost-button.compact{flex:0 0 auto;width:auto;min-width:112px;padding:0 14px}.knowledge-search-controls .asset-create-button{flex:0 0 auto;width:auto;min-width:116px}.knowledge-search-controls .expandable-search{flex:0 1 176px}.knowledge-search-controls .expandable-search.expanded{flex:0 1 352px;width:min(352px,100%);min-width:min(352px,100%)}.knowledge-category-strip{display:flex;gap:6px;padding:6px 14px 8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#c8d3e4 transparent}.knowledge-category-chip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;flex:1 0 86px;gap:6px;min-width:82px;min-height:32px;padding:0 9px;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:6px;cursor:pointer;text-align:left;white-space:nowrap;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.knowledge-category-chip:hover{border-color:var(--hairline-strong);background:#fbfcfe;transform:translateY(-1px)}.knowledge-category-chip.active{color:#175cd3;background:#eef4ff;border-color:#84adff;box-shadow:inset 4px 0 0 var(--primary)}.knowledge-category-chip span{min-width:0;overflow:hidden;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.knowledge-category-chip b{color:var(--ink-muted);font-size:11px;font-weight:700}.knowledge-content-cell{position:relative;display:block;min-width:220px;max-width:420px;cursor:default}.knowledge-table-panel{overflow-x:auto;overflow-y:visible}.knowledge-content-cell>span{display:-webkit-box;overflow:hidden;color:#344054;font-size:13px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.knowledge-content-cell:focus{outline:none}.knowledge-content-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:50;display:grid;gap:10px;width:min(560px,70vw);max-height:320px;padding:12px;color:var(--ink);background:#fff;border:1px solid var(--hairline-strong);border-radius:8px;box-shadow:0 18px 50px #0f172a2e;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease}.knowledge-content-cell:hover .knowledge-content-popover,.knowledge-content-cell:focus-within .knowledge-content-popover{opacity:1;pointer-events:auto;transform:translateY(0)}.popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.popover-head strong{font-size:13px}.knowledge-content-popover p{max-height:240px;margin:0;overflow:auto;color:#344054;font-size:13px;line-height:1.65;white-space:pre-wrap}.ghost-button.mini{min-height:28px;padding:0 10px;font-size:12px;white-space:nowrap}.users-layout,.runbook-layout,.workflow-layout,.asset-layout,.credential-layout,.knowledge-layout,.settings-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px}.settings-split{grid-template-columns:320px minmax(0,1fr);align-items:start}.asset-page{display:grid;gap:16px}.asset-category-strip{overflow:hidden}.asset-head-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;flex:1 1 auto;min-width:0}.asset-head-actions>span{flex:0 0 auto;white-space:nowrap}.expandable-search{position:relative;display:inline-flex;align-items:center;flex:0 1 176px;width:176px;min-width:176px;max-width:100%;height:36px;padding:0 34px 0 12px;color:var(--ink-muted);background:#fff;border:1px solid var(--hairline-strong);border-radius:8px;box-shadow:0 8px 18px #0f172a0f;transition:width .18s ease,flex-basis .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.expandable-search.expanded{flex:0 1 352px;width:min(352px,100%);min-width:min(352px,100%);color:var(--ink);border-color:#635bff6b;box-shadow:0 12px 28px #635bff29}.expandable-search svg{flex:0 0 auto;color:currentColor}.expandable-search>input[type=search]{min-width:0;width:100%;height:100%;min-height:0;margin-left:8px;padding:0;color:var(--ink);background:transparent;border:0!important;outline:0!important;box-shadow:none!important;appearance:none;font-size:13px}.expandable-search>input[type=search]::-webkit-search-decoration,.expandable-search>input[type=search]::-webkit-search-cancel-button{appearance:none}.expandable-search>input[type=search]::placeholder{color:var(--ink-muted);opacity:.85}.search-clear{position:absolute;right:8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;color:var(--ink-muted);background:transparent;border:0;border-radius:6px;cursor:pointer}.search-clear:hover{color:var(--ink);background:var(--surface-muted)}.login-button.compact{min-height:34px;padding:0 12px}.asset-create-button{min-width:110px;color:#fff;background:var(--primary);border-color:var(--primary);font-size:14px;font-weight:650;white-space:nowrap;box-shadow:0 8px 18px #4c51ff2e;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease}.asset-create-button span{color:#fff;line-height:1}.asset-create-button svg{flex:0 0 auto;color:#fff}.asset-create-button:disabled{color:#fff;opacity:.72;transform:none;box-shadow:none}.asset-create-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 24px #4c51ff3d}.asset-create-button:not(:disabled):active{transform:translateY(0);box-shadow:0 6px 14px #4c51ff33}.asset-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:14px 16px 16px}.asset-category-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:0 14px;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:6px;cursor:pointer;text-align:left}.asset-category-card:hover{border-color:var(--hairline-strong);background:#fbfcfe}.asset-category-card.stat-filter-card{position:relative;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.asset-category-card.stat-filter-card:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0f172a12}.asset-category-card.active{background:#eef4ff;border-color:#b7c8ff;box-shadow:inset 4px 0 0 var(--primary)}.asset-category-card.stat-filter-card.active{color:#1f2bb8;background:linear-gradient(180deg,#f4f7ff,#eaf0ff);border-color:#6d83ff;box-shadow:inset 4px 0 0 var(--primary),0 12px 28px #525cf424}.asset-category-card.stat-filter-card.active:after{position:absolute;right:12px;bottom:8px;width:26px;height:3px;content:"";background:var(--primary);border-radius:999px;opacity:.9}.asset-category-card.stat-filter-card:focus-visible{outline:3px solid rgba(99,102,241,.28);outline-offset:2px}.asset-category-card strong{overflow:hidden;font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.asset-category-card span{color:var(--ink-muted);font-size:13px;font-weight:700}.asset-category-card.stat-filter-card.active span{color:#2837c8}.asset-table-panel{min-height:560px}.asset-list-table{min-width:1780px;table-layout:fixed}.asset-list-table th,.asset-list-table td{height:38px;padding:0 10px;overflow:hidden;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.asset-list-table th{color:#31405a;letter-spacing:0}.asset-list-table th:nth-child(1),.asset-list-table td:nth-child(1){width:72px}.asset-list-table th:nth-child(2),.asset-list-table td:nth-child(2){width:110px}.asset-list-table th:nth-child(3),.asset-list-table td:nth-child(3){width:116px}.asset-list-table th:nth-child(4),.asset-list-table td:nth-child(4),.asset-list-table th:nth-child(5),.asset-list-table td:nth-child(5),.asset-list-table th:nth-child(9),.asset-list-table td:nth-child(9),.asset-list-table th:nth-child(11),.asset-list-table td:nth-child(11),.asset-list-table th:nth-child(13),.asset-list-table td:nth-child(13),.asset-list-table th:nth-child(14),.asset-list-table td:nth-child(14),.asset-list-table th:nth-child(16),.asset-list-table td:nth-child(16),.asset-list-table th:nth-child(18),.asset-list-table td:nth-child(18){width:74px}.asset-list-table th:nth-child(6),.asset-list-table td:nth-child(6){width:220px}.asset-list-table th:nth-child(7),.asset-list-table td:nth-child(7){width:96px}.asset-list-table th:nth-child(8),.asset-list-table td:nth-child(8),.asset-list-table th:nth-child(10),.asset-list-table td:nth-child(10),.asset-list-table th:nth-child(12),.asset-list-table td:nth-child(12),.asset-list-table th:nth-child(15),.asset-list-table td:nth-child(15),.asset-list-table th:nth-child(17),.asset-list-table td:nth-child(17){width:92px}.asset-list-table th:nth-child(19),.asset-list-table td:nth-child(19){width:94px}.asset-list-table td.row-actions{display:flex;align-items:center;gap:6px;overflow:visible}.settings-menu{display:grid;align-content:start;overflow:hidden}.settings-menu-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 10px;align-items:center;min-height:74px;padding:12px 14px;color:#344054;background:var(--surface);border:0;border-bottom:1px solid var(--hairline);cursor:pointer;text-align:left}.settings-menu-row:hover{background:#fbfcfe}.settings-menu-row.active{background:#eef4ff;box-shadow:inset 4px 0 0 var(--primary)}.settings-menu-row svg{grid-row:span 2;color:var(--primary)}.settings-menu-row span{display:grid;gap:3px;min-width:0}.settings-menu-row strong,.settings-menu-row small,.settings-menu-row em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-menu-row strong{color:var(--ink);font-size:14px}.settings-menu-row small{color:var(--ink-muted);font-size:12px}.settings-menu-row em{grid-column:2;color:#4b62a3;font-size:12px;font-style:normal}.settings-detail{min-height:560px}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(920px,100%);max-height:min(86vh,820px);background:var(--surface);border:1px solid var(--hairline);border-radius:8px;box-shadow:0 24px 80px #0f172a38;overflow:hidden;transform-origin:center top}.modal-enter-active,.modal-leave-active{transition:opacity .2s ease}.modal-enter-active .modal-panel{animation:modal-panel-in .22s cubic-bezier(.16,1,.3,1)}.modal-leave-active .modal-panel{animation:modal-panel-out .16s ease forwards}.modal-enter-from,.modal-leave-to{opacity:0}.asset-modal{width:min(980px,100%)}.admin-modal{width:min(920px,100%)}.admin-modal.wide{width:min(1040px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 16px;background:var(--surface-muted);border-bottom:1px solid var(--hairline)}.modal-head h2{margin:0;color:var(--ink);font-size:16px;font-weight:700}.modal-body{display:grid;gap:14px;padding:16px;overflow:auto}.modal-body label{display:grid;gap:6px;color:var(--ink-muted);font-size:13px}.modal-body .form-grid{padding:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;background:var(--surface);border-top:1px solid var(--hairline)}.asset-side{display:grid;align-content:start;gap:16px}.asset-category-panel{overflow:hidden}.category-all,.category-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:44px;color:var(--ink);background:transparent;border:0;cursor:pointer;text-align:left}.category-all{padding:0 16px;border-bottom:1px solid var(--hairline)}.category-list{display:grid}.category-item{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;min-height:44px;border-bottom:1px solid var(--hairline)}.category-item:last-child{border-bottom:0}.category-filter{min-height:44px;padding:0 0 0 16px}.category-all:hover,.category-item:hover{background:#f8fafc}.category-all.active,.category-item.active{background:#eef4ff;box-shadow:inset 4px 0 0 var(--primary)}.category-all span,.category-filter span{overflow:hidden;color:inherit;font-size:14px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.category-all b,.category-filter b{min-width:24px;color:var(--ink-muted);font-size:12px;font-weight:650;text-align:right}.user-form,.runbook-form,.workflow-form,.asset-form,.credential-form,.knowledge-form,.settings-form{display:grid;align-content:start;gap:14px;padding-bottom:16px}.logo-config-row{display:flex;align-items:center;gap:12px;padding:0 16px}.logo-preview{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--surface-muted);border:1px solid var(--hairline);border-radius:6px;overflow:hidden}.logo-preview.small{width:34px;height:34px}.logo-preview img{width:100%;height:100%;object-fit:contain}.file-picker{flex:1;padding:0!important}.user-form label,.runbook-form label,.workflow-form label,.asset-form label,.credential-form label,.knowledge-form label,.settings-form label{display:grid;gap:6px;padding:0 16px;color:var(--ink-muted);font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px}.form-grid label,.form-grid.compact{padding:0}.switch-row{display:inline-flex;align-items:center;gap:8px;min-width:86px}.switch-row.compact{min-width:auto;padding:0}.switch-row.padded{padding:0 16px}.config-checks{display:grid;gap:10px;padding:0 16px}.config-checks label{padding:0}.vendor-log-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;padding:0 16px 8px}.vendor-log-card{display:grid;gap:12px;padding:14px;background:#fbfcff;border:1px solid var(--hairline);border-radius:8px}.vendor-log-card label{padding:0}.vendor-log-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.vendor-log-head strong{color:var(--ink)}.vendor-webhook-url{padding:8px 10px;color:#475467;font-size:12px;word-break:break-all;background:#f2f4f7;border:1px solid var(--hairline);border-radius:6px}.vendor-log-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.vendor-last-seen{color:#667085;font-size:12px}@media(max-width:760px){.vendor-log-actions{grid-template-columns:1fr}}.selection-block{display:grid;gap:8px;padding:0 16px}.field-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-muted);font-size:13px}.field-caption small{color:var(--ink-subtle);font-size:12px}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;max-height:300px;padding:2px;overflow:auto}.permission-grid .check-row{display:flex;align-items:center;gap:8px;min-width:0;min-height:36px;padding:0 10px;color:#344054;background:var(--surface);border:1px solid var(--hairline);border-radius:6px;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.permission-grid .check-row:hover{border-color:#b8c7dd;background:#fbfcfe}.permission-grid .check-row:has(input:checked){color:#175cd3;background:#eef4ff;border-color:#84adff}.permission-grid .check-row input{flex:none;width:16px;height:16px;margin:0;padding:0;accent-color:var(--primary)}.permission-grid .check-row span{min-width:0;overflow:hidden;font-size:12px;font-weight:650;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.permission-grid-comfort{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-height:380px}.permission-grid-comfort .check-row{min-height:42px}.permission-grid-comfort .check-row span{font-size:13px}.permission-tags{display:flex;flex-wrap:wrap;gap:6px;max-width:520px;padding:6px 0}.permission-tags span{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;color:#344054;background:#f3f6fb;border:1px solid var(--hairline);border-radius:4px;font-size:12px;white-space:nowrap}.settings-subsection{display:grid;gap:10px;margin:0 16px;padding:12px;background:var(--surface-muted);border:1px solid var(--hairline);border-radius:6px}.settings-subsection label,.settings-subsection .form-grid,.settings-subsection .config-checks,.settings-subsection .switch-row.padded{padding:0}.subsection-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.subsection-head span{color:var(--ink-muted);font-size:12px}.config-note{margin:0;color:var(--ink-muted);font-size:12px;line-height:1.55}.config-note.padded{padding:0 16px}.subsection-divider{height:1px;background:var(--line);margin:14px 16px}.agent-result{margin:0;padding:12px;max-height:280px;overflow:auto;white-space:pre-wrap;word-break:break-word;border:1px solid var(--line);border-radius:8px;background:#f8fafc;color:var(--text);font-size:12px;line-height:1.55}.agent-advice-panel{border-left:3px solid var(--primary)}.agent-advice-panel .login-button.compact,.agent-advice-panel .ghost-button.compact,.asset-head-actions .ghost-button.compact,.knowledge-search-controls .ghost-button.compact,.form-actions .ghost-button:has(svg+span){min-height:38px;padding:0 14px;color:#fff;font-weight:720;letter-spacing:0;background:linear-gradient(135deg,#4f46e5,#2563eb);border-color:#4f46e5b8;border-radius:8px;box-shadow:0 1px #fff3 inset,0 8px 18px #2563eb38}.agent-advice-panel .login-button.compact span,.agent-advice-panel .ghost-button.compact span,.asset-head-actions .ghost-button.compact span,.knowledge-search-controls .ghost-button.compact span,.form-actions .ghost-button:has(svg+span) span{color:#fff;line-height:1}.agent-advice-panel .login-button.compact svg,.agent-advice-panel .ghost-button.compact svg,.asset-head-actions .ghost-button.compact svg,.knowledge-search-controls .ghost-button.compact svg,.form-actions .ghost-button:has(svg+span) svg{box-sizing:content-box;flex:0 0 auto;padding:3px;color:#fff;background:#ffffff29;border-radius:6px}.agent-advice-panel .login-button.compact:hover,.agent-advice-panel .ghost-button.compact:hover,.asset-head-actions .ghost-button.compact:hover,.knowledge-search-controls .ghost-button.compact:hover,.form-actions .ghost-button:has(svg+span):hover{color:#fff;background:linear-gradient(135deg,#4338ca,#1d4ed8);border-color:#4338cad1;transform:translateY(-1px);box-shadow:0 1px #ffffff3d inset,0 12px 24px #2563eb47}.agent-advice-panel .login-button.compact:disabled,.agent-advice-panel .ghost-button.compact:disabled,.asset-head-actions .ghost-button.compact:disabled,.knowledge-search-controls .ghost-button.compact:disabled,.form-actions .ghost-button:has(svg+span):disabled{color:#fff;opacity:.62;transform:none;box-shadow:none}.agent-advice-panel .config-note{padding:12px 16px 0}.agent-advice-panel .agent-result{margin:12px 16px 16px;background:#f6f8ff}.settings-savebar{display:flex;align-items:center;gap:10px;padding:4px 16px 0}.switch-row input{width:18px;height:18px;accent-color:var(--primary)}.row-actions{display:flex;gap:8px}.approval-reason-inputs{display:grid;gap:8px;min-width:210px}.stage-list{display:grid;gap:6px;min-width:260px}.stage-pill{display:inline-flex;align-items:center;width:fit-content;max-width:100%;min-height:24px;padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--ink);font-size:12px;white-space:normal}.stage-pill[data-status=approved]{border-color:#307d5d59;background:#307d5d1f}.stage-pill[data-status=rejected]{border-color:#be444459;background:#be44441f}.table-input{min-width:180px;height:34px}.search-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;padding:12px 16px;border-bottom:1px solid var(--hairline)}.knowledge-list{display:grid;gap:10px;padding:12px 16px 16px}.knowledge-item{display:grid;gap:8px;padding:12px;background:var(--surface-muted);border:1px solid var(--hairline);border-left:4px solid var(--runbook);border-radius:6px}.knowledge-item p{display:-webkit-box;margin:0;overflow:hidden;color:#344054;font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:4}.knowledge-item small{color:var(--ink-muted);font-size:12px}table{width:100%;min-width:760px;border-collapse:collapse}.resizable-table{table-layout:fixed}.resizable-th{position:relative;-webkit-user-select:none;user-select:none}.draggable-th{cursor:grab}.draggable-th:active{cursor:grabbing}.column-resize-handle{position:absolute;top:8px;right:-3px;bottom:8px;z-index:3;width:7px;cursor:col-resize;touch-action:none;border-radius:999px}.column-resize-handle:after{position:absolute;top:0;right:3px;bottom:0;width:1px;content:"";background:transparent;transition:background .12s ease,box-shadow .12s ease}.resizable-th:hover>.column-resize-handle:after,.resizable-th.is-active-resize>.column-resize-handle:after{background:#6366f1;box-shadow:0 0 0 2px #6366f11f}.is-resizing-column,.is-resizing-column *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.is-reordering-column,.is-reordering-column *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.is-dragging-column{opacity:.68;background:#dbeafe}.column-drop-before:before,.column-drop-after:before{position:absolute;top:6px;bottom:6px;z-index:4;width:3px;content:"";background:#1d4ed8;border-radius:999px;box-shadow:0 0 0 4px #1d4ed82e}.column-drop-before:before{left:0}.column-drop-after:before{right:0}th,td{height:46px;padding:0 14px;border-bottom:1px solid var(--hairline);text-align:left;vertical-align:middle}th{color:#4b5565;background:#f1f3f6;font-size:12px;font-weight:700}td{color:#344054;font-size:13px;overflow-wrap:anywhere}tbody tr:hover td{background:#fbfcfe}.audit-log-table{min-width:1180px;table-layout:fixed}.audit-log-table th,.audit-log-table td{height:42px;padding:0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal}.audit-log-table code{display:block;max-width:100%;overflow:hidden;color:#475569;font-family:Cascadia Mono,Consolas,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap;background:transparent}.audit-time-col{width:190px}.audit-actor-col{width:110px}.audit-action-col{width:260px}.audit-target-col{width:230px}.audit-detail-col{width:390px}.metric{display:grid;grid-template-columns:24px 1fr auto;gap:8px 10px;align-items:center;min-width:0;padding:16px;background:var(--surface);border:1px solid var(--hairline);border-left:4px solid var(--report);border-radius:8px}.report-metrics-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-selectable{position:relative;width:100%;min-height:96px;color:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.metric-selectable:hover{transform:translateY(-1px);border-color:#0ea5e959;box-shadow:0 10px 22px #0f172a0f}.metric-selectable.active{background:linear-gradient(180deg,#fff,#f0f9ff);border-color:#0ea5e97a;box-shadow:0 0 0 3px #0ea5e917}.metric-selectable.active:after{position:absolute;right:16px;bottom:10px;left:16px;height:3px;content:"";background:var(--report);border-radius:999px}.metric svg{color:var(--report)}.metric span,.metric small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric strong{grid-column:3;grid-row:1 / span 2;color:var(--ink);font-size:28px;font-weight:700;justify-self:end}.metric small{grid-column:2;color:var(--ink-subtle);font-size:12px}.report-detail-table{min-width:760px;table-layout:fixed}.report-detail-table th,.report-detail-table td{white-space:nowrap}.span-2{grid-column:span 2;padding:16px}pre{margin:12px 0 0;padding:12px;overflow:auto;color:#d7dee9;background:#10141d;border:1px solid #293142;border-radius:6px}.error-line{margin-bottom:12px;padding:10px 12px;color:#8a1f1f;background:#fff1f2;border:1px solid #f0a4a8;border-left:4px solid var(--danger);border-radius:6px}.empty{padding:24px 16px;color:var(--ink-muted)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes refresh-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-panel-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.99)}}@media(prefers-reduced-motion:reduce){.modal-enter-active,.modal-leave-active,.asset-create-button{transition:none}.modal-enter-active .modal-panel,.modal-leave-active .modal-panel{animation:none}.asset-create-button:not(:disabled):hover,.asset-create-button:not(:disabled):active,.quick-action:hover,.quick-action:active{transform:none}}@media(max-width:1100px){.panel-head{flex-wrap:wrap;gap:10px;padding:10px 12px}.panel-head-actions,.asset-head-actions{flex-wrap:wrap}.expandable-search,.expandable-search.expanded{flex:1 1 220px;width:100%}.knowledge-filter-head{align-items:stretch}.knowledge-search-controls{flex-wrap:wrap}.knowledge-search-controls .table-input.wide{min-width:220px}.knowledge-search-controls .ghost-button:not(.compact){flex-basis:58px}.knowledge-search-controls .ghost-button.compact,.knowledge-search-controls .asset-create-button{flex:0 0 auto}}@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:3;display:block;padding:12px}.brand,.side-metrics{display:none}.nav{display:flex;overflow-x:auto}.nav-item{flex:0 0 auto}.workspace{padding:16px}.topbar{gap:14px}.toolbar{justify-content:flex-start}.incident-grid,.users-layout,.runbook-layout,.asset-layout,.credential-layout,.knowledge-layout,.workflow-layout,.settings-layout,.report-metrics-row{grid-template-columns:1fr}.span-2{grid-column:span 1}}@media(max-width:620px){.topbar{align-items:flex-start;flex-direction:column}.toolbar{display:flex;width:auto;justify-content:flex-start}.quick-action{width:auto;padding:0 10px}.quick-action-round{width:auto;min-width:0;padding:0 10px}.incident-row,.definition{grid-template-columns:1fr}.timeline-item{grid-template-columns:20px minmax(0,1fr)}.timeline-item small{grid-column:2}}
