/* 指标命名、单位、折线图与缺失值显示遵循 omni-dashboard。 */
body.live-app { font-family:Arial,"Microsoft YaHei",sans-serif; --chart-raw:#005b94; --chart-usable:#009cde; }
body.console.live-app { --bg:#fff; --ink:#1a1a1a; --muted:#6d6d6d; --line:#e5e5e5; }
body.embedded-landing #app { min-height:0; }
html:has(body.embedded-landing),body.embedded-landing { overflow-y:hidden; }
body.embedded-landing.public-landing .landing-header { display:none; }
body.embedded-landing.public-landing.live-app .landing-main { max-width:none; padding:0; }
body.embedded-landing.console.live-app { --ink:#0d2235; --muted:#536674; --line:#d2dde2; --accent:#ff5a01; --panel:#fcfdfd; --bg:#fcfdfd; }
body.embedded-landing.console .landing-login { background:#ff5a01; border-color:#ff5a01; }
body.embedded-landing.live-app .panel.live-trend-panel { width:76%; max-width:1000px; margin-inline:auto; border:0; border-radius:0; box-shadow:none; background:transparent; padding:0 0 24px; }
body.embedded-landing .embedded-heading { flex-direction:row; align-items:center; justify-content:flex-start; gap:24px; padding-bottom:0; margin-bottom:36px; }
body.embedded-landing.live-app .embedded-heading h1 { font-weight:400!important; letter-spacing:0!important; }
.embedded-actions { display:flex; align-items:center; gap:10px; }
.embedded-actions .dashboard-more { display:inline-flex; align-items:center; gap:8px; background:transparent; border:0; padding:4px 0; border-radius:0; color:var(--ink); font-size:13px; transition:color .18s ease; }
.embedded-actions .dashboard-more:hover { color:var(--accent); }
body.embedded-landing.live-app .live-statistics { width:76%; max-width:1000px; margin-inline:auto; grid-template-columns:minmax(0,420px) 176px; gap:64px; justify-content:start; align-items:center; border:0; padding:0 0 24px; margin-bottom:16px; background:transparent; }
body.embedded-landing .live-summary-groups { display:grid; grid-template-columns:1fr; gap:26px; }
body.embedded-landing .live-metric h2,body.embedded-landing .live-quality h2 { font-size:13px; font-weight:400; margin:0 0 10px; }
body.embedded-landing .live-value { gap:10px; }
body.embedded-landing .live-value strong,body.embedded-landing .live-quality-ring strong { font:500 clamp(24px,2.4vw,34px)/1.15 Arial,"Microsoft YaHei",sans-serif; letter-spacing:-.03em; }
body.embedded-landing .live-value span { font-size:12px; }
body.embedded-landing .live-paired-numbers { display:inline-flex; align-items:baseline; gap:8px; white-space:nowrap; }
body.embedded-landing .live-paired-value .live-paired-numbers { color:var(--ink); }
body.embedded-landing .live-paired-numbers .live-paired-divider { font-size:24px; font-weight:300; }
body.embedded-landing .live-quality { border:0; padding:0; justify-self:center; }
body.embedded-landing .live-quality h2 { margin-bottom:16px; }
body.embedded-landing .live-quality-ring { width:176px; height:176px; }
body.embedded-landing .live-quality-text { justify-self:start; align-items:flex-start; }
body.embedded-landing .live-quality-text h2 { margin-bottom:10px; }
body.embedded-landing .live-quality-text strong { font:500 clamp(24px,2.4vw,34px)/1.15 Arial,"Microsoft YaHei",sans-serif; letter-spacing:-.03em; color:var(--ink); }
body.embedded-landing .live-quality-text strong.is-good { color:#07864a; font-weight:600; }
body.embedded-landing .live-chart { max-height:none; }
body.embedded-landing.live-app .live-trend-panel .panel-heading { width:96.330275%; margin-bottom:16px; }
body.embedded-landing.live-app .live-trend-panel .panel-heading h2 { font-size:13px; font-weight:400; color:var(--muted); }
body.embedded-landing .live-trend-panel .segmented { gap:16px; background:transparent; border:0; padding:0; box-shadow:none; }
body.embedded-landing .live-trend-panel .segmented button { padding:5px 0; border:0; border-radius:0; background:transparent; box-shadow:none; font-size:12px; }
body.embedded-landing .live-trend-panel .segmented button[aria-pressed=true] { background:transparent; color:var(--accent); box-shadow:inset 0 -1px var(--accent); }
body.embedded-landing .live-chart-legend { gap:28px; font-size:12px; margin-top:0; }
body.embedded-landing .live-chart-note { margin-top:12px; font-size:11px; }
@media(min-width:1001px) {
 body.embedded-landing.public-landing.live-app .landing-main { display:grid; grid-template-columns:max-content minmax(0,1fr); }
 body.embedded-landing .embedded-heading { display:contents; }
 body.embedded-landing .embedded-heading h1 { grid-column:1; grid-row:1; white-space:nowrap; margin-bottom:calc(36px + var(--overview-extra-gap,0px) / 2); }
 body.embedded-landing .embedded-actions { grid-column:2; grid-row:1; justify-self:end; align-self:center; margin:0; transform:translateY(50%); }
 body.embedded-landing.live-app .live-statistics { grid-column:2; grid-row:2; width:100%; max-width:none; margin-inline:0; margin-bottom:calc(16px + var(--overview-extra-gap,0px) / 2); grid-template-columns:minmax(0,860px) 120px; gap:40px; }
 body.embedded-landing .live-summary-groups { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
 body.embedded-landing.live-app .panel.live-trend-panel { grid-column:2; grid-row:3; width:100%; max-width:none; margin-inline:0; }
 body.embedded-landing .live-message,body.embedded-landing .live-empty { grid-column:2; }
}
@media(max-width:1000px) {
 body.embedded-landing.live-app .live-statistics { width:100%; grid-template-columns:minmax(0,1fr) 148px; gap:28px; }
 body.embedded-landing .live-summary-groups { grid-template-columns:1fr; gap:24px; }
 body.embedded-landing.live-app .panel.live-trend-panel { width:90%; }
 body.embedded-landing .live-quality-ring { width:148px; height:148px; }
}
@media(max-width:700px) {
 body.embedded-landing.live-app .live-statistics { grid-template-columns:1fr; gap:28px; margin-bottom:8px; padding-bottom:24px; }
 body.embedded-landing.live-app .panel.live-trend-panel { width:100%; }
 body.embedded-landing .live-summary-groups { gap:20px; }
 body.embedded-landing .live-value { display:block; }
 body.embedded-landing .live-value strong { font-size:26px; }
 body.embedded-landing .live-value>span { display:block; margin-top:6px; }
 body.embedded-landing .live-value .live-paired-numbers { display:inline-flex; }
 body.embedded-landing .live-quality { width:100%; flex-direction:row; justify-content:space-between; align-items:center; }
 body.embedded-landing .live-quality h2 { margin:0; }
 body.embedded-landing .live-quality-ring { width:112px; height:112px; }
 body.embedded-landing .live-quality-ring strong { font-size:26px; }
 body.embedded-landing .live-chart-scroll { overflow-x:auto; }
 body.embedded-landing .live-chart-wrap { min-width:640px; }
}
body.public-landing.live-app .landing-main { max-width:1440px; padding:24px 32px 40px; margin:0 auto; justify-content:flex-start; }
.live-account { font-size:11px; color:var(--muted); max-width:230px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.console.live-app .workspace-masthead .logout-button { color:#6d6d6d; }
.live-main { min-width:0; }
.live-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.live-heading h1 { font-size:21px!important; font-weight:600!important; letter-spacing:.02em!important; }
.freshness { color:var(--muted); font-size:11px; }
.freshness.stale { color:#eb6a0a; }
.live-controls { display:flex; justify-content:flex-end; align-items:end; gap:22px; border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:24px; }
.live-controls label { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:11px; }
.live-controls select { font-size:12px; min-height:34px; padding:6px 10px; }
.live-controls [data-change=date] { min-width:132px; }
.live-controls .small { min-height:34px; padding:6px 11px; font-size:11px; }
.live-message { border-left:3px solid #eb6a0a; background:#eb6a0a09; color:var(--ink); padding:12px 15px; font-size:12px; margin-bottom:22px; }
.live-empty { padding:46px 20px; color:var(--muted); text-align:center; display:flex; flex-direction:column; align-items:center; gap:20px; border:1px solid var(--line); min-height:160px; }
.live-empty.compact { min-height:100px; border:0; padding:30px 15px; }
.live-statistics { display:grid; grid-template-columns:minmax(0,1fr) 220px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:30px; background:var(--panel); }
.live-duration-grid { min-width:0; }
.live-duration-row { display:grid; grid-template-columns:130px repeat(2,minmax(0,1fr)); gap:26px; padding:24px 26px; align-items:center; min-height:135px; }
.live-duration-row+.live-duration-row { border-top:1px solid var(--line); }
.live-date { font-size:11px; color:var(--muted); }
.live-metric { min-width:0; }
.live-metric h2,.live-quality h2 { font-size:11px; color:var(--muted); font-weight:500; margin-bottom:13px; }
.live-value { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; }
.live-value strong { font:550 36px/1.15 Arial,"Microsoft YaHei",sans-serif; font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
.live-value span { font-size:11px; color:var(--muted); white-space:nowrap; }
.live-quality { border-left:1px solid var(--line); padding:24px; display:flex; flex-direction:column; justify-content:center; align-items:center; }
.live-quality-ring { width:152px; height:152px; position:relative; display:grid; place-items:center; }
.live-quality-ring svg { width:100%; height:100%; position:absolute; fill:none; }
.quality-track { stroke:var(--line); stroke-width:13; }
.quality-value { stroke:#005b94; stroke-width:13; transform:rotate(-90deg); transform-origin:80px 80px; }
.live-quality-ring strong { font:600 28px Arial,sans-serif; color:var(--ink); }
body.live-app .panel.live-trend-panel,body.live-app .panel.live-detail-panel { padding:22px 24px; margin-bottom:26px; background:var(--panel); }
body.live-app .live-trend-panel .panel-heading,body.live-app .live-detail-panel .panel-heading { background:transparent; border:0; padding:0; margin:0 0 18px; }
body.live-app .panel-heading h2 { font-size:14px; letter-spacing:0; }
.live-chart-scroll { overflow-x:auto; padding-bottom:8px; }
.live-chart-wrap { position:relative; }
.live-chart { width:100%; height:auto; display:block; max-height:360px; }
.live-chart text { font:11px Arial,sans-serif; fill:var(--muted); }
.live-chart text.live-point-label { font-size:9px; fill:var(--chart-raw); }
.live-chart text.live-point-label.usable { fill:var(--chart-usable); }
.live-chart-legend { display:flex; justify-content:center; gap:22px; color:var(--muted); font-size:11px; margin-top:9px; }
.live-chart-legend i { display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:6px; }
.live-chart-note { font-size:10px; color:var(--muted); margin-top:16px; }
.live-chart [data-chart-info]:focus { outline:none; }
.live-chart-annotation { display:none; pointer-events:none; }
.live-chart-annotation.is-active { display:initial; }
.live-chart-guide { stroke:var(--muted); stroke-width:1; stroke-dasharray:4 4; vector-effect:non-scaling-stroke; }
.live-chart-marker { fill:var(--panel); stroke-width:2; vector-effect:non-scaling-stroke; }
.live-tooltip { position:absolute; top:0; left:50%; transform:translateX(-50%); padding:0; border:0; background:transparent; color:var(--ink); font-size:11px; box-shadow:none; max-width:95%; pointer-events:none; }
.live-tooltip[hidden] { display:none; }
.live-paradigm-bars { display:grid; gap:18px; padding-top:14px; }
.live-paradigm-bars>div { display:grid; grid-template-columns:minmax(90px,1fr) 2fr minmax(80px,auto); align-items:center; gap:18px; font-size:12px; }
.live-paradigm-bars meter { width:100%; accent-color:#005b94; }
.live-detail-panel table td { white-space:normal; }
.observatory.live-app .live-statistics { border:1px solid var(--line); background:linear-gradient(130deg,#142b40,#101b29); }
.observatory.live-app .live-value strong { font-family:"Bahnschrift",Arial,sans-serif; color:#5ad5ff; }
.observatory.live-app .quality-value { stroke:#5ad5ff; }
body.observatory.live-app { color-scheme:dark; --chart-raw:var(--accent); --chart-usable:var(--cyan); }
body.observatory.live-app .panel.live-trend-panel { background:transparent; color:var(--ink); }
body.observatory.live-app .live-trend-panel .segmented { border:1px solid var(--line); }
body.observatory.live-app .live-trend-panel .segmented button[aria-pressed=true] { background:var(--soft); }
.studio.live-app .live-duration-row { padding-left:22px; }
.studio.live-app .live-value strong { font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:40px; }
.studio.live-app .live-statistics { border-color:#a8b6a0; }
@media(max-width:1000px) {
 .live-account { display:none; }
 .live-duration-row { grid-template-columns:100px repeat(2,minmax(0,1fr)); gap:16px; padding:22px 18px; }
 .live-statistics { grid-template-columns:minmax(0,1fr) 190px; }
 .live-value strong { font-size:30px; }
 .studio.live-app .live-value strong { font-size:34px; }
}
@media(max-width:700px) {
 body.public-landing.live-app .landing-main { padding:24px 18px 32px; }
 .live-heading { align-items:flex-start; flex-direction:column; gap:9px; }
 .live-controls { justify-content:flex-start; flex-wrap:wrap; gap:14px; }
 .live-controls label { gap:6px; }
 .live-statistics { grid-template-columns:1fr; }
 .live-duration-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:20px 18px; }
 .live-date { grid-column:1/-1; }
 .live-quality { border-left:0; border-top:1px solid var(--line); flex-direction:row; gap:32px; padding:20px; }
 .live-quality h2 { margin:0; }
 .live-quality-ring { width:112px; height:112px; }
 .live-quality-ring strong { font-size:23px; }
 body.live-app .panel.live-trend-panel,body.live-app .panel.live-detail-panel { padding:20px 16px; }
 .live-paradigm-bars>div { grid-template-columns:minmax(75px,1fr) 1fr minmax(65px,auto); gap:10px; font-size:11px; }
 .live-value strong { font-size:28px; }
 .studio.live-app .live-value strong { font-size:32px; }
}
