:root{--ink-900: #0c1a1f;--ink-800: #12262c;--ink-700: #1b333a;--text-primary: #172226;--text-secondary: #5b6b70;--text-muted: #8b9a9f;--canvas: #f4f6f6;--surface: #ffffff;--surface-subtle: #f8fafa;--surface-soft: #f1f5f5;--border: #e3e9e9;--border-strong: #cfdada;--border-subtle: #edf1f1;--primary: #0f766e;--primary-hover: #0b5f59;--primary-soft: #e6f4f2;--primary-ring: rgba(15, 118, 110, .14);--info: #2563eb;--info-soft: #eaf0fd;--success: #0e8a5f;--success-soft: #e7f5ee;--warning: #b45309;--warning-soft: #fdf3e7;--danger: #b42318;--danger-soft: #fdecea;--governance: #6b5bd2;--governance-soft: #efedfb;--neutral: #647478;--neutral-soft: #eef2f2;--font-sans: ui-sans-serif, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--radius-sm: 6px;--radius: 8px;--radius-card: 10px;--radius-dialog: 14px;--shadow-card: 0 1px 2px rgba(12, 26, 31, .04);--shadow-pop: 0 12px 32px rgba(12, 26, 31, .12);--shadow-drawer: -24px 0 60px rgba(12, 26, 31, .14);--sidebar-width: 248px;--sidebar-collapsed: 76px;--topbar-height: 64px;--ease: cubic-bezier(.2, .6, .2, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:var(--canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font-family:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}::selection{background:#0f766e2e}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d3dddd;border-radius:6px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#b9c7c7;background-clip:content-box;border:3px solid transparent}.mono{font-family:var(--font-mono);font-size:12px;letter-spacing:-.01em}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-primary{color:var(--primary)}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.w-full{width:100%}.num{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:var(--ink-900);display:flex;flex-direction:column;z-index:50;transition:width .2s var(--ease),transform .22s var(--ease);overflow:hidden}.sidebar-brand{height:var(--topbar-height);padding:0 18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.brand-mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(140deg,#14b8a6,#0f766e 70%);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;letter-spacing:-.03em;flex-shrink:0;box-shadow:inset 0 1px #ffffff3d}.brand-text{min-width:0;line-height:1.2}.brand-name{color:#eef7f6;font-size:13.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.brand-sub{color:#64797e;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;margin-top:2px}.sidebar-nav{flex:1;overflow-y:auto;padding:14px 0 8px}.sidebar-nav::-webkit-scrollbar{width:0}.nav-group{margin-bottom:14px}.nav-group-label{padding:0 22px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#556a70;font-weight:600;margin-bottom:6px;white-space:nowrap}.nav-item{position:relative;display:flex;align-items:center;gap:10px;height:37px;margin:2px 12px;padding:0 10px;border-radius:8px;color:#96aaaf;font-size:13px;font-weight:450;transition:background .15s,color .15s;white-space:nowrap}.nav-item svg{width:17px;height:17px;flex-shrink:0;stroke-width:1.8}.nav-item:hover{background:#ffffff0d;color:#e5f1f0}.nav-item.router-link-active,.nav-item.is-active{background:#14b8a61f;color:#7fe8da}.nav-item.router-link-active:before,.nav-item.is-active:before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:2px;border-radius:0 2px 2px 0;background:#2dd4bf}.nav-label{overflow:hidden;text-overflow:ellipsis}.nav-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#f59e0b29;color:#f5b95c;font-size:10px;font-weight:600;display:grid;place-items:center}.nav-badge--teal{background:#2dd4bf24;color:#5eead4}.sidebar-foot{padding:12px;flex-shrink:0}.sidebar-note{border:1px solid rgba(255,255,255,.08);background:#ffffff08;border-radius:10px;padding:12px;color:#8ba0a4;font-size:11px;line-height:1.55}.sidebar-note-title{display:flex;align-items:center;gap:6px;color:#d7e6e5;font-size:11.5px;font-weight:600;margin-bottom:4px}.sidebar-note .progress{background:#ffffff17;margin:8px 0 6px}.sidebar-note .progress>span{background:#2dd4bf}.sidebar-collapse-btn{width:100%;margin-top:8px;border:0;background:transparent;color:#6d8287;font-size:11px;display:flex;align-items:center;gap:6px;padding:6px 4px;border-radius:6px}.sidebar-collapse-btn:hover{color:#b9cfce;background:#ffffff0a}.main-shell{margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column;transition:margin-left .2s var(--ease);min-width:0}.app-shell.is-collapsed .sidebar{width:var(--sidebar-collapsed)}.app-shell.is-collapsed .main-shell{margin-left:var(--sidebar-collapsed)}.app-shell.is-collapsed .brand-text,.app-shell.is-collapsed .nav-group-label,.app-shell.is-collapsed .nav-label,.app-shell.is-collapsed .nav-badge,.app-shell.is-collapsed .sidebar-note,.app-shell.is-collapsed .sidebar-collapse-btn span{display:none}.app-shell.is-collapsed .nav-item{justify-content:center;padding:0}.app-shell.is-collapsed .nav-group{margin-bottom:6px}.app-shell.is-collapsed .sidebar-brand{justify-content:center;padding:0}.topbar{position:sticky;top:0;z-index:40;height:var(--topbar-height);background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;padding:0 22px 0 16px}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.crumbs{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-muted);min-width:0}.crumbs a{color:var(--text-secondary)}.crumbs a:hover{color:var(--primary)}.crumb-current{color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-search{display:flex;align-items:center;gap:8px;height:32px;width:236px;padding:0 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-muted);font-size:12px;transition:border .15s,background .15s}.top-search:hover{border-color:var(--border-strong);background:#fff}.top-search kbd{margin-left:auto;font-family:var(--font-sans);font-size:10px;color:var(--text-muted);border:1px solid var(--border);background:#fff;border-radius:4px;padding:1px 4px;line-height:1.4}.env-badge{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:#fff;color:var(--text-secondary);font-size:11px;white-space:nowrap}.env-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.demo-badge{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:6px;background:var(--warning-soft);color:var(--warning);border:1px solid #f3dcbc;font-size:11px;font-weight:500;white-space:nowrap}.menu-toggle{display:none}.icon-btn{width:32px;height:32px;border:0;background:transparent;border-radius:8px;color:var(--text-secondary);display:grid;place-items:center;position:relative;transition:background .15s,color .15s}.icon-btn:hover{background:var(--surface-soft);color:var(--text-primary)}.icon-btn svg{width:17px;height:17px}.icon-btn.has-dot:after{content:"";position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--danger);border:1.5px solid #fff}.user-chip{display:flex;align-items:center;gap:8px;padding:3px 8px 3px 3px;border-radius:999px;border:1px solid transparent;background:transparent;transition:background .15s}.user-chip:hover{background:var(--surface-soft)}.avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(140deg,#14b8a6,#0f766e);color:#fff;font-size:11px;font-weight:600;display:grid;place-items:center;flex-shrink:0}.avatar--lg{width:34px;height:34px;font-size:12px}.user-meta{text-align:left;line-height:1.2}.user-name{font-size:12px;font-weight:600;color:var(--text-primary)}.user-role{font-size:10px;color:var(--text-muted);margin-top:1px}.content{padding:24px 28px 56px;width:100%;max-width:1640px;margin:0 auto;flex:1}.page{display:flex;flex-direction:column;gap:20px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.page-head-main{min-width:0}.eyebrow{display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:7px}.page-title{font-size:23px;line-height:1.3;font-weight:650;letter-spacing:-.015em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-title--lg{font-size:27px}.page-desc{margin-top:6px;color:var(--text-secondary);font-size:12.5px;max-width:78ch;line-height:1.6}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-title{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.section-sub{font-size:11.5px;color:var(--text-muted);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 13px;border-radius:8px;border:1px solid transparent;background:transparent;font-size:12.5px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.btn svg{width:15px;height:15px;stroke-width:1.9}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 2px #0f766e33}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:#fff;border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--surface-subtle);border-color:#b9c8c8}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-soft);color:var(--text-primary)}.btn-link{color:var(--primary);padding:0;height:auto;font-size:12px}.btn-link:hover{color:var(--primary-hover);text-decoration:underline}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#971b12}.btn-danger-outline{background:#fff;border-color:#efc9c5;color:var(--danger)}.btn-danger-outline:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{height:28px;padding:0 9px;font-size:11.5px;border-radius:7px}.btn-sm svg{width:13px;height:13px}.btn-lg{height:38px;padding:0 16px;font-size:13px}.btn-icon-left{padding-left:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border)}.card-head--plain{border-bottom:0;padding-bottom:0}.card-title{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px}.card-title svg{width:16px;height:16px;color:var(--text-muted)}.card-sub{font-size:11px;color:var(--text-muted);margin-top:2px}.card-body{padding:18px}.card-body--flush{padding:0}.card-foot{padding:11px 18px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted);gap:12px;flex-wrap:wrap}.card-foot--plain{border-top:0;padding-top:0}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-main{grid-template-columns:minmax(0,1.62fr) minmax(0,1fr)}.grid-main-rev{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr)}.grid-wide{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.metric{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:14px 15px;box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.metric.tone-danger:before,.metric.tone-warning:before,.metric.tone-success:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0}.metric.tone-danger:before{background:var(--danger)}.metric.tone-warning:before{background:var(--warning)}.metric.tone-success:before{background:var(--success)}.metric-label{font-size:11px;color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-value{margin-top:8px;font-size:27px;line-height:1.15;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:4px}.metric-unit{font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:0}.metric-foot{margin-top:7px;font-size:10.5px;color:var(--text-muted);display:flex;align-items:center;gap:4px;line-height:1.4}.metric-foot strong{color:var(--text-secondary);font-weight:600}.metric-spark{position:absolute;right:13px;bottom:12px;opacity:.9}.badge{display:inline-flex;align-items:center;gap:5px;height:21px;padding:1px 7px;border-radius:var(--radius-sm);background:var(--neutral-soft);color:var(--neutral);font-size:10.5px;font-weight:500;white-space:nowrap;line-height:1}.badge .dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge--success{background:var(--success-soft);color:var(--success)}.badge--info{background:var(--info-soft);color:var(--info)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--governance{background:var(--governance-soft);color:var(--governance)}.badge--neutral{background:var(--neutral-soft);color:var(--neutral)}.badge--outline{background:#fff;border:1px solid var(--border-strong);color:var(--text-secondary)}.badge--lg{height:24px;font-size:11px;padding:2px 8px}.chip{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px;border-radius:5px;background:var(--surface-soft);color:var(--text-secondary);border:1px solid var(--border);font-size:10.5px;white-space:nowrap}.chip--primary{background:var(--primary-soft);border-color:#c9e7e3;color:var(--primary)}.chip--governance{background:var(--governance-soft);border-color:#ddd8f8;color:var(--governance)}.tag-list{display:flex;flex-wrap:wrap;gap:5px}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}table.data thead th{background:var(--surface-subtle);color:var(--text-muted);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-align:left;padding:9px 16px;border-bottom:1px solid var(--border);white-space:nowrap}table.data tbody td{padding:10px 16px;border-bottom:1px solid var(--border-subtle);vertical-align:middle;color:var(--text-secondary)}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr:hover{background:#f9fbfb}table.data tbody tr.is-clickable{cursor:pointer}table.data tbody tr.is-selected{background:var(--primary-soft)}table.data tbody tr.is-selected td:first-child{box-shadow:inset 2px 0 0 var(--primary)}table.data th.num,table.data td.num{text-align:right;font-variant-numeric:tabular-nums}.cell-main{font-size:12.5px;font-weight:550;color:var(--text-primary);display:flex;align-items:center;gap:6px;min-width:0}.cell-main a{color:var(--text-primary)}.cell-main a:hover{color:var(--primary)}.cell-sub{font-size:10.5px;color:var(--text-muted);margin-top:2px;display:flex;align-items:center;gap:6px}.cell-mono{font-family:var(--font-mono);font-size:10.5px;color:var(--text-secondary)}.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.table-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted);flex-wrap:wrap}.pagination{display:flex;align-items:center;gap:4px}.page-btn{min-width:26px;height:26px;padding:0 7px;border-radius:6px;border:1px solid var(--border);background:#fff;color:var(--text-secondary);font-size:11px}.page-btn.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);font-weight:600}.page-btn:disabled{opacity:.4}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .span-2{grid-column:span 2}.form-grid--3 .span-3{grid-column:span 3}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:11.5px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.field-label .req{color:var(--danger)}.field-hint{font-size:11px;color:var(--text-muted);line-height:1.5}.field-error{font-size:11px;color:var(--danger)}.input,.select,.textarea{height:34px;border:1px solid var(--border-strong);border-radius:var(--radius);padding:0 10px;font-size:12.5px;background:#fff;color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s;width:100%;min-width:0}.input::placeholder,.textarea::placeholder{color:#a8b5b8}.input:hover,.select:hover,.textarea:hover{border-color:#b9c8c8}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.input--mono,.textarea--mono{font-family:var(--font-mono);font-size:11.5px}.textarea{height:auto;min-height:96px;padding:9px 10px;resize:vertical;line-height:1.65}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235b6b70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.select--sm,.input--sm{height:30px;font-size:11.5px;border-radius:7px}textarea.code-input{font-family:var(--font-mono);font-size:11.5px;background:#0f2127;border-color:#1d3a40;color:#d9e8e7;line-height:1.7;min-height:220px}textarea.code-input:focus{border-color:#2dd4bf;box-shadow:0 0 0 3px #2dd4bf1f}.input-group{display:flex;align-items:stretch;gap:8px}.input-group .input{flex:1}.input-affix{display:flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-subtle);font-size:11.5px;color:var(--text-muted);white-space:nowrap}.checkline{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text-secondary);cursor:pointer}.checkline input[type=checkbox]{width:15px;height:15px;margin:1px 0 0;accent-color:var(--primary);flex-shrink:0}.switch{position:relative;width:36px;height:20px;border-radius:999px;background:#d7e0e0;border:0;padding:0;flex-shrink:0;transition:background .18s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000002e;transition:transform .18s var(--ease)}.switch.on{background:var(--primary)}.switch.on:after{transform:translate(16px)}.switch-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.switch-row:last-child{border-bottom:0}.switch-copy{font-size:12.5px;color:var(--text-primary);font-weight:500}.switch-desc{font-size:11px;color:var(--text-muted);margin-top:2px;line-height:1.5}.radio-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.radio-card{border:1px solid var(--border-strong);background:#fff;border-radius:var(--radius);padding:10px;text-align:left;transition:border .15s,background .15s,box-shadow .15s}.radio-card:hover{border-color:#b9c8c8}.radio-card.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 2px var(--primary-ring)}.radio-card-title{font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.radio-card-desc{font-size:10.5px;color:var(--text-muted);margin-top:3px;line-height:1.45}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:13px 16px;border-bottom:1px solid var(--border)}.toolbar--plain{border-bottom:0;padding-bottom:0}.search-field{position:relative;display:flex;align-items:center}.search-field svg{position:absolute;left:10px;width:14px;height:14px;color:var(--text-muted);pointer-events:none}.search-field .input{padding-left:30px;width:240px}.filter-label{font-size:11px;color:var(--text-muted);white-space:nowrap}.segmented{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--border)}.segmented button{border:0;background:transparent;height:25px;padding:0 9px;border-radius:6px;font-size:11px;color:var(--text-secondary);transition:background .15s,color .15s}.segmented button.active{background:#fff;color:var(--primary);font-weight:600;box-shadow:0 1px 2px #0c1a1f14}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--border);padding:0 18px;overflow-x:auto}.tabs--plain{padding:0}.tab{padding:11px 1px;font-size:12.5px;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;background:transparent;border-top:0;border-left:0;border-right:0;transition:color .15s,border-color .15s}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab .count{font-size:10px;background:var(--surface-soft);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:0 5px;line-height:15px}.tab.active .count{background:var(--primary-soft);border-color:#c9e7e3;color:var(--primary)}.banner{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-radius:var(--radius);border:1px solid;font-size:12px;line-height:1.55}.banner svg{width:16px;height:16px;flex-shrink:0;margin-top:1px}.banner-title{font-weight:600}.banner--info{background:#f5f8fe;border-color:#dce6fb;color:#33517f}.banner--info svg{color:var(--info)}.banner--warning{background:#fffaf2;border-color:#f3e2c7;color:#77501c}.banner--warning svg{color:var(--warning)}.banner--danger{background:#fff7f6;border-color:#f3d2ce;color:#7c2d26}.banner--danger svg{color:var(--danger)}.banner--success{background:#f4fbf7;border-color:#d5ecdf;color:#1d5c43}.banner--success svg{color:var(--success)}.alert-item{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--border-subtle)}.alert-item:last-child{border-bottom:0;padding-bottom:0}.alert-icon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;flex-shrink:0}.alert-icon svg{width:14px;height:14px}.alert-icon.danger{background:var(--danger-soft);color:var(--danger)}.alert-icon.warning{background:var(--warning-soft);color:var(--warning)}.alert-icon.info{background:var(--info-soft);color:var(--info)}.alert-icon.success{background:var(--success-soft);color:var(--success)}.alert-title{font-size:12px;font-weight:550;color:var(--text-primary);line-height:1.45}.alert-meta{font-size:10.5px;color:var(--text-muted);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap}.progress{height:6px;background:#edf1f1;border-radius:999px;overflow:hidden;width:100%}.progress>span{display:block;height:100%;border-radius:999px;background:var(--primary);transition:width .4s var(--ease)}.progress.warn>span{background:var(--warning)}.progress.danger>span{background:var(--danger)}.progress.info>span{background:var(--info)}.progress--lg{height:8px}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 20px}.kv-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.kv-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.kv-label{font-size:10.5px;color:var(--text-muted);margin-bottom:3px;display:flex;align-items:center;gap:4px}.kv-value{font-size:12px;color:var(--text-primary);line-height:1.5;word-break:break-word}.kv-value--mono{font-family:var(--font-mono);font-size:11px}.divider{height:1px;background:var(--border-subtle);margin:14px 0}.divider--vertical{width:1px;height:auto;align-self:stretch;margin:0 4px}.code-card{background:#0f2127;border:1px solid #1d3a40;border-radius:9px;overflow:hidden}.code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;border-bottom:1px solid rgba(255,255,255,.07);color:#89a5aa;font-size:10.5px;font-family:var(--font-mono)}.code-body{margin:0;padding:12px 14px;overflow:auto;color:#d5e5e5;font-family:var(--font-mono);font-size:11px;line-height:1.75;white-space:pre;-moz-tab-size:2;tab-size:2;max-height:380px}.code-body--tall{max-height:520px}.code-copy{display:inline-flex;align-items:center;gap:4px;border:0;background:#ffffff0f;color:#a7bfc3;font-size:10px;padding:3px 7px;border-radius:5px;font-family:var(--font-sans)}.code-copy:hover{background:#ffffff1f;color:#e3f1ef}.code-inline{font-family:var(--font-mono);font-size:11px;background:var(--surface-soft);border:1px solid var(--border);border-radius:4px;padding:1px 5px;color:#315353;word-break:break-all}.hash{font-family:var(--font-mono);font-size:10.5px;background:var(--surface-soft);border:1px solid var(--border);border-radius:4px;padding:1px 5px;color:var(--text-secondary);display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline{position:relative;padding-left:18px}.timeline:before{content:"";position:absolute;left:4px;top:7px;bottom:8px;width:1px;background:var(--border)}.timeline-item{position:relative;padding-bottom:17px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-18px;top:4px;width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid var(--border-strong);z-index:1}.timeline-item.done .timeline-dot{border-color:var(--primary);background:var(--primary)}.timeline-item.current .timeline-dot{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px var(--primary-soft)}.timeline-item.failed .timeline-dot{border-color:var(--danger);background:var(--danger)}.timeline-title{font-size:12px;font-weight:550;color:var(--text-primary);display:flex;align-items:center;gap:7px;flex-wrap:wrap}.timeline-meta{font-size:10.5px;color:var(--text-muted);margin-top:3px;display:flex;gap:10px;flex-wrap:wrap}.timeline-desc{font-size:11px;color:var(--text-secondary);margin-top:4px;line-height:1.55}.timeline--compact .timeline-item{padding-bottom:13px}.timeline--compact .timeline-title{font-size:11.5px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0c1a1f57;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);display:flex}.overlay--drawer{justify-content:flex-end}.overlay--center{align-items:center;justify-content:center;padding:20px}.drawer{width:min(640px,95vw);height:100%;background:#fff;display:flex;flex-direction:column;border-left:1px solid var(--border);box-shadow:var(--shadow-drawer);animation:drawer-in .22s var(--ease)}.drawer--wide{width:min(760px,96vw)}.drawer-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-shrink:0}.drawer-title{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.drawer-sub{font-size:10.5px;color:var(--text-muted);margin-top:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.drawer-body{flex:1;overflow-y:auto;padding:18px 20px 24px}.drawer-foot{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;flex-shrink:0;background:var(--surface-subtle)}.modal{width:min(520px,96vw);max-height:88vh;background:#fff;border-radius:var(--radius-dialog);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;animation:modal-in .2s var(--ease);overflow:hidden}.modal--lg{width:min(680px,96vw)}.modal-head{padding:18px 20px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-title{font-size:15px;font-weight:600}.modal-sub{font-size:11.5px;color:var(--text-muted);margin-top:4px;line-height:1.55}.modal-body{padding:6px 20px 18px;overflow-y:auto}.modal-foot{padding:12px 20px;border-top:1px solid var(--border);background:var(--surface-subtle);display:flex;justify-content:flex-end;gap:8px}.modal-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.modal-icon svg{width:18px;height:18px}.modal-icon.danger{background:var(--danger-soft);color:var(--danger)}.modal-icon.primary{background:var(--primary-soft);color:var(--primary)}.modal-icon.warning{background:var(--warning-soft);color:var(--warning)}@keyframes drawer-in{0%{transform:translate(28px);opacity:.6}to{transform:translate(0);opacity:1}}@keyframes modal-in{0%{transform:translateY(8px) scale(.99);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.toast-host{position:fixed;top:76px;right:24px;z-index:130;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;min-width:260px;max-width:380px;padding:10px 13px;border-radius:9px;background:#0f2a2e;border:1px solid rgba(255,255,255,.1);color:#eaf6f4;font-size:12px;line-height:1.5;box-shadow:var(--shadow-pop);animation:toast-in .2s var(--ease);pointer-events:auto}.toast svg{width:15px;height:15px;flex-shrink:0}.toast--danger{background:#3a1512}.toast--warning{background:#3a2a10}.toast--info{background:#14243f}@keyframes toast-in{0%{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}.empty{padding:34px 20px;text-align:center;color:var(--text-muted)}.empty-icon{width:38px;height:38px;border-radius:10px;background:var(--surface-soft);display:grid;place-items:center;margin:0 auto 10px;color:var(--text-muted)}.empty-title{font-size:12.5px;font-weight:600;color:var(--text-secondary);margin-bottom:3px}.empty-desc{font-size:11px;line-height:1.55;max-width:320px;margin:0 auto}.chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.chart-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:10.5px;color:var(--text-muted)}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend-swatch{width:7px;height:7px;border-radius:2px}.chart-wrap{position:relative;width:100%}.chart-svg{display:block;width:100%;overflow:visible}.chart-tooltip{position:absolute;z-index:3;background:#0f2a2e;color:#e8f4f2;border-radius:7px;padding:6px 9px;font-size:10.5px;line-height:1.55;pointer-events:none;box-shadow:var(--shadow-pop);transform:translate(-50%,-100%);white-space:nowrap}.bar-chart{display:flex;align-items:flex-end;gap:5px;height:150px;padding-top:8px}.bar-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;height:100%;min-width:0}.bar{width:100%;max-width:28px;border-radius:3px 3px 0 0;background:var(--primary);opacity:.85;transition:opacity .15s}.bar:hover{opacity:1}.bar-label{font-size:9.5px;color:var(--text-muted);white-space:nowrap}.score-ring{--score: 90;width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--score) * 1%),#e9efef 0);display:grid;place-items:center;flex-shrink:0}.score-ring-inner{width:74px;height:74px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.score-value{font-size:22px;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.score-label{font-size:9.5px;color:var(--text-muted);margin-top:4px}.stepper{display:flex;align-items:flex-start;padding:2px 0}.wiz-step{flex:1;position:relative;text-align:center;min-width:0}.wiz-step:before{content:"";position:absolute;top:14px;left:50%;width:100%;height:1px;background:var(--border)}.wiz-step:last-child:before{display:none}.wiz-step.done:before{background:var(--primary)}.wiz-circle{position:relative;z-index:1;width:28px;height:28px;margin:0 auto;border-radius:50%;background:#fff;border:1px solid var(--border-strong);color:var(--text-muted);font-size:11px;font-weight:600;display:grid;place-items:center;transition:all .18s}.wiz-circle svg{width:14px;height:14px}.wiz-step.active .wiz-circle{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.wiz-step.done .wiz-circle{background:var(--primary);border-color:var(--primary);color:#fff}.wiz-label{margin-top:7px;font-size:10.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.wiz-step.active .wiz-label{color:var(--primary);font-weight:600}.wiz-step.done .wiz-label{color:var(--text-secondary)}.upload-zone{border:1.5px dashed var(--border-strong);background:#fafcfc;border-radius:12px;padding:30px 20px;text-align:center;transition:border-color .15s,background .15s;cursor:pointer}.upload-zone:hover,.upload-zone.dragover{border-color:var(--primary);background:#f3faf9}.upload-icon{width:42px;height:42px;margin:0 auto 10px;border-radius:11px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.upload-icon svg{width:20px;height:20px}.upload-title{font-size:13px;font-weight:600}.upload-desc{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.55}.file-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);background:#fff;border-radius:8px}.file-icon{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);flex-shrink:0}.file-icon svg{width:15px;height:15px}.file-tree{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);line-height:1.9}.file-tree .dir{color:var(--text-primary)}.file-tree .muted{color:var(--text-muted)}.file-tree .file{display:flex;align-items:center;gap:6px}.file-tree .file svg{width:12px;height:12px;color:var(--text-muted)}.pipeline{display:flex;align-items:stretch;gap:6px;overflow-x:auto;padding-bottom:2px}.pipe-step{flex:1;min-width:102px;border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:#fff;position:relative}.pipe-step+.pipe-step{margin-left:10px}.pipe-step+.pipe-step:before{content:"";position:absolute;left:-10px;top:50%;width:10px;height:1px;background:var(--border-strong)}.pipe-step-name{font-size:10.5px;color:var(--text-muted);white-space:nowrap}.pipe-step-value{font-size:13px;font-weight:600;margin-top:3px;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:3px}.pipe-step-value small{font-size:9.5px;color:var(--text-muted);font-weight:400}.pipe-step.ok{border-color:#d7e9e6;background:#fbfefd}.pipe-step.warn{border-color:#f0dfc4;background:#fffdf8}.chain{display:flex;gap:24px;overflow-x:auto;padding:2px 2px 8px}.chain-node{min-width:196px;max-width:220px;border:1px solid var(--border);border-radius:8px;padding:9px 11px;background:#fff;position:relative;flex-shrink:0}.chain-node+.chain-node:before{content:"→";position:absolute;left:-19px;top:50%;transform:translateY(-50%);color:#9fb3b3;font-size:13px}.chain-label{font-size:9.5px;color:var(--text-muted);margin-bottom:4px}.chain-hash{font-family:var(--font-mono);font-size:9.5px;color:var(--text-secondary);word-break:break-all;line-height:1.5}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.catalog-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:17px;display:flex;flex-direction:column;gap:11px;transition:border-color .15s,box-shadow .15s,transform .15s;cursor:pointer;min-width:0}.catalog-card:hover{border-color:#b9cfcc;box-shadow:0 6px 20px #0c1a1f0f;transform:translateY(-1px)}.catalog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.catalog-icon{width:36px;height:36px;border-radius:9px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;flex-shrink:0}.catalog-icon svg{width:18px;height:18px}.catalog-name{font-size:13.5px;font-weight:600;color:var(--text-primary);margin-top:9px;line-height:1.4}.catalog-desc{font-size:11.5px;color:var(--text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:37px}.catalog-meta{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:10.5px;color:var(--text-muted)}.catalog-meta span{display:inline-flex;align-items:center;gap:4px}.catalog-meta svg{width:12px;height:12px}.catalog-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--border-subtle);padding-top:10px;margin-top:auto;font-size:11px;color:var(--text-muted)}.owner-line{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--text-muted)}.owner-avatar{width:18px;height:18px;border-radius:50%;background:#e2eae9;color:var(--text-secondary);font-size:8px;font-weight:600;display:grid;place-items:center}.plane-tag{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--text-secondary);background:#fff;border:1px solid var(--border);height:22px;padding:0 7px;border-radius:5px}.plane-dot{width:6px;height:6px;border-radius:2px}.mini-list{display:flex;flex-direction:column}.mini-list-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-subtle);font-size:12px}.mini-list-item:last-child{border-bottom:0}.mini-list-main{flex:1;min-width:0}.mini-list-title{font-size:12px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-list-sub{font-size:10px;color:var(--text-muted);margin-top:2px}.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.stat-cell{padding:13px 16px;border-right:1px solid var(--border)}.stat-cell:last-child{border-right:0}.stat-label{font-size:10.5px;color:var(--text-muted)}.stat-value{font-size:17px;font-weight:650;margin-top:3px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:4px}.stat-value small{font-size:10px;font-weight:400;color:var(--text-muted)}.stat-sub{font-size:10px;color:var(--text-muted);margin-top:3px}.inline-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--text-muted)}.inline-meta span{display:inline-flex;align-items:center;gap:4px}.inline-meta svg{width:12px;height:12px}.popover-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-pop);padding:5px;z-index:60}.popover-item{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;text-align:left;font-size:12px;color:var(--text-secondary);padding:8px 9px;border-radius:6px}.popover-item:hover{background:var(--surface-soft);color:var(--text-primary)}.popover-item svg{width:14px;height:14px}.popover-divider{height:1px;background:var(--border-subtle);margin:4px 0}.cmd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#0c1a1f57;display:flex;justify-content:center;padding-top:12vh}.cmd{width:min(560px,94vw);height:fit-content;max-height:60vh;background:#fff;border-radius:12px;box-shadow:var(--shadow-pop);overflow:hidden;display:flex;flex-direction:column}.cmd-input-wrap{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid var(--border)}.cmd-input-wrap svg{width:17px;height:17px;color:var(--text-muted)}.cmd-input{border:0;outline:none;font-size:13.5px;flex:1}.cmd-list{overflow-y:auto;padding:6px}.cmd-group-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:7px 9px 4px}.cmd-item{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;border-radius:7px;padding:8px 9px;font-size:12px;color:var(--text-secondary);text-align:left}.cmd-item svg{width:15px;height:15px;color:var(--text-muted)}.cmd-item:hover,.cmd-item.is-active{background:var(--primary-soft);color:var(--primary)}.cmd-item:hover svg,.cmd-item.is-active svg{color:var(--primary)}.cmd-item-desc{margin-left:auto;font-size:9.5px;color:var(--text-muted)}.cmd-foot{border-top:1px solid var(--border);padding:7px 12px;display:flex;gap:12px;font-size:9.5px;color:var(--text-muted);background:var(--surface-subtle)}kbd{font-family:var(--font-sans);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:9.5px;background:#fff;color:var(--text-secondary)}.diff{font-family:var(--font-mono);font-size:10.5px;line-height:1.7;background:#0f2127;border-radius:8px;padding:10px 12px;color:#c9dedd;overflow-x:auto}.diff .add{color:#7fe0b5}.diff .del{color:#f0a49c}.diff .key{color:#8fb6d9}.page-enter-active{transition:opacity .16s ease}.page-enter-from{opacity:0}@media (max-width: 1440px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1280px){.content{padding:20px 20px 48px}.catalog-grid,.grid-4,.form-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--3 .span-3{grid-column:span 2}}@media (max-width: 1120px){.grid-main,.grid-main-rev,.grid-wide{grid-template-columns:minmax(0,1fr)}.top-search{width:190px}.grid-3,.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-cell:nth-child(2){border-right:0}.stat-cell:nth-child(-n+2){border-bottom:1px solid var(--border)}}@media (max-width: 960px){.sidebar{transform:translate(-100%);width:var(--sidebar-width)}.app-shell.mobile-open .sidebar{transform:translate(0)}.app-shell.is-collapsed .sidebar{width:var(--sidebar-width)}.app-shell.is-collapsed .brand-text,.app-shell.is-collapsed .nav-group-label,.app-shell.is-collapsed .nav-label,.app-shell.is-collapsed .nav-badge,.app-shell.is-collapsed .sidebar-note,.app-shell.is-collapsed .sidebar-collapse-btn span{display:block}.app-shell.is-collapsed .nav-item{justify-content:flex-start;padding:0 10px}.app-shell.is-collapsed .sidebar-brand{justify-content:flex-start;padding:0 18px}.main-shell,.app-shell.is-collapsed .main-shell{margin-left:0}.menu-toggle{display:grid!important}.top-search,.env-badge,.user-meta{display:none}.content{padding:16px 14px 44px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3,.grid-4,.catalog-grid,.form-grid,.form-grid--3{grid-template-columns:minmax(0,1fr)}.form-grid .span-2,.form-grid--3 .span-3{grid-column:span 1}.radio-cards{grid-template-columns:minmax(0,1fr)}.tabs{gap:16px}.page-actions{width:100%}.kv-grid--4,.kv-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.wiz-label{display:none}.wiz-step:before{top:14px}}@media (max-width: 720px){.topbar{gap:8px;padding:0 12px}.crumbs{display:none}.topbar-right{gap:4px}}@media (max-width: 560px){.metric-grid{grid-template-columns:minmax(0,1fr)}.page-title{font-size:20px}.kv-grid,.stat-strip{grid-template-columns:minmax(0,1fr)}.stat-cell{border-right:0;border-bottom:1px solid var(--border)}.stat-cell:last-child{border-bottom:0}.toolbar{padding:11px 12px}.search-field .input,.search-field{width:100%}.card-head,.card-body{padding:14px}.table-foot{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}:root{--kind-skill: #0f766e;--kind-skill-soft: #e6f4f2;--kind-agent: #6b5bd2;--kind-agent-soft: #efedfb;--kind-workflow: #2563eb;--kind-workflow-soft: #eaf0fd;--kind-model: #b45309;--kind-model-soft: #fdf3e7;--sidebar-width: 252px}.app-main{margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column;min-width:0}main.page{width:100%;max-width:1560px;margin:0 auto;padding:24px 28px 40px;flex:1;display:flex;flex-direction:column;gap:18px}.app-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 2px 0;margin-top:auto;border-top:1px solid var(--border-subtle);font-size:10.5px;color:var(--text-muted)}.sidebar-logo{width:32px;height:32px;border-radius:9px;background:linear-gradient(140deg,#14b8a6,#0f766e 70%);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px;letter-spacing:-.03em;flex-shrink:0;box-shadow:inset 0 1px #ffffff3d}.sidebar-brand-copy{min-width:0;line-height:1.2}.sidebar-brand-name{color:#eef7f6;font-size:13.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.sidebar-brand-sub{color:#64797e;font-size:9px;letter-spacing:.12em;white-space:nowrap;margin-top:3px}.sidebar-close{display:none;margin-left:auto;border:0;background:transparent;color:#93a8ad;font-size:20px;line-height:1;padding:4px}.sidebar-role{margin:12px 12px 4px;padding:10px 11px;border-radius:9px;border:1px solid rgba(45,212,191,.16);background:linear-gradient(135deg,#14b8a621,#14b8a608);display:flex;align-items:center;gap:9px}.sidebar-role-mark{width:7px;height:7px;border-radius:50%;background:#2dd4bf;box-shadow:0 0 0 3px #2dd4bf21;flex-shrink:0}.sidebar-role-copy{min-width:0;display:flex;flex-direction:column;line-height:1.3}.sidebar-role-copy strong{color:#dcf5f1;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-role-copy span{color:#7d9499;font-size:9.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-role-tag{margin-left:auto;flex-shrink:0;font-size:9px;color:#6ecfc4;border:1px solid rgba(45,212,191,.24);border-radius:4px;padding:1px 4px}.sidebar-scroll{flex:1;overflow-y:auto;min-height:0}.sidebar-scroll::-webkit-scrollbar{width:0}.sidebar-scroll .sidebar-nav{padding:10px 0 8px;overflow:visible}.nav-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 22px;margin-bottom:5px;white-space:nowrap}.nav-group-head span{font-size:9.5px;letter-spacing:.14em;color:#556a70;font-weight:600}.nav-group-head em{font-style:normal;font-size:8.5px;color:#42565c;letter-spacing:.04em}.nav-item--portal{color:#8fa6ab}.nav-item{height:34px;font-size:12.5px}.sidebar-foot{padding:10px 12px 12px;border-top:1px solid rgba(255,255,255,.06)}.sidebar-scope{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px;background:#ffffff08}.scope-dot{width:6px;height:6px;border-radius:50%;background:#2dd4bf;flex-shrink:0}.scope-dot--success{background:var(--success)}.scope-dot--info{background:var(--info)}.scope-dot--warning{background:var(--warning)}.scope-dot--danger{background:var(--danger)}.sidebar-scope div{display:flex;flex-direction:column;line-height:1.3}.sidebar-scope strong{color:#c3d7d6;font-size:10.5px;font-weight:500}.sidebar-scope span{color:#6d8287;font-size:9.5px}.sidebar-foot p{margin:8px 8px 0;font-size:9.5px;color:#556a70}.sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0914187a;z-index:45;display:none}.topbar-menu{display:none}.crumbs .crumb{white-space:nowrap}.crumb-sep{color:var(--border-strong);flex-shrink:0}.crumb--current{color:var(--text-primary);font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.command-trigger{display:inline-flex;align-items:center;gap:8px;height:32px;width:226px;padding:0 8px 0 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-muted);font-size:11.5px;text-align:left;transition:border .15s,background .15s}.command-trigger:hover{border-color:var(--border-strong);background:#fff}.command-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-trigger kbd{margin-left:auto;display:inline-flex;align-items:center;gap:1px;font-family:var(--font-sans);font-size:9.5px;color:var(--text-muted);border:1px solid var(--border);background:#fff;border-radius:4px;padding:1px 4px;flex-shrink:0}.phase-pill{display:inline-flex;align-items:center;height:23px;padding:0 7px;border-radius:5px;border:1px solid var(--border);background:#fff;color:var(--text-secondary);font-size:10px;font-weight:500;white-space:nowrap}.readonly-pill{display:inline-flex;align-items:center;gap:4px;height:23px;padding:0 7px;border-radius:5px;background:var(--governance-soft);color:var(--governance);font-size:10px;font-weight:500;white-space:nowrap}.alert-btn .alert-dot{position:absolute;top:3px;right:2px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:var(--danger);color:#fff;font-size:9px;font-style:normal;font-weight:600;display:grid;place-items:center;border:1.5px solid #fff}.user-wrap{position:relative}.user-btn{display:flex;align-items:center;gap:7px;border:1px solid transparent;background:transparent;border-radius:9px;padding:3px 6px 3px 3px;transition:background .15s;color:var(--text-muted)}.user-btn:hover{background:var(--surface-soft)}.user-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25;max-width:126px}.user-copy strong{font-size:11.5px;font-weight:600;color:var(--text-primary);white-space:nowrap}.user-copy span{font-size:9.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55}.user-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:290px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-pop);overflow:hidden;padding:6px}.menu-head{padding:8px 9px 9px;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.menu-head strong{display:block;font-size:11.5px;color:var(--text-primary)}.menu-head span{display:block;font-size:10px;color:var(--text-muted);margin-top:2px;line-height:1.5}.role-menu-list{max-height:332px;overflow-y:auto}.role-menu-item{width:100%;display:flex;align-items:center;gap:8px;border:0;background:transparent;border-radius:7px;padding:6px 8px;text-align:left;color:var(--text-secondary)}.role-menu-item:hover{background:var(--surface-soft)}.role-menu-item.active{background:var(--primary-soft)}.role-menu-end{width:22px;height:20px;border-radius:5px;border:1px solid var(--border);background:#fff;font-family:var(--font-mono);font-size:8.5px;color:var(--text-muted);display:grid;place-items:center;flex-shrink:0}.role-menu-item.active .role-menu-end{border-color:#0f766e59;color:var(--primary)}.role-menu-copy{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.3}.role-menu-copy strong{font-size:11.5px;font-weight:550;color:var(--text-primary)}.role-menu-copy em{font-style:normal;font-size:9.5px;color:var(--text-muted)}.role-menu-item svg{color:var(--primary)}.menu-logout{width:100%;display:flex;align-items:center;gap:7px;border:0;border-top:1px solid var(--border-subtle);background:transparent;margin-top:4px;padding:8px 9px;color:var(--text-secondary);font-size:11.5px;text-align:left;border-radius:0 0 7px 7px}.menu-logout:hover{background:var(--danger-soft);color:var(--danger)}.palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0914186b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;padding-top:12vh}.palette{width:min(560px,calc(100vw - 32px));max-height:68vh;background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;overflow:hidden;align-self:flex-start}.palette-search{display:flex;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid var(--border-subtle);color:var(--text-muted)}.palette-input{flex:1;border:0;outline:0;background:transparent;font-size:13px;color:var(--text-primary)}.palette-list{overflow-y:auto;padding:6px}.palette-item{width:100%;display:flex;align-items:center;gap:9px;padding:8px 9px;border:0;background:transparent;border-radius:7px;text-align:left;color:var(--text-secondary)}.palette-item.active{background:var(--primary-soft)}.palette-end{width:22px;height:20px;border:1px solid var(--border);border-radius:5px;background:#fff;font-family:var(--font-mono);font-size:8.5px;color:var(--text-muted);display:grid;place-items:center;flex-shrink:0}.palette-copy{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.3}.palette-copy strong{font-size:12px;color:var(--text-primary);font-weight:550}.palette-copy em{font-style:normal;font-family:var(--font-mono);font-size:9.5px;color:var(--text-muted)}.palette-phase{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:1px 4px}.palette-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:12px}.palette-foot{display:flex;align-items:center;gap:14px;padding:8px 12px;border-top:1px solid var(--border-subtle);background:var(--surface-subtle);color:var(--text-muted);font-size:9.5px}.palette-foot kbd{border:1px solid var(--border);background:#fff;border-radius:3px;padding:0 3px;margin-right:2px;font-family:var(--font-sans);font-size:9px}.kind-badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px;border-radius:5px;font-size:10px;font-weight:600;letter-spacing:.02em;white-space:nowrap;border:1px solid transparent}.kind-badge--skill{color:var(--kind-skill);background:var(--kind-skill-soft);border-color:#0f766e29}.kind-badge--agent{color:var(--kind-agent);background:var(--kind-agent-soft);border-color:#6b5bd229}.kind-badge--workflow{color:var(--kind-workflow);background:var(--kind-workflow-soft);border-color:#2563eb29}.kind-badge--solid{color:#fff}.kind-badge--solid.kind-badge--skill{background:var(--kind-skill)}.kind-badge--solid.kind-badge--agent{background:var(--kind-agent)}.kind-badge--solid.kind-badge--workflow{background:var(--kind-workflow)}.phase-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:17px;padding:0 5px;border-radius:4px;font-family:var(--font-mono);font-size:9px;font-weight:600;border:1px solid transparent;white-space:nowrap}.phase-badge--success{color:var(--success);background:var(--success-soft);border-color:#0e8a5f29}.phase-badge--info{color:var(--info);background:var(--info-soft);border-color:#2563eb24}.phase-badge--governance{color:var(--governance);background:var(--governance-soft);border-color:#6b5bd229}.phase-badge--warning{color:var(--warning);background:var(--warning-soft);border-color:#b4530929}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:13px 15px 12px;box-shadow:var(--shadow-card);position:relative;min-width:0}.metric-card:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:0 2px 2px 0;background:transparent}.metric-card--primary:before{background:var(--primary)}.metric-card--danger:before{background:var(--danger)}.metric-card--warning:before{background:var(--warning)}.metric-card--success:before{background:var(--success)}.metric-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10.5px;color:var(--text-muted);letter-spacing:.02em}.metric-icon{width:22px;height:22px;border-radius:6px;background:var(--surface-soft);color:var(--text-secondary);display:grid;place-items:center}.metric-card .metric-value{font-size:24px;font-weight:650;letter-spacing:-.03em;color:var(--text-primary);margin-top:5px;font-variant-numeric:tabular-nums;line-height:1.2}.metric-card .metric-value em{font-style:normal;font-size:11px;color:var(--text-muted);font-weight:500;margin-left:4px;letter-spacing:0}.metric-card .metric-foot{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:6px;font-size:10px;color:var(--text-muted);line-height:1.4}.metric-delta{color:var(--success);font-weight:600}.metric-delta.is-down{color:var(--danger)}.metric-hint{color:var(--text-muted)}.kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi-row--5{grid-template-columns:repeat(5,minmax(0,1fr))}.page-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-toolbar .spacer{flex:1}.subtle{color:var(--text-muted)}.tiny{font-size:10.5px}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono-sm{font-family:var(--font-mono);font-size:10.5px}.tabular{font-variant-numeric:tabular-nums}.right{text-align:right}.center{text-align:center}.strong{color:var(--text-primary);font-weight:600}.divider{height:1px;background:var(--border-subtle);margin:4px 0}.section-gap{margin-top:4px}.muted-box{background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px;font-size:11px;color:var(--text-secondary);line-height:1.6}.inline-code{font-family:var(--font-mono);font-size:10.5px;background:var(--surface-soft);border:1px solid var(--border-subtle);border-radius:4px;padding:1px 5px;color:var(--text-secondary)}.split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.split--wide{grid-template-columns:minmax(0,1fr) 420px}.split--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sticky-side{position:sticky;top:calc(var(--topbar-height) + 16px);display:flex;flex-direction:column;gap:12px}.grid-2-tight{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid-3-tight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border-subtle);background:var(--surface-subtle)}.filter-bar .search-field{min-width:220px}.filter-bar>.select{width:auto;min-width:104px;flex:0 0 auto}.filter-sep{width:1px;height:18px;background:var(--border)}.filter-label{font-size:10px;color:var(--text-muted);white-space:nowrap}.detail-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px 20px;box-shadow:var(--shadow-card)}.detail-title-row{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}.detail-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);flex-shrink:0}.detail-icon--agent{background:var(--kind-agent-soft);color:var(--kind-agent)}.detail-icon--workflow{background:var(--kind-workflow-soft);color:var(--kind-workflow)}.detail-title{font-size:20px;font-weight:650;letter-spacing:-.02em;line-height:1.3;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-sub{font-size:11.5px;color:var(--text-muted);margin-top:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-actions{margin-left:auto;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-subtle)}.hero-stat{padding:0 14px;border-left:1px solid var(--border-subtle);min-width:0}.hero-stat:first-child{border-left:0;padding-left:0}.hero-stat-label{font-size:10px;color:var(--text-muted);white-space:nowrap}.hero-stat-value{font-size:17px;font-weight:620;letter-spacing:-.02em;margin-top:2px;font-variant-numeric:tabular-nums}.hero-stat-value small{font-size:10px;color:var(--text-muted);font-weight:500;margin-left:3px}.plain-list{display:flex;flex-direction:column}.plain-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.plain-item:last-child{border-bottom:0;padding-bottom:0}.plain-item:first-child{padding-top:0}.plain-copy{min-width:0;flex:1}.plain-title{font-size:12px;color:var(--text-primary);font-weight:550;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.plain-sub{font-size:10.5px;color:var(--text-muted);margin-top:2px;line-height:1.5}.plain-right{margin-left:auto;flex-shrink:0;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.wizard-steps{display:flex;align-items:center;gap:0;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow-x:auto}.wizard-step{display:flex;align-items:center;gap:8px;padding:2px 16px;position:relative;flex-shrink:0;color:var(--text-muted);font-size:11.5px}.wizard-step+.wizard-step:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:1px;background:var(--border)}.wizard-step-num{width:22px;height:22px;border-radius:50%;border:1px solid var(--border-strong);display:grid;place-items:center;font-size:10px;font-weight:600;background:#fff;flex-shrink:0}.wizard-step.done{color:var(--primary)}.wizard-step.done .wizard-step-num{border-color:var(--primary);background:var(--primary);color:#fff}.wizard-step.active{color:var(--text-primary);font-weight:600}.wizard-step.active .wizard-step-num{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.wizard-body{display:flex;flex-direction:column;gap:14px}.wizard-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface-subtle);border-radius:0 0 var(--radius-card) var(--radius-card)}.wizard-foot-note{font-size:10.5px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.upload-zone{border:1.5px dashed var(--border-strong);background:linear-gradient(180deg,#fbfdfd,#f7fafa);border-radius:10px;padding:22px;text-align:center;transition:border .15s,background .15s}.upload-zone:hover{border-color:var(--primary);background:var(--primary-soft)}.upload-zone-icon{width:38px;height:38px;margin:0 auto 8px;border-radius:10px;background:#fff;border:1px solid var(--border);color:var(--primary);display:grid;place-items:center}.upload-zone-title{font-size:12.5px;font-weight:600;color:var(--text-primary)}.upload-zone-desc{font-size:10.5px;color:var(--text-muted);margin-top:3px;line-height:1.6}.upload-files{margin-top:10px;display:flex;flex-direction:column;gap:6px;text-align:left}.upload-file{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:7px;padding:7px 9px;font-size:11px}.upload-file svg{color:var(--success);flex-shrink:0}.upload-file .size{margin-left:auto;color:var(--text-muted);font-size:10px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-block{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface-subtle);min-width:0}.review-block-label{font-size:9.5px;color:var(--text-muted);letter-spacing:.04em;margin-bottom:4px}.review-block-value{font-size:11.5px;color:var(--text-primary);line-height:1.55;word-break:break-word}.event-stream{border:1px solid var(--border);border-radius:8px;background:#0e1c21;color:#b7cccc;font-family:var(--font-mono);font-size:10.5px;max-height:320px;overflow-y:auto;padding:10px 0}.event-line{display:flex;gap:9px;padding:3px 12px;line-height:1.55}.event-line:hover{background:#ffffff08}.event-seq{color:#52686e;min-width:26px;text-align:right;flex-shrink:0}.event-type{color:#5eead4;min-width:108px;flex-shrink:0}.event-type--tool{color:#c4b5fd}.event-type--model{color:#f5b95c}.event-type--error{color:#fca5a5}.event-payload{color:#8fa5a9;word-break:break-all}.agent-shell{display:grid;grid-template-columns:268px minmax(0,1fr);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;background:var(--surface);min-height:560px}.agent-sessions{border-right:1px solid var(--border);background:var(--surface-subtle);display:flex;flex-direction:column}.agent-sessions-head{padding:12px;border-bottom:1px solid var(--border-subtle)}.agent-session-list{overflow-y:auto;padding:6px}.agent-session{width:100%;display:block;text-align:left;border:1px solid transparent;background:transparent;border-radius:7px;padding:8px 9px;margin-bottom:2px}.agent-session:hover{background:#fff}.agent-session.active{background:#fff;border-color:var(--border);box-shadow:var(--shadow-card)}.agent-session-title{font-size:11.5px;color:var(--text-primary);font-weight:550;display:flex;align-items:center;gap:5px;min-width:0}.agent-session-meta{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:9.5px;color:var(--text-muted)}.agent-main{display:flex;flex-direction:column;min-width:0}.agent-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.agent-thread{flex:1;overflow-y:auto;padding:16px;background:linear-gradient(180deg,#fbfcfc,#fff);display:flex;flex-direction:column;gap:12px;max-height:420px}.chat-row{display:flex;gap:9px;align-items:flex-start}.chat-row.user{flex-direction:row-reverse}.chat-avatar{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--kind-agent-soft);color:var(--kind-agent);flex-shrink:0}.chat-avatar.user{background:var(--primary-soft);color:var(--primary);font-size:10px;font-weight:600}.chat-bubble{max-width:78%;border:1px solid var(--border);border-radius:9px;background:#fff;padding:9px 11px;font-size:12px;line-height:1.65;color:var(--text-secondary)}.chat-row.user .chat-bubble{background:var(--primary-soft);border-color:#0f766e29;color:var(--text-primary)}.chat-bubble-title{font-size:9.5px;color:var(--text-muted);margin-bottom:4px;display:flex;align-items:center;gap:5px}.chat-prompt{border:1px solid rgba(107,91,210,.25);background:var(--kind-agent-soft);border-radius:9px;padding:10px 11px;margin-left:35px}.chat-prompt-title{font-size:10.5px;font-weight:600;color:var(--kind-agent);display:flex;align-items:center;gap:5px}.chat-prompt-desc{font-size:10.5px;color:var(--text-secondary);margin-top:3px;line-height:1.6}.chat-prompt-actions{display:flex;gap:6px;margin-top:8px}.agent-composer{border-top:1px solid var(--border);padding:10px 12px;background:var(--surface-subtle)}.agent-composer-box{display:flex;align-items:flex-end;gap:8px;background:#fff;border:1px solid var(--border);border-radius:9px;padding:7px 8px}.agent-composer-box textarea{flex:1;border:0;outline:0;resize:none;font-size:12px;line-height:1.6;max-height:90px;background:transparent;color:var(--text-primary)}.agent-composer-foot{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:9.5px;color:var(--text-muted);flex-wrap:wrap}.dag{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px;background:radial-gradient(circle,#e7eeee 1px,transparent 1px) 0 0 / 18px 18px,var(--surface-subtle);border-radius:9px;border:1px solid var(--border-subtle);overflow-x:auto}.dag-row{display:flex;align-items:center;gap:26px;min-width:640px}.dag-node{position:relative;width:152px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:7px 9px;box-shadow:var(--shadow-card);flex-shrink:0}.dag-node+.dag-node:before{content:"→";position:absolute;left:-19px;top:50%;transform:translateY(-50%);color:var(--border-strong);font-size:12px}.dag-node.is-success{border-color:#0e8a5f52}.dag-node.is-running{border-color:#2563eb66;box-shadow:0 0 0 3px #2563eb14}.dag-node.is-failed{border-color:#b4231857;background:snow}.dag-node.is-pending{opacity:.62}.dag-node-top{display:flex;align-items:center;gap:6px}.dag-node-type{font-size:8.5px;color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:3px;padding:0 3px;font-family:var(--font-mono)}.dag-node-name{font-size:11.5px;font-weight:550;color:var(--text-primary);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dag-node-meta{font-size:9px;color:var(--text-muted);margin-top:2px;font-variant-numeric:tabular-nums}.dag-node-dot{width:6px;height:6px;border-radius:50%;margin-left:auto;background:var(--border-strong)}.dag-node.is-success .dag-node-dot{background:var(--success)}.dag-node.is-running .dag-node-dot{background:var(--info);animation:status-pulse 1.6s ease-in-out infinite}.dag-node.is-failed .dag-node-dot{background:var(--danger)}.dag-branch{display:flex;gap:26px;padding-left:52px;min-width:640px}.dag-label{font-size:9px;color:var(--text-muted);font-family:var(--font-mono);padding-left:2px}.matrix{width:100%;border-collapse:separate;border-spacing:0;font-size:11px}.matrix th,.matrix td{border-bottom:1px solid var(--border-subtle);padding:7px 9px;text-align:center;white-space:nowrap}.matrix th:first-child,.matrix td:first-child{text-align:left}.matrix thead th{font-size:9.5px;color:var(--text-muted);font-weight:600;background:var(--surface-subtle)}.matrix .yes{color:var(--success);font-weight:700}.matrix .no{color:var(--border-strong)}.matrix .partial{color:var(--warning);font-size:9.5px}.health-list{display:flex;flex-direction:column}.health-row{display:grid;grid-template-columns:168px 1fr 74px 64px;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid var(--border-subtle);font-size:11px}.health-row:last-child{border-bottom:0}.health-name{display:flex;align-items:center;gap:7px;min-width:0;color:var(--text-primary);font-weight:500}.health-name svg{color:var(--text-muted);flex-shrink:0}.health-bar{height:6px;background:var(--surface-soft);border-radius:3px;overflow:hidden;display:flex}.health-bar span{height:100%}.health-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:550}.health-meta{text-align:right;font-size:9.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.slo-ring{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;margin:0 auto;position:relative}.slo-ring:after{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;background:#fff;border-radius:50%}.slo-ring-copy{position:relative;z-index:1;text-align:center;line-height:1.2}.slo-ring-copy strong{font-size:17px;font-weight:650;letter-spacing:-.02em;display:block}.slo-ring-copy span{font-size:8.5px;color:var(--text-muted)}.switch-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.switch-card{border:1px solid var(--border);border-radius:9px;padding:12px 13px;background:#fff;box-shadow:var(--shadow-card)}.switch-card-top{display:flex;align-items:flex-start;gap:9px}.switch-card-title{font-size:12px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px}.switch-card-sub{font-size:10px;color:var(--text-muted);margin-top:3px;line-height:1.55}.switch-toggle{width:34px;height:19px;border-radius:999px;border:0;background:var(--border-strong);position:relative;flex-shrink:0;margin-left:auto;transition:background .15s}.switch-toggle:after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .15s;box-shadow:0 1px 2px #0000002e}.switch-toggle.on{background:var(--primary)}.switch-toggle.on:after{transform:translate(15px)}.switch-toggle.danger.on{background:var(--danger)}.ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ops-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column}.ops-thumb{height:84px;background:linear-gradient(135deg,#0f766e,#0c3f3b);display:flex;align-items:flex-end;padding:10px 12px;position:relative;overflow:hidden}.ops-thumb:after{content:"";position:absolute;right:-18px;top:-24px;width:100px;height:100px;border-radius:50%;border:1px solid rgba(255,255,255,.14)}.ops-thumb--agent{background:linear-gradient(135deg,#6b5bd2,#372d78)}.ops-thumb--workflow{background:linear-gradient(135deg,#2563eb,#14387f)}.ops-thumb-name{color:#fff;font-size:13px;font-weight:600;position:relative;z-index:1}.ops-body{padding:11px 12px;flex:1;display:flex;flex-direction:column;gap:6px}.ops-desc{font-size:10.5px;color:var(--text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ops-foot{display:flex;align-items:center;gap:6px;padding:9px 12px;border-top:1px solid var(--border-subtle);background:var(--surface-subtle);margin-top:auto}.portal-hero{background:radial-gradient(800px 260px at 88% -40%,rgba(45,212,191,.22),transparent 60%),linear-gradient(120deg,#0c1a1f,#103430 70%);border-radius:12px;padding:24px 26px;color:#e6f4f2;position:relative;overflow:hidden}.portal-hero:after{content:"";position:absolute;right:-60px;top:-80px;width:240px;height:240px;border-radius:50%;border:1px solid rgba(94,234,212,.14)}.portal-hero-kicker{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;color:#5eead4}.portal-hero h2{font-size:22px;font-weight:650;letter-spacing:-.02em;margin-top:6px}.portal-hero p{font-size:11.5px;color:#9db8b6;margin-top:5px;max-width:620px;line-height:1.65}.portal-stats{display:flex;gap:26px;margin-top:16px;flex-wrap:wrap}.portal-stat strong{display:block;font-size:18px;font-weight:650;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums}.portal-stat span{font-size:9.5px;color:#7f9c9a}.inline-flex-gap{display:inline-flex;align-items:center;gap:5px}.box-note{display:flex;gap:8px;align-items:flex-start;font-size:10.5px;line-height:1.65;color:var(--text-secondary);background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:8px;padding:9px 11px}.box-note svg{flex-shrink:0;color:var(--text-muted);margin-top:1px}.box-note--warning{background:var(--warning-soft);border-color:#f3dcbc;color:#7c4a12}.box-note--warning svg{color:var(--warning)}.box-note--danger{background:var(--danger-soft);border-color:#f5d3cf;color:#7d241c}.box-note--danger svg{color:var(--danger)}.box-note--info{background:var(--info-soft);border-color:#d7e3fb;color:#1e4d9e}.box-note--info svg{color:var(--info)}.empty-inline{padding:28px 16px;text-align:center;color:var(--text-muted);font-size:11.5px}.copy-row{display:flex;align-items:center;gap:6px}.copy-row code{font-family:var(--font-mono);font-size:10.5px;background:var(--surface-soft);border:1px solid var(--border-subtle);border-radius:5px;padding:3px 7px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.secret-once{border:1px solid rgba(180,83,9,.34);background:var(--warning-soft);border-radius:9px;padding:12px}.secret-once-value{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #f3dcbc;border-radius:7px;padding:8px 10px;margin-top:8px}.secret-once-value code{flex:1;font-family:var(--font-mono);font-size:11px;color:var(--text-primary);word-break:break-all}.range-labels{display:flex;justify-content:space-between;font-size:9.5px;color:var(--text-muted);margin-top:4px}.threshold-line{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--text-secondary)}.threshold-line i{width:14px;height:2px;border-radius:1px;display:inline-block}.role-end-badge{font-family:var(--font-mono);font-size:9px;border:1px solid var(--border);border-radius:4px;padding:1px 4px;color:var(--text-muted);background:#fff}@media (max-width: 1300px){.kpi-row--5{grid-template-columns:repeat(3,minmax(0,1fr))}.command-trigger{width:180px}.user-copy{display:none}}@media (max-width: 1180px){main.page{padding:20px 20px 36px}.split,.split--wide{grid-template-columns:minmax(0,1fr)}.sticky-side{position:static}.kpi-row,.ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-pill{display:none}}@media (max-width: 900px){.sidebar{transform:translate(-102%);width:264px;box-shadow:var(--shadow-drawer)}.sidebar.is-open{transform:translate(0)}.sidebar-close,.sidebar-scrim{display:block}.app-main{margin-left:0}.topbar-menu{display:grid}.topbar{padding:0 12px;gap:8px}.crumbs{font-size:11px;overflow:hidden}.command-trigger{width:32px;padding:0;justify-content:center}.command-trigger span,.command-trigger kbd,.readonly-pill,.demo-badge{display:none}.agent-shell{grid-template-columns:minmax(0,1fr)}.agent-sessions{display:none}.switch-board,.split--even,.grid-3-tight{grid-template-columns:minmax(0,1fr)}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}.hero-stat:nth-child(3){border-left:0;padding-left:0}}@media (max-width: 680px){main.page{padding:16px 14px 32px}.kpi-row,.kpi-row--5,.ops-grid,.review-grid,.grid-2-tight{grid-template-columns:minmax(0,1fr)}.detail-actions{margin-left:0;width:100%}.detail-title-row{gap:10px}.health-row{grid-template-columns:1fr 64px;row-gap:4px}.health-bar,.health-meta{display:none}.wizard-step{padding:2px 10px;font-size:10.5px}.breadcrumb-hide{display:none}}
