:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#21342d;background:#f3f0e8}*{box-sizing:border-box}body{margin:0}main{max-width:860px;margin:auto;padding:24px}.card{background:#fff;border:1px solid #ded9cc;border-radius:18px;padding:20px;margin:16px 0;box-shadow:0 8px 30px #33483e10}.login{max-width:420px;margin:12vh auto}h1,h2,h3,p{margin-top:0}label{display:grid;gap:8px}input{font:inherit;padding:13px;border:1px solid #b9b5aa;border-radius:10px}button{font:inherit;border:0;border-radius:10px;padding:11px 16px;background:#2d654e;color:#fff;cursor:pointer}.quiet{background:#e7e1d4;color:#31483e}header{display:flex;align-items:center;justify-content:space-between}nav{display:flex;gap:8px;overflow:auto}nav button{background:#e7e1d4;color:#31483e;white-space:nowrap}nav button.active{background:#2d654e;color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px}.stat{text-align:center}.stat strong{display:block;font-size:28px}.row{padding:14px 0;border-bottom:1px solid #eee8dc}.row:last-child{border:0}.row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge{padding:4px 9px;border-radius:99px;background:#eee8dc;font-size:13px}.completed{background:#dcecdf}.queued,.leased{background:#f5e3aa}.failed{background:#f3c9c0}.muted{color:#6a746f;font-size:14px}.error{color:#9b2c20}.observations{display:grid;gap:8px;margin-top:12px}.observation{background:#f7f5ef;padding:10px;border-radius:10px}.trend-points{display:flex;gap:6px;overflow:auto}.point{min-width:105px;background:#f7f5ef;padding:8px;border-radius:9px}@media(max-width:600px){main{padding:14px}.card{padding:16px}header p{display:none}}
.readonly{margin:14px 0;padding:10px 14px;border-radius:10px;background:#f1e6c8;color:#66572c;font-size:14px}
.trend-intro{color:#68736e;line-height:1.7}.trend-overview{background:linear-gradient(135deg,#fffefa,#f0f6f2)}.overview-head{display:flex;justify-content:space-between;gap:16px}.overview-head span{color:#68736e;font-size:13px}.overview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.overview-stats>div{border:1px solid #ded9cc;border-radius:12px;padding:13px;background:#ffffffb8}.overview-stats b,.overview-stats small{display:block}.overview-stats b{font:600 26px Georgia;margin-bottom:3px}.high b,.chart-legend .high,.trend-status.high{color:#b45547}.low b,.chart-legend .low,.trend-status.low{color:#4875a9}.normal b,.chart-legend .normal,.trend-status.normal{color:#2d654e}.unknown b,.trend-status.unknown{color:#6a746f}.overall-conclusion{border-left:4px solid #2d654e;background:#ffffffb8;border-radius:0 12px 12px 0;padding:14px 16px;margin-bottom:18px}.overall-conclusion p,.system-summary p{line-height:1.7;margin:5px 0}.system-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.system-summary{border:1px solid #ded9cc;border-radius:12px;padding:13px;background:#ffffffb8}.system-summary h3{font-size:15px;margin-bottom:8px}.system-summary p{font-size:13px;color:#53635c}.indicator-meaning{color:#53635c;background:#f5f7f3;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.65}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 16px;color:#6a746f;font-size:12px}.range-key:before{content:"";display:inline-block;width:20px;height:8px;margin-right:5px;background:#dcecdf;border-block:1px dashed #8fa99d}.chart{height:220px;overflow-x:auto}.chart.single{height:145px}.chart svg{width:100%;height:100%;min-width:620px}.chart .range-band{fill:#2f6e5a1a}.chart .range-bar,.chart .limit-line{fill:none;stroke:#91aa9f;stroke-width:1.5;stroke-dasharray:5 4}.chart .line{fill:none;stroke:#2d654e;stroke-width:2.5}.chart .dot{fill:#fff;stroke-width:3}.chart .dot.normal{stroke:#2d654e}.chart .dot.high{stroke:#b45547;fill:#fff4f1}.chart .dot.low{stroke:#4875a9;fill:#f1f6fc}.chart .dot.unknown{stroke:#8a948f}.chart text{font-size:10px;fill:#57635e}.table-wrap{overflow:auto}table{width:100%;min-width:760px;border-collapse:collapse}th,td{text-align:left;padding:9px;border-bottom:1px solid #eee8dc;font-size:13px}.trend-status{display:inline-block;border-radius:99px;padding:3px 8px;background:#f1f2ee;white-space:nowrap}
@media(max-width:600px){.overview-stats{grid-template-columns:1fr 1fr}.system-grid{grid-template-columns:1fr}.overview-head{display:block}.chart{height:190px}}
