:root{color-scheme:light;font-family:IBM Plex Sans,Segoe UI,sans-serif;background:#f4f7f4;color:#1a2533;--panel-bg: #ffffff;--panel-border: #d7dfd8;--text-soft: #4b5b6f;--ok: #1f8f5f;--warn: #c47a0d;--danger: #bc2f2f;--neutral: #5c6572}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 0% 0%,#d8ecf7 0%,transparent 35%),radial-gradient(circle at 100% 0%,#d7f4e2 0%,transparent 28%),linear-gradient(180deg,#f4f7f4,#edf2f0)}.app-shell{max-width:1180px;margin:0 auto;padding:1.5rem 1rem 3rem}.app-header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start;padding:1rem;border-radius:.85rem;border:1px solid var(--panel-border);background:#ffffffbf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.app-header h1{margin:0;font-size:1.9rem}.app-header p{margin:.25rem 0;color:var(--text-soft)}.app-controls{display:grid;justify-items:end;gap:.25rem}.refresh-button{border:1px solid #2b5b4a;background:#2b5b4a;color:#f4faf7;border-radius:.55rem;font-weight:600;padding:.5rem .9rem;cursor:pointer}.refresh-button:disabled{opacity:.55;cursor:default}.last-refresh{font-size:.88rem;color:#2f4550}.api-base-url{font-size:.82rem;color:var(--neutral)}.status-message{margin-top:1rem;padding:.75rem 1rem;border-radius:.5rem;border:1px solid #d2dce7;background:#e8eef6}.status-message.error{border:1px solid #f0c3c3;background:#feeaea;color:#8f2525}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.status-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:.75rem;padding:1rem;box-shadow:0 8px 24px #26483417}.status-card-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.status-card h2{margin:0;font-size:1.05rem}.status-pill{display:inline-block;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.18rem .6rem;color:#fff}.status-pill.success{background:var(--ok)}.status-pill.warning{background:var(--warn)}.status-pill.danger{background:var(--danger)}.status-pill.neutral{background:var(--neutral)}.status-card p{margin:.4rem 0;color:#2f3f52}.runtime-history-section{margin-top:1rem;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:.75rem;padding:1rem;box-shadow:0 8px 24px #26483417}.runtime-history-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.runtime-history-header h2{margin:0;font-size:1.1rem}.runtime-history-header p{margin:.2rem 0 0;color:var(--text-soft)}.range-selector{display:flex;gap:.35rem}.range-button{border:1px solid #9db2c5;background:#f8fbff;color:#24384f;border-radius:.45rem;padding:.3rem .65rem;font-weight:600;cursor:pointer}.range-button.active{border-color:#2b5b4a;background:#2b5b4a;color:#f4faf7}.range-button:disabled{opacity:.6;cursor:default}.runtime-history-empty{margin-top:1rem;padding:.9rem;border:1px dashed #b4c4d4;border-radius:.6rem;background:#f5f9fd}.runtime-history-empty p{margin:.2rem 0}.runtime-metrics-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.runtime-metric{border:1px solid #d9e2eb;border-radius:.55rem;padding:.55rem .65rem;background:#f9fbfc}.runtime-metric span{display:block;color:#4f6072;font-size:.8rem}.runtime-metric strong{display:block;margin-top:.15rem;font-size:.92rem;color:#1f2f44;word-break:break-word}.grid-flow-value{font-weight:700}.grid-flow-import{color:var(--danger)}.grid-flow-export{color:var(--ok)}.grid-flow-neutral{color:var(--neutral)}.runtime-mini-table{margin-top:.9rem;border:1px solid #d9e2eb;border-radius:.6rem;overflow:hidden}.runtime-chart-card{margin-top:.9rem;border:1px solid #d9e2eb;border-radius:.6rem;background:#f9fbfc;padding:.5rem}.runtime-chart{width:100%;height:auto;display:block}.runtime-chart-bg{fill:#f9fbfc}.runtime-chart-axis{stroke:#b7c7d7;stroke-width:1}.runtime-chart-legend{margin-top:.45rem;display:flex;flex-wrap:wrap;gap:.5rem .8rem}.runtime-chart-legend-item{display:inline-flex;align-items:center;gap:.3rem;color:#2d4158;font-size:.8rem;font-weight:600}.runtime-chart-legend-swatch{width:10px;height:10px;border-radius:999px;display:inline-block}.runtime-raw-toggle-wrap{margin-top:.75rem}.runtime-mini-head,.runtime-mini-row{display:grid;grid-template-columns:1.5fr .8fr .7fr .8fr 1fr 1fr 1.2fr;gap:.4rem;padding:.5rem .6rem;align-items:center}.runtime-mini-head{background:#e8eef5;font-weight:700;font-size:.78rem;color:#2d4158}.runtime-mini-row{font-size:.8rem;border-top:1px solid #edf2f6}.mini-bar-track{display:inline-block;margin-left:.35rem;width:56px;height:6px;border-radius:99px;background:#dbe6f0;vertical-align:middle;overflow:hidden}.mini-bar-fill{display:block;height:100%;background:#2f7f5f}.runtime-table-pagination{margin-top:.7rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.pagination-button{border:1px solid #9db2c5;background:#f8fbff;color:#24384f;border-radius:.45rem;padding:.3rem .65rem;font-weight:600;cursor:pointer}.pagination-button:disabled{opacity:.6;cursor:default}.pagination-meta{color:#2d4158;font-size:.82rem;font-weight:600}.readonly-badge{border:1px solid #9db2c5;background:#f8fbff;color:#24384f;border-radius:999px;padding:.3rem .6rem;font-size:.78rem;font-weight:700}.operator-card-grid{margin-top:.9rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.operator-card{border:1px solid #d9e2eb;border-radius:.6rem;background:#f9fbfc;padding:.7rem}.operator-card h3{margin:0 0 .45rem;font-size:.95rem}.operator-card p{margin:.25rem 0;color:#2f3f52;font-size:.86rem}.operator-card ul{margin:.4rem 0 0;padding-left:1.1rem}.operator-card li{margin:.25rem 0;font-size:.84rem;color:#2f3f52}.operator-empty{color:#4f6072;font-style:italic}@media (max-width: 860px){.card-grid{grid-template-columns:1fr}.app-controls{width:100%;justify-items:start}.runtime-metrics-grid,.runtime-mini-head,.runtime-mini-row,.operator-card-grid{grid-template-columns:1fr}}
