:root{--ink:#14161a;--ink-2:#4b515b;--ink-3:#7c828c;--ink-4:#a3a8b0;--paper:#f6f6f3;--surface:#fff;--surface-2:#fafaf8;--line:#e7e5e0;--line-2:#efece6;--rail:#15171c;--rail-2:#1d2027;--rail-ink:#eceef2;--rail-ink-2:#9aa1ad;--accent:#4f46e5;--accent-ink:#3f37c9;--accent-wash:#eef0fe;--ok:#0f8a5f;--ok-wash:#e8f6ef;--warn:#a86408;--warn-wash:#fdf3e3;--bad:#c53a3a;--bad-wash:#fdeced;--r-sm:9px;--r-md:12px;--r-lg:16px;--r-xl:20px;--shadow-1:0 1px 2px rgba(20,22,26,.04);--shadow-2:0 1px 2px rgba(20,22,26,.04),0 12px 32px -20px rgba(20,22,26,.22);--shadow-pop:0 2px 6px rgba(20,22,26,.06),0 24px 60px -24px rgba(20,22,26,.28);--sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--shell-max:1080px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}body,h1,h2,h3,h4{color:var(--ink);margin:0}h1,h2,h3,h4{font-weight:600;letter-spacing:-.015em;line-height:1.3}p{margin:0}a{color:var(--accent);text-decoration:none}button{background:none;border:none;cursor:pointer;padding:0}button,input,select,textarea{color:inherit;font:inherit}:focus-visible{border-radius:4px;outline:2px solid var(--accent);outline-offset:2px}::-moz-selection{background:#dcdcfa}::selection{background:#dcdcfa}.t-display{font-size:26px;font-weight:600;letter-spacing:-.022em;line-height:1.24}.t-title{font-size:18px;font-weight:600;letter-spacing:-.014em}.t-sub{font-size:14px;font-weight:400;letter-spacing:0}.t-meta,.t-sub{color:var(--ink-3)}.t-meta{font-size:12.5px;line-height:1.6}.t-label{color:var(--ink-4);font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.mono{font-family:var(--mono);font-size:13px;letter-spacing:-.01em}.num{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.num-lg{font-size:30px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.03em;line-height:1.15}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-1)}.card+.card{margin-top:18px}.card-hd{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;padding:20px 22px 0}.card-bd{padding:18px 22px 22px}.card-hd+.card-bd{padding-top:14px}@media(max-width:640px){.card{border-radius:var(--r-lg)}.card-hd{padding:16px 16px 0}.card-bd{padding:14px 16px 18px}}.btn{align-items:center;border-radius:var(--r-md);display:inline-flex;font-size:14px;font-weight:500;gap:7px;height:40px;justify-content:center;padding:0 16px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease,box-shadow .15s ease;white-space:nowrap}.btn:active{transform:translateY(.5px)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--accent);box-shadow:0 1px 2px #4f46e53d,0 8px 20px -12px #4f46e5cc;color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-ink)}.btn-ghost{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:#d8d5cd}.btn-quiet{background:transparent;color:var(--ink-2)}.btn-quiet:hover:not(:disabled){background:#f1f0ec;color:var(--ink)}.btn-danger{background:transparent;color:var(--bad)}.btn-danger:hover:not(:disabled){background:var(--bad-wash)}.btn-sm{border-radius:var(--r-sm);font-size:13px;height:32px;padding:0 11px}.btn-lg{border-radius:var(--r-md);font-size:15px;height:46px;padding:0 20px}.btn-block{width:100%}.field,.label{display:block}.label{color:var(--ink-2);font-size:13px;font-weight:500;margin-bottom:6px}.input,.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);font-size:14px;height:42px;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}@media(max-width:640px){.input,.select{font-size:16px;height:46px}}.input::-moz-placeholder{color:var(--ink-4)}.input::placeholder{color:var(--ink-4)}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f46e51f;outline:none}.select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%237c828c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.hint{color:var(--ink-3);font-size:12.5px;line-height:1.6;margin-top:6px}.badge{align-items:center;background:#f1f0ec;border-radius:999px;color:var(--ink-2);display:inline-flex;font-size:12px;font-weight:500;gap:5px;height:24px;letter-spacing:.01em;padding:0 9px;white-space:nowrap}.badge-dot:before{background:currentColor;border-radius:50%;content:"";height:5px;width:5px}.badge-ok{background:var(--ok-wash);color:var(--ok)}.badge-warn{background:var(--warn-wash);color:var(--warn)}.badge-bad{background:var(--bad-wash);color:var(--bad)}.badge-accent{background:var(--accent-wash);color:var(--accent-ink)}.badge-rail{background:#ffffff1a;color:var(--rail-ink)}.meter{background:#eeede9;height:6px;overflow:hidden;position:relative}.meter,.meter>i{border-radius:999px}.meter>i{background:var(--accent);inset:0 auto 0 0;position:absolute;transition:width .5s cubic-bezier(.22,.61,.36,1)}.meter.is-warn>i{background:#d99a2b}.meter.is-bad>i{background:var(--bad)}.meter.is-ok>i{background:var(--ok)}.kv{display:grid;gap:0;grid-template-columns:minmax(0,1fr)}.kv-row{align-items:center;border-bottom:1px solid var(--line-2);display:flex;gap:14px;justify-content:space-between;min-height:44px;min-width:0;padding:11px 0}.kv-row:last-child{border-bottom:none;padding-bottom:0}.kv-key{color:var(--ink-3);flex-shrink:0;font-size:13.5px}.kv-val{color:var(--ink);font-size:14px;min-width:0;overflow-wrap:anywhere;text-align:right}.table-wrap{overflow-x:auto;width:100%}table.table{border-collapse:collapse;font-size:14px;width:100%}.table thead th{border-bottom:1px solid var(--line);color:var(--ink-4);font-size:11.5px;font-weight:500;letter-spacing:.06em;padding:0 12px 10px;text-align:left;text-transform:uppercase;white-space:nowrap}.table tbody td{border-bottom:1px solid var(--line-2);padding:13px 12px;vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .12s ease}.table tbody tr:hover{background:var(--surface-2)}.table td:first-child,.table th:first-child{padding-left:0}.table td:last-child,.table th:last-child{padding-right:0}.empty{color:var(--ink-3);font-size:14px;padding:44px 20px;text-align:center}.loading-bar{animation:sweep 1.1s ease-in-out infinite;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:200% 100%;border-radius:2px;height:2px}@keyframes sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.stack>*+*{margin-top:18px}.row{align-items:center;display:flex;gap:10px}.wrap{flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.muted{color:var(--ink-3)}.truncate{text-overflow:ellipsis}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.sr-only{height:1px;margin:-1px;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);border:0}.page-enter-active,.page-leave-active{transition:opacity .18s ease,transform .18s ease}.page-enter-from{opacity:0;transform:translateY(4px)}.page-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
