/* Yuchenji Admin V3 — selected direction 01 */
:root{
  --sidebar-width:220px;
  --topbar-h:64px;
  --content-max:1760px;
  --v3-bg:#f4f6fb;
  --v3-surface:#ffffff;
  --v3-surface-alt:#f8f9fc;
  --v3-border:#e4e7ef;
  --v3-border-strong:#d5d9e5;
  --v3-text:#171923;
  --v3-muted:#6f7585;
  --v3-primary:#6d4bd1;
  --v3-primary-dark:#5634b9;
  --v3-primary-soft:#f0ecff;
  --v3-green:#16865f;
  --v3-green-soft:#e9f7f1;
  --v3-amber:#a86e13;
  --v3-amber-soft:#fff5df;
  --v3-red:#c34444;
  --v3-red-soft:#fff0f0;
  --v3-shadow:0 10px 30px rgba(30,34,55,.06);
}

html,body{background:var(--v3-bg);color:var(--v3-text)}
body{font-size:14px;letter-spacing:0}
button,input,select,textarea{font:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(109,75,209,.18);outline-offset:1px}

.sidebar{
  width:var(--sidebar-width)!important;
  background:#fff!important;
  border-right:1px solid var(--v3-border)!important;
  box-shadow:none!important;
  padding:0 12px 12px!important;
}
.brand{height:72px!important;padding:0 10px!important;border-bottom:1px solid var(--v3-border)!important;margin-bottom:14px!important}
.yc-brand-mark{width:34px!important;height:34px!important;border:1px solid #eadfbf!important;background:#fffaf0!important;border-radius:10px!important}
.yc-brand-copy b{font-size:14px!important;color:var(--v3-text)!important;letter-spacing:.01em!important}
.yc-brand-copy small{font-size:10.5px!important;color:var(--v3-muted)!important;letter-spacing:.06em!important}
.main-nav{padding:0 0 150px!important;overflow:auto!important;scrollbar-width:thin}
.nav-group-v31{margin-bottom:17px!important}
.nav-group-title-v31{padding:0 10px!important;margin:0 0 6px!important;font-size:10px!important;font-weight:700!important;letter-spacing:.15em!important;color:#9aa0af!important;text-transform:uppercase!important}
.main-nav button{
  width:100%!important;height:38px!important;margin:2px 0!important;padding:0 10px!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;
  color:#4d5361!important;font-size:13px!important;font-weight:500!important;text-align:left!important;
  transition:background .16s,border-color .16s,color .16s,transform .16s!important;
}
.main-nav button:hover{background:#f7f7fb!important;color:var(--v3-primary)!important;transform:translateX(1px)}
.main-nav button.active{background:var(--v3-primary-soft)!important;border-color:#ddd4fb!important;color:var(--v3-primary-dark)!important;font-weight:700!important}
.main-nav .nav-icon{width:24px!important;height:24px!important;border-radius:7px!important;display:grid!important;place-items:center!important;background:#f3f4f8!important;color:#777d8c!important;flex:none!important}
.main-nav button.active .nav-icon{background:#fff!important;color:var(--v3-primary)!important;box-shadow:0 3px 10px rgba(109,75,209,.12)!important}
.main-nav .nav-icon svg{width:15px!important;height:15px!important;stroke:currentColor!important;fill:none!important;stroke-width:1.8!important}
.sidebar-bottom{background:#fff!important;border-top:1px solid var(--v3-border)!important;padding:10px 0 0!important}
.system-chip{border:1px solid var(--v3-border)!important;border-radius:10px!important;background:var(--v3-surface-alt)!important;box-shadow:none!important}

.page-area{margin-left:var(--sidebar-width)!important;background:var(--v3-bg)!important}
.topbar{
  height:var(--topbar-h)!important;padding:0 24px!important;background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--v3-border)!important;box-shadow:0 2px 10px rgba(30,34,55,.025)!important;
}
.top-title small{font-size:9.5px!important;letter-spacing:.16em!important;color:var(--v3-primary)!important;font-weight:700!important}
.top-title h1{font-size:17px!important;line-height:1.25!important;color:var(--v3-text)!important}
.top-actions{gap:8px!important}
.ghost-link,.user-pill,.top-actions>.btn{height:34px!important;border-radius:9px!important;border-color:var(--v3-border)!important;background:#fff!important;box-shadow:none!important}
.user-pill{padding:0 9px!important}
.v3-top-status{height:34px;padding:0 11px;display:flex;align-items:center;gap:7px;border:1px solid var(--v3-border);border-radius:9px;background:#fff;color:var(--v3-muted);font-size:11px}
.v3-top-status i{width:7px;height:7px;border-radius:50%;background:#20a875;box-shadow:0 0 0 4px rgba(32,168,117,.1)}
.v3-top-status b{font-size:11px;color:#303543}.v3-top-status small{padding-left:7px;border-left:1px solid var(--v3-border);font-variant-numeric:tabular-nums}

.view{max-width:var(--content-max)!important;padding:20px 24px 34px!important}
.card,.panel{border-color:var(--v3-border)!important;border-radius:14px!important;box-shadow:0 5px 18px rgba(30,34,55,.04)!important}
.panel-head{min-height:56px!important;padding:12px 16px!important;border-color:var(--v3-border)!important;background:#fff!important}
.panel-head h3{font-size:15px!important}.panel-head small{color:var(--v3-primary)!important;font-size:9.5px!important}
.btn{border-radius:8px!important;font-weight:600!important;box-shadow:none!important}
.btn.primary{background:var(--v3-primary)!important;border-color:var(--v3-primary)!important}
.btn.primary:hover{background:var(--v3-primary-dark)!important;border-color:var(--v3-primary-dark)!important}
.btn.ghost{background:#fff!important;border-color:var(--v3-border-strong)!important;color:#4c5260!important}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:var(--v3-border-strong)!important;border-radius:8px!important;background:#fff!important}
input:not([type=checkbox]):not([type=radio]),select{min-height:36px!important}
table{border-color:var(--v3-border)!important;border-radius:12px!important;box-shadow:none!important}
th{background:#f6f7fa!important;color:#6d7382!important;font-size:11px!important;font-weight:700!important;letter-spacing:.02em!important}
td{border-color:#eceef3!important;color:#343946!important}
tbody tr:hover td{background:#fafaff!important}

/* Consolidated entry hubs */
.v3-hub-page{display:grid;gap:18px}
.v3-page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 28px;border:1px solid var(--v3-border);border-radius:16px;background:#fff;box-shadow:var(--v3-shadow)}
.v3-page-intro small{display:block;margin-bottom:7px;color:var(--v3-primary);font-size:10px;font-weight:800;letter-spacing:.17em}
.v3-page-intro h2{margin:0 0 7px;font-size:25px;line-height:1.2}.v3-page-intro p{margin:0;color:var(--v3-muted);line-height:1.65}
.v3-readonly-chip{padding:7px 10px;border:1px solid #ded7f7;border-radius:8px;background:var(--v3-primary-soft);color:var(--v3-primary-dark);font-size:11px;white-space:nowrap}
.v3-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.v3-hub-card{min-height:154px;padding:20px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:14px;text-align:left;border:1px solid var(--v3-border);border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(30,34,55,.035);transition:border-color .16s,box-shadow .16s,transform .16s}
.v3-hub-card:hover{border-color:#cfc2f4;box-shadow:0 12px 28px rgba(61,43,118,.09);transform:translateY(-2px)}
.v3-hub-index{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--v3-primary-soft);color:var(--v3-primary);font-size:11px;font-weight:800}
.v3-hub-card>span:nth-child(2){min-width:0}.v3-hub-card b{display:block;margin:2px 0 7px;font-size:16px;color:var(--v3-text)}.v3-hub-card small{display:block;color:var(--v3-muted);line-height:1.7}
.v3-hub-card em{grid-column:2;color:var(--v3-primary);font-size:12px;font-weight:700}
.v3-merge-note{padding:17px 20px;border:1px dashed #cec8dd;border-radius:13px;background:#faf9fd}.v3-merge-note b{display:block;margin-bottom:5px}.v3-merge-note p{margin:0;color:var(--v3-muted);line-height:1.7}

/* AI trace center */
.trace-page{display:grid;gap:12px;min-width:0}
.trace-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:2px 2px 3px}
.trace-hero small{display:block;margin-bottom:5px;color:var(--v3-primary);font-size:9.5px;font-weight:800;letter-spacing:.17em}
.trace-hero h2{margin:0 0 4px;font-size:24px;line-height:1.2}.trace-hero p{margin:0;color:var(--v3-muted);font-size:12.5px;line-height:1.6}
.trace-hero-actions{display:flex;align-items:center;gap:9px}.trace-live{height:34px;padding:0 11px;display:flex;align-items:center;gap:7px;border:1px solid var(--v3-border);border-radius:8px;background:#fff;color:var(--v3-muted);font-size:11px}.trace-live i{width:7px;height:7px;border-radius:50%;background:#20a875}
.trace-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.trace-metrics article{padding:11px 14px;border:1px solid var(--v3-border);border-radius:11px;background:#fff;box-shadow:0 3px 12px rgba(30,34,55,.025)}
.trace-metrics small{display:block;color:var(--v3-muted);font-size:10.5px}.trace-metrics b{display:block;margin-top:4px;font-size:20px;font-variant-numeric:tabular-nums}
.trace-filterbar{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(120px,.7fr)) auto;gap:8px;padding:10px;border:1px solid var(--v3-border);border-radius:12px;background:#fff}
.trace-filterbar label{min-width:0}.trace-filterbar label>span{display:none}.trace-filterbar input,.trace-filterbar select{width:100%;height:36px!important;font-size:12px!important}.trace-filterbar .btn{height:36px!important}
.trace-workspace{height:calc(100vh - 307px);min-height:560px;display:grid;grid-template-columns:minmax(350px,.84fr) minmax(540px,1.36fr);border:1px solid var(--v3-border);border-radius:15px;background:#fff;box-shadow:var(--v3-shadow);overflow:hidden}
.trace-list-pane{min-width:0;display:grid;grid-template-rows:auto 1fr auto;border-right:1px solid var(--v3-border);background:#fbfbfd}
.trace-pane-head{height:56px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--v3-border);background:#fff}.trace-pane-head b{display:block;font-size:14px}.trace-pane-head small{display:block;margin-top:2px;color:var(--v3-muted);font-size:10.5px}.trace-pane-head>span{color:#8d93a1;font-size:10px}
.trace-list{overflow:auto;padding:7px;scrollbar-width:thin}
.trace-row{position:relative;width:100%;padding:12px 11px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;border:1px solid transparent;border-radius:11px;background:transparent;text-align:left;color:inherit;transition:background .15s,border-color .15s,box-shadow .15s}
.trace-row:hover{background:#fff;border-color:var(--v3-border)}.trace-row.active{background:#fff;border-color:#cfc3f3;box-shadow:0 5px 16px rgba(71,47,145,.08)}.trace-row.active:before{content:"";position:absolute;left:-8px;top:13px;bottom:13px;width:3px;border-radius:4px;background:var(--v3-primary)}
.trace-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--v3-primary-soft);color:var(--v3-primary-dark);font-size:12px;font-weight:800}
.trace-row-main{min-width:0}.trace-row-top{display:flex;align-items:center;gap:7px}.trace-row-top b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.trace-row-main>strong{display:block;margin:5px 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600}.trace-row-main>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v3-muted);font-size:10.5px}.trace-row>time{color:#999fad;font-size:9.5px;white-space:nowrap}
.trace-status{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:6px;font-size:9.5px;font-weight:700;white-space:nowrap}.trace-status.ok{background:var(--v3-green-soft);color:var(--v3-green)}.trace-status.warn{background:var(--v3-amber-soft);color:var(--v3-amber)}.trace-status.danger{background:var(--v3-red-soft);color:var(--v3-red)}.trace-status.info{background:#edf3ff;color:#3e6fbb}.trace-status.running{background:var(--v3-primary-soft);color:var(--v3-primary)}.trace-status.muted{background:#eef0f4;color:#6f7582}
.trace-pager{height:45px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid var(--v3-border);background:#fff}.trace-pager button{height:27px;padding:0 9px;border:1px solid var(--v3-border);border-radius:7px;background:#fff;color:#505563;font-size:10.5px}.trace-pager button:disabled{opacity:.4}.trace-pager span{font-size:10.5px;color:var(--v3-muted);font-variant-numeric:tabular-nums}
.trace-detail-pane{min-width:0;display:grid;grid-template-rows:auto 1fr auto;background:#fff;overflow:hidden}
.trace-detail-head{min-height:56px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--v3-border)}
.trace-person{display:flex;align-items:center;gap:10px}.trace-person>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f1edff;color:var(--v3-primary);font-weight:800}.trace-person b{display:block;font-size:13px}.trace-person small{display:block;margin-top:2px;color:var(--v3-muted);font-size:10px}
.trace-detail-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.trace-detail-meta>span{padding-left:7px;border-left:1px solid var(--v3-border);color:var(--v3-muted);font-size:10px}
.trace-detail-scroll{overflow:auto;padding:15px 18px 22px;scrollbar-width:thin}.trace-detail-scroll>section{margin-bottom:19px}
.trace-section-title{display:flex;align-items:center;gap:9px;margin-bottom:10px}.trace-section-title>span{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:var(--v3-primary-soft);color:var(--v3-primary);font-size:9px;font-weight:800}.trace-section-title small{display:block;color:#9a88d3;font-size:8px;font-weight:800;letter-spacing:.14em}.trace-section-title h3{margin:1px 0 0;font-size:13px}
.trace-question blockquote{margin:0;padding:12px 14px;border:1px solid var(--v3-border);border-left:3px solid var(--v3-primary);border-radius:0 9px 9px 0;background:#faf9fd;color:#242834;font-size:13px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.trace-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.trace-tags span{padding:4px 7px;border-radius:6px;background:#f2f3f7;color:#6c7280;font-size:9.5px}
.trace-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.trace-route-grid article{padding:10px 11px;border:1px solid var(--v3-border);border-radius:9px;background:#fbfbfd}.trace-route-grid small{display:block;color:var(--v3-muted);font-size:9px}.trace-route-grid b{display:block;margin:4px 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.trace-route-grid em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9297a5;font-size:9.5px}
.trace-timeline{position:relative;display:grid;gap:0}.trace-timeline:before{content:"";position:absolute;left:13px;top:13px;bottom:13px;width:1px;background:#ded8f2}.trace-timeline article{position:relative;display:grid;grid-template-columns:27px 1fr;gap:11px;padding:0 0 12px}.trace-timeline article>i{position:relative;z-index:1;width:27px;height:27px;display:grid;place-items:center;border:1px solid #d9cff5;border-radius:50%;background:#fff;color:var(--v3-primary);font-size:8px;font-weight:800}.trace-timeline article.failed>i{border-color:#efbcbc;color:var(--v3-red)}.trace-timeline b{display:block;font-size:11.5px}.trace-timeline p{margin:2px 0;color:var(--v3-muted);font-size:10.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.trace-timeline time{color:#a3a8b4;font-size:9px}
.trace-attempts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.trace-attempts article{padding:11px;border:1px solid var(--v3-border);border-radius:9px;background:#fbfbfd}.trace-attempts article.failed{border-color:#f0caca;background:#fffafa}.trace-attempts header{display:flex;align-items:center;justify-content:space-between}.trace-attempts header b{font-size:10px;color:var(--v3-primary)}.trace-attempts header em{font-size:9px;color:var(--v3-muted)}.trace-attempts strong{display:block;margin:6px 0 2px;font-size:12px}.trace-attempts>article>small{display:block;color:var(--v3-muted);font-size:9.5px}.trace-attempts dl{margin:9px 0 0;display:grid;grid-template-columns:repeat(4,auto);gap:4px 7px;font-size:9px}.trace-attempts dt{color:#999ead}.trace-attempts dd{margin:0;font-weight:700}.trace-attempts p{margin:8px 0 0;color:var(--v3-red);font-size:9.5px;line-height:1.5}
.trace-answer{padding:13px 14px;border:1px solid #dcd4f4;border-radius:10px;background:#faf9fe;color:#272b36;font-size:12.5px;line-height:1.75;white-space:pre-wrap;word-break:break-word}
.trace-evidence{margin-top:3px;border:1px solid var(--v3-border);border-radius:10px;background:#fff;overflow:hidden}.trace-evidence summary{padding:11px 13px;display:flex;justify-content:space-between;cursor:pointer;background:#fafbfc;font-size:11px;font-weight:700}.trace-evidence summary span{color:var(--v3-muted);font-weight:500}.trace-understanding{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:12px}.trace-understanding div{padding:8px;border-radius:7px;background:#f6f7fa}.trace-understanding small{display:block;color:var(--v3-muted);font-size:8.5px}.trace-understanding b{display:block;margin-top:3px;font-size:10.5px;line-height:1.4}.trace-hit-list{display:grid;gap:7px;padding:0 12px 12px}.trace-hit-list article{padding:9px;border:1px solid var(--v3-border);border-radius:7px}.trace-hit-list b{display:block;font-size:10.5px}.trace-hit-list small{display:block;margin-top:2px;color:var(--v3-muted);font-size:9px}.trace-hit-list p{margin:6px 0 0;max-height:84px;overflow:auto;color:#5f6573;font-size:10px;line-height:1.6;white-space:pre-wrap}
.trace-detail-actions{min-height:48px;padding:8px 14px;display:flex;align-items:center;justify-content:flex-end;gap:7px;border-top:1px solid var(--v3-border);background:#fafbfc}.trace-detail-actions>span{margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v3-muted);font-size:9.5px}.trace-detail-actions code{font-size:9px;color:#6e5aac}
.trace-empty{margin:auto;padding:24px;color:var(--v3-muted);font-size:12px;text-align:center}.trace-empty.danger{color:var(--v3-red)}
.trace-raw-modal{width:min(1040px,92vw)!important;max-height:90vh!important;padding:0!important;display:grid!important;grid-template-rows:auto 1fr auto!important}.trace-raw-modal>header{padding:17px 20px!important;border-bottom:1px solid var(--v3-border)!important}.trace-raw-modal>pre{margin:0!important;padding:18px!important;overflow:auto!important;background:#151620!important;color:#e9eafa!important;font:11px/1.7 Consolas,monospace!important;white-space:pre-wrap!important}.trace-raw-modal>footer{padding:10px 16px!important;border-top:1px solid var(--v3-border)!important}

@media(max-width:1280px){
  :root{--sidebar-width:208px}.trace-workspace{grid-template-columns:minmax(320px,.78fr) minmax(480px,1.22fr)}
  .trace-filterbar{grid-template-columns:minmax(220px,1.2fr) repeat(2,minmax(120px,.7fr)) auto}.trace-filterbar label:nth-of-type(4),.trace-filterbar label:nth-of-type(5){display:none}
  .trace-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .trace-workspace{height:auto;min-height:0;grid-template-columns:1fr}.trace-list-pane{height:430px;border-right:0;border-bottom:1px solid var(--v3-border)}.trace-detail-pane{min-height:640px}
  .trace-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.v3-top-status{display:none}
}
@media(max-width:760px){
  .view{padding:14px!important}.trace-hero,.v3-page-intro{align-items:flex-start;flex-direction:column;padding:18px}.trace-hero-actions{width:100%;justify-content:space-between}.trace-filterbar{grid-template-columns:1fr 1fr}.trace-search{grid-column:1/-1}.trace-filterbar label:nth-of-type(4),.trace-filterbar label:nth-of-type(5){display:block}.trace-filterbar .btn{grid-column:1/-1}
  .trace-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.trace-route-grid,.trace-understanding{grid-template-columns:1fr 1fr}.trace-detail-meta>span{display:none}.trace-detail-actions>span{display:none}.v3-hub-grid{grid-template-columns:1fr}.v3-hub-card{min-height:132px}
}
