:root{color-scheme:light;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:#f5f7fb;color:#122033;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:0;background:#f5f7fb;color:#122033}a{color:inherit;text-decoration:none}button,input,select{font:inherit}#root{min-height:100vh}.jt-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.jt-sidebar{display:flex;flex-direction:column;gap:28px;padding:28px 22px;background:#0f1728;color:#f8fbff}.jt-brand h1,.jt-topbar__title,.jt-section__header h3,.jt-panel h4,.jt-brand p,.jt-topbar p,.jt-section__header p,.jt-panel p,.jt-list__item{margin:0}.jt-eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7f93b4}.jt-muted{color:#a8b7d1}.jt-nav{display:flex;flex-direction:column;gap:10px}.jt-nav__link{border-radius:14px;padding:12px 14px;color:#d6e1f3;background:#ffffff0a}.jt-nav__link--active{background:#f8fbff;color:#0f1728;font-weight:600}.jt-main{display:flex;min-width:0;flex-direction:column}.jt-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 28px 18px;border-bottom:1px solid #dde5f0;background:#ffffffdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.jt-topbar__title{font-size:22px;font-weight:700}.jt-topbar__meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.jt-chip,.jt-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 12px;font-size:12px;background:#e8eef8;color:#3e5574}.jt-badge--active{background:#dff4e5;color:#1e7c41}.jt-content{min-width:0;padding:24px 28px 32px}.jt-page{display:flex;flex-direction:column;gap:20px}.jt-section{display:flex;flex-direction:column;gap:14px}.jt-section__header{display:flex;flex-direction:column;gap:6px}.jt-section__header h3{font-size:20px}.jt-section__header p{color:#5a6c87}.jt-grid{display:grid;gap:16px}.jt-grid--metrics,.jt-grid--wide-metrics{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.jt-grid--modules,.jt-grid--settings{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.jt-panel,.jt-metric,.jt-loading,.jt-list__item{border:1px solid #dde5f0;border-radius:18px;background:#fff;box-shadow:0 18px 40px #0f17280d}.jt-panel,.jt-metric{padding:18px 18px 16px;min-width:0}.jt-panel{display:flex;flex-direction:column;gap:10px}.jt-panel--empty{align-items:flex-start}.jt-panel__row{display:flex;align-items:center;justify-content:space-between;gap:16px}.jt-metric{display:flex;min-height:160px;flex-direction:column;justify-content:space-between}.jt-metric--positive{border-color:#cfe8d8;background:linear-gradient(180deg,#fff,#f4fbf6)}.jt-metric--warning{border-color:#f1dcb4;background:linear-gradient(180deg,#fff,#fff8ee)}.jt-metric__label{font-size:13px;color:#5a6c87}.jt-metric__value,.jt-setting__value{display:block;width:100%;font-size:clamp(20px,2vw,28px);font-weight:700;color:#122033;line-height:1.2;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.jt-setting__value{font-size:clamp(16px,1.4vw,22px)}.jt-metric__hint{color:#6b7b93;overflow-wrap:anywhere}.jt-list{display:flex;flex-direction:column;gap:12px}.jt-list__item{padding:14px 16px;color:#495b76}.jt-list__item strong,.jt-list__item span{display:block}.jt-list__item strong{margin-bottom:4px;color:#122033}.jt-table{display:flex;flex-direction:column;gap:10px}.jt-table__header,.jt-table__row{display:grid;grid-template-columns:minmax(0,1.5fr) 100px 120px;gap:12px;align-items:center}.jt-table__header{padding:0 2px;color:#6b7b93;font-size:12px}.jt-table__row{border-radius:14px;padding:12px 14px;background:#f7f9fc;color:#304560;min-width:0}.jt-table__row strong,.jt-table__row small{display:block;overflow-wrap:anywhere}.jt-table__row small{color:#73839a}.jt-centered{display:grid;place-items:center;min-height:60vh}.jt-loading{padding:18px 22px;color:#465a79}@media(max-width:1180px){.jt-shell{grid-template-columns:240px minmax(0,1fr)}.jt-content,.jt-topbar{padding-left:20px;padding-right:20px}}@media(max-width:960px){.jt-shell{grid-template-columns:minmax(0,1fr)}.jt-sidebar{gap:18px;padding:18px 20px}.jt-topbar{flex-direction:column;align-items:stretch}.jt-topbar__meta{justify-content:flex-start}}
