diff --git a/src/dashboard/static/index.html b/src/dashboard/static/index.html index ee6eaed..120b9b2 100644 --- a/src/dashboard/static/index.html +++ b/src/dashboard/static/index.html @@ -172,6 +172,51 @@ /* Spinner */ .spinner { display: inline-block; width: 12px; height: 12px; border: 2px solid var(--border); border-top-color: var(--accent); border-radius: 50%; animation: spin 0.8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } + + /* Generic panel */ + .panel { + background: var(--panel); + border: 1px solid var(--border); + border-radius: 10px; + padding: 16px; + margin-top: 20px; + } + + /* Playbook panel - details/summary accordion */ + .playbook-panel details { border: 1px solid var(--border); border-radius: 4px; margin-bottom: 6px; } + .playbook-panel summary { padding: 8px 12px; cursor: pointer; font-weight: 600; background: var(--bg); color: var(--fg); } + .playbook-panel summary:hover { color: var(--accent); } + .playbook-panel pre { margin: 0; padding: 12px; background: var(--bg); overflow-x: auto; + font-size: 11px; color: #a0c4ff; white-space: pre-wrap; } + + /* Scorecard KPI card grid */ + .scorecard-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; } + .kpi-card { background: var(--bg); border: 1px solid var(--border); border-radius: 6px; padding: 12px; text-align: center; } + .kpi-card .kpi-label { font-size: 11px; color: var(--muted); margin-bottom: 4px; } + .kpi-card .kpi-value { font-size: 20px; font-weight: 700; color: var(--fg); } + + /* Scenarios table */ + .scenarios-table { width: 100%; border-collapse: collapse; font-size: 13px; } + .scenarios-table th { background: var(--bg); padding: 8px; text-align: left; border-bottom: 1px solid var(--border); + color: var(--muted); font-size: 11px; font-weight: 600; white-space: nowrap; } + .scenarios-table td { padding: 7px 8px; border-bottom: 1px solid rgba(40,69,95,0.5); } + .scenarios-table tr:hover td { background: rgba(255,255,255,0.02); } + + /* Context table */ + .context-table { width: 100%; border-collapse: collapse; font-size: 12px; } + .context-table th { background: var(--bg); padding: 8px; text-align: left; border-bottom: 1px solid var(--border); + color: var(--muted); font-size: 11px; font-weight: 600; white-space: nowrap; } + .context-table td { padding: 6px 8px; border-bottom: 1px solid rgba(40,69,95,0.5); vertical-align: top; } + .context-value { max-height: 60px; overflow-y: auto; color: #a0c4ff; word-break: break-all; } + + /* Common panel select controls */ + .panel-controls { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; } + .panel-controls select, .panel-controls input[type="number"] { + background: var(--bg); color: var(--fg); border: 1px solid var(--border); + border-radius: 4px; padding: 4px 8px; font-size: 13px; font-family: inherit; + } + .panel-date { color: var(--muted); font-size: 12px; } + .empty-msg { color: var(--muted); text-align: center; padding: 20px 0; font-size: 12px; }
@@ -283,6 +328,72 @@ + + +데이터 없음
데이터 없음
데이터 없음
데이터 없음