:root{
  --scheme-blue:#315df4;--scheme-blue-2:#1746d6;--scheme-cyan:#51c7ed;
  --scheme-navy:#061a3b;--scheme-navy-2:#082856;--scheme-bg:#f7f9fc;
  --scheme-ink:#0d1b35;--scheme-muted:#6c7b94;--scheme-border:#e4eaf4;
  --scheme-shadow:0 8px 24px rgba(21,48,93,.055);
}
*{box-sizing:border-box}
html,body{font-family:"Segoe UI Variable","PingFang SC","Microsoft YaHei UI","Microsoft YaHei",sans-serif;color:var(--scheme-ink)}
body{background:var(--scheme-bg);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Scheme 2 shell */
.shell{grid-template-columns:220px minmax(0,1fr);min-height:100vh}
.rail{background:linear-gradient(165deg,#061a3b 0%,#07234c 56%,#0b2f65 100%);border:0;box-shadow:12px 0 28px rgba(7,27,62,.08);padding:0 12px 14px;color:#fff}
.brand{height:84px;padding:16px 10px;margin:0;border:0;gap:10px;color:#fff}
.brand:hover{background:transparent}
.brand-mark{width:40px;height:40px;min-width:40px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.brand-mark img{display:block;width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(65,132,255,.28))}
.brand-copy b{font-size:15px;line-height:20px;font-weight:700;letter-spacing:-.2px;color:#fff}
.brand-copy small{font-size:10px;line-height:15px;color:#b9c8e4;letter-spacing:.1px}
.rail nav{display:flex;flex-direction:column;gap:4px;margin:0;padding:8px 0}
.rail nav>p{display:none}
.rail nav button{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:8px;min-height:44px;margin:0;padding:0 12px;border:1px solid transparent;border-radius:8px;color:#dbe7fb;font-size:13px;font-weight:500;line-height:20px;text-align:left;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.rail nav button:hover{background:rgba(65,117,213,.18);color:#fff;transform:translateX(1px)}
.rail nav button.active{color:#fff;background:linear-gradient(100deg,#2f69ff 0%,#174cc8 100%);border-color:rgba(124,165,255,.25);box-shadow:0 7px 18px rgba(16,74,206,.34),inset 0 1px 0 rgba(255,255,255,.12)}
.rail nav button .nav-icon{font-size:18px;color:#c7dafb;text-align:center}
.rail nav button.active .nav-icon{color:#fff;filter:drop-shadow(0 2px 5px rgba(255,255,255,.18))}
#service-nav-dot{position:absolute;right:12px;width:6px;height:6px;border-radius:50%;background:#28b86d}
.rail nav button.active #service-nav-dot{display:none}
.rail-context{margin-top:auto;padding:10px 0 0;border:0;display:grid;gap:8px}
.workspace-switch,.account-switch{min-height:58px;margin:0;padding:9px 10px;border:1px solid rgba(178,205,247,.12);border-radius:8px;background:rgba(123,165,226,.1);color:#fff}
.workspace-switch:hover,.account-switch:hover{background:rgba(123,165,226,.16);border-color:rgba(178,205,247,.23)}
.workspace-switch small,.account-switch small{color:#aebfdb;font-size:10px}
.workspace-switch b,.account-switch b{color:#fff;font-size:12px;font-weight:600}
.account-switch .avatar{width:34px;height:34px;background:linear-gradient(145deg,#8ab4ff,#3a67e8);box-shadow:0 5px 13px rgba(39,94,219,.3)}
.app{min-width:0;background:var(--scheme-bg);grid-template-rows:60px minmax(0,1fr)}
.topbar{height:60px;padding:0 24px;background:rgba(255,255,255,.96);border-bottom:1px solid #e4eaf4;box-shadow:none}
.crumb b{font-size:14px;font-weight:700}.crumb code{font-size:11px;background:#f1f4f9;border:0;border-radius:6px;color:#6a7890}
.topbar-actions{gap:12px}.topbar button{min-height:36px}.top-import{border-radius:6px;box-shadow:0 5px 13px rgba(49,93,244,.18)}
main{padding:20px 20px 28px;scrollbar-gutter:stable}
.view:not(.graph-view).active{display:grid;align-content:start;gap:14px}

/* Type and shared surfaces */
.page-head{min-height:auto;margin:0;padding:6px 2px 4px;align-items:flex-start}
.page-head h1{margin:4px 0 5px;font-size:28px;line-height:36px;font-weight:700;letter-spacing:-.6px;color:#0b1830;outline:none}
.page-head p{font-size:14px;line-height:24px;color:var(--scheme-muted)}
.page-head>div>small{font-size:10px;line-height:18px;font-weight:700;letter-spacing:1.25px;color:var(--scheme-blue)}
.surface{margin:0;padding:0;background:#fff;border:1px solid var(--scheme-border);border-radius:10px;box-shadow:var(--scheme-shadow)}
.surface>header{min-height:52px;margin:0;padding:13px 16px;border-bottom:1px solid #edf1f7}
.surface h2,.page-head h2{font-size:16px;line-height:24px;font-weight:700;letter-spacing:-.15px}
.surface header span,.surface header small{font-size:12px;line-height:18px;color:#8390a5}
.primary{background:linear-gradient(135deg,#3568ff,#2754e9);border-color:#315df4;border-radius:6px;box-shadow:0 5px 12px rgba(49,93,244,.16)}
.secondary,.text-button,.icon-button{border-radius:6px}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(49,93,244,.22);outline-offset:2px}
.header-actions{display:flex;align-items:center;gap:8px}.runtime-info{width:30px!important;height:30px!important;min-height:30px!important;color:#6c7b94!important;border-color:#e3e9f3!important;background:#fff!important}

/* Dashboard */
#view-dashboard{gap:12px}
#view-dashboard>.page-head{position:relative;min-height:150px;padding:28px 43% 18px 12px;overflow:hidden;border:0;background:transparent}
#view-dashboard>.page-head:after{content:"";position:absolute;z-index:0;inset:-18px -8px -10px 0;background:url('/static/spectral-knowledge-graph.png') center/cover no-repeat;opacity:.95;pointer-events:none}
#view-dashboard>.page-head>div{position:relative;z-index:1}
#view-dashboard>.page-head h1{font-size:27px;line-height:36px;margin-top:8px}
.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}
#dashboard-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.metric{position:relative;display:block;grid-template:none;min-height:98px;padding:15px 12px 12px 52px;border:1px solid var(--scheme-border);border-radius:9px;background:#fff;box-shadow:none}
.metric .metric-icon{position:absolute;left:14px;top:16px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f0f5ff;color:#4a77f7;font-size:16px}
.metric>span,.metric>strong,.metric>small{display:block;grid-column:auto;grid-row:auto}.metric>span{font-size:12px;line-height:17px;color:#7a879c}.metric strong{margin-top:3px;font-size:22px;line-height:29px;font-weight:700;color:#0c1b34}.metric small{font-size:11px;line-height:16px;color:#8390a5}
.flow-card{margin:0;padding:0;overflow:hidden}
.flow-card>header{background:#fff}.flow-card>header h2 small{font-weight:400;color:#8390a5}
.compiler-flow{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;min-height:132px;padding:21px 16px 18px;background:#fff url('/static/spectral-knowledge-graph.png') 62% 54%/135% auto no-repeat;overflow:hidden}
.compiler-flow:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.75),rgba(255,255,255,.26) 12%,rgba(255,255,255,.22) 88%,rgba(255,255,255,.76));pointer-events:none}
.compiler-step{z-index:1;position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:10px;align-content:center;min-height:90px;padding:12px 10px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:left}
.compiler-step:after{content:"";position:absolute;right:-2px;top:45px;width:9px;height:9px;border-radius:50%;background:#8eb7ff;box-shadow:0 0 0 5px rgba(95,142,246,.1)}
.compiler-step:last-child:after{display:none}
.compiler-step .flow-icon{grid-row:1/4;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#eef4ff;border:1px solid #dce7ff;color:#3e6df2;font-size:19px}
.compiler-step b{font-size:13px;line-height:19px;color:#13223a}.compiler-step span{font-size:11px;line-height:17px;color:#6f7e94}.compiler-step small{font-size:10px;line-height:16px;color:#7b88a0}
.compiler-step.stage-review .flow-icon{background:#f1efff;color:#755adf}.compiler-step.stage-published .flow-icon{background:#ecf9ff;color:#2e9dc1}
.dashboard-lower{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(268px,.85fr);gap:12px;align-items:start}
.runtime-card,.next-actions{min-width:0;overflow:hidden}
.runtime-table{overflow-x:auto;background:#fff}
.runtime-head,.runtime-row{display:grid;grid-template-columns:minmax(172px,1.35fr) 84px 96px 72px 82px 92px 118px;align-items:center;min-width:780px}
.runtime-head{min-height:36px;padding:0 14px;background:#f4f6fa;color:#6f7d92;font-size:11px;font-weight:600}
.runtime-row{min-height:54px;padding:6px 14px;border-top:1px solid #edf1f6;font-size:12px}
.runtime-service{display:grid}.runtime-service b{font-size:12px;line-height:18px}.runtime-service small{font-size:10px;line-height:15px;color:#7d8aa0}.runtime-status{font-size:11px}.runtime-status i{margin-right:5px}.telemetry-value{font-size:11px;color:#34425b}
.runtime-trend{display:flex;align-items:center;gap:4px;min-width:0}.runtime-trend canvas{display:block;width:88px;height:26px}.runtime-trend small{font-size:9px;color:#3c8d65;white-space:nowrap}
.next-actions{padding-bottom:0}.next-actions>header{margin:0}.next-actions .action-list{display:grid;gap:7px;padding:10px}.next-actions .action-list button{min-height:55px;padding:8px;border:1px solid #edf1f7;border-radius:7px;background:#f7f9fc;grid-template-columns:34px 1fr auto auto}.next-actions .action-icon{width:32px;height:32px;border-radius:6px;background:#fff;border:1px solid #dfe7f5;color:#3d68ed}.next-actions b{font-size:12px}.next-actions small{font-size:10px;line-height:15px}.next-actions em{font-size:9px}

/* AI answer workspace */
.assistant-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.72fr);gap:12px;min-height:calc(100vh - 182px)}
.chat-surface,.assistant-context{background:#fff;border:1px solid var(--scheme-border);border-radius:10px;box-shadow:var(--scheme-shadow);min-width:0}
.chat-surface{display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
.messages{min-height:0;max-height:calc(100vh - 290px);overflow:auto;padding:20px}
.assistant-layout.is-empty .messages{display:grid;place-items:center}
.assistant-welcome{width:min(720px,92%);display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start;padding:26px;border:1px solid #e4eaf5;border-radius:12px;background:linear-gradient(145deg,#fbfdff,#f5f8ff)}
.assistant-welcome .bot{width:48px;height:48px;border-radius:12px;background:linear-gradient(145deg,#3568ff,#254bd0);color:white;display:grid;place-items:center;font-size:23px;box-shadow:0 9px 18px rgba(49,93,244,.18)}
.assistant-welcome small{font-size:10px;color:#4268d9;letter-spacing:1px}.assistant-welcome h2{margin:5px 0 6px;font-size:20px;line-height:29px}.assistant-welcome p{margin:0;color:#6d7b91;font-size:13px;line-height:22px}
.prompt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}.prompt-grid button{min-height:72px;padding:10px;border:1px solid #dfe6f2;border-radius:8px;background:#fff;color:#34425b;text-align:left}.prompt-grid button:hover{border-color:#a9bffb;background:#f8faff}.prompt-grid i{display:block;margin-bottom:5px;color:#3766f5;font-size:17px}.prompt-grid span{font-size:11px;line-height:17px}
.composer{padding:12px 14px;border-top:1px solid #e8edf5;background:#fff}.composer textarea{min-height:58px;border-radius:8px;resize:none}.composer>div{margin-top:8px}.composer #stream-state{font-size:11px;color:#738198}
.assistant-context{padding:0 16px 16px}.assistant-context>header{display:flex;justify-content:space-between;align-items:center;min-height:64px;border-bottom:1px solid #edf1f7}.assistant-context h2{font-size:15px}.assistant-context small{font-size:9px;color:#4268d9;letter-spacing:1px}.context-status{font-size:10px;color:#28965a}.context-facts{display:grid;gap:0}.context-facts>div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf1f7}.context-facts span{font-size:11px;color:#78869b}.context-facts b{font-size:11px}.context-empty{min-height:220px;display:grid;place-items:center;align-content:center;text-align:center;color:#8390a5;padding:24px}.context-empty i{font-size:27px;color:#6184ea}.context-empty b{margin-top:9px;color:#34425b;font-size:12px}.context-empty p{font-size:11px;line-height:18px}
.assistant-layout.has-conversation .assistant-welcome{display:none}

/* Dense page layouts and empty states */
#model-cards,#asset-cards,#ontology-cards,#eval-cards,#service-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.model-experiment{overflow:hidden}.model-experiment .query-bar{margin:12px 16px 0}.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 16px 16px}.compare-grid>.surface{min-height:180px;box-shadow:none}.compare-grid>.surface>header{min-height:48px}.compare-result{min-height:116px;padding:18px;white-space:pre-wrap;color:#536078;font-size:12px;line-height:20px}.compare-grid[data-state="empty"] .compare-result{display:grid;place-items:center;align-content:center;gap:5px;text-align:center;color:#8a97aa}.compare-result>i{font-size:24px;color:#7391e9}
#asset-source-table{max-height:440px;overflow:auto;padding:0 16px;scrollbar-gutter:stable}.strategy-grid,.import-grid,.split-grid{align-items:start}.settings-layout{align-items:start}.settings-panel{min-height:0!important;padding:16px}.settings-tab{min-height:0!important;max-width:none}.settings-tab>header{margin-bottom:14px}.scenario-layout,.permissions-layout{align-items:start}

/* Neutralize legacy navigation decoration. */
.rail nav button.active::after{content:none!important}
.data-list,.list{min-height:0}.empty-state{min-height:160px}

/* Dialogs */
dialog{border:1px solid #dfe6f1!important;border-radius:12px!important;box-shadow:0 24px 70px rgba(12,31,68,.25)!important}.workspace-dialog form,.info-dialog form{min-width:min(430px,calc(100vw - 48px))}.workspace-option{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;padding:11px;border:1px solid #e2e8f3;border-radius:8px;background:#fff}.workspace-option.selected{border-color:#9eb7ff;background:#f6f8ff}.workspace-option-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#eef3ff;color:#315df4}.workspace-option span:nth-child(2){display:grid}.workspace-option b{font-size:12px}.workspace-option small{font-size:10px;color:#7e8ba0}.workspace-option>i{color:#2ca467}.workspace-option+ .workspace-option{margin-top:8px}.info-dialog .note{max-width:440px;line-height:23px}

@media(max-width:1180px){
  .shell{grid-template-columns:196px minmax(0,1fr)}.rail nav button{padding:0 9px}.brand{padding-inline:5px}.brand-copy b{font-size:13px}
  #dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-lower{grid-template-columns:1fr}.next-actions{order:0}.next-actions .action-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .assistant-layout{grid-template-columns:minmax(0,1fr) 280px}.prompt-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .shell{display:block}.rail{position:sticky;top:0;z-index:20;display:block;padding:0 10px}.brand{height:58px}.brand-copy small{display:none}.rail nav{display:flex;flex-direction:row;overflow:auto;padding:6px 0}.rail nav button{min-width:112px}.rail-context{display:none}.topbar{top:58px;padding:0 12px}.top-clock,.topbar .icon-button{display:none}main{padding:14px 12px}
  #view-dashboard>.page-head{padding-right:12px}.metric-row,#dashboard-cards,#model-cards,#asset-cards,#ontology-cards,#eval-cards,#service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.compiler-flow{grid-template-columns:1fr;background:none}.compiler-flow:before{content:"";position:absolute;z-index:0;left:47px;top:34px;bottom:34px;width:1px;background:linear-gradient(#73cced,#5e83ef,#9c70ef)}.compiler-step:after{right:auto;left:27px;top:auto;bottom:-5px}.assistant-layout{grid-template-columns:1fr;min-height:auto}.assistant-context{order:0}.chat-surface{height:auto;min-height:520px}.compare-grid{grid-template-columns:1fr}.next-actions .action-list{grid-template-columns:1fr}
}
@media(max-width:520px){.metric-row,#dashboard-cards,#model-cards,#asset-cards,#ontology-cards,#eval-cards,#service-cards{grid-template-columns:1fr}.topbar-actions .top-health,.crumb code{display:none}.page-head h1{font-size:24px}.prompt-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Confirmed layout repair pass: keep Scheme 2 authoritative over legacy rules. */
.rail nav{
  overflow-x:hidden;
  overflow-y:auto;
  scrollbar-width:none;
  overscroll-behavior:contain;
}
.rail nav::-webkit-scrollbar{display:none;width:0;height:0}
.rail nav button{
  grid-template-columns:24px minmax(0,1fr);
  min-width:0;
  overflow:hidden;
}
.rail nav button:hover{transform:none}
.rail nav button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rail nav button>i.nav-arrow{display:none!important}
.rail footer.rail-context{
  height:auto;
  min-height:0;
  display:grid;
  grid-template-columns:1fr;
  align-items:stretch;
  gap:8px;
  padding:10px 0 0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.rail footer.rail-context .workspace-switch,
.rail footer.rail-context .account-switch{width:100%;min-width:0}

.surface>header>div,
.surface>header h2,
.metric,
.metric>span,
.metric>strong,
.metric>small,
.runtime-service,
.runtime-service>*{min-width:0}
.surface>header h2,
.surface>header span,
.metric>span,
.metric>small{overflow-wrap:anywhere}
.metric strong{white-space:nowrap;font-variant-numeric:tabular-nums}
#model-cards,#asset-cards,#ontology-cards,#eval-cards,#service-cards{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}

/* Production chain labels occupy a real grid slot instead of floating over titles. */
.compiler-step small{
  position:static;
  right:auto;
  top:auto;
  grid-column:2;
  display:block;
  margin:1px 0 0;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Runtime telemetry: one column contract shared by header and rows. */
.runtime-card>header>.header-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.runtime-table{border:0;border-radius:0;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:auto}
.runtime-head,.runtime-row{
  grid-template-columns:minmax(150px,1.12fr) 76px 92px 72px 82px 96px 132px;
  column-gap:8px;
  min-width:776px;
}
.runtime-head>span,.runtime-row>div{min-width:0}
.runtime-head>span:not(:first-child),
.runtime-row>.runtime-status,
.runtime-row>.telemetry-value{justify-self:start}
.runtime-service small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.runtime-status,.telemetry-value,.runtime-trend{font-variant-numeric:tabular-nums}
.runtime-trend{display:grid;grid-template-columns:minmax(0,84px) 36px;gap:5px}
.runtime-trend canvas{width:84px;height:26px;max-width:100%}
.runtime-trend small{min-width:36px;text-align:right}

/* Assistant uses the viewport as a workspace; only messages scroll. */
.assistant-layout{height:auto;align-items:start}
.chat-surface{max-width:none;margin:0;min-width:0;height:calc(100vh - 182px);min-height:520px}
.assistant-context{align-self:start}
.messages{max-height:none}
.assistant-welcome{max-width:720px}
.prompt-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.prompt-grid button,.prompt-grid span{min-width:0}
.prompt-grid span{display:block;overflow-wrap:anywhere}
.composer textarea{min-width:0}
.composer{margin:0;border-radius:0}

/* Data-source controls: label/value, then a full-width track and aligned scale. */
.strategy-grid{align-items:stretch}
.strategy-panel{display:flex;flex-direction:column;height:100%;overflow:hidden;container-type:inline-size}
.strategy-panel>.strategy-select{width:auto;max-width:340px;margin:14px 16px 12px}
.strategy-panel>.parameter-cluster{margin:0 16px 16px}
.strategy-panel>.profile-constraint,
.strategy-panel>.toggle-row,
.strategy-panel>.note{margin-left:16px;margin-right:16px}
.strategy-panel>.note{margin-bottom:16px}
.strategy-advanced{grid-column:1/-1;overflow:hidden}
.strategy-advanced-body{display:grid;grid-template-columns:minmax(0,1.45fr) auto;align-items:center;gap:10px 24px;padding:12px 16px 14px}
.strategy-advanced-body .profile-constraint{grid-column:1;margin:0}
.strategy-advanced-body .toggle-row{grid-column:2;grid-row:1;margin:0;justify-content:flex-end}
.strategy-advanced-body .note{grid-column:1/-1;margin:0;color:#6c7b94}
.parameter-cluster{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  padding:12px;
  background:#f7f9fc;
  border-color:#e4eaf4;
}
.param-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) 76px;
  grid-template-rows:auto 24px auto;
  gap:7px 10px;
  align-items:center;
  min-width:0;
}
.param-title{grid-column:1;grid-row:1;min-width:0;font-size:11.5px;color:#536078}
.param-title small{font-family:inherit;font-size:10px;letter-spacing:0;color:#5372ca}
.parameter-cluster .param-inputs{display:contents}
.form-panel .param-inputs input[type="number"]{
  grid-column:2;
  grid-row:1;
  width:76px;
  min-width:0;
  height:32px;
  padding:5px 7px;
}
.form-panel .param-inputs input[type="range"]{
  grid-column:1/-1;
  grid-row:2;
  width:100%;
  min-width:0;
  height:24px;
}
.form-panel .param-inputs input[type="range"]::-webkit-slider-runnable-track{height:6px}
.form-panel .param-inputs input[type="range"]::-webkit-slider-thumb{width:16px;height:16px;margin-top:-5px}
.form-panel .param-inputs input[type="range"]::-moz-range-track,
.form-panel .param-inputs input[type="range"]::-moz-range-progress{height:6px}
.form-panel .param-inputs input[type="range"]::-moz-range-thumb{box-sizing:border-box;width:16px;height:16px}
.form-panel .param-inputs input[type="range"]:focus-visible{outline:3px solid rgba(49,93,244,.22);outline-offset:3px;border-radius:8px}
.param-scale,.parameter-cluster .param-scale{
  grid-column:1/-1;
  grid-row:3;
  padding:0;
  font-family:inherit;
  font-size:10px;
  line-height:14px;
  color:#7d8aa0;
}
.profile-constraint{font-family:inherit;font-size:10.5px;line-height:17px}
.toggle-row{flex-wrap:wrap;gap:10px 18px}

#asset-source-table{padding:0;overflow:auto;scrollbar-gutter:stable}
#asset-source-table .data-row{
  grid-template-columns:minmax(220px,1.2fr) minmax(180px,.85fr) minmax(84px,auto);
  gap:14px;
  padding:12px 16px;
}
#asset-source-table .data-row b,
#asset-source-table .data-row small,
#asset-source-table .data-row span{min-width:0}
#asset-source-table .data-row small{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

@container (max-width:620px){
  .strategy-panel>.parameter-cluster{grid-template-columns:1fr}
}

@media(max-width:1400px) and (min-width:901px){
  .runtime-head,.runtime-row{
    grid-template-columns:minmax(140px,1.05fr) 68px 80px 64px 72px 84px 112px;
    min-width:700px;
  }
  .runtime-trend{grid-template-columns:minmax(0,72px) 34px}
  .runtime-trend canvas{width:72px}
  .runtime-trend small{min-width:34px}
}

@media(max-width:1180px){
  #model-cards,#asset-cards,#ontology-cards,#eval-cards,#service-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
  .strategy-grid{grid-template-columns:1fr}
  .strategy-panel>.strategy-select{max-width:340px}
  .parameter-cluster{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prompt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .assistant-layout{grid-template-columns:minmax(0,1fr) 280px}
}

@media(max-width:900px){
  .rail nav{
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
  }
  .rail nav button{grid-template-columns:24px minmax(0,1fr);flex:0 0 auto}
  .assistant-layout{grid-template-columns:1fr;min-height:auto}
  .chat-surface{order:0;height:min(680px,72dvh);min-height:440px;max-width:none;margin:0}
  .assistant-context{order:1;align-self:start}
  .strategy-grid{grid-template-columns:1fr}
  .parameter-cluster{grid-template-columns:repeat(2,minmax(0,1fr))}
  #asset-source-table .data-row{grid-template-columns:minmax(0,1fr) auto}
  #asset-source-table .data-row small{grid-column:1/-1}
}

@media(max-width:680px){
  .parameter-cluster{grid-template-columns:1fr}
  .strategy-panel>.strategy-select{max-width:none}
  .prompt-grid{grid-template-columns:1fr}
  #model-cards,#asset-cards,#ontology-cards,#eval-cards,#service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .assistant-welcome{width:100%;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:18px}
  .assistant-welcome .bot{width:40px;height:40px;font-size:19px}
  .strategy-advanced-body{grid-template-columns:1fr}
  .strategy-advanced-body .toggle-row{grid-column:1;grid-row:auto;justify-content:flex-start}
}

@media(max-width:520px){
  #model-cards,#asset-cards,#ontology-cards,#eval-cards,#service-cards{grid-template-columns:1fr}
  .runtime-card>header{align-items:flex-start;flex-wrap:wrap}
}

/* Confirmed system typography and containment pass. */
:root{
  --type-page:28px;
  --type-section:16px;
  --type-primary:13px;
  --type-body:13px;
  --type-meta:12px;
  --line-primary:20px;
  --line-body:21px;
}

.surface>header{gap:16px}
.surface>header h2{font-size:var(--type-section);line-height:24px}
.surface>header span,.surface>header small{font-size:var(--type-meta);line-height:18px}
.data-list,.list,.status-list{min-width:0}
.list-item,.data-row,.definition-list>div{
  min-height:54px;
  padding:10px 16px;
  column-gap:16px;
}
.list-item b,.data-row b,.definition-list b{
  font-size:var(--type-primary);
  line-height:var(--line-primary);
  font-weight:650;
}
.list-item small,.data-row small,.definition-list span{
  min-width:0;
  font-size:var(--type-meta);
  line-height:19px;
  overflow-wrap:anywhere;
}
.list-item span,.data-row span{
  font-size:var(--type-primary);
  line-height:var(--line-primary);
  font-variant-numeric:tabular-nums;
}
.list-item button,.data-row button{
  min-height:30px;
  padding:5px 9px;
  font-size:12px;
  line-height:18px;
  white-space:nowrap;
}

/* The chat canvas is the only visual surface; the welcome state belongs to it. */
.assistant-layout.is-empty .messages{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 30px 30px;
}
.assistant-welcome{
  position:relative;
  width:min(860px,100%);
  max-width:none;
  grid-template-columns:48px minmax(0,1fr);
  gap:18px;
  padding:24px 0 2px 20px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.assistant-welcome::before{
  content:"";
  position:absolute;
  left:0;
  top:22px;
  bottom:0;
  width:2px;
  border-radius:2px;
  background:linear-gradient(180deg,var(--scheme-cyan),var(--scheme-blue) 58%,rgba(49,93,244,0));
}
.assistant-welcome>div{min-width:0}
.assistant-welcome .bot{
  width:48px;
  height:48px;
  border-radius:11px;
  box-shadow:0 8px 18px rgba(49,93,244,.16);
}
.assistant-welcome small{font-size:11px;line-height:18px}
.assistant-welcome h2{margin:4px 0 5px;font-size:21px;line-height:30px}
.assistant-welcome p{font-size:13px;line-height:22px;max-width:680px}
.prompt-grid{gap:9px;margin-top:16px}
.prompt-grid button{
  min-height:64px;
  padding:10px 12px;
  border-color:#e2e8f3;
  border-radius:8px;
  background:#f7f9fc;
  box-shadow:none;
}
.prompt-grid button:hover{border-color:#a9bffb;background:#f3f6ff}
.prompt-grid i{font-size:18px;margin-bottom:4px}
.prompt-grid span{font-size:12px;line-height:18px;color:#34425b}
.messages .message{font-size:13px;line-height:22px}
.composer{padding:12px 14px 14px}
.composer:focus-within{box-shadow:inset 0 0 0 2px rgba(49,93,244,.22)}
.composer textarea{font-size:13px;line-height:21px;max-height:132px;overflow-y:auto}
.composer>div{flex-wrap:wrap}
.composer #stream-state{font-size:12px}
.assistant-context h2{font-size:16px;line-height:24px}
.assistant-context small{font-size:10px;line-height:16px}
.context-status{font-size:11px}
.context-facts>div{gap:12px;padding:14px 0}
.context-facts span,.context-facts b{font-size:12px;line-height:19px}
.context-facts b{text-align:right;overflow-wrap:anywhere}
.context-empty b{font-size:13px;line-height:20px}
.context-empty p{font-size:12px;line-height:20px;max-width:300px}

/* Ontology lists use a stable information hierarchy and independent scrolling. */
#view-ontology .split-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);
  gap:12px;
}
#view-ontology .split-grid>.surface{min-width:0;overflow:hidden}
#ontology-types,#ontology-relations{
  max-height:520px;
  overflow:auto;
  scrollbar-gutter:stable;
}
#ontology-types .data-row{
  grid-template-columns:minmax(150px,1fr) minmax(100px,.34fr) auto;
}
#ontology-relations .data-row{
  grid-template-columns:minmax(150px,1fr) minmax(100px,.48fr) minmax(72px,auto);
}
#ontology-types .data-row b,#ontology-relations .data-row b{font-size:14px;line-height:21px}
#ontology-types .data-row small,#ontology-relations .data-row small{font-size:12px;line-height:19px}
#ontology-relations .data-row>span{text-align:right;font-weight:650}

/* Service information reads like an operational table instead of scattered small text. */
#view-service .split-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
#view-service .split-grid>.surface{min-width:0;height:100%;overflow:hidden}
#view-service .status-list{border-top:0}
#view-service .status-item{
  grid-template-columns:minmax(118px,.68fr) minmax(150px,1.25fr) auto;
  gap:14px;
  min-height:54px;
  padding:10px 16px;
}
#view-service .status-item b{
  min-width:0;
  color:#23324a;
  font-size:13px;
  line-height:20px;
  font-weight:650;
  overflow-wrap:anywhere;
}
#view-service .status-item span{
  min-width:0;
  color:#687790;
  font-size:12px;
  line-height:19px;
  overflow-wrap:anywhere;
}
#view-service .status-item em{
  padding-left:13px;
  font-size:12px;
  line-height:19px;
  white-space:nowrap;
}
#view-service .metric{min-width:0;padding-right:14px}
#view-service .metric strong{
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  font-size:clamp(16px,1.25vw,20px);
  line-height:28px;
}
#release-list:empty{min-height:90px}

/* Permissions: three real columns, larger icons and protected text boundaries. */
.permission-grid{
  grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);
  gap:12px;
  align-items:start;
}
.permission-grid>.surface{min-width:0;overflow:hidden}
.member-row{
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:12px;
  min-height:68px;
  padding:12px 16px;
}
.member-row>div{min-width:0;gap:3px}
.member-row b{min-width:0;font-size:14px;line-height:21px;overflow-wrap:anywhere}
.member-row small{font-size:12px;line-height:19px;overflow-wrap:anywhere}
.member-row .avatar{width:40px;height:40px;font-size:15px}
.member-row .avatar i{font-size:19px}
.role-chip{
  max-width:100%;
  padding:4px 8px;
  font-size:11px;
  line-height:17px;
  white-space:nowrap;
}
.permission-list>div{
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:12px;
  min-height:68px;
  padding:12px 16px;
}
.permission-list>div>i{
  width:38px;
  height:38px;
  border-radius:8px;
  font-size:19px;
}
.permission-list span{min-width:0;gap:3px}
.permission-list b{font-size:13px;line-height:20px}
.permission-list small{font-size:12px;line-height:19px;overflow-wrap:anywhere}
.permission-list em{font-size:11px;line-height:18px;white-space:nowrap}
.workspace-head h1:focus{outline:none}
.runtime-trend small,.next-actions small,.next-actions em,.demo-mini,.demo-badge{
  font-size:11px!important;
  line-height:17px;
}

/* Remove legacy forced-height blank regions. */
.import-grid .surface,.scenario-layout>.surface{min-height:0}
.scenario-detail>.empty-state{min-height:clamp(180px,28vh,300px)}

@media(max-width:1100px){
  #view-ontology .split-grid,#view-service .split-grid,.permission-grid{grid-template-columns:1fr}
  #ontology-types,#ontology-relations{max-height:440px}
}

@media(max-width:1180px) and (min-width:901px){
  .graph-workspace{
    grid-template-columns:minmax(150px,.6fr) minmax(0,1.7fr) minmax(220px,.82fr);
  }
  .graph-browser,.inspector{padding:10px}
}

@media(max-width:680px){
  .assistant-layout.is-empty .messages{padding:22px 18px}
  .assistant-welcome{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:18px 0 0 14px}
  .assistant-welcome .bot{width:40px;height:40px}
  .assistant-welcome h2{font-size:19px;line-height:27px}
  #ontology-types .data-row,#ontology-relations .data-row,#view-service .status-item{
    grid-template-columns:minmax(0,1fr) auto;
  }
  #ontology-types .data-row small,#ontology-relations .data-row small,#view-service .status-item span{
    grid-column:1/-1;
    grid-row:2;
  }
  #ontology-types .data-row button,#ontology-relations .data-row>span,#view-service .status-item em{
    grid-column:2;
    grid-row:1;
  }
  .member-row,.permission-list>div{padding-inline:12px}
}

@media(max-width:420px){
  .member-row{grid-template-columns:38px minmax(0,1fr)}
  .member-row .role-chip{grid-column:2;justify-self:start}
  .permission-list>div{grid-template-columns:36px minmax(0,1fr)}
  .permission-list>div>i{width:36px;height:36px}
  .permission-list em{grid-column:2;justify-self:start}
}

/* Permissions v51: turn the static explainer into a compact account workspace. */
.permission-head .primary{align-self:flex-end;gap:7px}
.permission-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.permission-summary article{display:flex;align-items:center;gap:12px;min-height:86px;padding:16px 18px;border:1px solid var(--divider);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}
.permission-summary article>i{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:20px}
.permission-summary span{display:grid;gap:5px;color:var(--muted);font-size:11px}
.permission-summary strong{max-width:240px;color:var(--text);font-size:17px;line-height:1.25;overflow-wrap:anywhere}
.member-panel>header>div,.role-panel>header>div{display:grid;gap:4px}
.member-panel>header>div>span,.role-panel>header>div>span{font-size:11px}
.member-list{min-height:0}
.member-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.current-chip{padding:4px 7px;border-radius:5px;background:var(--raised);color:var(--muted);font-size:10px}
.permission-empty{display:grid;place-items:center;min-height:200px;padding:24px;color:var(--muted);font-size:12px;text-align:center}
.permission-note{display:flex;gap:8px;margin:14px 16px 16px;padding:11px 12px;border-radius:8px;background:var(--raised);color:var(--muted);font-size:10px;line-height:1.55}
.permission-note i{color:var(--accent);font-size:15px}
.create-admin-dialog{width:min(500px,calc(100vw - 28px))}
.field-help{display:block;margin:-5px 0 11px;color:var(--muted);font-size:10px;line-height:1.5}
.create-admin-dialog [role="alert"]{min-height:18px;color:var(--red);font-size:11px}
@media(max-width:760px){
  .permission-summary{grid-template-columns:1fr}
  .permission-summary article{min-height:72px}
  .permission-head{align-items:flex-start}
  .permission-head .primary{align-self:auto}
}
@media(max-width:560px){
  .member-meta{grid-column:2;justify-content:flex-start}
  .member-row{grid-template-columns:40px minmax(0,1fr)}
  .permission-summary{gap:8px}
}

/* Assistant v60: evidence-first workspace with a persistent execution rail. */
#view-assistant{max-width:none}
#view-assistant>.assistant-head{min-height:82px;margin-bottom:14px;padding-block:2px}
#view-assistant>.assistant-head .secondary{gap:7px;min-height:34px;border:1px solid #dfe6f1;background:#fff}
#view-assistant .assistant-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 326px;
  gap:14px;
  min-height:0;
  height:calc(100dvh - 178px);
  align-items:stretch;
}
#view-assistant .chat-surface,
#view-assistant .assistant-context{
  height:100%;
  min-height:500px;
  border:1px solid #dfe6f1;
  border-radius:10px;
  background:#fff;
  box-shadow:0 1px 2px rgba(24,45,82,.035);
}
#view-assistant .chat-surface{display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
#view-assistant .messages{min-height:0;max-height:none;padding:22px 24px;overflow:auto}
#view-assistant .assistant-layout.is-empty .messages{display:block;padding:0;overflow:auto}
#view-assistant .assistant-welcome{
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  min-height:100%;
  padding:26px 28px 24px;
  border:0;
  background:
    radial-gradient(circle at 88% 8%,rgba(72,126,255,.11),transparent 31%),
    linear-gradient(180deg,#fbfdff 0,#fff 56%);
  text-align:left;
}
#view-assistant .assistant-welcome::before{content:none}
.assistant-welcome-mark{position:absolute;right:26px;top:24px;display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #d9e4ff;border-radius:99px;background:#f3f7ff;color:#315df4;font-size:10px;font-weight:700}
.assistant-welcome-mark i{font-size:14px}
#view-assistant .assistant-welcome>small{display:block;padding-right:110px;color:#4268d9;font-size:10px;line-height:17px;letter-spacing:.13em}
#view-assistant .assistant-welcome h2{max-width:560px;margin:8px 0 7px;font-size:23px;line-height:32px;letter-spacing:-.025em;color:#16243b}
#view-assistant .assistant-welcome>p{max-width:610px;margin:0;color:#687790;font-size:12px;line-height:20px}
.prompt-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 9px;padding-top:16px;border-top:1px solid #e7edf6}
.prompt-label>span{color:#26364f;font-size:12px;font-weight:700}
.prompt-label>small{color:#8995a8;font-size:10px}
#view-assistant .prompt-grid{display:grid;grid-template-columns:1fr;gap:8px;margin:0}
#view-assistant .prompt-grid button{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-height:62px;
  padding:9px 12px;
  border:1px solid #e1e7f1;
  border-radius:8px;
  background:#fff;
  color:#26364f;
  text-align:left;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
#view-assistant .prompt-grid button:hover{border-color:#a9befa;background:#f8faff;transform:translateY(-1px)}
#view-assistant .prompt-grid button:focus-visible{outline:3px solid rgba(49,93,244,.18);outline-offset:1px}
#view-assistant .prompt-grid button>i{display:grid;place-items:center;width:36px;height:36px;margin:0;border-radius:8px;background:#eef3ff;color:#315df4;font-size:17px}
#view-assistant .prompt-grid button>span{display:grid;gap:2px;min-width:0}
#view-assistant .prompt-grid button b{font-size:12px;line-height:18px}
#view-assistant .prompt-grid button small{color:#67768e;font-size:11px;line-height:17px}
#view-assistant .prompt-grid button em{color:#8a96aa;font-size:10px;font-style:normal;white-space:nowrap}
#view-assistant .chat-surface .composer{margin:0;padding:12px 14px 14px;border-top:1px solid #e7ecf4;border-radius:0;background:#fff}
#view-assistant .composer-field{border-radius:9px;background:#fbfcfe}
#view-assistant .composer-field textarea{min-height:70px;padding:12px 108px 29px 13px;font-size:12px;line-height:20px}
#view-assistant .composer-field #send-stream{min-width:78px;border-radius:7px}

#view-assistant .assistant-context{display:flex;flex-direction:column;padding:0 17px 14px;overflow:auto;scrollbar-gutter:stable}
#view-assistant .assistant-context>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;padding:13px 0 11px;border-bottom:1px solid #e8edf5}
#view-assistant .assistant-context>header>div{display:grid;gap:1px}
#view-assistant .assistant-context>header small{color:#4268d9;font-size:9px;line-height:15px;letter-spacing:.12em}
#view-assistant .assistant-context h2{margin:0;color:#1d2d46;font-size:15px;line-height:22px}
.context-status{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:5px 8px;border-radius:99px;background:#f2f5f9;color:#6f7e95;font-size:10px;line-height:16px}
.context-status i{width:6px;height:6px;border-radius:50%;background:#97a3b5}
.context-status.active{background:#edf3ff;color:#315df4}.context-status.active i{background:#315df4;box-shadow:0 0 0 4px rgba(49,93,244,.11);animation:pulse 1.3s infinite}
.context-status.completed{background:#edf8f2;color:#238654}.context-status.completed i{background:#2ca467}
.context-status.failed{background:#fff1f0;color:#c84444}.context-status.failed i{background:#db5353}
.context-intro{margin:12px 0 10px;color:#718097;font-size:10px;line-height:17px}
.assistant-stage-list{display:grid;gap:0;padding:2px 0}
.assistant-stage{position:relative;display:grid;grid-template-columns:22px 32px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:55px;padding:6px 0}
.assistant-stage:not(:last-child)::after{content:"";position:absolute;left:37px;top:44px;width:1px;height:20px;background:#dde5f1}
.assistant-stage>span{color:#9aa6b7;font:9px/14px "Cascadia Mono","JetBrains Mono",Consolas,monospace}
.assistant-stage>i{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;border:1px solid #dfe6f1;border-radius:8px;background:#f7f9fc;color:#77869d;font-size:15px}
.assistant-stage>div{display:grid;gap:1px;min-width:0}
.assistant-stage b{color:#34435b;font-size:11px;line-height:17px}
.assistant-stage small{overflow:hidden;color:#8390a4;font-size:9px;line-height:15px;text-overflow:ellipsis;white-space:nowrap}
.assistant-stage em{color:#96a2b3;font-size:9px;font-style:normal;white-space:nowrap}
.assistant-stage.active>i{border-color:#9db5ff;background:#edf3ff;color:#315df4;box-shadow:0 0 0 3px rgba(49,93,244,.08)}
.assistant-stage.active b,.assistant-stage.active em{color:#315df4}
.assistant-stage.completed>i{border-color:#bfe3ce;background:#eef9f3;color:#28965a}
.assistant-stage.completed>i::before{content:"\eb7b";font-family:remixicon!important}
.assistant-stage.completed b,.assistant-stage.completed em{color:#28865a}
.assistant-stage.failed>i{border-color:#f0c3c3;background:#fff2f1;color:#ca4848}
.assistant-stage.failed b,.assistant-stage.failed em{color:#c84444}
.assistant-profile{margin-top:11px;padding:11px 12px 8px;border:1px solid #e1e7f1;border-radius:8px;background:#f8fafd}
.assistant-profile>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.assistant-profile h3{margin:0;color:#35445c;font-size:11px;line-height:18px}
.assistant-profile button{padding:0;background:transparent;color:#315df4;font-size:10px}
.assistant-profile>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid #e8edf5}
.assistant-profile span{color:#7c899d;font-size:10px}
.assistant-profile b{max-width:170px;overflow:hidden;color:#34435b;font:10px/16px "Cascadia Mono","JetBrains Mono",Consolas,monospace;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.assistant-context-note{display:flex;align-items:flex-start;gap:7px;margin:10px 1px 0;color:#8190a5;font-size:9px;line-height:15px}
.assistant-context-note i{flex:0 0 auto;margin-top:1px;color:#5678d8;font-size:13px}

:root[data-theme="dark"] #view-assistant .assistant-welcome{background:radial-gradient(circle at 88% 8%,rgba(88,132,255,.12),transparent 31%),var(--surface)}
:root[data-theme="dark"] #view-assistant .chat-surface,
:root[data-theme="dark"] #view-assistant .assistant-context,
:root[data-theme="dark"] #view-assistant .prompt-grid button,
:root[data-theme="dark"] #view-assistant .chat-surface .composer,
:root[data-theme="dark"] #view-assistant .composer-field{background:var(--surface);border-color:var(--divider)}
:root[data-theme="dark"] #view-assistant .assistant-welcome h2,
:root[data-theme="dark"] #view-assistant .assistant-context h2,
:root[data-theme="dark"] #view-assistant .prompt-grid button,
:root[data-theme="dark"] #view-assistant .prompt-grid button b{color:var(--text)}
:root[data-theme="dark"] .assistant-profile{background:var(--raised);border-color:var(--divider)}

@media(max-width:1180px) and (min-width:901px){
  #view-assistant .assistant-layout{grid-template-columns:minmax(0,1fr) 292px}
  #view-assistant .assistant-context{padding-inline:14px}
  #view-assistant .prompt-grid button em{display:none}
}
@media(max-width:900px){
  #view-assistant .assistant-layout{height:auto;grid-template-columns:1fr}
  #view-assistant .chat-surface{height:min(680px,72dvh);min-height:480px;order:0}
  #view-assistant .assistant-context{height:auto;min-height:0;order:1}
  .assistant-stage-list{grid-template-columns:repeat(5,minmax(110px,1fr));overflow:auto}
  .assistant-stage{grid-template-columns:22px minmax(0,1fr);align-content:start;min-width:110px;padding:9px}
  .assistant-stage:not(:last-child)::after{left:auto;right:-5px;top:24px;width:10px;height:1px}
  .assistant-stage>i{grid-row:1;grid-column:1/-1}.assistant-stage>span{display:none}.assistant-stage>div{grid-column:1/-1}.assistant-stage>em{grid-column:1/-1}
}
@media(max-width:600px){
  #view-assistant>.assistant-head{display:flex;align-items:flex-start}
  #view-assistant .assistant-welcome{padding:22px 18px}
  .assistant-welcome-mark{position:static;width:max-content;margin-bottom:14px}
  #view-assistant .assistant-welcome>small{padding-right:0}
  #view-assistant .assistant-welcome h2{font-size:20px;line-height:28px}
  #view-assistant .prompt-grid button{grid-template-columns:34px minmax(0,1fr)}
  #view-assistant .prompt-grid button>em{display:none}
  .prompt-label>small{display:none}
}

/* 2026 knowledge operations pass: one continuous, observable production flow. */
.dashboard-lower{align-items:stretch}
.dashboard-lower>.surface{height:100%;margin-bottom:0}
.next-actions{display:flex;flex-direction:column}
.next-actions .action-list{flex:1;align-content:start}

.import-dialog form{width:min(600px,calc(100vw - 32px))}
.import-dialog .dropzone{position:relative;display:flex;min-height:245px;margin-top:18px;padding:32px!important;align-items:center;justify-content:center;flex-direction:column;gap:10px;border:1.5px dashed #b9c7e5;background:linear-gradient(180deg,#fbfdff,#f6f9ff);cursor:pointer;transition:border-color .18s,background .18s,transform .18s}
.import-dialog .dropzone:hover,.import-dialog .dropzone.is-dragging{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}
.import-dialog .dropzone input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.dropzone-plus{display:grid;width:58px;height:58px;place-items:center;border-radius:18px;background:#fff;color:var(--accent);box-shadow:0 10px 28px rgba(55,102,245,.16);font-size:30px}
.import-dialog .dropzone b{font-size:14px;color:var(--text)}
.import-dialog .dropzone small{max-width:430px;color:var(--muted);font-size:11px;line-height:19px}
.import-dialog #selected-file{min-height:20px;margin:12px 0 0;color:var(--accent);font-size:12px;text-align:center}
.import-dialog #import-result:empty{display:none}
.import-task{width:100%;grid-template-columns:minmax(0,1fr) minmax(130px,.5fr) auto;text-align:left;background:transparent}
.import-task>span{color:var(--accent);font-size:11px}
.import-observer>header>div{display:grid;gap:4px;min-width:0}
.stage-rail{grid-template-columns:repeat(6,minmax(64px,1fr));gap:8px}
.stage-node{font-size:10px;line-height:15px;overflow-wrap:anywhere}
.import-progress.is-canceled .progress-meter i{background:var(--muted)}
.import-log .track-step pre{max-height:170px;overflow:auto}

.candidate-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px 12px;border-bottom:1px solid var(--divider)}
.candidate-toolbar .candidate-filters{padding:0}
.candidate-bulk{display:flex;align-items:center;gap:7px}
.candidate-bulk label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}
.candidate-bulk button{padding:7px 9px;border:1px solid var(--divider);border-radius:6px;background:var(--surface);font-size:10px}
.candidate-compact-list{gap:0;padding:0 18px 18px}
.candidate-row{display:flex;align-items:center;gap:10px;min-width:0;border-bottom:1px solid var(--divider)}
.candidate-row:last-child{border-bottom:0}
.candidate-select{flex:0 0 auto;width:15px;height:15px}
.candidate-row-main{display:grid;width:100%;min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 4px;background:transparent;text-align:left}
.candidate-row-main:hover{background:var(--raised)}
.candidate-row-title{display:grid;gap:3px;min-width:0}
.candidate-row-title b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.candidate-row-title small{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.candidate-row-meta{display:flex;align-items:center;gap:7px}.candidate-row-meta>strong{min-width:36px;font-size:11px;text-align:right}.candidate-row-meta>i{color:var(--muted)}
.candidate-detail-dialog{width:min(1080px,calc(100vw - 48px));height:min(820px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);overflow:hidden}
.candidate-detail-dialog form{box-sizing:border-box;width:100%;height:100%;min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;padding:28px 32px 24px;overflow:hidden}
.candidate-detail-dialog h2{min-width:0;margin:6px 48px 18px 0;font-size:22px;line-height:1.4;overflow-wrap:anywhere}
.candidate-detail-dialog #candidate-detail-body{min-width:0;overflow-x:hidden;overflow-y:auto;padding:0 8px 12px 0;scrollbar-gutter:stable}
.candidate-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px}
.candidate-detail-facts .data-row{min-width:0;grid-template-columns:minmax(92px,.35fr) minmax(0,1fr);gap:6px 14px;padding:13px 15px;border:1px solid var(--divider);border-radius:8px;background:var(--raised);align-items:start}
.candidate-detail-facts .data-row b{grid-row:1/3;color:var(--text)}
.candidate-detail-facts .data-row small,.candidate-detail-facts .data-row span{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.candidate-detail-facts .data-row span{color:var(--accent);font:10px/1.55 "JetBrains Mono",Consolas,monospace}
.candidate-detail-dialog h3{margin:20px 0 8px;font-size:13px}.candidate-detail-dialog h3:first-of-type{margin-top:0}
.candidate-detail-dialog #candidate-detail-body>small{display:block;max-width:100%;color:var(--accent);font-size:11px;line-height:1.7;overflow-wrap:anywhere;word-break:break-word}
.candidate-detail-dialog .candidate-evidence{max-height:none;margin-top:10px;padding:14px 16px;border-left-color:var(--accent);font-size:12px;line-height:1.75;white-space:pre-wrap;overflow:visible;overflow-wrap:anywhere;word-break:break-word}
.candidate-detail-dialog pre{max-width:100%;max-height:none;margin:0;padding:14px 16px;font-size:11px;line-height:1.7;white-space:pre-wrap;overflow-x:hidden;overflow-wrap:anywhere;word-break:break-word}
.candidate-detail-dialog footer{gap:10px;margin:0 -32px -24px;padding:16px 32px;border-top:1px solid var(--divider);background:var(--surface)}
.candidate-detail-dialog footer .secondary{margin-right:auto}
.call-detail-dialog form{width:min(720px,calc(100vw - 32px))}

@media(max-width:760px){
  .candidate-detail-dialog{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}
  .candidate-detail-dialog form{padding:22px 18px 18px}
  .candidate-detail-dialog h2{margin-right:34px;font-size:19px}
  .candidate-detail-facts{grid-template-columns:1fr}
  .candidate-detail-facts .data-row{grid-template-columns:86px minmax(0,1fr)}
  .candidate-detail-dialog footer{margin:0 -18px -18px;padding:13px 18px;flex-wrap:wrap}
}

.tool-observability{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;padding:14px 20px 4px}
.tool-observation{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--service-border);border-radius:8px;background:var(--surface);text-align:left}
.tool-observation:hover{border-color:#b9c9f2;background:#f8faff}.tool-observation>i{display:grid;width:32px;height:32px;place-items:center;border-radius:7px;background:var(--accent-soft);color:var(--accent)}
.tool-observation>span{display:grid;gap:2px;min-width:0}.tool-observation b{font-size:11px}.tool-observation small{color:var(--muted);font-size:9px}.tool-observation-metrics{text-align:right}.tool-observation-metrics strong{font-size:11px}.tool-observation-metrics>i{position:absolute;opacity:0}
.call-log-row{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto 16px;gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--service-border);background:transparent;text-align:left}.call-log-row:last-child{border-bottom:0}.call-log-row:hover{background:#f8faff}.call-log-row.has-error{box-shadow:inset 3px 0 var(--red)}.call-log-row>span{display:grid;gap:3px;min-width:0}.call-log-row b{font-size:11px}.call-log-row small{color:var(--muted);font-size:9px;overflow-wrap:anywhere}.call-log-row>strong{font-size:10px}

.answer-content.is-streaming:empty::before{content:"正在组织可核验回答";color:var(--muted)}
.answer-content.is-streaming::after{content:"";display:inline-block;width:7px;height:16px;margin-left:3px;vertical-align:-3px;border-radius:2px;background:var(--accent);animation:assistant-caret .8s steps(1) infinite}
@keyframes assistant-caret{50%{opacity:0}}

@media(max-width:900px){.dashboard-lower>.surface{height:auto}.stage-rail{grid-template-columns:repeat(3,1fr)}.stage-node:nth-child(4):after{display:none}.candidate-toolbar{align-items:stretch;flex-direction:column}.candidate-row-main{grid-template-columns:1fr}.candidate-row-meta{justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:560px){.import-dialog .dropzone{min-height:210px;padding:24px!important}.stage-rail{grid-template-columns:repeat(2,1fr)}.stage-node:nth-child(3):after,.stage-node:nth-child(5):after{display:none}.candidate-bulk{flex-wrap:wrap}.candidate-row-meta .candidate-chip{display:none}.tool-observability{grid-template-columns:1fr;padding-inline:16px}}

/* v55 import control room: compact status above a bounded, full-width audit log. */
#view-imports .import-grid{align-items:stretch;grid-template-columns:minmax(0,1.45fr) minmax(430px,1fr);gap:12px}
#view-imports .import-grid>.surface{height:auto;min-height:264px;margin:0;overflow:visible}
#view-imports .import-list-panel{display:flex;flex-direction:column}
#view-imports .import-list-panel #imports-list{max-height:320px;min-height:0;overflow:auto;scrollbar-gutter:stable}
#view-imports .import-observer{display:flex;flex-direction:column;padding-bottom:18px}
#view-imports .import-observer>header{min-height:58px;margin-bottom:0}
#view-imports .import-observer>header span{max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#view-imports .import-observer .danger-link{flex:0 0 auto;min-height:30px;padding:5px 9px;border-radius:6px;background:#fff4f5;color:#b74657;font-size:10px}
#view-imports .import-progress{display:block;width:auto;margin:0 16px 0;padding:14px 0 10px}
#view-imports .progress-copy{display:flex;min-height:30px;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
#view-imports .progress-copy strong{min-width:0;overflow:hidden;color:#25324a;font-size:13px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}
#view-imports #import-progress-percent{display:grid;min-width:42px;min-height:28px;flex:0 0 auto;place-items:center;padding:4px 9px;border:1px solid #d9e2fb;border-radius:99px;background:#eef3ff;color:#4965df;font:700 11px/16px ui-monospace,SFMono-Regular,Consolas,monospace}
#view-imports .import-progress.is-empty .progress-copy strong{color:#526078;font-weight:650}
#view-imports .import-progress.is-empty #import-progress-percent{background:#f3f6fb;color:#62718b}
#view-imports .stage-rail{--flow-width:0%;position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0;padding:8px 0 4px}
#view-imports .stage-rail:before,#view-imports .stage-rail:after{content:"";position:absolute;top:18px;left:8.333%;height:6px;border-radius:99px}
#view-imports .stage-rail:before{right:8.333%;background:#e5eaf3;box-shadow:inset 0 1px 2px #d7deea}
#view-imports .stage-rail:after{z-index:1;width:var(--flow-width);max-width:83.334%;background:linear-gradient(90deg,#526fff 0%,#587ff2 48%,#48a97c 100%);box-shadow:0 0 10px rgba(77,107,254,.24);transition:width .45s cubic-bezier(.22,.72,.2,1)}
#view-imports .import-progress.is-running .stage-rail:after{background-size:180% 100%;animation:import-flow 1.8s linear infinite}
#view-imports .import-progress.is-canceled .stage-rail:after{background:linear-gradient(90deg,#60718b,#d1943d);box-shadow:0 0 9px rgba(209,148,61,.18)}
#view-imports .import-progress.is-failed .stage-rail:after{background:linear-gradient(90deg,#60718b,#cf5365)}
@keyframes import-flow{0%{background-position:100% 0}100%{background-position:0 0}}
#view-imports .stage-node{z-index:2;display:grid;justify-items:center;gap:7px;min-width:0;padding:0 4px;color:#738097;font-size:11px;line-height:16px;text-align:center;white-space:nowrap}
#view-imports .stage-node:before,#view-imports .stage-node:after{display:none}
#view-imports .stage-node-dot{display:grid;width:22px;height:22px;place-items:center;border:4px solid var(--surface);border-radius:50%;background:#dfe5ee;box-shadow:0 0 0 1px #d7deea;transition:background .25s,box-shadow .25s,transform .25s}
#view-imports .stage-node b{max-width:100%;overflow:hidden;font-size:11px;font-weight:600;text-overflow:ellipsis}
#view-imports .stage-node.completed{color:#334057}
#view-imports .stage-node.completed .stage-node-dot{background:#4da57b;box-shadow:0 0 0 1px #4da57b}
#view-imports .stage-node.completed .stage-node-dot:after{content:"";width:7px;height:4px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) translateY(-1px)}
#view-imports .stage-node.active{color:var(--accent)}
#view-imports .stage-node.active .stage-node-dot{background:#6079ff;box-shadow:0 0 0 1px #6079ff,0 0 0 6px rgba(77,107,254,.13);animation:stage-pulse 1.7s ease-in-out infinite}
#view-imports .stage-node.failed{color:var(--red)}
#view-imports .stage-node.failed .stage-node-dot{background:var(--red);box-shadow:0 0 0 1px var(--red),0 0 0 5px rgba(207,83,101,.12)}
#view-imports .import-progress.is-canceled .stage-node:not(.completed):not(.failed) .stage-node-dot{background:#f0dfc4;box-shadow:0 0 0 1px #d39a47}
@keyframes stage-pulse{50%{transform:scale(1.08);box-shadow:0 0 0 1px #6079ff,0 0 0 9px rgba(77,107,254,.06)}}
@media(prefers-reduced-motion:reduce){#view-imports .import-progress.is-running .stage-rail:after,#view-imports .stage-node.active .stage-node-dot{animation:none}}
#view-imports .import-stage-message{width:auto;min-height:40px;margin:6px 16px 0;padding:10px 12px;border:1px solid #e6ebf4;border-radius:7px;background:#f8faff;color:#65728a;font-size:11px;line-height:18px;overflow-wrap:anywhere}
#view-imports .import-stage-message.is-empty{display:flex;align-items:center;color:#6d7a91}
#view-imports .import-attention{width:auto;margin:8px 16px 0;padding:8px 10px;line-height:17px}
#view-imports .import-log{margin:12px 0 0;padding:0;overflow:hidden}
#view-imports .import-log>summary{display:flex;min-height:54px;align-items:center;justify-content:space-between;padding:0 18px;cursor:pointer;list-style:none;color:var(--text)}
#view-imports .import-log>summary::-webkit-details-marker{display:none}
#view-imports .import-log>summary>span{display:grid;grid-template-columns:20px auto minmax(0,1fr);align-items:center;gap:8px;min-width:0}
#view-imports .import-log>summary>span>i{color:var(--accent);font-size:16px}
#view-imports .import-log>summary b{font-size:12px}
#view-imports .import-log>summary small{min-width:0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
#view-imports .import-log>summary>i{transition:transform .18s}
#view-imports .import-log[open]>summary>i{transform:rotate(180deg)}
#view-imports .import-log[open]>summary{border-bottom:1px solid var(--divider)}
#view-imports .import-log .evidence-track{display:grid;max-height:390px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 16px 16px;overflow:auto;scrollbar-gutter:stable;background:#fbfcfe}
#view-imports .import-log .evidence-track.empty{display:block;min-height:72px;padding:24px 18px}
#view-imports .import-log .track-step{min-width:0;padding:11px 12px;border:1px solid #e5eaf3;border-radius:8px;background:var(--surface)}
#view-imports .import-log .track-step:before,#view-imports .import-log .track-step:after{display:none}
#view-imports .import-log .track-step>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 5px;padding:0;border:0}
#view-imports .import-log .track-step>header b{font-size:11px;line-height:17px}
#view-imports .import-log .track-step>header em{flex:0 0 auto;padding:2px 6px;border-radius:99px;background:#eef8f2;color:#39815f;font-size:9px;font-style:normal}
#view-imports .import-log .track-step.active>header em{background:#eef3ff;color:var(--accent)}
#view-imports .import-log .track-step.failed>header em{background:#fff0f1;color:var(--red)}
#view-imports .import-log .track-step>span{display:-webkit-box;min-height:34px;margin:0;overflow:hidden;color:#4f5e76;font-size:10px;line-height:17px;-webkit-box-orient:vertical;-webkit-line-clamp:2}
#view-imports .import-log .track-step>small{margin-top:6px;font-size:9px;line-height:15px}
#view-imports .import-log .track-step details{margin-top:7px}
#view-imports .import-log .track-step details>summary{cursor:pointer;color:var(--accent);font-size:9px;list-style-position:inside}
#view-imports .import-log .track-step pre{max-height:130px;margin:7px 0 0;padding:8px;font-size:9px;line-height:15px}

.platform-delivery{margin:16px 20px 0;padding:16px;border:1px solid var(--service-border);border-radius:9px;background:#fbfcfe}
.platform-delivery>header{margin:0 0 12px!important;padding:0!important;border:0!important}
.platform-delivery h3{margin:0;font-size:13px;line-height:20px}
.platform-delivery p{margin:2px 0 0;color:var(--service-muted);font-size:10px;line-height:17px}
.platform-delivery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.platform-delivery-grid>article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px 10px;padding:13px;border:1px solid #e3e8f1;border-radius:8px;background:var(--surface)}
.platform-delivery-grid>article>i{display:grid;width:30px;height:30px;place-items:center;border-radius:7px;background:var(--accent-soft);color:var(--accent);font-size:16px}
.platform-delivery-grid>article>span{display:grid;align-content:center;gap:1px;min-width:0}
.platform-delivery-grid>article b{font-size:11px;line-height:17px}.platform-delivery-grid>article small{color:var(--muted);font-size:9px;line-height:14px}
.platform-delivery-grid ol{grid-column:1/-1;margin:2px 0 0;padding-left:17px;color:#58667d;font-size:9px;line-height:18px}
.platform-delivery-grid button{grid-column:1/-1;min-height:32px;padding:6px 9px;border:1px solid #cbd7f5;border-radius:6px;background:#f4f7ff;color:var(--accent);font-size:10px}
.platform-delivery-grid a{grid-column:1/-1;color:var(--muted);font-size:9px;text-align:center;text-decoration:none}.platform-delivery-grid a:hover{color:var(--accent)}
.platform-delivery-note{display:flex;align-items:flex-start;gap:6px;margin:11px 0 0!important;padding-top:10px;border-top:1px solid var(--service-border)}
.delivery-acceptance{margin:14px 20px 0;padding:16px;border:1px solid var(--service-border);border-radius:9px;background:var(--surface)}
.delivery-acceptance>header{display:flex!important;min-height:0!important;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px!important;padding:0!important;border:0!important}
.delivery-acceptance>header h3{margin:0;font-size:13px;line-height:20px}.delivery-acceptance>header p{margin:2px 0 0;color:var(--service-muted);font-size:10px;line-height:16px}
.delivery-acceptance>header button{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:7px 11px;white-space:nowrap}
.delivery-acceptance-state{margin-bottom:7px;padding:9px 11px;border-radius:7px;background:#f5f7fb;color:var(--muted);font-size:11px;line-height:18px}.delivery-acceptance-state.passed{background:#eef8f3;color:#367a59}.delivery-acceptance-state.blocked{background:#fff6e9;color:#97631d}
.delivery-acceptance-next{margin:0 0 10px;color:var(--muted);font-size:10px;line-height:17px;overflow-wrap:anywhere}
.delivery-acceptance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.delivery-check{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e6eaf1;border-radius:7px;background:#fbfcfe}
.delivery-check>i{font-size:15px}.delivery-check.passed>i{color:#46956e}.delivery-check.blocked>i{color:#c6832e}.delivery-check>span{display:grid;gap:1px;min-width:0}.delivery-check b{font-size:10px;line-height:16px}.delivery-check small{color:var(--muted);font-size:10px;line-height:16px;overflow-wrap:anywhere;white-space:normal}.delivery-check em{padding:2px 6px;border-radius:99px;background:#eef2f7;color:var(--muted);font-size:9px;font-style:normal}.delivery-check.passed em{background:#eaf7f0;color:#367a59}.delivery-check.blocked em{background:#fff0dc;color:#97631d}

@media(max-width:1000px){#view-imports .import-grid{grid-template-columns:1fr}#view-imports .import-grid>.surface{height:auto;min-height:240px}#view-imports .import-log .evidence-track{grid-template-columns:1fr}.platform-delivery-grid{grid-template-columns:1fr}}
@media(max-width:620px){#view-imports .import-progress{overflow-x:auto;scrollbar-width:thin}#view-imports .stage-rail{min-width:560px;grid-template-columns:repeat(6,minmax(86px,1fr))}#view-imports .import-log>summary>span{grid-template-columns:20px 1fr}#view-imports .import-log>summary small{grid-column:1/-1;padding-left:28px}.platform-delivery,.delivery-acceptance{margin-inline:16px}.delivery-acceptance>header{align-items:stretch;flex-direction:column}.delivery-acceptance-list{grid-template-columns:1fr}}

/* Settings v52: separate editable browser preferences from server-controlled facts. */
.settings-head{align-items:flex-start}
.settings-save{display:flex;align-items:center;gap:12px;padding-top:8px}
.settings-save>span{color:var(--muted);font-size:11px;white-space:nowrap}
.settings-save>span.is-dirty{color:var(--amber)}
.settings-save .primary{gap:7px}
.settings-save .primary:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}
.settings-layout{grid-template-columns:240px minmax(0,1fr);gap:12px}
.settings-nav{gap:4px;padding:8px}
.settings-nav button{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:9px 11px}
.settings-nav button>i{font-size:17px}
.settings-nav button>span{display:grid;gap:2px;color:inherit;font-size:12px}
.settings-nav button small{color:var(--muted);font-size:10px;font-weight:400}
.settings-nav button.active small{color:color-mix(in srgb,var(--accent) 72%,var(--muted))}
.settings-panel{padding:18px}
.settings-tab{max-width:none!important}
.settings-tab>header{align-items:flex-start;margin:0 0 4px;padding:0 0 14px}
.settings-tab>header>div{display:grid;gap:4px}
.settings-tab>header>div>span{color:var(--muted);font-size:11px}
.settings-tab>header>em{padding:4px 8px;border-radius:99px;background:var(--raised);color:var(--muted);font-size:10px;font-style:normal}
.settings-tab>header>em.setting-state-ok{background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green)}
.setting-field,.setting-readonly{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(260px,1fr);align-items:center;gap:20px;min-height:76px;padding:14px 2px;border-bottom:1px solid var(--divider)}
.setting-field>label,.setting-readonly>span{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;padding:0!important;border:0!important;color:var(--text)!important;font-size:12px!important}
.setting-field label small,.setting-readonly small{color:var(--muted);font-size:10px;font-weight:400;line-height:1.5}
.setting-field>input,.setting-field>select{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--divider);border-radius:7px;background:var(--surface);color:var(--text)}
.setting-field>input:focus,.setting-field>select:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px var(--accent-soft)}
.setting-readonly>strong,.setting-readonly>code{justify-self:end;color:var(--text);font-size:12px}
.setting-readonly>code{padding:5px 8px;border-radius:6px;background:var(--raised);color:var(--accent)}
.theme-field{margin:0;padding:18px 2px 2px;border:0}
.theme-field legend{display:grid;gap:4px;margin:0 0 12px;padding:0;color:var(--text);font-size:12px}
.theme-field legend small{color:var(--muted);font-size:10px;font-weight:400}
.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.settings-tab .theme-options>label{position:relative;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;align-items:center;gap:10px!important;min-height:78px;margin:0;padding:12px!important;border:1px solid var(--divider)!important;border-radius:8px;background:var(--raised);color:var(--text);cursor:pointer}
.settings-tab .theme-options>label:has(input:checked){border-color:var(--accent)!important;background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.theme-options input{position:absolute;opacity:0;pointer-events:none}
.theme-options label>i{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:var(--surface);color:var(--accent);font-size:18px}
.theme-options label>span{display:grid;gap:3px}
.theme-options label small{color:var(--muted);font-size:10px;font-weight:400}
.workspace-identity,.security-account,.runtime-setting-status{display:flex;align-items:center;gap:12px;margin:14px 0;padding:14px;border:1px solid var(--divider);border-radius:9px;background:var(--raised)}
.workspace-identity>i{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:20px}
.workspace-identity>span,.security-account>span:nth-child(2),.runtime-setting-status>span{display:grid;gap:4px;min-width:0;flex:1}
.workspace-identity small,.security-account small,.runtime-setting-status small{color:var(--muted);font-size:10px}
.workspace-identity b,.security-account b,.runtime-setting-status b{font-size:13px;overflow-wrap:anywhere}
.workspace-identity>em,.security-account>em{padding:4px 8px;border-radius:99px;background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green);font-size:10px;font-style:normal}
.security-account .avatar{width:42px;height:42px}
.settings-tab>.secondary{display:inline-flex;align-items:center;gap:7px;margin-top:14px}
.settings-tab>.secondary.danger{color:var(--red)}
.settings-tab .setting-toggle{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center;gap:18px!important;min-height:80px;margin:0;padding:14px 2px!important;border-bottom:1px solid var(--divider)!important;color:var(--text)!important}
.settings-tab .setting-toggle>span{display:grid;gap:4px}
.settings-tab .setting-toggle small{max-width:680px;color:var(--muted);font-size:10px;font-weight:400;line-height:1.55}
.settings-tab .setting-toggle>input{width:18px;height:18px;margin:0;accent-color:var(--accent)}
.runtime-setting-status{justify-content:space-between;margin-top:14px}
.runtime-setting-status .secondary{gap:7px;flex:none}

/* The visual system already has dark tokens; these overrides remove light-only surfaces. */
:root[data-theme="dark"]{--scheme-bg:var(--canvas);--scheme-ink:var(--text);--scheme-muted:var(--muted);--scheme-border:var(--divider);--scheme-shadow:var(--shadow)}
:root[data-theme="dark"] body,:root[data-theme="dark"] .app,:root[data-theme="dark"] main{background:var(--canvas);color:var(--text)}
:root[data-theme="dark"] .topbar{background:color-mix(in srgb,var(--surface) 96%,transparent);border-color:var(--divider);color:var(--text)}
:root[data-theme="dark"] .surface,:root[data-theme="dark"] .metric,:root[data-theme="dark"] .runtime-table,:root[data-theme="dark"] .flow-card>header,:root[data-theme="dark"] .compiler-flow,:root[data-theme="dark"] .chat-surface,:root[data-theme="dark"] .assistant-context,:root[data-theme="dark"] .composer,:root[data-theme="dark"] .prompt-grid button,:root[data-theme="dark"] .workspace-option{background-color:var(--surface);color:var(--text);border-color:var(--divider)}
:root[data-theme="dark"] .page-head h1,:root[data-theme="dark"] .metric strong,:root[data-theme="dark"] .compiler-step b,:root[data-theme="dark"] .context-empty b,:root[data-theme="dark"] .prompt-grid span,:root[data-theme="dark"] #view-service .status-item b{color:var(--text)}
:root[data-theme="dark"] .runtime-head,:root[data-theme="dark"] .next-actions .action-list button,:root[data-theme="dark"] .assistant-welcome,:root[data-theme="dark"] .workspace-option.selected{background:var(--raised);color:var(--text);border-color:var(--divider)}
:root[data-theme="dark"] .runtime-info{background:var(--surface)!important;border-color:var(--divider)!important;color:var(--muted)!important}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{background-color:var(--raised);color:var(--text);border-color:var(--divider)}

@media(max-width:900px){
  .settings-save{align-items:flex-end;flex-direction:column;padding-top:0}
  .settings-layout{grid-template-columns:1fr}
  .settings-nav button{min-width:180px}
}
@media(max-width:680px){
  .settings-head{display:grid}
  .settings-save{align-items:stretch}
  .settings-save>span{text-align:right}
  .theme-options{grid-template-columns:1fr}
  .setting-field,.setting-readonly{grid-template-columns:1fr;gap:9px}
  .setting-readonly>strong,.setting-readonly>code{justify-self:start}
}

/* Assistant v43: single-column turns with the trace before each answer. */
#view-assistant{max-width:none}
.assistant-layout{
  display:block;
  min-height:calc(100vh - 182px);
}
.chat-surface{
  width:100%;
  max-width:none;
  height:calc(100vh - 182px);
  min-height:540px;
  margin:0;
}
.assistant-layout.is-empty .messages{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px;
}
.assistant-welcome{
  display:block;
  width:min(780px,100%);
  max-width:780px;
  padding:0;
  border:0;
  background:transparent;
  text-align:center;
}
.assistant-welcome::before{content:none}
.assistant-welcome>small{display:block;font-size:11px;line-height:18px}
.assistant-welcome h2{margin:5px 0 6px;font-size:22px;line-height:31px}
.assistant-welcome p{max-width:650px;margin:0 auto;font-size:13px;line-height:22px}
.assistant-welcome .prompt-grid{margin:18px auto 0;text-align:left}
.assistant-layout.has-conversation .messages{padding:24px 30px}

.conversation-turn{
  width:min(100%,1040px);
  margin:0 auto 28px;
  display:grid;
  gap:12px;
}
.conversation-turn:last-child{margin-bottom:6px}
.conversation-turn .message{width:100%;max-width:none;margin:0;min-width:0}
.conversation-turn .message.user{width:auto;max-width:min(76%,820px);margin-left:auto;padding:12px 16px}
.conversation-turn .message.assistant{margin-top:2px}
.conversation-turn .message-body{min-width:0}

.conversation-turn .message-trace{
  width:100%;
  margin:0;
  border:1px solid #dfe6f2;
  border-radius:9px;
  background:#f8faff;
  overflow:hidden;
}
.conversation-turn .message-trace>summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 16px;
  align-items:center;
  gap:12px;
  min-height:48px;
  padding:10px 14px;
  cursor:pointer;
  list-style:none;
  font-size:12px;
}
.conversation-turn .message-trace>summary::-webkit-details-marker,
.conversation-turn .trace-step>summary::-webkit-details-marker{display:none}
.conversation-turn .message-trace>summary::before,
.conversation-turn .trace-step>summary::before{content:none}
.conversation-turn .message-trace>summary::after{
  content:"›";
  color:#5e73a0;
  font-size:18px;
  line-height:1;
  transform:rotate(0);
  transition:transform .15s ease;
}
.conversation-turn .message-trace[open]>summary::after{transform:rotate(90deg)}
.trace-title{display:flex;align-items:center;gap:8px;min-width:0;font-weight:700;color:#17253d}
.trace-title i{font-size:16px;color:var(--scheme-blue)}
.conversation-turn .trace-summary-meta{
  min-width:0;
  color:#66758d;
  font-size:12px;
  font-weight:500;
  line-height:18px;
  text-align:right;
  overflow-wrap:anywhere;
}
.trace-overview{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:10px 14px;
  border-top:1px solid #e7ecf4;
  background:#fff;
}
.trace-overview>span,.trace-overview>code{
  display:inline-flex;
  align-items:center;
  min-width:0;
  min-height:26px;
  padding:4px 8px;
  border-radius:5px;
  background:#f3f6fb;
  color:#5f6f87;
  font-size:11px;
  line-height:18px;
  overflow-wrap:anywhere;
}
.trace-overview>code{flex:1 1 260px;font-family:"Cascadia Mono","JetBrains Mono",Consolas,monospace;white-space:normal}
.conversation-turn .message-trace>.evidence-track{
  display:grid;
  gap:0;
  padding:0 14px 12px;
  background:#fff;
}
.conversation-turn .trace-step{
  margin:0;
  border:0;
  border-top:1px solid #e8edf5;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.conversation-turn .trace-step>summary{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) 14px;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:8px 2px;
  cursor:pointer;
  list-style:none;
}
.conversation-turn .trace-step>summary::after{
  content:"⌄";
  color:#8390a5;
  font-size:14px;
  transform:rotate(-90deg);
  transition:transform .15s ease;
}
.conversation-turn .trace-step[open]>summary::after{transform:none}
.trace-step-copy{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-width:0}
.trace-step-copy b{flex:0 0 auto;font-size:12px;line-height:19px;color:#25344c}
.trace-step-copy .trace-step-meta{min-width:0;font-size:11px;line-height:18px;color:#718097;text-align:right;overflow-wrap:anywhere}
.conversation-turn .trace-dot{width:7px;height:7px;box-shadow:0 0 0 3px #eef2f8}
.conversation-turn .trace-step-body{
  display:grid;
  gap:0;
  padding:0 24px 10px;
  border:0;
}
.conversation-turn .trace-step-body:empty{display:none}
.trace-fact{
  display:grid;
  grid-template-columns:minmax(96px,.24fr) minmax(0,1fr) auto;
  align-items:start;
  gap:12px;
  padding:8px 0;
  border-top:1px solid #edf1f6;
}
.trace-fact:first-child{border-top:0}
.trace-fact b,.trace-fact span,.trace-fact small{min-width:0;overflow-wrap:anywhere}
.trace-fact b{font-size:12px;line-height:19px;color:#34435b}
.trace-fact span{font-size:12px;line-height:19px;color:#65748c}
.trace-fact small{font-size:11px;line-height:18px;color:#8290a4;text-align:right}
.conversation-turn .trace-hit{padding:9px 0}
.conversation-turn .trace-hit b{font-size:12px;line-height:19px}
.conversation-turn .trace-hit small{font-size:11px;line-height:18px}
.conversation-turn .trace-hit span{font-size:12px;line-height:19px}
.conversation-turn .trace-graph-control{padding:8px 0 2px}

.turn-citations{
  margin:0 0 0 40px;
  padding:12px 14px 4px;
  border:1px solid #e3e9f2;
  border-radius:8px;
  background:#fff;
  overflow:visible;
}
.turn-citations[hidden]{display:none!important}
.turn-citations h3{margin:0 0 6px;font-size:13px;line-height:20px}
.turn-citations .citation{padding:9px 0;border-top:1px solid #edf1f6}
.turn-citations .citation:first-child{border-top:0}
.turn-citations .citation span{font-size:12px;line-height:19px}
.turn-citations .citation small{font-size:11px;line-height:18px;overflow-wrap:anywhere}

@media(max-width:900px){
  .assistant-layout{min-height:0}
  .chat-surface{height:min(680px,72dvh);min-height:440px}
  .assistant-layout.has-conversation .messages{padding:20px 18px}
  .conversation-turn{width:100%}
}

@media(max-width:600px){
  .assistant-layout.is-empty .messages{padding:22px 18px}
  .assistant-welcome{width:100%}
  .assistant-welcome h2{font-size:20px;line-height:28px}
  .conversation-turn .message.user{max-width:90%}
  .conversation-turn .message-trace>summary{grid-template-columns:minmax(0,1fr) 14px}
  .conversation-turn .trace-summary-meta{grid-column:1;text-align:left}
  .conversation-turn .message-trace>summary::after{grid-column:2;grid-row:1/3}
  .trace-step-copy{display:grid;gap:2px}
  .trace-step-copy .trace-step-meta{text-align:left}
  .trace-fact{grid-template-columns:1fr}
  .trace-fact small{text-align:left}
  .conversation-turn .trace-step-body{padding-inline:17px}
  .turn-citations{margin-left:0}
  .conversation-turn .trace-hit{grid-template-columns:1fr}
  .conversation-turn .trace-link{justify-self:start}
}

/* Assistant v44: one contained composer, no duplicate citation footer. */
.chat-surface .composer{
  padding:12px 14px 14px;
  border-top:1px solid #e8edf5;
  background:#fff;
  box-shadow:none;
}
.chat-surface .composer:focus-within{box-shadow:none}
.composer-field{
  position:relative;
  display:block;
  margin:0;
  border:1px solid #dbe3f0;
  border-radius:11px;
  background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.composer-field:focus-within{
  border-color:#86a4ff;
  box-shadow:0 0 0 3px rgba(49,93,244,.12);
}
.composer-field textarea{
  display:block;
  width:100%;
  min-height:76px;
  max-height:132px;
  margin:0;
  padding:13px 112px 31px 13px;
  border:0;
  border-radius:inherit;
  background:transparent;
  outline:0;
  resize:none;
  font-size:13px;
  line-height:21px;
  overflow-y:auto;
}
.composer-field #stream-state{
  position:absolute;
  left:13px;
  right:190px;
  bottom:10px;
  min-width:0;
  margin:0;
  color:#738198;
  font-size:11px;
  line-height:18px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  pointer-events:none;
}
.composer-field #stream-state:empty{display:none}
.composer-field #send-stream,
.composer-field #stop-stream{
  position:absolute;
  bottom:9px;
  min-height:34px;
  margin:0;
}
.composer-field #send-stream{right:9px}
.composer-field #stop-stream{right:91px;padding-inline:12px}
.turn-citations{display:none!important}

@media(max-width:600px){
  .chat-surface .composer{padding:10px}
  .composer-field textarea{min-height:72px;padding-right:104px}
  .composer-field #stream-state{right:178px}
}

/* v45 service console: stable card rhythm, readable handoff data and bounded actions. */
#view-service{--service-border:#e3e8f1;--service-ink:#22304a;--service-muted:#687790}
#view-service>.metric-row .metric,
#view-service>.split-grid>.surface,
#view-service>.delivery-panel,
#view-service>.observability-panel,
#view-service>.surface:last-child{border:1px solid var(--service-border);box-shadow:0 1px 2px rgba(30,45,75,.035)}
#view-service .surface>header h2{font-size:16px;line-height:24px;color:var(--service-ink)}
#view-service .surface>header span{font-size:12px;line-height:18px;color:var(--service-muted)}
#view-service button{font-size:12px;line-height:18px}

#view-service .delivery-panel{padding:0;overflow:hidden}
#view-service .delivery-panel>header{margin:0;padding:18px 20px;border-bottom:1px solid var(--service-border)}
#view-service .delivery-summary{margin:16px 20px 14px;padding:14px 16px;border-color:var(--service-border)}
#view-service .delivery-summary>span{font-size:12px}
#view-service .delivery-summary code{font-size:12px;line-height:19px}
#view-service .delivery-summary small{font-size:11px;line-height:18px}
#view-service .delivery-grid{margin:0 20px 14px}
#view-service .delivery-endpoints,
#view-service .credential-box,
#view-service .delivery-config-grid>section{border-color:var(--service-border);background:#fbfcfe}
#view-service .credential-box h3,
#view-service .delivery-endpoints h3,
#view-service .delivery-config-grid h3{font-size:13px;line-height:20px;color:var(--service-ink)}
#view-service .credential-box p,
#view-service .credential-copy small,
#view-service .empty-credentials{font-size:11px;line-height:18px}
#view-service .credential-copy b{font-size:12px;line-height:19px}
#view-service .credential-copy code{font-size:10px;line-height:17px}
#view-service .one-time-secret{margin:0 20px 14px}
#view-service .delivery-config-grid{margin:0 20px}
#view-service .delivery-config-grid>section{padding:14px 15px}
#view-service .delivery-config-grid header{min-height:34px}
#view-service .delivery-config-grid button{min-height:32px;padding:6px 11px;white-space:nowrap}
#view-service .delivery-config-grid pre{margin-top:10px;border:1px solid #edf0f5;background:#f5f7fa;font-size:11px;line-height:18px}
#view-service .delivery-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin:16px 0 0;padding:14px 20px;border-top:1px solid var(--service-border);background:#f8faff}
#view-service .delivery-actions span{font-size:11px;line-height:18px;color:var(--service-muted)}
#view-service .delivery-actions button{min-height:38px;max-width:100%;padding:9px 15px;white-space:normal;text-align:center}

#view-service .observability-panel{padding:0;overflow:hidden}
#view-service .observability-panel>header{margin:0;padding:18px 20px;border-bottom:1px solid var(--service-border)}
#view-service .observability-panel>header .secondary{min-height:34px;padding:7px 11px;white-space:nowrap}
#view-service .observability-cards{gap:0;margin:0;padding:16px 20px;background:#fbfcfe;border-bottom:1px solid var(--service-border)}
#view-service .observability-cards .metric{min-height:84px;padding:8px 16px;border-right:1px solid var(--service-border);border-radius:0;background:transparent}
#view-service .observability-cards .metric:first-child{padding-left:0}
#view-service .observability-cards .metric:last-child{padding-right:0;border-right:0}
#view-service .observability-cards .metric-icon{display:none}
#view-service .observability-cards .metric span,
#view-service .observability-cards .metric small{font-size:11px;line-height:17px}
#view-service .observability-cards .metric strong{margin:5px 0 1px;font-size:22px;line-height:30px}
#view-service .observability-panel .collection-notice{margin:14px 20px 8px;padding:10px 12px;font-size:12px;line-height:19px}
#view-service .observability-list{max-height:430px;margin:0 20px 18px;border:1px solid var(--service-border);border-radius:8px;overflow:auto;scrollbar-gutter:stable}
#view-service .observability-list:empty{display:none}
#view-service .observability-list .data-row{padding:10px 12px}
#view-service .observability-list .data-row b{font-size:12px;line-height:19px}
#view-service .observability-list .data-row small,
#view-service .observability-list .data-row span{font-size:11px;line-height:18px}

@media(max-width:900px){
  #view-service .observability-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #view-service .observability-cards .metric{padding:10px 12px;border:1px solid var(--service-border);border-radius:8px;background:var(--surface)}
  #view-service .observability-cards .metric:first-child{padding-left:12px}
  #view-service .observability-cards .metric:last-child{padding-right:12px;border-right:1px solid var(--service-border)}
}
@media(max-width:560px){
  #view-service .delivery-panel>header,
  #view-service .observability-panel>header{align-items:stretch;flex-direction:column;padding:16px}
  #view-service .observability-panel>header .secondary{width:100%}
  #view-service .delivery-summary,
  #view-service .delivery-grid,
  #view-service .one-time-secret,
  #view-service .delivery-config-grid{margin-left:16px;margin-right:16px}
  #view-service .delivery-actions{grid-template-columns:1fr;padding:14px 16px}
  #view-service .observability-cards{grid-template-columns:1fr;padding:14px 16px}
  #view-service .observability-panel .collection-notice{margin-left:16px;margin-right:16px}
  #view-service .observability-list{max-height:360px;margin-left:16px;margin-right:16px}
}

/* Assistant v61: a single chat canvas; evidence stays inside its answer turn. */
#view-assistant .assistant-layout{
  display:block;
  width:100%;
  height:calc(100dvh - 178px);
  min-height:520px;
}
#view-assistant .chat-surface{
  width:100%;
  max-width:none;
  height:100%;
  min-height:520px;
  margin:0;
}
#view-assistant .assistant-layout.is-empty .messages{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px 38px;
}
#view-assistant .assistant-welcome{
  width:min(920px,100%);
  min-height:0;
  padding:0;
  background:transparent;
  text-align:center;
}
#view-assistant .assistant-welcome-mark{position:static;width:max-content;margin:0 auto 11px}
#view-assistant .assistant-welcome>small{padding:0}
#view-assistant .assistant-welcome h2{max-width:none;margin:6px 0;font-size:22px;line-height:31px}
#view-assistant .assistant-welcome>p{max-width:680px;margin:0 auto}
#view-assistant .prompt-label{margin-top:24px;text-align:left}
#view-assistant .prompt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
#view-assistant .prompt-grid button{
  grid-template-columns:36px minmax(0,1fr);
  min-height:82px;
  align-content:center;
  padding:11px 12px;
}
#view-assistant .prompt-grid button>em{display:none}
#view-assistant .assistant-layout.has-conversation .assistant-welcome{display:none!important}
#view-assistant .assistant-layout.has-conversation .messages{display:block;padding:24px 30px}

/* Answer progress: quiet typography, one rhythm, and a connected stage rail. */
#view-assistant .conversation-turn{width:min(100%,1060px);gap:13px}
#view-assistant .conversation-turn .message-trace{
  border:1px solid #dfe6f1;
  border-radius:9px;
  background:#fff;
  box-shadow:0 1px 2px rgba(27,46,78,.03);
}
#view-assistant .conversation-turn .message-trace>summary{
  min-height:52px;
  padding:10px 14px;
  border-radius:9px;
  background:#f8fafd;
}
#view-assistant .trace-title{font-size:12px;line-height:19px;color:#26364f}
#view-assistant .trace-title i{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#eaf0ff;color:#315df4;font-size:15px}
#view-assistant .conversation-turn .trace-summary-meta{font-size:11px;line-height:18px;color:#66758d;font-variant-numeric:tabular-nums}
#view-assistant .trace-overview{gap:6px;padding:9px 14px;border-color:#e8edf5}
#view-assistant .trace-overview>span,
#view-assistant .trace-overview>code{min-height:25px;padding:3px 8px;border-radius:5px;font-size:10px;line-height:17px}
#view-assistant .conversation-turn .message-trace>.evidence-track{gap:0;padding:4px 16px 14px;background:#fff}
#view-assistant .conversation-turn .trace-step{
  position:relative;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
#view-assistant .conversation-turn .trace-step:not(:last-child)::after{
  content:"";
  position:absolute;
  z-index:0;
  left:12px;
  top:34px;
  bottom:-11px;
  width:1px;
  background:#dfe6f1;
}
#view-assistant .conversation-turn .trace-step>summary{
  position:relative;
  z-index:1;
  grid-template-columns:25px minmax(0,1fr) 14px;
  gap:10px;
  min-height:44px;
  padding:7px 0;
}
#view-assistant .conversation-turn .trace-dot{
  width:9px;
  height:9px;
  margin-left:8px;
  background:#aeb8c7;
  box-shadow:0 0 0 5px #f3f5f8;
}
#view-assistant .conversation-turn .trace-step.active .trace-dot{background:#315df4;box-shadow:0 0 0 5px #eaf0ff}
#view-assistant .conversation-turn .trace-step.completed .trace-dot{background:#2ca467;box-shadow:0 0 0 5px #eaf8f0}
#view-assistant .conversation-turn .trace-step.failed .trace-dot{background:#d75252;box-shadow:0 0 0 5px #fff0ef}
#view-assistant .trace-step-copy{align-items:center}
#view-assistant .trace-step-copy b{font-size:12px;line-height:19px;font-weight:650;color:#2f3f58}
#view-assistant .trace-step-copy .trace-step-meta{font-size:11px;line-height:18px;font-weight:400;color:#718097}
#view-assistant .conversation-turn .trace-step>summary::after{color:#91a0b4;font-size:13px}
#view-assistant .conversation-turn .trace-step-body{padding:0 15px 10px 35px}
#view-assistant .trace-fact{grid-template-columns:minmax(104px,.24fr) minmax(0,1fr) auto;gap:14px;padding:7px 0}
#view-assistant .trace-fact b,
#view-assistant .trace-fact span{font-size:11px;line-height:18px}
#view-assistant .trace-fact small{font-size:10px;line-height:17px}
#view-assistant .conversation-turn .trace-hit{padding:9px 0}
#view-assistant .conversation-turn .trace-hit b{font-size:11px;line-height:18px}
#view-assistant .conversation-turn .trace-hit small{font-size:10px;line-height:17px}
#view-assistant .conversation-turn .trace-hit span{font-size:11px;line-height:18px}

:root[data-theme="dark"] #view-assistant .conversation-turn .message-trace,
:root[data-theme="dark"] #view-assistant .conversation-turn .message-trace>.evidence-track{background:var(--surface);border-color:var(--divider)}
:root[data-theme="dark"] #view-assistant .conversation-turn .message-trace>summary{background:var(--raised)}
:root[data-theme="dark"] #view-assistant .trace-title,
:root[data-theme="dark"] #view-assistant .trace-step-copy b{color:var(--text)}

@media(max-width:900px){
  #view-assistant .assistant-layout{height:min(690px,74dvh);min-height:470px}
  #view-assistant .prompt-grid{grid-template-columns:1fr}
  #view-assistant .prompt-grid button{min-height:64px}
  #view-assistant .assistant-layout.has-conversation .messages{padding:20px 18px}
}
@media(max-width:600px){
  #view-assistant .assistant-layout.is-empty .messages{padding:24px 18px}
  #view-assistant .assistant-welcome h2{font-size:20px;line-height:28px}
  #view-assistant .trace-step-copy{display:grid;gap:1px}
  #view-assistant .trace-step-copy .trace-step-meta{text-align:left}
  #view-assistant .trace-fact{grid-template-columns:1fr;gap:2px}
}

/* Assistant v62: remove ornamental labels and float a compact composer. */
#view-assistant .assistant-layout.is-empty .messages{
  align-items:flex-start;
  padding:52px 38px 24px;
}
#view-assistant .assistant-welcome h2{margin-top:0}
#view-assistant .assistant-welcome-mark,
#view-assistant .assistant-welcome>small{display:none}
#view-assistant .chat-surface .composer{
  width:min(720px,calc(100% - 48px));
  margin:0 auto 15px;
  padding:0;
  border-top:0;
  background:transparent;
}
#view-assistant .composer-field{
  min-height:58px;
  border-color:#d9e2ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 7px 22px rgba(29,52,91,.09);
}
#view-assistant .composer-field:focus-within{
  border-color:#86a4ff;
  box-shadow:0 8px 24px rgba(29,52,91,.1),0 0 0 3px rgba(49,93,244,.1);
}
#view-assistant .composer-field textarea{
  min-height:58px;
  max-height:112px;
  padding:10px 106px 23px 14px;
  line-height:19px;
}
#view-assistant .composer-field #send-stream,
#view-assistant .composer-field #stop-stream{
  top:50%;
  bottom:auto;
  min-height:34px;
  transform:translateY(-50%);
}
#view-assistant .composer-field #send-stream{right:10px;min-width:74px;padding:7px 12px}
#view-assistant .composer-field #stop-stream{right:92px}
#view-assistant .composer-field #stream-state{left:14px;right:184px;bottom:5px;font-size:10px;line-height:16px}

:root[data-theme="dark"] #view-assistant .chat-surface .composer{background:transparent}
:root[data-theme="dark"] #view-assistant .composer-field{background:var(--raised);border-color:var(--divider)}

@media(max-width:900px){
  #view-assistant .assistant-layout.is-empty .messages{padding-top:36px}
  #view-assistant .chat-surface .composer{width:min(680px,calc(100% - 64px));margin-bottom:12px}
}
@media(max-width:600px){
  #view-assistant .assistant-layout.is-empty .messages{padding-top:28px}
  #view-assistant .chat-surface .composer{width:calc(100% - 20px)}
  #view-assistant .composer-field textarea{padding-right:96px}
  #view-assistant .composer-field #send-stream{right:8px;min-width:68px}
  #view-assistant .composer-field #stop-stream{right:82px}
}

/* Assistant v63: prompt cards need no instructional divider. */
#view-assistant .assistant-welcome>.prompt-grid{margin-top:22px}

/* v64: center the welcome state and keep scrolling without visible bars. */
*{scrollbar-width:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
#view-assistant .assistant-layout.is-empty .messages{
  align-items:center;
  padding:24px 38px;
}
@media(max-width:600px){
  #view-assistant .assistant-layout.is-empty .messages{padding:20px 18px}
}

/* v65: the conversation composer follows the answer column width. */
#view-assistant .assistant-layout.has-conversation .composer{
  width:min(1060px,calc(100% - 60px));
}
@media(max-width:900px){
  #view-assistant .assistant-layout.has-conversation .composer{width:calc(100% - 36px)}
}

/* v66: the assistant opens directly into a full-height conversation canvas. */
#view-assistant{position:relative}
#view-assistant>.assistant-head{
  position:absolute;
  z-index:6;
  top:14px;
  right:16px;
  min-height:0;
  margin:0;
  padding:0;
  pointer-events:none;
}
#view-assistant>.assistant-head #clear-chat{pointer-events:auto}
#view-assistant>.assistant-head #clear-chat:disabled{display:none}
#view-assistant .assistant-layout{
  height:calc(100dvh - 96px);
}
#view-assistant .chat-surface .composer,
#view-assistant .assistant-layout.has-conversation .composer{
  width:min(1060px,calc(100% - 60px));
}
#view-assistant .assistant-layout.has-conversation .messages{padding-top:64px}

@media(max-width:900px){
  #view-assistant .assistant-layout{height:calc(100dvh - 143px);min-height:470px}
  #view-assistant .chat-surface .composer,
  #view-assistant .assistant-layout.has-conversation .composer{width:calc(100% - 36px)}
  #view-assistant>.assistant-head{top:12px;right:14px}
}

/* v67 data source studio: compact assets, balanced strategy cards, readable sources. */
#view-assets{--asset-border:#dfe6f1;--asset-soft:#f7f9fc;--asset-muted:#6f7e94}
#view-assets>.page-head{margin-bottom:13px}
#view-assets>.page-head .primary{min-width:96px;box-shadow:0 6px 14px rgba(49,93,244,.14)}
#view-assets #asset-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
#view-assets #asset-cards .metric{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  column-gap:11px;
  min-height:92px;
  padding:13px 14px;
  border:1px solid var(--asset-border);
  border-radius:9px;
  box-shadow:0 1px 2px rgba(28,45,76,.03);
}
#view-assets #asset-cards .metric-icon{
  position:static;
  left:auto;
  top:auto;
  grid-column:1;
  grid-row:1/4;
  align-self:start;
  width:36px;
  height:36px;
  border:1px solid #dce6fb;
  background:#f0f5ff;
  color:#3766f5;
}
#view-assets #asset-cards .metric>span,
#view-assets #asset-cards .metric>strong,
#view-assets #asset-cards .metric>small{grid-column:2;min-width:0}
#view-assets #asset-cards .metric>span{grid-row:1;font-size:11px;line-height:17px;color:var(--asset-muted)}
#view-assets #asset-cards .metric>strong{grid-row:2;margin:0;font-size:22px;line-height:28px;color:#1c2b43}
#view-assets #asset-cards .metric>small{grid-row:3;font-size:10px;line-height:16px;color:#8995a7}

#view-assets .strategy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;align-items:stretch}
#view-assets .strategy-panel{height:auto;margin:0;padding:0;border:1px solid var(--asset-border);border-radius:9px;box-shadow:0 1px 2px rgba(28,45,76,.03)}
#view-assets .strategy-panel>header{min-height:62px;margin:0;padding:13px 16px;border-bottom:1px solid #e8edf5}
#view-assets .strategy-panel>header h2{font-size:15px;line-height:22px}
#view-assets .strategy-panel>header span{margin-top:1px;font-size:10px;line-height:16px}
#view-assets .strategy-panel>header .secondary{min-height:32px;padding:6px 10px;border:1px solid #dfe6f1;background:#f8fafd;font-size:11px}
#view-assets .strategy-panel>.strategy-select{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  align-items:center;
  gap:12px;
  width:auto;
  max-width:none;
  margin:0;
  padding:12px 16px 10px;
  color:#536178;
  font-size:11px;
  font-weight:650;
}
#view-assets .strategy-panel>.strategy-select select{height:34px;padding:6px 10px;background:#fff}
#view-assets .strategy-panel>.parameter-cluster{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0 16px 15px;
  padding:10px;
  border-color:#e5eaf3;
  border-radius:8px;
  background:var(--asset-soft);
}
#view-assets .param-control{grid-template-columns:minmax(0,1fr) 62px;grid-template-rows:auto 22px auto;gap:6px 8px;padding:2px;min-width:0}
#view-assets .param-title{font-size:10px;line-height:16px;white-space:nowrap}
#view-assets .param-title small{font-size:9px}
#view-assets .form-panel .param-inputs input[type="number"]{width:62px;height:29px;padding:4px 5px;border-radius:6px;font-size:11px}
#view-assets .form-panel .param-inputs input[type="range"]{height:22px}
#view-assets .param-scale{font-size:8px;line-height:13px}

#view-assets .strategy-advanced{grid-column:1/-1;margin:0;padding:0;border:1px solid var(--asset-border);border-radius:9px;overflow:hidden;box-shadow:0 1px 2px rgba(28,45,76,.03)}
#view-assets .strategy-advanced>header{min-height:54px;margin:0;padding:11px 16px;border-bottom:1px solid #e8edf5}
#view-assets .strategy-advanced>header h2{font-size:14px;line-height:21px}
#view-assets .strategy-advanced-body{grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;padding:11px 16px 12px}
#view-assets .strategy-advanced-body .profile-constraint{padding:7px 10px;border-left-width:2px;border-radius:0 6px 6px 0;font-size:10px;line-height:16px}
#view-assets .strategy-advanced-body .toggle-row{gap:16px}
#view-assets .strategy-advanced-body .toggle-row label{font-size:11px}
#view-assets .strategy-advanced-body .note{font-size:10px;line-height:16px}

#view-assets .asset-source-panel{margin:0;padding:0;border:1px solid var(--asset-border);border-radius:9px;overflow:hidden;box-shadow:0 1px 2px rgba(28,45,76,.03)}
#view-assets .asset-source-panel>header{min-height:62px;margin:0;padding:12px 16px;border-bottom:1px solid #e8edf5}
#view-assets .asset-source-panel>header>div{display:grid;gap:1px}
#view-assets .asset-source-panel>header h2{font-size:15px;line-height:22px}
#view-assets .asset-source-panel>header span{font-size:10px;line-height:16px;color:#7d8a9f}
#view-assets .inline-search{position:relative;display:block;margin:0}
#view-assets .inline-search i{position:absolute;left:10px;top:50%;z-index:1;transform:translateY(-50%);color:#8290a5;font-size:14px}
#view-assets .inline-search input{width:220px;height:34px;padding:7px 10px 7px 31px;background:#f8fafd}
#view-assets #asset-source-table{max-height:390px;padding:0;overflow:auto}
#view-assets #asset-source-table .data-row{grid-template-columns:minmax(220px,1.2fr) minmax(90px,.35fr) auto;gap:14px;min-height:58px;padding:9px 16px}
#view-assets #asset-source-table .data-row b{font-size:11px;line-height:18px;color:#2d3c54}
#view-assets #asset-source-table .data-row small{font-size:10px;line-height:16px;color:#7c899d}
#view-assets #asset-source-table .data-row span{font-size:10px;white-space:nowrap;color:#65748b}
#view-assets #asset-source-table .data-row button{min-height:30px;padding:5px 9px;font-size:10px}

:root[data-theme="dark"] #view-assets #asset-cards .metric>strong,
:root[data-theme="dark"] #view-assets #asset-source-table .data-row b{color:var(--text)}
:root[data-theme="dark"] #view-assets .strategy-panel>.strategy-select select,
:root[data-theme="dark"] #view-assets .inline-search input{background:var(--raised)}

@media(max-width:1180px){
  #view-assets .strategy-grid{grid-template-columns:1fr}
  #view-assets .strategy-panel>.parameter-cluster{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  #view-assets #asset-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  #view-assets .strategy-grid{grid-template-columns:1fr}
  #view-assets .strategy-panel>.parameter-cluster{grid-template-columns:repeat(3,minmax(0,1fr))}
  #view-assets #asset-source-table .data-row{grid-template-columns:minmax(0,1fr) auto}
  #view-assets #asset-source-table .data-row b{grid-column:1;grid-row:1}
  #view-assets #asset-source-table .data-row button{grid-column:2;grid-row:1}
  #view-assets #asset-source-table .data-row small{grid-column:1/-1;grid-row:2}
}
@media(max-width:620px){
  #view-assets .strategy-panel>.parameter-cluster{grid-template-columns:1fr}
  #view-assets .strategy-advanced-body{grid-template-columns:1fr}
  #view-assets .strategy-advanced-body .toggle-row{grid-column:1;grid-row:auto;justify-content:flex-start}
  #view-assets .asset-source-panel>header{align-items:stretch;flex-direction:column}
  #view-assets .inline-search input{width:100%}
}

/* v70 service operations: compact entry map, clear gates and progressive delivery. */
#view-service{--service-border:#dfe6f1;--service-soft:#f7f9fc;--service-muted:#6f7e94}
#view-service>.page-head{margin-bottom:13px}
#view-service>.page-head .primary{min-width:104px;box-shadow:0 6px 14px rgba(49,93,244,.14)}
#view-service #service-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 12px;border:1px solid var(--service-border);border-radius:9px;background:var(--surface);box-shadow:0 1px 2px rgba(28,45,76,.03);overflow:hidden}
#view-service #service-cards .metric{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  column-gap:10px;
  min-height:82px;
  padding:12px 14px;
  border:0;
  border-right:1px solid var(--service-border);
  border-radius:0;
  box-shadow:none;
}
#view-service #service-cards .metric:last-child{border-right:0}
#view-service #service-cards .metric-icon{
  position:static;
  left:auto;
  top:auto;
  grid-column:1;
  grid-row:1/4;
  align-self:start;
  width:32px;
  height:32px;
  border:1px solid #dce6fb;
  border-radius:8px;
  background:#f0f5ff;
  color:#3766f5;
}
#view-service #service-cards .metric>span,
#view-service #service-cards .metric>strong,
#view-service #service-cards .metric>small{grid-column:2;min-width:0}
#view-service #service-cards .metric>span{grid-row:1;color:var(--service-muted);font-size:11px;line-height:17px}
#view-service #service-cards .metric>strong{grid-row:2;margin:0;overflow-wrap:anywhere;color:#1f2d45;font-size:13px;line-height:20px}
#view-service #service-cards .metric>small{grid-row:3;color:#7f8ca0;font-size:10px;line-height:16px}
#view-service #service-cards:empty{min-height:82px;place-items:center;color:var(--service-muted);font-size:11px}
#view-service #service-cards:empty::after{content:"正在读取服务入口…"}

#view-service .service-overview-grid{gap:12px;margin-bottom:12px}
#view-service .service-overview-grid>.surface{border-radius:9px}
#view-service .service-overview-grid>.surface>header{min-height:58px;margin:0;padding:11px 16px;border-bottom:1px solid #e8edf5}
#view-service .service-overview-grid>.surface>header>div{display:grid;gap:1px}
#view-service .service-overview-grid>.surface>header h2{font-size:14px;line-height:21px}
#view-service .service-overview-grid>.surface>header span{font-size:11px;line-height:17px}
#view-service .panel-count{flex:none;padding:3px 7px;border-radius:99px;background:#f0f3f8;color:#66758c;font-size:10px;font-style:normal;line-height:16px}
#view-service .service-overview-grid .status-item{min-height:48px;padding:8px 16px}
#view-service .service-overview-grid .status-item b{font-size:12px;line-height:19px}
#view-service .service-overview-grid .status-item span{font-size:11px;line-height:18px}
#view-service .service-overview-grid .status-item em{font-size:11px;line-height:18px}
#view-service .service-overview-grid .status-list:empty{display:grid;min-height:240px;place-items:center;color:var(--service-muted);font-size:10px}
#view-service .service-overview-grid .status-list:empty::after{content:"正在读取状态…"}

#view-service .delivery-panel{margin-top:0;border-radius:9px}
#view-service .delivery-panel>header{min-height:60px;padding:13px 16px}
#view-service .delivery-summary{margin:12px 16px;padding:11px 13px;background:#f8faff}
#view-service .delivery-grid{gap:10px;margin:0 16px 12px}
#view-service .delivery-endpoints,#view-service .credential-box{padding:12px;border-radius:8px}
#view-service .delivery-endpoints .status-item{min-height:43px;padding:7px 9px}
#view-service .delivery-endpoints .status-item b{font-size:11px;line-height:18px}
#view-service .delivery-endpoints .status-item span,#view-service .delivery-endpoints .status-item em{font-size:10px;line-height:17px}
#view-service .credential-box>header{margin-bottom:6px}
#view-service .credential-list{max-height:270px}
#view-service .credential-row{padding:9px 0}

#view-service .delivery-advanced{margin:0 16px 12px;border:1px solid var(--service-border);border-radius:8px;background:#fbfcfe;overflow:hidden}
#view-service .delivery-advanced>summary{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:14px;padding:9px 13px;cursor:pointer;list-style:none;transition:background .18s ease}
#view-service .delivery-advanced>summary::-webkit-details-marker{display:none}
#view-service .delivery-advanced>summary:hover{background:#f4f7fc}
#view-service .delivery-advanced>summary:focus-visible{outline:2px solid #315df4;outline-offset:-2px}
#view-service .delivery-advanced>summary>span{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;gap:0 10px;min-width:0}
#view-service .delivery-advanced>summary>span>i{grid-row:1/3;display:grid;width:30px;height:30px;place-items:center;align-self:center;border-radius:7px;background:#eef3ff;color:#3766f5;font-size:15px}
#view-service .delivery-advanced>summary b{font-size:12px;line-height:19px}
#view-service .delivery-advanced>summary small{color:var(--service-muted);font-size:10px;line-height:16px}
#view-service .delivery-advanced>summary>i{color:#7c899d;transition:transform .18s ease}
#view-service .delivery-advanced[open]>summary{border-bottom:1px solid var(--service-border);background:#f7f9fd}
#view-service .delivery-advanced[open]>summary>i{transform:rotate(180deg)}
#view-service .delivery-advanced .delivery-config-grid{margin:12px}
#view-service .delivery-advanced .platform-delivery,#view-service .delivery-advanced .delivery-acceptance{margin:0 12px 12px}
#view-service .delivery-actions{margin-top:0;padding:12px 16px}

#view-service .service-activity{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:11px 20px;border-bottom:1px solid var(--service-border);background:#fff}
#view-service .service-activity>span:first-child{display:grid;gap:1px}
#view-service .service-activity b{font-size:12px;line-height:19px}
#view-service .service-activity small{color:var(--service-muted);font-size:10px;line-height:16px}
#view-service .service-activity .runtime-trend{grid-template-columns:220px auto;gap:8px}
#view-service .service-activity .runtime-trend canvas{width:220px;height:38px}
#view-service .service-activity .runtime-trend small{min-width:54px;color:#47795f}
#view-service .tool-observability{padding-top:12px}
#view-service .tool-observation{transition:border-color .18s ease,background .18s ease,transform .18s ease}
#view-service .tool-observation:hover{transform:translateY(-1px)}
#view-service .call-log-row:focus-visible,#view-service .tool-observation:focus-visible{outline:2px solid #315df4;outline-offset:-2px}

:root[data-theme="dark"] #view-service #service-cards .metric>strong{color:var(--text)}
:root[data-theme="dark"] #view-service .service-activity{background:var(--surface)}
:root[data-theme="dark"] #view-service .delivery-advanced{background:var(--raised)}

@media(max-width:900px){
  #view-service #service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  #view-service #service-cards:empty{min-height:164px}
  #view-service #service-cards .metric:nth-child(2){border-right:0}
  #view-service #service-cards .metric:nth-child(-n+2){border-bottom:1px solid var(--service-border)}
  #view-service .service-activity .runtime-trend{grid-template-columns:170px auto}
  #view-service .service-activity .runtime-trend canvas{width:170px}
}
@media(max-width:560px){
  #view-service .service-overview-grid>.surface>header{align-items:center;flex-direction:row}
  #view-service .service-activity{grid-template-columns:1fr;padding:11px 16px}
  #view-service .service-activity .runtime-trend{grid-template-columns:minmax(0,1fr) auto}
  #view-service .service-activity .runtime-trend canvas{width:100%;max-width:230px}
  #view-service .delivery-advanced{margin-inline:16px}
}
@media(prefers-reduced-motion:reduce){
  #view-service .delivery-advanced>summary,#view-service .delivery-advanced>summary>i,#view-service .tool-observation{transition:none}
}

/* v71 permissions workspace: compact scope summary and scannable role boundaries. */
#view-permissions{--permission-border:#dfe6f1;--permission-soft:#f7f9fc;--permission-muted:#6c7b91}
#view-permissions>.page-head{margin-bottom:13px}
#view-permissions>.page-head .primary{min-width:132px;box-shadow:0 6px 14px rgba(49,93,244,.14)}
#view-permissions .permission-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:12px;border:1px solid var(--permission-border);border-radius:9px;background:var(--surface);box-shadow:0 1px 2px rgba(28,45,76,.03);overflow:hidden}
#view-permissions .permission-summary article{min-width:0;min-height:72px;padding:11px 14px;border:0;border-right:1px solid var(--permission-border);border-radius:0;box-shadow:none}
#view-permissions .permission-summary article:last-child{border-right:0}
#view-permissions .permission-summary article>i{flex:0 0 auto;width:34px;height:34px;border:1px solid #dce6fb;border-radius:8px;font-size:17px}
#view-permissions .permission-summary article>span{display:grid;gap:1px;min-width:0}
#view-permissions .permission-summary article small{color:var(--permission-muted);font-size:11px;line-height:17px}
#view-permissions .permission-summary article strong{max-width:none;overflow:hidden;color:#1f2d45;font-size:15px;line-height:21px;text-overflow:ellipsis;white-space:nowrap}

#view-permissions .permission-grid{grid-template-columns:1fr;gap:12px;align-items:start}
#view-permissions .permission-grid>.surface{border:1px solid var(--permission-border);border-radius:9px;box-shadow:0 1px 2px rgba(28,45,76,.03)}
#view-permissions .permission-grid>.surface>header{min-height:60px;margin:0;padding:12px 16px;border-bottom:1px solid #e8edf5}
#view-permissions .permission-grid>.surface>header h2{font-size:15px;line-height:22px}
#view-permissions .permission-grid>.surface>header>div>span{font-size:11px;line-height:17px}
#view-permissions .permission-grid>.surface>header>span{flex:none;padding:3px 7px;border-radius:99px;background:#f0f3f8;color:#66758c;font-size:10px;line-height:16px}
#view-permissions .member-list:empty{display:grid;min-height:70px;place-items:center;color:var(--permission-muted);font-size:11px}
#view-permissions .member-list:empty::after{content:"正在读取账号…"}
#view-permissions .member-row{min-height:66px;padding:11px 16px}
#view-permissions .member-row .avatar{width:38px;height:38px;box-shadow:0 0 0 4px rgba(49,93,244,.08)}
#view-permissions .member-row b{font-size:13px;line-height:20px}
#view-permissions .member-row small{color:var(--permission-muted);font-size:11px;line-height:18px}
#view-permissions .member-meta{gap:6px}
#view-permissions .current-chip,#view-permissions .role-chip{padding:3px 7px;border-radius:5px;font-size:10px;line-height:17px}

#view-permissions .permission-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#view-permissions .permission-list>div{grid-template-columns:38px minmax(0,1fr);gap:12px;min-height:116px;padding:14px 16px;align-items:start;border-right:1px solid var(--permission-border);border-bottom:0}
#view-permissions .permission-list>div:last-child{border-right:0}
#view-permissions .permission-list>div>i{width:36px;height:36px;margin-top:1px;border:1px solid #dce6fb;border-radius:8px;font-size:17px}
#view-permissions .permission-list>div>span{display:grid;gap:2px;min-width:0}
#view-permissions .permission-list b{font-size:12px;line-height:19px}
#view-permissions .permission-list small{color:var(--permission-muted);font-size:11px;line-height:18px}
#view-permissions .capability-tags{display:flex!important;flex-wrap:wrap;gap:5px!important;margin-top:5px}
#view-permissions .capability-tags em{padding:2px 6px;border:1px solid #e1e7f2;border-radius:5px;background:#f8fafd;color:#58677d;font-size:9px;line-height:15px;font-style:normal;white-space:nowrap}
#view-permissions .permission-note{align-items:flex-start;margin:12px 16px 16px;padding:10px 11px;background:#f7f9fc;font-size:inherit}
#view-permissions .permission-note>span{display:grid;gap:1px}
#view-permissions .permission-note b{color:#445269;font-size:11px;line-height:18px}
#view-permissions .permission-note small{color:var(--permission-muted);font-size:10px;line-height:17px}

.create-admin-dialog .password-control{display:grid;grid-template-columns:minmax(0,1fr) 42px;width:100%;margin:0;border:1px solid var(--divider);border-radius:7px;background:var(--surface);overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
.create-admin-dialog .password-control:focus-within{border-color:#86a4ff;box-shadow:0 0 0 3px rgba(49,93,244,.1)}
.create-admin-dialog .password-control input{box-sizing:border-box;width:100%;height:38px;margin:0;padding:8px 10px;border:0!important;border-radius:0;background:transparent;box-shadow:none!important;outline:0}
.create-admin-dialog .password-toggle{position:static;display:grid;width:42px;height:38px;place-items:center;padding:0;border-left:1px solid var(--divider);border-radius:0;background:#f8fafd;color:#64738a;transform:none;transition:background .18s ease,color .18s ease}
.create-admin-dialog .password-toggle:hover{background:#eef3ff;color:#315df4}
.create-admin-dialog .password-toggle:focus-visible{outline:2px solid #315df4;outline-offset:1px}
.create-admin-dialog .password-toggle i{font-size:16px}
.create-admin-dialog #create-admin-submit[aria-busy="true"]{cursor:wait;opacity:.72}

:root[data-theme="dark"] #view-permissions .permission-summary article strong{color:var(--text)}
:root[data-theme="dark"] #view-permissions .capability-tags em{border-color:var(--divider);background:var(--raised);color:var(--muted)}
:root[data-theme="dark"] #view-permissions .permission-note{background:var(--raised)}

@media(max-width:760px){
  #view-permissions .permission-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  #view-permissions .permission-summary article{min-height:68px;padding:10px 12px}
  #view-permissions .permission-list{grid-template-columns:1fr}
  #view-permissions .permission-list>div{min-height:94px;border-right:0;border-bottom:1px solid var(--permission-border)}
  #view-permissions .permission-list>div:last-child{border-bottom:0}
}
@media(max-width:560px){
  #view-permissions .permission-summary{grid-template-columns:1fr}
  #view-permissions .permission-summary article{min-height:58px;border-right:0;border-bottom:1px solid var(--permission-border)}
  #view-permissions .permission-summary article:last-child{border-bottom:0}
  #view-permissions .permission-list>div{grid-template-columns:36px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .create-admin-dialog .password-toggle{transition:none}
}

/* v72 evaluation: bounded list, explicit outcome and accessible pagination. */
#view-evaluation .evaluation-results{overflow:hidden}
#view-evaluation .evaluation-row{grid-template-columns:minmax(260px,1.2fr) minmax(300px,.8fr) auto auto;gap:16px;min-height:64px;padding:10px 16px}
#view-evaluation .evaluation-row b{font-size:12px;line-height:20px}
#view-evaluation .evaluation-row small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#728097;font-size:11px;line-height:18px}
#view-evaluation .evaluation-state{min-width:54px;padding:3px 8px;border-radius:99px;background:#eaf7f0;color:#397a5b;font-size:10px;line-height:18px;font-style:normal;text-align:center;white-space:nowrap}
#view-evaluation .evaluation-row.is-failed .evaluation-state{background:#fff4df;color:#a26712}
#view-evaluation .evaluation-empty{display:grid;min-height:120px;place-items:center;color:var(--muted);font-size:12px}
#view-evaluation .evaluation-pagination{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;min-height:58px;padding:10px 16px;border-top:1px solid var(--divider);background:#fafbfe;color:#66758c;font-size:11px}
#view-evaluation .evaluation-pagination label,#view-evaluation .evaluation-pagination>div{display:flex;gap:8px;align-items:center}
#view-evaluation .evaluation-pagination select{height:32px;padding:4px 27px 4px 9px;border:1px solid var(--divider);border-radius:7px;background:var(--surface);color:var(--text)}
#view-evaluation .evaluation-pagination button{display:inline-flex;gap:4px;align-items:center;justify-content:center;min-height:32px;padding:5px 10px;border:1px solid var(--divider);border-radius:7px;background:var(--surface);color:#40516a;font-size:11px}
#view-evaluation .evaluation-pagination button:disabled{cursor:not-allowed;opacity:.42}
#view-evaluation #evaluation-page-index{min-width:68px;text-align:center;font-variant-numeric:tabular-nums}
:root[data-theme="dark"] #view-evaluation .evaluation-pagination{background:var(--raised)}
@media(max-width:850px){#view-evaluation .evaluation-row{grid-template-columns:minmax(0,1fr) auto}#view-evaluation .evaluation-row small{grid-column:1/-1;grid-row:2}#view-evaluation .evaluation-state{grid-column:2;grid-row:1}#view-evaluation .evaluation-row button{grid-column:2;grid-row:2}#view-evaluation .evaluation-pagination{grid-template-columns:1fr auto}#view-evaluation .evaluation-pagination>div{grid-column:1/-1;justify-content:space-between}}
