Files
jbergner 440423c5b6
All checks were successful
release-tag / release-image (push) Successful in 2m43s
RC-3
2026-08-09 11:29:13 +02:00

46 lines
14 KiB
CSS

:root{
color-scheme:dark;
--bg:#071019;
--panel:#0d1824;
--panel-2:#101f2d;
--border:#24384a;
--text:#e8f3fb;
--muted:#8ca4b7;
--cyan:#54dff5;
--blue:#5e8cff;
--green:#62d39a;
--yellow:#f2c86d;
--red:#ff7d84;
--violet:#b28cff;
--shadow:0 18px 50px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% -10%,rgba(55,164,208,.16),transparent 34%),radial-gradient(circle at 90% 5%,rgba(112,78,196,.13),transparent 30%),var(--bg);color:var(--text);font:14px/1.55 Inter,Segoe UI,Arial,sans-serif}
button,input,select{font:inherit}
a{color:inherit;text-decoration:none}
code{font-family:Consolas,Monaco,monospace;color:#c6eaff}
.analysis-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;border-bottom:1px solid rgba(103,155,185,.25);background:rgba(6,15,24,.92);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(0,0,0,.22)}
.analysis-brand{display:flex;align-items:center;gap:14px;min-width:260px}.analysis-brand strong{display:block;letter-spacing:.12em;font-size:15px}.analysis-brand small{display:block;color:var(--muted);margin-top:2px}.analysis-mark{display:grid;grid-template-columns:repeat(3,6px);gap:3px;align-items:center;height:28px}.analysis-mark i{display:block;width:6px;border-radius:4px;background:linear-gradient(180deg,var(--cyan),var(--blue));box-shadow:0 0 12px rgba(84,223,245,.5)}.analysis-mark i:nth-child(1){height:15px}.analysis-mark i:nth-child(2){height:27px}.analysis-mark i:nth-child(3){height:20px}
.analysis-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.action,.analysis-actions select{border:1px solid var(--border);background:#102131;color:var(--text);border-radius:9px;padding:8px 12px;cursor:pointer}.action:hover,.analysis-actions select:hover{border-color:#4e7188;background:#142b3e}.action.secondary{background:transparent}.range-control,.auto-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.auto-control{padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#0e1c29}.auto-control input{accent-color:var(--cyan)}
.connection-banner{position:sticky;top:76px;z-index:19;text-align:center;padding:8px 16px;font-size:12px;border-bottom:1px solid transparent}.connection-banner.loading{background:#172338;color:var(--yellow)}.connection-banner.connected{background:rgba(34,107,76,.72);color:#c6ffe2}.connection-banner.error{background:rgba(133,43,51,.8);color:#ffd8da}.connection-banner.live{background:rgba(35,79,113,.75);color:#d6f4ff}
.analysis-main{max-width:1680px;margin:0 auto;padding:26px 24px 70px}.section{background:linear-gradient(180deg,rgba(16,31,45,.96),rgba(11,24,35,.96));border:1px solid var(--border);border-radius:15px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.intro-section{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;background:linear-gradient(135deg,rgba(15,38,53,.98),rgba(17,26,47,.98))}.intro-section h1{margin:3px 0 8px;font-size:30px;line-height:1.15}.intro-section p{margin:0;color:#b7c7d4;max-width:980px}.eyebrow{display:block;color:var(--cyan);font-size:11px;letter-spacing:.16em;font-weight:700}.legend-box{display:grid;grid-template-columns:repeat(2,max-content);gap:8px 16px;padding:12px 15px;border:1px solid var(--border);border-radius:11px;background:rgba(3,12,20,.36);white-space:nowrap}.legend-box span{display:flex;align-items:center;gap:7px;color:#b9cbd8;font-size:12px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.success{background:var(--green);box-shadow:0 0 9px var(--green)}.status-dot.warning{background:var(--yellow)}.status-dot.error{background:var(--red)}.status-dot.neutral{background:#7890a3}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.section-heading h2{margin:2px 0 0;font-size:20px}.section-note{color:var(--muted);font-size:12px}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;letter-spacing:.04em;border:1px solid}.status-pill.success{color:#bbf5d4;border-color:#34845c;background:rgba(37,120,78,.18)}.status-pill.warning{color:#ffe6a6;border-color:#8d7136;background:rgba(135,101,35,.18)}.status-pill.error{color:#ffd0d3;border-color:#97464d;background:rgba(143,49,59,.2)}.status-pill.neutral,.status-pill.running{color:#c6d7e3;border-color:#4b6374;background:rgba(65,91,109,.18)}
.last-run-section{border-color:#31566d}.last-run-content{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(145px,.6fr));gap:14px}.last-run-main{padding:16px;border-radius:11px;background:#0a1722;border:1px solid #294052}.last-run-main h3{margin:0 0 4px;font-size:19px}.last-run-main p{color:#afc1ce;margin:7px 0 0}.last-run-main small{color:var(--muted)}.last-run-stat{padding:15px;border:1px solid #263b4b;border-radius:11px;background:rgba(7,17,26,.55)}.last-run-stat span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.last-run-stat strong{display:block;margin-top:7px;font-size:22px}.last-run-stat small{color:#9cb0bf}.empty-state{color:var(--muted);padding:18px;text-align:center}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:14px;margin-bottom:18px}.summary-card{min-height:126px;padding:17px;border-radius:14px;border:1px solid var(--border);background:linear-gradient(160deg,#122638,#0b1722);box-shadow:var(--shadow)}.summary-card>span{display:block;color:var(--muted);font-size:12px}.summary-card strong{display:block;font-size:24px;margin:12px 0 4px;letter-spacing:-.02em}.summary-card small{display:block;color:#92a8b8;line-height:1.35}
.explain-box{padding:10px 13px;margin:0 0 14px;border-left:3px solid #4d9ec0;background:rgba(30,77,99,.16);color:#abc0ce;font-size:12px;border-radius:0 7px 7px 0}.chart-wrap{height:310px;border:1px solid #223848;border-radius:11px;background:#07131d;padding:8px;overflow:hidden}.chart-wrap canvas{width:100%;height:100%}.chart-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:11px}.chart-legend span{display:flex;align-items:center;gap:6px}.legend-swatch{display:block;width:18px;height:5px;border-radius:3px}.legend-swatch.create{background:var(--green)}.legend-swatch.update{background:var(--blue)}.legend-swatch.delete{background:var(--red)}.legend-swatch.events{background:var(--yellow)}
.filters-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}.filters-row label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px}.filters-row label:has(input[type=checkbox]){flex-direction:row;align-items:center;padding:9px 0}.filters-row .grow{flex:1;min-width:240px}.filters-row select,.filters-row input[type=search]{width:100%;min-height:36px;border:1px solid var(--border);border-radius:8px;background:#091722;color:var(--text);padding:7px 10px}.filters-row input[type=checkbox]{accent-color:var(--cyan)}
.table-wrap{overflow:auto;border:1px solid #233949;border-radius:10px}.data-table{width:100%;border-collapse:collapse;min-width:940px}.data-table th{position:sticky;top:0;background:#132536;text-align:left;color:#9db2c1;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:10px 12px;border-bottom:1px solid #2c4455}.data-table td{padding:11px 12px;border-bottom:1px solid rgba(57,81,96,.38);vertical-align:top}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr.run-row{cursor:pointer}.data-table tbody tr.run-row:hover{background:rgba(67,133,164,.09)}.run-title{font-weight:650}.run-meta{display:block;color:var(--muted);font-size:11px;margin-top:2px}.delta-tags{display:flex;gap:5px;flex-wrap:wrap}.delta-tag{font-size:10px;padding:2px 6px;border-radius:999px;background:#172a38;color:#c5d5df}.delta-tag.create{color:#bff1d5;background:rgba(52,132,92,.2)}.delta-tag.update{color:#cbd8ff;background:rgba(75,102,179,.23)}.delta-tag.delete{color:#ffd1d4;background:rgba(151,70,77,.22)}.run-detail-row td{padding:0;background:#07131d}.run-detail{padding:15px 18px;display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);gap:16px}.run-detail pre,.event-details pre{max-height:320px;overflow:auto;background:#061019;border:1px solid #243a49;border-radius:8px;padding:11px;color:#b9d0df;font:11px/1.5 Consolas,monospace;white-space:pre-wrap;word-break:break-word}.event-mini-list{display:flex;flex-direction:column;gap:7px}.event-mini{padding:8px;border:1px solid #223744;border-radius:7px;background:#0d1b27}.event-mini b{font-size:11px}.event-mini small{display:block;color:var(--muted)}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two-column>.section{min-width:0}.distribution-grid{display:grid;grid-template-columns:1fr;gap:17px}.section h3{font-size:13px;margin:17px 0 8px;color:#bdd0dd}.bar-list{display:flex;flex-direction:column;gap:7px}.bar-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(110px,2fr) 58px;gap:9px;align-items:center}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b8cad6;font-size:11px}.bar-track{height:8px;border-radius:999px;background:#0a141d;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan))}.bar-value{text-align:right;color:#d6e6ef;font-variant-numeric:tabular-nums;font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric-grid.compact>div{padding:12px;border:1px solid #263b49;border-radius:9px;background:#0a1721}.metric-grid span{display:block;color:var(--muted);font-size:10px}.metric-grid strong{display:block;font-size:18px;margin-top:5px}.compact-list,.entity-list{display:flex;flex-direction:column;gap:8px}.compact-item,.entity-item{padding:10px 12px;border:1px solid #243a49;border-radius:9px;background:#0a1721}.compact-item header,.entity-item header{display:flex;justify-content:space-between;gap:12px}.compact-item b,.entity-item b{font-size:12px}.compact-item small,.entity-item small{color:var(--muted)}.compact-item p,.entity-item p{margin:6px 0 0;color:#a9bdca;font-size:11px}.entity-item code{font-size:10px}.entity-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.entity-tags span{font-size:9px;border:1px solid #314b5c;border-radius:999px;padding:2px 6px;color:#a9c1d0}
.events-list{display:flex;flex-direction:column;gap:8px}.event-card{border:1px solid #243a49;border-radius:10px;background:#0a1721;overflow:hidden}.event-summary{display:grid;grid-template-columns:105px 190px minmax(260px,1fr) 260px;gap:10px;align-items:center;padding:10px 12px;cursor:pointer}.event-summary:hover{background:rgba(56,116,144,.09)}.event-time{color:var(--muted);font-size:11px}.event-type{font-family:Consolas,monospace;font-size:10px;color:#b9dded}.event-message{font-size:12px}.event-delta{text-align:right}.event-details{display:none;padding:12px;border-top:1px solid #233745;background:#06111a}.event-card.open .event-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.query-box{padding:8px 10px;border:1px solid #294253;border-radius:7px;background:#0d1c28;color:#c4d9e5;font-size:11px;margin-top:7px}
.analysis-footer{display:flex;justify-content:space-between;gap:20px;padding:18px 24px;border-top:1px solid var(--border);color:var(--muted);font-size:11px;background:#071019}
@media(max-width:1200px){.summary-grid{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.last-run-content{grid-template-columns:1fr repeat(3,1fr)}.event-summary{grid-template-columns:90px 170px 1fr}.event-delta{grid-column:2/4;text-align:left}}
@media(max-width:820px){.analysis-topbar{position:relative;flex-direction:column;align-items:flex-start}.connection-banner{top:0}.analysis-actions{justify-content:flex-start}.analysis-main{padding:18px 12px 50px}.intro-section{flex-direction:column;align-items:flex-start}.legend-box{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}.last-run-content{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.run-detail{grid-template-columns:1fr}.event-summary{display:block}.event-summary>*{margin-bottom:5px}.event-delta{text-align:left}.event-card.open .event-details{grid-template-columns:1fr}.analysis-footer{flex-direction:column}.intro-section h1{font-size:24px}}
.notice{margin:0 0 14px;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.45}.warning-notice{border:1px solid #7b6737;background:rgba(137,104,38,.18);color:#f4dda1}.changes-table{min-width:1180px}.changes-table code{display:block;max-width:390px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c6e6f4;font:10px/1.45 Consolas,monospace}.change-action{display:inline-flex;border:1px solid;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700;white-space:nowrap}.change-action.created{color:#bff1d5;border-color:#34845c;background:rgba(52,132,92,.2)}.change-action.updated,.change-action.recalculated{color:#cbd8ff;border-color:#4d67a7;background:rgba(75,102,179,.23)}.change-action.deleted{color:#ffd1d4;border-color:#97464d;background:rgba(151,70,77,.22)}.event-link{max-width:180px;border:0;background:none;color:var(--cyan);font:10px Consolas,monospace;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;padding:2px}.event-link:hover{text-decoration:underline}.change-row:hover{background:rgba(67,133,164,.07)}
.pipeline-subgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}.run-stats-table{min-width:1120px}.run-stats-table .status-pill{padding:2px 6px;font-size:9px;margin-right:3px}.observability-section .metric-grid>div{min-height:78px}.observability-section .explain-box{margin-bottom:0}@media(max-width:820px){.pipeline-subgrid{grid-template-columns:1fr}}
.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.readiness-item{padding:11px 12px;border:1px solid #243a49;border-left-width:3px;border-radius:9px;background:#0a1721;min-width:0}
.readiness-item.success{border-left-color:var(--green)}.readiness-item.warning{border-left-color:var(--yellow)}.readiness-item.error{border-left-color:var(--red)}
.readiness-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.readiness-item b{font-size:12px}.readiness-item p{margin:6px 0 0;color:#a9bdca;font-size:11px}.readiness-item small{display:block;margin-top:7px;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:980px){.readiness-grid{grid-template-columns:1fr}}