.dashboard-page{min-height:100%;padding:4px 4px 28px;color:var(--text)}
.dashboard-page h2{margin:0;color:#263247;font-size:14px;letter-spacing:0}
.dashboard-page__quick,.dashboard-page__trend-panel,.dashboard-page__status-panel,.dashboard-page__notice-panel{border:1px solid #e5eaf2;border-radius:8px;background:#fff;box-shadow:0 7px 20px #0f172a0a}
.dashboard-page__quick{margin-bottom:16px;padding:15px}
.dashboard-page__quick-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:12px}
.dashboard-page__quick-item{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px;border:1px solid #edf0f5;border-radius:7px;background:#fbfcfe;color:#334155;text-align:left;cursor:pointer}
.dashboard-page__quick-item:hover{border-color:#c7d2fe;background:#f8faff;box-shadow:0 5px 14px #4f46e51a}
.dashboard-page__quick-item:focus-visible,.dashboard-page__range-tabs button:focus-visible,.dashboard-page__notice:focus-visible{outline:3px solid #c7d2fe;outline-offset:2px}
.dashboard-page__quick-symbol{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:6px;color:#fff;font-size:17px;font-weight:750}
.dashboard-page__quick-item strong,.dashboard-page__quick-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-page__quick-item strong{font-size:12px}.dashboard-page__quick-item small{margin-top:3px;color:#94a3b8;font-size:10px}
.dashboard-page__stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}
.dashboard-page__stat{position:relative;display:flex;min-height:88px;flex-direction:column;justify-content:center;gap:6px;overflow:hidden;padding:14px 16px;border:1px solid #e5eaf2;border-radius:8px;background:#fff;box-shadow:0 7px 20px #0f172a0a}
.dashboard-page__stat-accent{position:absolute;top:0;left:0;width:4px;height:100%}
.dashboard-page__stat small{color:#64748b;font-size:11px}.dashboard-page__stat strong{color:#172033;font-size:21px;line-height:1;font-variant-numeric:tabular-nums}
.dashboard-page__main-grid{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(250px,.7fr);gap:16px;margin-bottom:16px}
.dashboard-page__trend-panel{min-width:0;padding:15px}
.dashboard-page__trend-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.dashboard-page__trend-heading p{margin:5px 0 0;color:#94a3b8;font-size:11px}
.dashboard-page__range-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.dashboard-page__range-tabs{display:inline-flex;border:1px solid #dbe2ec;border-radius:6px;background:#f8fafc;padding:3px}
.dashboard-page__range-tabs button{height:28px;padding:0 10px;border:0;border-radius:4px;background:transparent;color:#64748b;cursor:pointer;font-size:12px}
.dashboard-page__range-tabs button.is-active{background:#fff;color:#3157c8;box-shadow:0 2px 7px #0f172a12;font-weight:700}
.dashboard-page__date-input{height:34px;padding:0 9px;border:1px solid #dbe2ec;border-radius:6px;background:#fff;color:#334155;font-size:12px}
.dashboard-page__chart{min-height:250px;overflow:hidden;border-top:1px solid #eef2f7}
.dashboard-page__chart.is-loading{opacity:.6}
.dashboard-page__chart svg{display:block;width:100%;height:250px;overflow:visible}
.chart-grid-line{stroke:#e9eef5;stroke-width:1}.chart-trend-line{fill:none;stroke:#3157c8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:#3157c8;stroke-width:3}.chart-axis-label,.chart-max-label{fill:#94a3b8;font-size:11px}.chart-max-label{font-weight:650}
.dashboard-page__empty-chart{display:grid;min-height:250px;place-items:center;color:#94a3b8;font-size:13px}
.dashboard-page__status-panel{display:flex;min-width:0;flex-direction:column;padding:15px}
.dashboard-page__section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dashboard-page__section-heading>span{color:#94a3b8;font-size:11px}
.dashboard-page__status-list{display:grid;gap:2px}.dashboard-page__status-row{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:9px;min-height:34px;border-bottom:1px solid #f1f4f8;color:#64748b;font-size:12px}.dashboard-page__status-dot{width:7px;height:7px;border-radius:50%}.dashboard-page__status-row strong{color:#263247;font-size:13px;font-variant-numeric:tabular-nums}
.dashboard-page__source-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:14px}.dashboard-page__source-summary>span{display:flex;min-width:0;flex-direction:column;gap:5px;padding:10px;border-radius:6px;background:#f8fafc}.dashboard-page__source-summary small{color:#94a3b8;font-size:10px}.dashboard-page__source-summary strong{color:#334155;font-size:17px;font-variant-numeric:tabular-nums}
.dashboard-page__notice-panel{padding:15px}.dashboard-page__notice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dashboard-page__notice{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:16px;padding:11px 12px;border:1px solid #edf0f5;border-radius:6px;background:#fbfcfe;color:inherit;text-align:left;cursor:pointer}.dashboard-page__notice:hover{border-color:#c7d2fe;background:#f8faff}.dashboard-page__notice-main{min-width:0}.dashboard-page__notice strong{display:block;overflow:hidden;color:#334155;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.dashboard-page__notice p{display:-webkit-box;margin:5px 0 0;overflow:hidden;color:#64748b;font-size:12px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dashboard-page__notice time{flex:0 0 auto;color:#94a3b8;font-size:10px;white-space:nowrap}
.dashboard-page__empty{padding:26px 0;color:#94a3b8;text-align:center;font-size:13px}
.dashboard-page__notice-overlay{position:fixed;inset:0;z-index:2200;display:grid;padding:24px;place-items:center;background:#0f172a70}
.dashboard-page__notice-dialog{width:min(560px,100%);max-height:min(680px,calc(100vh - 48px));overflow:auto;border:1px solid #dfe6f1;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0f172a3d}
.dashboard-page__notice-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid #edf1f6}.dashboard-page__notice-dialog header span{color:#64748b;font-size:11px}.dashboard-page__notice-dialog header h2{margin-top:5px;font-size:17px}.dashboard-page__notice-dialog header button{display:grid;width:32px;height:32px;flex:0 0 32px;padding:0;place-items:center;border:0;border-radius:4px;background:#f1f5f9;color:#475569;cursor:pointer;font-size:22px}.dashboard-page__notice-dialog>time{display:block;padding:12px 20px 0;color:#94a3b8;font-size:11px}.dashboard-page__notice-content{padding:16px 20px 22px;color:#475569;font-size:13px;line-height:1.8;white-space:pre-wrap;word-break:break-word}
@media(max-width:1200px){.dashboard-page__quick-grid,.dashboard-page__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-page__main-grid{grid-template-columns:1fr}.dashboard-page__source-summary{margin-top:12px}}
@media(max-width:760px){.dashboard-page{padding:0 0 24px}.dashboard-page__quick-grid,.dashboard-page__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page__trend-heading{align-items:stretch;flex-direction:column}.dashboard-page__range-controls{align-items:stretch;justify-content:flex-start}.dashboard-page__range-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.dashboard-page__range-tabs button{padding:0 7px}.dashboard-page__date-input{width:100%}.dashboard-page__notice-list{grid-template-columns:1fr}.dashboard-page__notice{display:block}.dashboard-page__notice time{display:block;margin-top:8px}.dashboard-page__notice-overlay{padding:12px}}
