:root{--ui-bg: #f6f7f9;--ui-surface: #ffffff;--ui-fg: #10141a;--ui-muted: #667085;--ui-line: #e4e7ec;--ui-accent: #267ef0;--ui-accent-fg: #ffffff;--ui-ok: #12b76a;--ui-warn: #f79009;--ui-danger: #f04438;--ui-radius: 12px;--ui-gap: 12px;--ui-touch: 44px}@media(prefers-color-scheme:dark){:root{--ui-bg: #0e1116;--ui-surface: #161a21;--ui-fg: #e8eaed;--ui-muted: #98a2b3;--ui-line: #2a2f38;--ui-accent: #3d8bfd;--ui-accent-fg: #08111f;--ui-ok: #32d583;--ui-warn: #fdb022;--ui-danger: #f97066}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--ui-bg);color:var(--ui-fg);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.6;-webkit-text-size-adjust:100%}.ui-page{max-width:960px;margin:0 auto;padding:16px 12px calc(32px + env(safe-area-inset-bottom))}.ui-header{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline;justify-content:space-between;padding:4px 4px 16px}.ui-title{font-size:20px;font-weight:600;margin:0}.ui-sub{color:var(--ui-muted);font-size:13px;margin:0}.ui-section{margin:0 0 20px}.ui-section-title{font-size:15px;font-weight:600;margin:0 0 8px 4px}.ui-card{background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:var(--ui-radius);padding:14px}.ui-grid{display:grid;gap:var(--ui-gap);grid-template-columns:1fr}@media(min-width:640px){.ui-page{padding:24px 20px 48px}.ui-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.ui-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.ui-metric-row{display:grid;gap:var(--ui-gap);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.ui-metric{background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:var(--ui-radius);padding:12px 14px}.ui-metric-label{color:var(--ui-muted);font-size:12px;margin:0 0 4px}.ui-metric-value{font-size:22px;font-weight:600;line-height:1.2;margin:0;overflow-wrap:anywhere}.ui-meter{height:4px;border-radius:2px;background:var(--ui-line);margin-top:8px;overflow:hidden}.ui-meter-fill{height:100%;background:var(--ui-accent)}.ui-meter-fill[data-over=true]{background:var(--ui-danger)}.ui-app-name{font-size:15px;font-weight:600;margin:0 0 2px;overflow-wrap:anywhere}.ui-app-slug{color:var(--ui-muted);font-size:12px;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.ui-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:var(--ui-touch);padding:8px 0;border-top:1px solid var(--ui-line)}.ui-row:first-child{border-top:none}.ui-row-main{min-width:0}.ui-row-title{font-size:14px;margin:0;overflow-wrap:anywhere}.ui-row-meta{color:var(--ui-muted);font-size:12px;margin:0;overflow-wrap:anywhere}.ui-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:12px;line-height:20px;white-space:nowrap;background:var(--ui-line);color:var(--ui-fg)}.ui-badge[data-tone=ok]{background:color-mix(in srgb,var(--ui-ok) 16%,transparent);color:var(--ui-ok)}.ui-badge[data-tone=warn]{background:color-mix(in srgb,var(--ui-warn) 18%,transparent);color:var(--ui-warn)}.ui-badge[data-tone=danger]{background:color-mix(in srgb,var(--ui-danger) 16%,transparent);color:var(--ui-danger)}.ui-badge[data-tone=accent]{background:color-mix(in srgb,var(--ui-accent) 16%,transparent);color:var(--ui-accent)}.ui-empty{color:var(--ui-muted);font-size:13px;padding:12px 4px}.ui-error{color:var(--ui-danger);font-size:13px;padding:12px 4px}.ui-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--ui-touch);padding:0 16px;border-radius:8px;border:1px solid var(--ui-line);background:var(--ui-surface);color:var(--ui-fg);font:inherit;text-decoration:none;cursor:pointer}.ui-btn-primary{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-fg)}.ui-skeleton{height:64px;border-radius:var(--ui-radius);background:linear-gradient(90deg,var(--ui-line) 25%,var(--ui-surface) 50%,var(--ui-line) 75%);background-size:200% 100%;animation:ui-shimmer 1.2s linear infinite}@keyframes ui-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
