@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20,500,0,0";:root{--bg: #f4f7fb;--card: #ffffff;--line: #dbe3ef;--text: #13233a;--subtext: #5b6c83;--primary: #1f6feb;--ok: #138a36;--warn: #b86b00;--app-max-width: 100%}*{box-sizing:border-box;margin:0;padding:0;font-family:Segoe UI,Arial,sans-serif}body{background:var(--bg);color:var(--text);min-height:100vh;padding:clamp(12px,3vw,24px);overflow-x:hidden}.simulator-shell,.pipeline-shell{width:100%;display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:16px}.app-page-shell{width:100%;max-width:var(--app-max-width);margin:0 auto;display:flex;flex-direction:column;gap:16px}.pipeline-main{display:flex;flex-direction:column;gap:16px;min-width:0}.pipeline-generate-events-panel{border:1px solid #d8e3f2;border-radius:14px}.pipeline-generate-events-head{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.pipeline-generate-events-title{margin:0;font-size:1rem;font-weight:700;color:#0c2a53}.pipeline-generate-events-subtitle{margin:0;font-size:.84rem;color:#4a658d}.pipeline-generate-events-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pipeline-detail-panel{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.pipeline-section-heading{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--subtext);margin:0}.pipeline-audit-section{padding:18px 20px 20px}.pipeline-metrics-section{padding:20px;border-top:1px solid var(--line);background:linear-gradient(180deg,#f8fbff,#fff)}.pipeline-metrics-section .pipeline-section-heading{margin-bottom:16px}.pipeline-audit-section .pipeline-section-heading{margin-bottom:14px}.pipeline-metrics-layout{display:flex;flex-direction:column;gap:20px}.pipeline-chart-card{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fff;min-width:0}.pipeline-metrics-silver-card,.pipeline-metrics-run-card{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#fff;min-width:0}.pipeline-metrics-silver-card .pipeline-chart-card-title{margin-bottom:14px}.pipeline-metrics-silver-card .silver-validation-panel{gap:18px}.pipeline-chart-card-title{font-size:.84rem;font-weight:700;color:var(--text);margin-bottom:12px}.pipeline-chart-card-body--chart{min-height:220px}.pipeline-chart-card-body--chart .dashboard-chart{min-height:220px;width:100%}.pipeline-metrics-section .silver-val-stats{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}.pipeline-metrics-section .silver-val-chart-wrap{min-height:260px}.pipeline-metrics-section .silver-val-chart-wrap .dashboard-chart{min-height:260px;width:100%}.silver-validation-panel{display:flex;flex-direction:column;gap:16px}.silver-val-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.silver-val-stat{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;min-width:0}.silver-val-stat-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.silver-val-stat-label{font-size:.72rem;font-weight:600;color:var(--subtext);line-height:1.3}.silver-val-stat--null{border-left:3px solid #b86b00}.silver-val-stat--dedup{border-left:3px solid #7c3aed}.silver-val-stat--enum{border-left:3px solid #5b6c83}.silver-val-stat--out{border-left:3px solid var(--ok)}.silver-val-stat--in{border-left:3px solid var(--primary)}.silver-val-chart-wrap{min-height:260px}.silver-val-source{font-size:.74rem;color:var(--subtext);margin:0}.pipeline-panel-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--subtext);margin-bottom:14px}.pipeline-sidebar{position:sticky;top:24px;align-self:start}.pipeline-banner{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.pipeline-banner--idle{background:linear-gradient(135deg,#f8fbff,#eef4ff)}.pipeline-banner--loading{border-color:#1f6feb59}.pipeline-banner--skeleton{background:linear-gradient(135deg,#fafcff,#f3f7fc)}@keyframes pipeline-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pipeline-skeleton{display:block;background:linear-gradient(90deg,#e8edf4,#f4f7fb,#e8edf4 90%);background-size:200% 100%;animation:pipeline-shimmer 1.35s ease-in-out infinite;border-radius:8px}.pipeline-loading-indicator{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(31,111,235,.12)}.pipeline-loading-spinner{width:18px;height:18px;border:2px solid rgba(31,111,235,.2);border-top-color:var(--accent, #1f6feb);border-radius:50%;animation:pipeline-spin .75s linear infinite;flex-shrink:0}@keyframes pipeline-spin{to{transform:rotate(360deg)}}.pipeline-loading-label{font-size:.82rem;color:var(--subtext);font-weight:500}.pipeline-skeleton-chip{width:88px;height:28px;border-radius:999px}.pipeline-skeleton-chip--short{width:56px}.pipeline-skeleton-total{width:140px;height:24px}.pipeline-skeleton-pill{flex:1;min-width:72px;height:36px;border-radius:10px}.pipeline-flow-panel--loading .pipeline-loading-indicator{border-top:none;margin-top:16px}.pipeline-flow--skeleton .pipeline-node--skeleton{border-color:#e2e8f0;background:#fafbfc}.pipeline-skeleton-node-step{width:26px;height:26px;border-radius:50%;flex-shrink:0}.pipeline-skeleton-line--title{width:72%;height:12px;margin-bottom:6px}.pipeline-skeleton-line--sub{width:48%;height:10px;margin-bottom:8px}.pipeline-skeleton-line--badge{width:64%;height:10px}.pipeline-connector--skeleton{background:#e2e8f0}.pipeline-audit-loading,.pipeline-metrics-loading{padding:8px 4px 16px}.pipeline-layer-tabs--skeleton{display:flex;gap:8px;margin-bottom:16px}.pipeline-skeleton-tab{width:96px;height:36px;border-radius:10px}.pipeline-skeleton-table{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.pipeline-skeleton-table-head{width:100%;height:32px;border-radius:8px}.pipeline-skeleton-table-row{width:100%;height:22px;border-radius:6px;opacity:.85}.pipeline-metrics-skeleton-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.pipeline-skeleton-metric-card{height:72px;border-radius:12px}.pipeline-skeleton-chart{width:100%;height:200px;border-radius:12px;margin-bottom:16px}.pipeline-skeleton-timeline{width:100%;height:120px;border-radius:12px;margin-bottom:8px}@media(max-width:900px){.pipeline-metrics-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pipeline-banner-lead{font-size:.92rem;color:var(--subtext);line-height:1.5}.pipeline-banner-lead--with-icon{display:inline-flex;align-items:center;gap:8px}.material-symbols-outlined{font-size:18px;line-height:1;vertical-align:middle}.pipeline-banner-top{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.pipeline-banner-chips{display:flex;flex-wrap:wrap;gap:8px}.pipeline-chip--run{font-weight:700;text-transform:uppercase;font-size:.68rem;letter-spacing:.04em}.pipeline-chip--run-success{background:#e8f7ee;color:#0d6b3a}.pipeline-chip--run-failed{background:#fdecea;color:#b42318}.pipeline-chip--run-skipped{background:#f4f4f5;color:#52525b}.pipeline-chip--run-running,.pipeline-chip--run-started{background:#eff6ff;color:#1d4ed8}.live-flow-shell{display:flex;flex-direction:column;gap:16px}.live-flow-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.live-flow-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.live-flow-filter-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#f8fbff,#fff)}.live-flow-filter-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.live-flow-filter-title{margin:0;font-size:.95rem;font-weight:700;color:#0c2a53}.live-flow-filter-subtitle{margin:0;font-size:.84rem;color:#4a658d;line-height:1.4}.live-flow-filter-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.live-flow-filter-label{font-size:.8rem;font-weight:700;color:var(--subtext);text-transform:uppercase;letter-spacing:.04em}.live-flow-date-input{min-width:168px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:.92rem;font-weight:600;outline:none}.live-flow-date-input:focus{border-color:#1f6feb73;box-shadow:0 0 0 3px #1f6feb1f}.live-flow-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.live-flow-status{text-transform:capitalize}.live-flow-layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.live-flow-layer-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.live-flow-layer-top{display:flex;justify-content:space-between;align-items:center}.live-flow-layer-top h3{font-size:1rem}.live-flow-count{font-size:2rem;font-weight:700;margin:6px 0 8px;color:var(--text)}.live-flow-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.live-flow-dot--green{background:#16a34a}.live-flow-dot--yellow{background:#d97706}.live-flow-dot--red{background:#dc2626}.live-flow-dot--gray{background:#9ca3af}.live-flow-viz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.live-flow-viz-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px}.live-flow-bars{display:flex;flex-direction:column;gap:10px;margin-top:10px}.live-flow-bar-row{display:grid;grid-template-columns:96px 1fr 32px;align-items:center;gap:8px}.live-flow-bar-label{font-size:.82rem;color:var(--subtext);font-weight:600}.live-flow-bar-track{height:10px;border-radius:999px;background:#edf2fa;overflow:hidden}.live-flow-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#6366f1)}.live-flow-bar-value{text-align:right;font-weight:700;color:var(--text);font-size:.85rem}.live-flow-mini-chart{margin-top:12px;min-height:160px;display:flex;align-items:flex-end;gap:8px}.live-flow-mini-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px}.live-flow-mini-bar{width:100%;max-width:30px;min-height:12px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#22c55e,#16a34a)}.live-flow-mini-value{font-size:.72rem;color:var(--subtext)}@media(max-width:1100px){.live-flow-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.live-flow-filter-bar{align-items:stretch;flex-direction:column}.live-flow-filter-controls{justify-content:flex-start}.live-flow-layers,.live-flow-viz-grid{grid-template-columns:1fr}}.run-audit{display:flex;flex-direction:column;gap:14px}.run-audit-header{display:flex;flex-direction:column;gap:8px}.run-audit-title{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.run-audit-meta{display:flex;flex-wrap:wrap;gap:8px}.run-audit-meta-chip{font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:6px;background:#f1f5f9;color:var(--text);border:1px solid var(--line)}.run-audit-meta-chip--muted{font-weight:500;color:var(--muted);background:#fff}.run-audit-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;background:#f1f5f9;border-radius:10px;border:1px solid var(--line)}.run-audit-tabs--three{grid-template-columns:repeat(3,1fr)}.run-audit-run-label{margin:0;font-size:.78rem;color:var(--muted)}.run-audit-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto}.run-audit-timeline .run-audit-step{display:flex;gap:10px;align-items:flex-start;padding:0;border:none;background:transparent}.run-audit-step-order{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#64748b;background:#e2e8f0;border-radius:999px;margin-top:10px}.run-audit-step-body{flex:1;min-width:0;padding:10px 12px;border-radius:8px;background:#f8fafc;border:1px solid #e8edf3}.run-audit-step--failed .run-audit-step-body{background:#fffbfb;border-color:#fecaca}.run-audit-step-layer{font-size:.68rem;font-weight:700;text-transform:uppercase;color:#64748b;letter-spacing:.03em}.run-audit-step-run-id{margin:4px 0 0;font-size:.72rem;color:#94a3b8;font-family:ui-monospace,monospace}.run-audit-timeline .run-audit-step-main{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.run-audit--minimal .run-audit-header{gap:2px;margin-bottom:4px}.run-audit--minimal .run-audit-subtitle{margin:0;font-size:.8rem;color:var(--muted);line-height:1.45}.run-audit--minimal .run-audit-hint{margin:0 0 12px;font-size:.78rem;color:var(--muted)}.run-audit--minimal .run-audit-empty-inline{margin:0;padding:20px 12px;text-align:center;font-size:.85rem;color:var(--muted);background:#f8fafc;border-radius:8px;border:1px dashed var(--line)}.run-audit-info{margin:0 0 14px;padding:10px 14px;background:#f8fafc;border:1px solid var(--line);border-radius:10px}.run-audit-info-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px}.run-audit-info-tabs{display:flex;flex-shrink:0;align-items:center;gap:8px}.run-audit-info-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;line-height:1.2;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);cursor:pointer}.run-audit-info-tab:hover{border-color:#94a3b8}.run-audit-info-tab.is-active{border-color:var(--accent);background:#eff6ff;color:var(--accent)}.run-audit-info-tab--silver.is-active{border-color:#7c9cbf;background:#eef4fa;color:#3d5a73}.run-audit-info-tab--gold.is-active{border-color:#c9a227;background:#fffbeb;color:#92680a}.run-audit-info-tab-count{font-size:.72rem;font-weight:500;color:var(--muted)}.run-audit-info-tab.is-active .run-audit-info-tab-count{color:inherit;opacity:.85}.run-audit-info-actions{display:flex;flex:1;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.run-audit-info-hint{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:0;font-size:.75rem;line-height:1.35;color:var(--muted);text-align:right}.run-audit-info-hint-layer{font-weight:600;color:var(--text)}.run-audit-info-hint-sep{color:#cbd5e1}.run-audit-info-hint code{font-size:.72rem}.run-audit-info-unavailable{margin:0;font-size:.8rem;line-height:1.35;color:var(--muted);text-align:right}.run-audit-info-actions .btn-layer-info{flex-shrink:0}.run-audit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;max-height:400px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.run-audit-item{display:flex;gap:12px;padding:12px 14px;border-bottom:1px solid #eef2f6}.run-audit-item:last-child{border-bottom:none}.run-audit-item-num{flex-shrink:0;width:1.35rem;font-size:.72rem;font-weight:600;color:#94a3b8;padding-top:2px;text-align:right}.run-audit-item-content{flex:1;min-width:0}.run-audit-item-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.run-audit-pill{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 7px;border-radius:4px}.run-audit-pill--success{background:#ecfdf3;color:#067647}.run-audit-pill--failed{background:#fef3f2;color:#b42318}.run-audit-pill--inprogress{background:#eff6ff;color:#175cd3}.run-audit-item-layer{font-size:.72rem;font-weight:600;color:#64748b}.run-audit-item-title{font-size:.85rem;font-weight:600;color:var(--text)}.run-audit-item-time{margin-left:auto;font-size:.72rem;color:#94a3b8;font-variant-numeric:tabular-nums;white-space:nowrap}.run-audit-item-meta{margin:4px 0 0;font-size:.78rem;color:var(--muted)}.run-audit-item-msg{margin:6px 0 0;font-size:.8rem;line-height:1.45;color:var(--muted)}.run-audit-item-msg--failed{color:#b42318}.run-audit-item-msg--success{color:#067647}.run-audit-item-msg--inprogress{color:#175cd3}.run-audit-log{margin-top:8px;font-size:.75rem}.run-audit-log summary{cursor:pointer;color:#64748b;font-weight:500;-webkit-user-select:none;user-select:none}.run-audit-log summary:hover{color:#2563eb}.run-audit-log-pre{margin:8px 0 0;padding:10px;max-height:160px;overflow:auto;font-size:.68rem;line-height:1.4;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;white-space:pre-wrap;word-break:break-word}.run-audit-tab{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;border:none;border-radius:8px;background:transparent;font-size:.8rem;font-weight:600;color:var(--muted);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.run-audit-tab:hover{color:var(--text)}.run-audit-tab.is-active{background:#fff;color:var(--text);box-shadow:0 1px 3px #0f172a14}.run-audit-tab--success.is-active{color:#0d6b3a}.run-audit-tab--failed.is-active{color:#b42318}.run-audit-tab--inprogress.is-active{color:#b45309}.run-audit-tab-count{font-size:.72rem;font-weight:700;min-width:1.25rem;padding:2px 6px;border-radius:999px;background:#0f172a0f}.run-audit-filter-hint{margin:0;font-size:.8rem;color:var(--muted)}.ticket-booking-panel{border:1px solid #d7e2f3}.ticket-booking-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:14px;align-items:stretch}.ticket-booking-hero{display:flex;align-items:flex-start;gap:14px;padding:14px;border:1px solid #d7e2f3;border-radius:12px;background:linear-gradient(135deg,#f8fbff,#eef5ff)}.ticket-booking-image{width:76px;height:76px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,#5f94f8,#2d6cdf 70%);color:#fff;box-shadow:0 10px 20px #2d6cdf33;flex-shrink:0}.ticket-booking-image .material-symbols-outlined{font-size:34px}.ticket-booking-copy{display:flex;flex-direction:column;gap:10px;min-width:0;width:100%}.ticket-tier-booking-list{display:flex;flex-direction:column;gap:8px;width:100%}.ticket-tier-booking-row{display:grid;grid-template-columns:minmax(180px,1fr) auto 130px;align-items:center;gap:10px;border:1px solid #d7e2f3;border-radius:10px;padding:10px 12px;background:#fff}.ticket-tier-booking-name{margin:0;font-size:.92rem;font-weight:700;color:#0c2a53}.ticket-tier-booking-row .helper-text{margin:4px 0 0}.ticket-stock-badge{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:700}.ticket-tier-booking-row .btn{width:100%;min-height:36px;font-size:.82rem;white-space:nowrap}.ticket-stock-badge--high{color:#067647;background:#dcfae6}.ticket-stock-badge--medium{color:#b54708;background:#fef0c7}.ticket-stock-badge--low{color:#b42318;background:#fee4e2}.ticket-tier-summary{border:1px solid #d7e2f3;border-radius:12px;padding:14px}@media(max-width:1100px){.ticket-booking-grid{grid-template-columns:1fr}.ticket-tier-booking-row{grid-template-columns:1fr auto;align-items:flex-start;row-gap:8px}.ticket-tier-booking-row .btn{grid-column:1 / -1}}.run-audit-no-results,.run-audit-empty-msg{margin:0;font-size:.85rem;color:var(--muted);line-height:1.5}.run-audit-empty-title{margin:0 0 4px;font-size:.95rem;font-weight:600;color:var(--text)}.run-audit-layers{display:flex;flex-direction:column;gap:10px}.run-audit-layer{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.run-audit-layer--bronze{border-top:3px solid #2563eb}.run-audit-layer--silver{border-top:3px solid #7c3aed}.run-audit-layer--gold{border-top:3px solid #d97706}.run-audit-layer-toggle{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:none;background:#fafbfd;text-align:left;cursor:pointer}.run-audit-layer-toggle:hover{background:#f4f7fb}.run-audit-layer-toggle-left{display:flex;flex-direction:column;gap:2px;min-width:0}.run-audit-layer-name{font-size:.95rem;font-weight:700;color:var(--text)}.run-audit-layer-hint{font-size:.75rem;color:var(--muted)}.run-audit-layer-toggle-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.run-audit-layer-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 8px;border-radius:6px}.run-audit-layer-badge--success{background:#e8f7ee;color:#0d6b3a}.run-audit-layer-badge--failed{background:#fdecea;color:#b42318}.run-audit-layer-badge--inprogress{background:#fffbeb;color:#b45309}.run-audit-layer-badge--empty{background:#f1f5f9;color:#64748b}.run-audit-layer-range{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.run-audit-layer-chevron{font-size:.7rem;color:#94a3b8;margin-top:2px}.run-audit-step-list{list-style:none;margin:0;padding:0 12px 12px;display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.run-audit-step{padding:10px 12px;border-radius:8px;background:#f8fafc;border:1px solid #e8edf3}.run-audit-step--failed{background:#fffbfb;border-color:#fecaca}.run-audit-step-main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 10px}.run-audit-step-status{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:4px;white-space:nowrap}.run-audit-step-status--success{background:#dcfce7;color:#166534}.run-audit-step-status--failed{background:#fee2e2;color:#991b1b}.run-audit-step-status--inprogress{background:#dbeafe;color:#1e40af}.run-audit-step-title{font-size:.82rem;font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-audit-step-time{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.run-audit-step-records{margin:6px 0 0;font-size:.75rem;color:var(--muted)}.run-audit-step-duration{color:#94a3b8}.run-audit-step-error{margin:6px 0 0;font-size:.78rem;line-height:1.4;color:#b42318}.run-audit-step-note{margin:4px 0 0;font-size:.75rem;color:var(--muted)}.run-audit-step-details{margin-top:8px;font-size:.75rem}.run-audit-step-details summary{cursor:pointer;color:#2563eb;font-weight:600}.run-audit-step-details pre{margin:8px 0 0;padding:8px;font-size:.7rem;background:#fff;border:1px solid var(--line);border-radius:6px;overflow-x:auto;white-space:pre-wrap}.pipeline-run-timeline-head{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:10px}.pipeline-run-slice-label{margin:0;font-size:.85rem;font-weight:600;color:var(--text)}.pipeline-run-slice-dataset{margin:0;font-size:.78rem;color:var(--muted)}.pipeline-run-layer-grid{display:flex;flex-direction:column;gap:16px}.pipeline-run-layer-block{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fafbfd}.pipeline-run-layer-block--bronze{border-left:4px solid #2563eb}.pipeline-run-layer-block--silver{border-left:4px solid #7c3aed}.pipeline-run-layer-block--gold{border-left:4px solid #d97706}.pipeline-run-layer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.pipeline-run-layer-title{margin:0;font-size:.95rem;font-weight:700}.pipeline-run-layer-status{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px}.pipeline-run-layer-status--success{background:#e8f7ee;color:#0d6b3a}.pipeline-run-layer-status--failed{background:#fdecea;color:#b42318}.pipeline-run-layer-status--inprogress{background:#fffbeb;color:#b45309}.pipeline-run-layer-status--empty{background:#f1f5f9;color:#64748b}.pipeline-run-layer-times{margin:0 0 10px;font-size:.75rem;color:var(--muted)}.pipeline-run-layer-step-count{color:#94a3b8}.pipeline-run-layer-empty{margin:0;font-size:.8rem;color:var(--muted)}.pipeline-run-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.pipeline-run-filter{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.75rem;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.pipeline-run-filter:hover{border-color:#94a3b8;color:var(--text)}.pipeline-run-filter.is-active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.pipeline-run-filter--failed.is-active{border-color:#f04438;background:#fdecea;color:#b42318}.pipeline-run-filter--success.is-active{border-color:#12b76a;background:#e8f7ee;color:#0d6b3a}.pipeline-run-filter--inprogress.is-active{border-color:#f59e0b;background:#fffbeb;color:#b45309}.pipeline-run-filter-count{font-size:.68rem;font-weight:700;padding:1px 6px;border-radius:999px;background:#0000000f}.pipeline-run-empty-filter{font-size:.8rem;color:var(--muted);margin:0;padding:12px 0}.pipeline-run-final{font-size:.72rem;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:999px}.pipeline-run-final--success{background:#e8f7ee;color:#0d6b3a}.pipeline-run-final--failed{background:#fdecea;color:#b42318}.pipeline-run-final--skipped{background:#f4f4f5;color:#52525b}.pipeline-run-final--running{background:#eff6ff;color:#1d4ed8}.pipeline-run-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto}.pipeline-run-step{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fafcff}.pipeline-run-step-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.pipeline-run-status{font-size:.68rem;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:6px}.pipeline-run-status--success{background:#e8f7ee;color:#0d6b3a}.pipeline-run-status--failed{background:#fdecea;color:#b42318}.pipeline-run-status--skipped{background:#f4f4f5;color:#52525b}.pipeline-run-status--running{background:#eff6ff;color:#1d4ed8}.pipeline-run-layer{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase}.pipeline-run-step-name{font-size:.8rem;font-weight:600;color:var(--text)}.pipeline-run-step-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.75rem;color:var(--muted)}.pipeline-run-error{margin:8px 0 0;font-size:.75rem;color:#b42318}.pipeline-run-message{margin:8px 0 0;font-size:.78rem;line-height:1.45;padding:8px 10px;border-radius:8px;background:#f8fafc;border-left:3px solid #cbd5e1}.pipeline-run-message--success{background:#f0fdf4;border-left-color:#22c55e;color:#166534}.pipeline-run-message--failed{background:#fef2f2;border-left-color:#ef4444;color:#991b1b}.pipeline-run-message--inprogress{background:#fffbeb;border-left-color:#f59e0b;color:#92400e}.pipeline-run-message--skipped{background:#f4f4f5;border-left-color:#a1a1aa;color:#52525b}.pipeline-run-step--failed{border-color:#fecaca;background:#fffbfb}.pipeline-run-details{margin-top:8px;font-size:.72rem}.pipeline-run-details summary{cursor:pointer;color:#2563eb;font-weight:600}.pipeline-run-details-pre{margin:8px 0 0;padding:10px;max-height:160px;overflow:auto;font-size:.68rem;line-height:1.4;background:#0f172a;color:#e2e8f0;border-radius:8px;white-space:pre-wrap;word-break:break-word}.gold-metrics-source{font-size:.72rem;color:var(--muted);margin:-4px 0 12px}.pipeline-chip{font-size:.8rem;font-weight:600;padding:6px 10px;border-radius:8px;background:#eef2f8;color:var(--text);border:1px solid var(--line)}.pipeline-chip--primary{background:#eaf1ff;color:#184591;border-color:#1f6feb40}.pipeline-banner-total{font-size:.88rem;color:var(--subtext)}.pipeline-banner-total strong{font-size:1.35rem;color:var(--text);margin-right:4px}.pipeline-banner-status{font-size:.88rem;color:var(--subtext)}.pipeline-layer-pills{display:flex;flex-wrap:wrap;gap:10px}.pipeline-layer-pill{font-size:.82rem;padding:8px 14px;border-radius:10px;border:1px solid var(--line);background:#fff}.pipeline-layer-pill strong{margin-left:6px;font-size:1rem}.pipeline-layer-pill--ingest{border-left:4px solid #2e7d6a}.pipeline-layer-pill--bronze{border-left:4px solid #b86b00}.pipeline-layer-pill--silver{border-left:4px solid #5b6c83}.pipeline-layer-pill--gold{border-left:4px solid #c9a227}.pipeline-layer-pill--failed{border-left-color:#cf222e;background:#fff5f5}.pipeline-layer-pill--failed strong,.gold-metric-card--failed .gold-metric-value{color:#cf222e}.pipeline-banner-hint{font-size:.88rem;color:var(--subtext);font-weight:500}.pipeline-flow-panel{padding-bottom:20px}.pipeline-flow{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.pipeline-flow-item{display:flex;align-items:center;flex:0 0 auto;min-width:158px;max-width:188px}.pipeline-node{flex:1 1 auto;width:100%;box-sizing:border-box;display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:12px;border:1px solid var(--line);background:#fbfdff;min-height:88px}.pipeline-node-step{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background:#e8edf5;color:var(--subtext)}.pipeline-node-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;overflow:hidden}.pipeline-node-title{font-size:.88rem}.pipeline-node-sub{font-size:.72rem;color:var(--subtext)}.pipeline-node-dag-time{font-size:.62rem;font-weight:500;line-height:1.25;color:#1d4ed8;margin-top:2px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pipeline-node-badge{margin-top:6px;font-size:.72rem;font-weight:600;line-height:1.25;color:var(--subtext);overflow-wrap:anywhere}.pipeline-node--success{border-color:#138a3666;background:#f4fbf6}.pipeline-node--success .pipeline-node-step{background:var(--ok);color:#fff}.pipeline-node--success .pipeline-node-badge{color:var(--ok)}.pipeline-node--running{border-color:var(--primary);box-shadow:0 0 0 2px #1f6feb26;animation:step-pulse 1.2s ease-in-out infinite}.pipeline-node--running .pipeline-node-step{background:var(--primary);color:#fff}.pipeline-node--running .pipeline-node-badge{color:var(--primary)}.pipeline-node--blocked{border-color:#b45f0073;background:#fffaf3}.pipeline-node--blocked .pipeline-node-step{background:#c47a12;color:#fff}.pipeline-node--blocked .pipeline-node-badge{color:#8a4b00}.pipeline-node--waiting{border-color:var(--line);background:#f8f9fb}.pipeline-node--waiting .pipeline-node-badge{color:var(--subtext)}.pipeline-node--scheduled{border-color:#3b82f659;background:#eff6ffd9}.pipeline-node--scheduled .pipeline-node-step{background:#3b82f626;color:#1d4ed8}.pipeline-node--scheduled .pipeline-node-badge{color:#1d4ed8;font-size:.68rem;line-height:1.25;white-space:normal}.pipeline-node--bronze.pipeline-node--success{border-left:4px solid #b86b00}.pipeline-node--silver.pipeline-node--success{border-left:4px solid #5b6c83}.pipeline-node--gold.pipeline-node--success{border-left:4px solid #c9a227}.pipeline-connector{width:20px;height:2px;background:var(--line);flex:0 0 20px;margin:0 2px}.pipeline-connector.is-complete{background:var(--ok)}.pipeline-audit-body{min-height:120px}.pipeline-audit-card{border:1px solid var(--line);border-radius:10px;background:#fbfdff;padding:12px 14px;min-height:0}.pipeline-layer-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;-webkit-overflow-scrolling:touch}.pipeline-layer-tab{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;font-size:.84rem;font-weight:600;border:1px solid var(--line);background:#f4f7fb;color:var(--subtext);cursor:pointer}.pipeline-layer-tab.is-active{background:var(--primary);color:#fff;border-color:var(--primary)}.pipeline-layer-tab-count{font-size:.78rem;padding:2px 7px;border-radius:999px;background:#00000014}.pipeline-layer-tab.is-active .pipeline-layer-tab-count{background:#ffffff40}.pipeline-empty-state{padding:32px 20px;text-align:center;border:1px dashed #c5d4ea;border-radius:12px;background:#f9fbff}.pipeline-empty-state--loading{border-style:solid;border-color:#1f6feb4d}.pipeline-empty-title{font-weight:700;font-size:.95rem;margin-bottom:8px}.pipeline-empty-msg{font-size:.88rem;color:var(--subtext);line-height:1.45}.pipeline-empty-guide{border:1px solid #d8e3f2;border-radius:14px;background:#fff;padding:18px 20px 20px}.pipeline-empty-guide-head{margin-bottom:12px}.pipeline-empty-guide-title{margin:0;font-size:1rem;color:var(--text)}.pipeline-empty-guide-subtitle{margin:6px 0 0;font-size:.86rem;color:#4f6078}.pipeline-empty-guide-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.pipeline-empty-guide-chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid #c7d8f3;background:#edf4ff;color:#17427f;font-size:.78rem;font-weight:600}.pipeline-empty-guide-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,280px);gap:14px;align-items:start}.pipeline-empty-guide-list{margin:0;padding:0;list-style:none;color:var(--subtext);line-height:1.45;font-size:.88rem;display:grid;gap:8px}.pipeline-empty-guide-list li{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid #d9e4f3;border-radius:10px;background:#fff}.pipeline-empty-guide-list li strong{display:block;font-size:.88rem;color:#1b3558}.pipeline-empty-guide-list li p{margin:2px 0 0;font-size:.8rem;color:#5a6f8c}.pipeline-empty-guide-list li span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#e7effd;color:#184591;font-size:.76rem;font-weight:700;flex-shrink:0}.pipeline-empty-guide-callout{border:1px solid #cfdcf2;border-radius:12px;background:#fff;padding:12px 14px}.pipeline-empty-guide-callout-label{margin:0;display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#486181}.pipeline-empty-guide-callout-text{margin:6px 0 0;font-size:.86rem;color:#324962}.pipeline-empty-guide-highlights{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pipeline-empty-highlight-card{border:1px solid #d7e2f4;border-radius:10px;padding:10px 12px;background:#fff}.pipeline-empty-highlight-card h4{margin:0 0 4px;display:inline-flex;align-items:center;gap:6px;font-size:.84rem;color:#1b3558}.pipeline-empty-highlight-card p{margin:0;font-size:.78rem;color:#556a86;line-height:1.45}.pipeline-metrics-placeholder{padding:24px 12px;text-align:center}.pipeline-metrics-caption{font-size:.82rem;color:var(--subtext);margin-bottom:12px}.pipeline-metrics-content{display:flex;flex-direction:column;gap:14px}.pipeline-mini-chart{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fbfdff}.pipeline-mini-chart-title{font-size:.82rem;font-weight:600;margin-bottom:8px;color:var(--subtext)}.pipeline-mini-chart .dashboard-chart{min-height:180px}.pipeline-metrics-panel,.pipeline-metrics-panel .pipeline-metrics-content{min-width:0}.audit-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--line)}.layer-block{margin-top:0;border:none;padding:0;background:transparent}.layer-block-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-bottom:10px}.layer-block-header .layer-block-title{margin-bottom:0}.layer-block-header .layer-count{font-size:.82rem;font-weight:600;color:var(--subtext)}.audit-panel{display:flex;flex-direction:column;gap:10px;min-width:0}.audit-panel-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.audit-panel-summary{margin:0;font-size:.84rem;color:var(--subtext)}.audit-panel-summary strong{color:var(--text)}.audit-panel-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.audit-page-size{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--subtext)}.audit-page-size select{padding:4px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;font-size:.82rem}.audit-pagination{display:inline-flex;align-items:center;gap:8px}.audit-page-btn{padding:5px 12px;border-radius:6px;border:1px solid var(--line);background:#fff;font-size:.82rem;font-weight:600;color:var(--text);cursor:pointer}.audit-page-btn:disabled{opacity:.45;cursor:not-allowed}.audit-page-indicator{font-size:.82rem;font-weight:600;color:var(--subtext);min-width:4.5rem;text-align:center}.audit-table-scroll{max-height:min(420px,45vh);overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:8px;background:#fff}.audit-table-scroll .audit-table{min-width:36rem;margin-top:0;border-collapse:separate;border-spacing:0}.audit-table-scroll .audit-table th{position:sticky;top:0;z-index:1;box-shadow:0 1px 0 var(--line)}.audit-table-scroll .audit-table th,.audit-table-scroll .audit-table td{border-left:none;border-right:none}.audit-table-scroll .audit-table tr:not(:last-child) td{border-bottom:1px solid var(--line)}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}.app-header{grid-column:1 / -1;display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:flex-start;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.app-nav{display:flex;flex-wrap:nowrap;min-width:0;flex:1 1 auto;justify-content:flex-end;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.app-nav-link{flex:0 0 auto;white-space:nowrap;padding:8px 12px;border-radius:8px;font-size:.82rem;font-weight:600;text-decoration:none;background:#eaf1ff;color:#184591;border:1px solid var(--line)}.app-nav-link.is-active{background:var(--primary);color:#fff;border-color:var(--primary)}.business-dashboard-shell{width:100%;max-width:var(--app-max-width);margin:0 auto;display:flex;flex-direction:column;gap:16px}.business-dashboard-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}.business-dashboard-lead{margin-top:6px;font-size:.88rem;color:var(--subtext);max-width:42rem}.business-dashboard-panel,.business-dashboard-body{width:100%}.title-wrap h1{font-size:1.25rem;margin-bottom:2px}.title-wrap p{color:var(--subtext);font-size:.9rem}.status-badge{background:#159b3e1f;color:var(--ok);padding:8px 12px;border-radius:999px;font-size:.85rem;font-weight:600}.status-badge--run{background:#1f6feb24;color:var(--primary)}.section-title{font-size:.95rem;margin-bottom:12px;color:var(--subtext);text-transform:uppercase;letter-spacing:.5px}.control-hint{font-size:.8rem;color:var(--subtext);margin:-4px 0 12px;line-height:1.4}.controls{display:grid;gap:12px}.control-item label{display:block;font-size:.84rem;margin-bottom:6px;color:var(--subtext)}.control-item input,.control-item select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.button-group{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.pipeline-generate-events-msg{margin-top:6px;font-size:.8rem;color:var(--subtext);line-height:1.35}button{border:none;padding:10px;border-radius:8px;font-weight:600;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:#eaf1ff;color:#184591}.simulator-content{display:grid;gap:16px}.simulator-view{min-height:240px;border:2px dashed #b9cae5;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#6d81a1;background:linear-gradient(180deg,#f9fbff,#f0f5ff);text-align:center;padding:16px}.simulator-view--data,.simulator-view--dashboard{align-items:flex-start;justify-content:flex-start;text-align:left;color:var(--text)}.data-panel-body,.dashboard-panel-body{width:100%;font-size:.92rem;line-height:1.45}.data-panel-body p+p,.dashboard-panel-body p+p{margin-top:10px;color:var(--subtext)}.data-panel-meta{margin-top:8px;font-size:.8rem;word-break:break-all}.pipeline-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}.step-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfdff;text-align:center;font-size:.84rem;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.step-card .step-status{display:block;margin-top:4px;color:var(--subtext);font-size:.78rem}.step-card.is-pending{opacity:.92}.step-card.is-active{border-color:var(--primary);background:#f0f6ff;box-shadow:0 0 0 2px #1f6feb33;animation:step-pulse 1.1s ease-in-out infinite}.step-card.is-success{border-color:#138a3673;background:#f4fbf6}.step-card.is-success .step-status{color:var(--ok)}@keyframes step-pulse{0%,to{box-shadow:0 0 0 2px #1f6feb2e}50%{box-shadow:0 0 0 4px #1f6feb1f}}.text-warn{color:var(--warn)}.layer-block-title{font-size:.95rem;color:var(--text);font-weight:700}.layer-count{font-weight:500;color:var(--subtext)}.layer-empty{margin:0;font-size:.88rem;color:var(--subtext)}.audit-summary{margin-bottom:4px}.audit-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:.82rem}.audit-table th,.audit-table td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.audit-table th{background:#f4f7fb;color:var(--subtext);font-weight:600}.audit-table code{font-size:.85rem;background:#eef3fb;padding:2px 6px;border-radius:4px}.cell-ellipsis{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.silver-validation-section{margin-top:14px;display:grid;gap:12px}.silver-validation-card{border:1px solid var(--line);border-radius:10px;background:#f7fbff;padding:12px 14px}.silver-validation-title{font-size:.9rem;margin-bottom:10px;color:var(--text)}.validation-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.validation-metric{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 10px}.validation-metric strong{display:block;margin-top:4px;font-size:1rem}.validation-metric small{color:var(--subtext);font-size:.78rem}.dashboard-summary{margin-bottom:12px}.dashboard-subtitle{font-size:.9rem;margin-bottom:10px;color:var(--text)}.gold-metrics-section{margin-top:4px}.gold-metrics-heading{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--subtext);margin-bottom:10px}.gold-metrics-grid{display:grid;gap:10px}.gold-metrics-section--sidebar .gold-metrics-grid{grid-template-columns:1fr}.gold-metrics-section--wide .gold-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gold-metric-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0}.gold-metric-value{font-size:1.5rem;font-weight:700;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}.gold-metric-label{font-size:.84rem;font-weight:600;color:var(--text);line-height:1.35;word-break:break-word}.gold-metric-hint{font-size:.74rem;color:var(--subtext);line-height:1.35;margin-top:2px}.pipeline-metrics-panel .gold-metrics-section{margin-top:0}.pipeline-metrics-panel .gold-metric-card{background:#fbfdff}.dashboard-metrics{margin-bottom:16px}.dashboard-metric-hint{display:block;margin-top:4px;color:var(--subtext);font-size:.74rem}.dashboard-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.dashboard-chart-card{border:1px solid var(--line);border-radius:10px;background:#fbfdff;padding:12px 14px}.dashboard-chart{width:100%;min-height:280px}.ops-dashboard-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ops-dashboard-tab{padding:8px 12px;border-radius:8px;font-size:.82rem;font-weight:600;background:#eaf1ff;color:#184591;border:1px solid var(--line);cursor:pointer}.ops-dashboard-tab.is-active{background:var(--primary);color:#fff;border-color:var(--primary)}.ops-refresh-hint{font-size:.8rem;color:var(--subtext);margin-bottom:12px}.ops-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ops-kpi-section{margin-bottom:16px}.ops-kpi-card strong{font-size:1.05rem}.match-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.match-tile{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fbfdff}.match-tile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.match-tile-id{font-size:.78rem;color:var(--subtext)}.match-tile-score{font-weight:700;font-size:1rem}.match-tile-minute{font-size:.82rem;color:var(--subtext);margin-bottom:6px}.match-tile-spark{height:72px;position:relative}.match-tile-spark-caption{margin-top:6px;font-size:.72rem;color:var(--subtext)}.ops-event-ticker{list-style:none;max-height:280px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:#fbfdff}.ops-event-ticker li{padding:8px 10px;border-bottom:1px solid var(--line);font-size:.82rem}.ops-event-ticker li:last-child{border-bottom:none}.ops-event-ticker time{display:inline-block;min-width:5.5rem;color:var(--subtext);font-variant-numeric:tabular-nums}.ops-event-meta{margin-left:8px}.ops-event-detail{display:block;margin-top:4px;color:var(--subtext)}.ops-daily-controls{display:flex;align-items:flex-end;gap:16px;margin-bottom:12px}.ops-date-label{max-width:200px}.ops-daily-loading{font-size:.85rem;color:var(--subtext)}.ops-daily-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-chart-tall{min-height:280px}.ops-chart-teams{min-height:320px}.ops-chart-doughnut{min-height:260px}.ops-chart-mid{min-height:240px}.biz-overview{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}.biz-overview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.biz-overview-title{font-size:1.15rem;font-weight:700;color:var(--text)}.biz-overview-date{margin-top:4px;font-size:.85rem;color:var(--subtext)}.biz-overview-date-hint,.biz-analytics-date-scope{margin:4px 0 0;font-size:.85rem;color:var(--subtext)}.biz-analytics-intro{margin-bottom:16px;padding:12px 14px;background:#f8fafc;border:1px solid var(--line);border-radius:10px}.biz-analytics-date-scope{margin:0 0 8px;font-weight:600;font-size:.85rem}.biz-analytics-intro-text{margin:0;font-size:.85rem;line-height:1.5;color:var(--muted)}.biz-analytics-highlights{margin:10px 0 0;padding-left:1.2rem;font-size:.85rem;color:var(--text);line-height:1.6}.biz-chart-meaning{margin:0 0 10px;font-size:.78rem;line-height:1.45;color:#64748b;font-style:italic}.biz-overview-live-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:999px;background:#e8f7ec;color:var(--ok);border:1px solid rgba(19,138,54,.25)}.biz-overview-error{font-size:.9rem}.biz-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.biz-stat-grid--hero{grid-template-columns:repeat(4,minmax(0,1fr))}.biz-stat-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;border-left:4px solid var(--primary);box-shadow:0 1px 2px #13233a0a}.biz-stat-card--goals{border-left-color:#e11d48}.biz-stat-card--matches{border-left-color:#1f6feb}.biz-stat-card--live{border-left-color:#7c3aed}.biz-stat-card--fans{border-left-color:#0d9488}.biz-stat-card--users{border-left-color:#b86b00}.biz-stat-card--active{border-left-color:#138a36}.biz-stat-card--default{border-left-color:var(--line)}.biz-stat-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--subtext)}.biz-stat-value{margin-top:8px;font-size:1.75rem;font-weight:700;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}.biz-stat-subtitle{margin-top:6px;font-size:.78rem;color:var(--subtext);line-height:1.35}.biz-tabs{display:flex;gap:8px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.biz-tab{padding:10px 18px;border-radius:8px;font-size:.88rem;font-weight:600;background:transparent;color:var(--subtext);border:1px solid transparent;cursor:pointer}.biz-tab.is-active{background:var(--primary);color:#fff;border-color:var(--primary)}.biz-tab-content{display:flex;flex-direction:column;gap:24px}.biz-section{display:flex;flex-direction:column;gap:14px}.biz-section-title{font-size:.95rem;font-weight:700;color:var(--text)}.biz-chart-subtitle{font-size:.78rem;color:var(--subtext);margin:-4px 0 10px}.biz-toolbar{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.biz-panel-heading{font-size:1rem;font-weight:700;color:var(--text);margin:0 0 12px}.biz-toolbar--panel{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.biz-toolbar--global{margin:0 0 20px;padding:14px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.biz-toolbar-hint{font-size:.85rem;color:var(--subtext);align-self:center;text-align:center;min-height:38px;display:inline-flex;align-items:center;margin-top:20px}.biz-stat-card--skeleton{min-height:88px;background:linear-gradient(90deg,#dbe3ef59,#dbe3efa6,#dbe3ef59);background-size:200% 100%;animation:biz-shimmer 1.2s ease-in-out infinite}.biz-chart--loading{background:linear-gradient(90deg,#dbe3ef59,#dbe3efa6,#dbe3ef59);background-size:200% 100%;animation:biz-shimmer 1.2s ease-in-out infinite;border-radius:8px}@keyframes biz-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.biz-valid-records{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.biz-valid-records-head{margin-bottom:12px}.biz-valid-records-hint{font-size:.82rem;color:var(--subtext);margin:4px 0 0}.biz-record-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.biz-record-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.82rem;font-weight:600;color:var(--subtext);cursor:pointer}.biz-record-tab.is-active{border-color:var(--primary);color:var(--primary);background:#f0f6ff}.biz-record-tab-count{font-size:.75rem;padding:2px 6px;border-radius:6px;background:#1f6feb1f}.biz-records-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.biz-records-table{width:100%;border-collapse:collapse;font-size:.82rem}.biz-records-table th,.biz-records-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}.biz-records-table th{font-weight:700;color:var(--subtext);background:#f8fafc;white-space:nowrap}.biz-records-table tbody tr:last-child td{border-bottom:none}.biz-records-table tbody tr:hover{background:#fafcff}.biz-records-dq{color:var(--ok);font-weight:600}.biz-date-picker{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:600;color:var(--subtext)}.biz-date-picker input{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:.9rem;max-width:200px}.biz-loading,.biz-loading-inline,.biz-empty{font-size:.88rem;color:var(--subtext)}.biz-empty-state{display:flex;flex-direction:column;gap:10px}.biz-empty-state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.biz-empty-state-card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fbfdff}.biz-empty-state-card h4{margin:0 0 4px;display:inline-flex;align-items:center;gap:6px;font-size:.86rem;color:var(--text)}.biz-empty-state-card p{margin:0;font-size:.8rem;line-height:1.45;color:var(--subtext)}.biz-analytics-empty-state{display:flex;flex-direction:column;gap:10px}.biz-analytics-empty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.biz-analytics-empty-card{border:1px dashed #cbd8ec;border-radius:10px;padding:12px 14px;background:#f9fbff}.biz-analytics-empty-card h4{margin:0 0 4px;display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:#1f3557}.biz-analytics-empty-card p{margin:0;font-size:.8rem;line-height:1.45;color:#586d89}.biz-error-panel{padding:12px 14px;border-radius:10px;background:#fff9f0;border:1px solid rgba(184,107,0,.25)}.biz-match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.biz-match-card{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:linear-gradient(180deg,#fff,#f8fbff)}.biz-match-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.biz-match-id{font-size:.8rem;font-weight:600;color:var(--subtext)}.biz-match-minute{font-size:.82rem;font-weight:700;color:var(--primary);background:#eaf1ff;padding:2px 8px;border-radius:6px}.biz-match-scoreline{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:4px}.biz-match-score{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums}.biz-match-sep{font-size:1.25rem;color:var(--subtext)}.biz-match-goals-label{text-align:center;font-size:.8rem;color:var(--subtext);margin-bottom:10px}.biz-match-spark{height:64px}.biz-match-spark-caption{margin-top:6px;font-size:.72rem;color:var(--subtext);text-align:center}.biz-event-feed{list-style:none;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.biz-event-row{display:grid;grid-template-columns:5.5rem 1fr;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:.85rem}.biz-event-row:last-child{border-bottom:none}.biz-event-row time{color:var(--subtext);font-variant-numeric:tabular-nums}.biz-event-body{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}.biz-event-type{font-weight:700;color:var(--text)}.biz-event-match{font-size:.8rem;color:var(--primary)}.biz-event-detail{flex-basis:100%;color:var(--subtext);font-size:.8rem}.biz-event-empty{padding:16px;color:var(--subtext)}.biz-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.biz-charts-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.biz-chart-card--fullwidth{grid-column:1 / -1}.biz-chart--match-goals{min-height:280px}.biz-match-goals-kicker{margin:0 0 12px;font-size:.82rem;font-weight:600;color:var(--subtext)}.biz-match-goals-scroll{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.biz-match-goals-table{width:100%;border-collapse:collapse;font-size:.88rem}.biz-match-goals-table thead th{position:sticky;top:0;z-index:1;padding:10px 14px;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--subtext);background:#f4f7fb;border-bottom:1px solid var(--line)}.biz-match-goals-scorehead{text-align:center;width:96px}.biz-match-goals-table tbody tr:nth-child(2n){background:#fafbfd}.biz-match-goals-table tbody td{padding:10px 14px;border-bottom:1px solid rgba(219,227,239,.65);vertical-align:middle}.biz-match-goals-table tbody tr:last-child td{border-bottom:none}.biz-match-goals-team{font-weight:600;color:var(--text)}.biz-match-goals-score{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.biz-match-goals-num{display:inline-block;min-width:1.25rem;font-weight:700;font-size:.95rem}.biz-match-goals-dash{margin:0 6px;color:var(--subtext);font-weight:500}.biz-chart-card{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fbfdff;overflow:visible}.biz-chart{position:relative;width:100%;min-height:240px;overflow:visible}.biz-chart canvas{max-width:100%}.biz-chart--tall{min-height:280px}.biz-chart--teams{min-height:300px}.biz-chart--scroll{max-height:300px;overflow-y:auto;min-height:300px}.biz-chart-inner{position:relative;width:100%}.biz-chart-card--doughnut-centered{grid-column:1 / -1;justify-self:center;width:min(100%,calc(50% - 8px))}.biz-chart--doughnut{min-height:260px;max-width:420px;margin-inline:auto}.biz-chart--mid{min-height:240px}@media(max-width:1200px){.gold-metrics-section--wide .gold-metrics-grid,.pipeline-metrics-section .silver-val-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1200px)and (min-width:921px){.biz-stat-grid--hero{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:920px){.simulator-shell,.pipeline-shell{grid-template-columns:1fr}.pipeline-sidebar{position:static}.app-header{flex-direction:column;align-items:stretch}.app-nav{width:100%}.app-nav-link{flex:1 1 auto;text-align:center}.status-badge{align-self:flex-start}.pipeline-audit-section,.pipeline-metrics-section,.pipeline-banner{padding:14px 16px}.pipeline-banner-top{flex-direction:column;align-items:flex-start}.pipeline-layer-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;margin-inline:-4px;padding-inline:4px}.pipeline-layer-tab{white-space:nowrap}.audit-panel-toolbar{flex-direction:column;align-items:stretch}.audit-panel-controls{width:100%;justify-content:space-between}.gold-metrics-section--wide .gold-metrics-grid,.silver-val-stats,.pipeline-metrics-section .silver-val-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline-flow{flex-direction:column;align-items:stretch;overflow-x:visible}.pipeline-flow-item{flex-direction:column;min-width:0;max-width:none;width:100%}.pipeline-node{max-width:none}.pipeline-connector{width:2px;height:16px;margin:4px auto}.pipeline-steps,.validation-metrics,.dashboard-charts,.ops-kpi-grid,.ops-daily-charts{grid-template-columns:1fr}.biz-stat-grid--hero{grid-template-columns:repeat(2,minmax(0,1fr))}.biz-stat-grid,.biz-charts-grid,.biz-empty-state-grid,.biz-analytics-empty-grid{grid-template-columns:1fr}.biz-chart-card--doughnut-centered{width:100%;max-width:520px}}@media(max-width:600px){body{padding:10px}.panel{padding:12px}.title-wrap h1{font-size:1.1rem}.app-nav{flex-direction:column}.app-nav-link{width:100%}.button-group{grid-template-columns:1fr}.pipeline-audit-section,.pipeline-metrics-section,.pipeline-audit-card{padding-left:12px;padding-right:12px}.pipeline-audit-card{padding:10px 12px}.pipeline-layer-pill{flex:1 1 calc(50% - 6px);min-width:0}.pipeline-layer-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline-layer-pill--gold{grid-column:1 / -1}.gold-metrics-section--wide .gold-metrics-grid,.silver-val-stats,.pipeline-metrics-section .silver-val-stats{grid-template-columns:1fr}.gold-metric-value{font-size:1.25rem}.audit-table-scroll{max-height:min(360px,50vh)}.audit-table-scroll .audit-table{min-width:32rem;font-size:.78rem}.audit-table-scroll .audit-table th,.audit-table-scroll .audit-table td{padding:6px 8px}.cell-ellipsis{max-width:7rem}.audit-page-size span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.audit-panel-controls{flex-direction:column;align-items:stretch;gap:10px}.audit-pagination{justify-content:center}.audit-page-btn{flex:1;min-height:40px}.pipeline-chart-card-body--chart{min-height:180px}.pipeline-metrics-section .silver-val-chart-wrap{min-height:220px}.pipeline-node{min-height:auto}.biz-stat-grid--hero,.pipeline-empty-guide-grid,.pipeline-empty-guide-highlights{grid-template-columns:1fr}}.governance-shell{width:100%;display:flex;flex-direction:column;gap:20px;max-width:var(--app-max-width);margin:0 auto;padding:0 0 48px}.governance-header{align-items:flex-start}.governance-lead{margin-top:6px;font-size:.9rem;color:var(--subtext);max-width:52rem;line-height:1.45}.governance-lead code{font-size:.85em}.gov-slice-panel{padding:16px 20px}.gov-toolbar select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:.9rem;min-width:180px}.governance-panel{padding:20px 24px 28px}.governance-body{min-height:200px}.gov-overview{margin-bottom:0}.gov-error{font-size:.88rem}.gov-loading-pill{font-size:.78rem;font-weight:600;color:var(--subtext);padding:4px 10px;border-radius:999px;border:1px solid var(--line)}.gov-tab-content{display:flex;flex-direction:column;gap:24px}.gov-section{display:flex;flex-direction:column;gap:12px}.gov-section-lead{font-size:.86rem;color:var(--subtext);line-height:1.45;margin:0}.gov-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.72rem;font-weight:700;text-transform:lowercase}.gov-badge--success{background:#e8f5e9;color:#2e7d32}.gov-badge--fail{background:#ffebee;color:#c62828}.gov-badge--warn{background:#fff8e1;color:#f57f17}.gov-badge--neutral{background:#eceff1;color:#546e7a}.monitoring-health-list{display:flex;flex-direction:column;gap:8px}.monitoring-health-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.monitoring-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.monitoring-dot--green{background:#16a34a}.monitoring-dot--yellow{background:#d97706}.monitoring-dot--red{background:#dc2626}.monitoring-health-name{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--text)}.monitoring-health-rate{font-size:.88rem;font-weight:700;color:var(--subtext)}.monitoring-shell{width:100%;max-width:var(--app-max-width);margin:0 auto}.monitoring-panel{padding:20px 24px 28px;display:flex;flex-direction:column;gap:16px}.monitoring-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.monitoring-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.monitoring-subtext{margin-top:4px;font-size:.88rem;color:var(--subtext)}.monitoring-state-pill{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:999px}.monitoring-state-pill--green{background:#e8f5e9;color:#2e7d32}.monitoring-state-pill--yellow{background:#fff8e1;color:#b26a00}.monitoring-state-pill--red{background:#ffebee;color:#c62828}.monitoring-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.monitoring-block{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.monitoring-logic-list{display:flex;flex-direction:column;gap:8px;font-size:.86rem;color:var(--subtext)}@media(max-width:980px){.monitoring-grid{grid-template-columns:1fr}}.mon-ref-shell{width:100%;max-width:var(--app-max-width);margin:0 auto}.mon-ref-panel{padding:16px;border-radius:14px}.mon-ref-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.mon-ref-subtitle{margin-top:4px;color:var(--subtext);font-size:.94rem}.mon-ref-top-right{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.mon-ref-live-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:700;color:#128f44}.mon-ref-dot-live{width:10px;height:10px;border-radius:50%;background:#16a34a}.mon-ref-live-text{font-size:.9rem;color:var(--subtext);margin-right:4px}.mon-ref-run-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:.95rem}.mon-ref-sep{color:#9aa7bb}.mon-ref-healthy-chip{padding:3px 10px;border-radius:999px;background:#e8f7ee;color:#128f44;font-weight:700}.mon-ref-status-row{margin-top:12px;display:flex;align-items:center;gap:10px;border:1px solid #fed7aa;border-radius:10px;padding:10px 12px;background:#fffaf1;color:#b45309}.mon-ref-status-row strong{color:#c2410c}.mon-ref-status-row--healthy{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.mon-ref-status-row--healthy strong{color:#15803d}.mon-ref-kpi-grid{margin-top:14px;display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;align-items:stretch}.mon-ref-kpi-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;display:flex;gap:12px;align-items:center;min-height:120px;height:100%}.mon-ref-kpi-card>div:last-child{min-width:0;display:flex;flex-direction:column;justify-content:center}.mon-ref-kpi-icon{width:48px;height:48px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.mon-ref-kpi-icon .material-symbols-outlined{font-size:24px}.mon-ref-kpi-icon--orange{background:#fff4e5;color:#ea580c}.mon-ref-kpi-icon--red{background:#ffe8ea;color:#e11d48}.mon-ref-kpi-icon--blue{background:#eaf1ff;color:#2563eb}.mon-ref-kpi-icon--green{background:#e8f7ee;color:#16a34a}.mon-ref-kpi-icon--purple{background:#f3e8ff;color:#7c3aed}.mon-ref-kpi-label{font-size:.82rem;font-weight:700;color:#4d5f7f}.mon-ref-kpi-value{margin-top:2px;font-size:2.1rem;font-weight:800;line-height:1.05;color:#0e2340}.mon-ref-kpi-value--warn{color:#ea580c}.mon-ref-kpi-foot{margin-top:6px;font-size:.84rem;color:var(--subtext)}.mon-ref-two-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.mon-ref-three-grid{margin-top:12px;display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(440px,1.35fr) minmax(220px,.55fr);gap:12px}.mon-ref-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;min-width:0;min-height:420px;display:flex;flex-direction:column;overflow:hidden}.mon-ref-card .audit-table-scroll{overflow:auto;flex:1;min-height:0}.mon-ref-card .audit-table{min-width:100%;width:100%;table-layout:fixed}.mon-ref-card .audit-table th,.mon-ref-card .audit-table td{padding:8px 10px;font-size:.78rem;white-space:normal;overflow-wrap:anywhere}.mon-ref-search-row{margin:8px 0 10px}.mon-ref-search-input{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 12px;font-size:.92rem;color:var(--text-main)}.mon-ref-search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.mon-ref-filter-bar{margin:8px 0 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #dbe4ff;border-radius:10px;background:#f8fbff;color:var(--subtext);font-size:.88rem}.mon-ref-card-note{margin:6px 0 10px;color:var(--subtext);font-size:.9rem;line-height:1.45}.mon-ref-clear-button{border:none;background:transparent;color:#2563eb;font-weight:700;cursor:pointer;padding:0}.mon-ref-clickable-row{cursor:pointer}.mon-ref-clickable-row:hover{background:#f8fbff}.mon-ref-row-link{border:none;background:transparent;color:#2563eb;font:inherit;font-weight:700;padding:0;cursor:pointer;text-align:left}.mon-ref-empty-row{text-align:center;color:var(--subtext);padding:14px 10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mon-ref-status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.mon-ref-status-dot--green{background:#16a34a}.mon-ref-status-dot--yellow{background:#f97316}.mon-ref-status-dot--red{background:#e11d48}.mon-ref-status-text--green{color:#15803d;font-weight:700}.mon-ref-status-text--yellow{color:#c2410c;font-weight:700}.mon-ref-status-text--red{color:#dc2626;font-weight:700}.mon-ref-tag{display:inline-block;font-size:.78rem;font-weight:700;text-transform:lowercase;border-radius:8px;padding:2px 8px}.mon-ref-tag--critical{background:#ffe4e6;color:#dc2626}.mon-ref-tag--warning{background:#ffedd5;color:#ea580c}.mon-ref-tag--info{background:#dbeafe;color:#2563eb}.mon-ref-tag--pass{background:#dcfce7;color:#15803d}.mon-ref-age-critical{color:#dc2626;font-weight:700}.mon-ref-age-warning{color:#ea580c;font-weight:700}.mon-ref-age-info{color:#2563eb;font-weight:700}.mon-ref-link-row{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:#2563eb;font-weight:700;font-size:.95rem;background:transparent;border:none;padding:10px 0 0;cursor:pointer}.mon-ref-link-row .material-symbols-outlined{font-size:18px}.mon-ref-card--severity .mon-ref-severity-grid{margin-top:10px;display:grid;grid-template-columns:1fr;gap:8px;flex:1;align-content:start}.mon-ref-severity-box{border-radius:10px;color:#fff;padding:10px 8px;text-align:left;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.mon-ref-severity-box strong{display:block;font-size:1.6rem;line-height:1}.mon-ref-severity-box span{font-size:.82rem;font-weight:700;display:block;white-space:nowrap}.mon-ref-severity-box--red{background:linear-gradient(140deg,#dc2626,#e11d48)}.mon-ref-severity-box--orange{background:linear-gradient(140deg,#f97316,#ea580c)}.mon-ref-severity-box--blue{background:linear-gradient(140deg,#2563eb,#1d4ed8)}@media(max-width:1500px){.mon-ref-kpi-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.mon-ref-three-grid{grid-template-columns:1fr 1fr}.mon-ref-card--severity{grid-column:1 / -1}.mon-ref-card--severity .mon-ref-severity-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media(max-width:1100px){.mon-ref-top{flex-direction:column}.mon-ref-top-right{justify-content:flex-start}.mon-ref-kpi-grid,.mon-ref-two-grid,.mon-ref-three-grid{grid-template-columns:1fr}}.gov-lineage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.gov-lineage-card{border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--surface, #fafbfc)}.gov-lineage-head{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.gov-lineage-run{font-size:.75rem;color:var(--subtext);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gov-lineage-stages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.gov-lineage-stage{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.84rem;padding:6px 8px;border-radius:8px;border:1px solid #e6ebf2;background:#fbfcff}.gov-lineage-stage--sev-3{border-color:#ffcdd2;background:#fff8f8}.gov-lineage-stage--sev-2{border-color:#ffe0b2;background:#fffaf3}.gov-lineage-stage--sev-1{border-color:#c8e6c9;background:#f7fff9}.gov-lineage-layer{font-weight:700;text-transform:uppercase;font-size:.72rem;color:var(--subtext)}.gov-lineage-arrow{color:var(--subtext)}.gov-mono{font-family:ui-monospace,monospace;font-size:.85em}.gov-dq-summary{display:flex;flex-wrap:wrap;gap:10px}.gov-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.gov-section--collapsed .audit-table-scroll{display:none}.gov-search-toolbar{margin-top:0;margin-bottom:10px}.gov-search-picker{min-width:min(100%,520px)}.gov-search-picker input[type=search]{width:100%}.gov-search-hint{margin:0 0 8px;color:var(--subtext);font-size:.9rem}.gov-dq-chip{font-size:.8rem;font-weight:600;padding:6px 12px;border-radius:8px;background:#eceff1;color:#37474f}.gov-dq-chip--fail{background:#ffebee;color:#c62828}.gov-dq-chip--warn{background:#fff8e1;color:#f57f17}.gov-gdpr-grid,.gov-contracts-grid{display:flex;flex-direction:column;gap:28px}.gov-contract-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.gov-contract-card{border:1px solid var(--line);border-radius:10px;padding:16px}.gov-contract-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.gov-contract-head h4{margin:0;font-size:1rem}.gov-classification{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:6px;text-transform:lowercase}.gov-classification--pii_present{background:#fff3e0;color:#e65100}.gov-classification--pii_free{background:#e8f5e9;color:#2e7d32}.gov-contract-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:0 0 12px;font-size:.82rem}.gov-contract-meta dt{font-weight:600;color:var(--subtext)}.gov-contract-meta dd{margin:2px 0 0}.gov-contract-columns{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:.84rem}.gov-pii-tag{margin-left:8px;font-size:.72rem;font-weight:600;color:#e65100}.gov-pii-tag--none{color:var(--subtext)}.gov-enum-hint{margin-left:6px;font-size:.72rem;color:var(--subtext)}.gov-table th,.gov-table td{font-size:.82rem}.layer-block-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-layer-info{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:.82rem;font-weight:600;border:1px solid var(--line);background:#fff;color:var(--primary);cursor:pointer}.btn-layer-info:hover:not(:disabled){background:#eef4ff;border-color:var(--primary)}.btn-layer-info:disabled{opacity:.45;cursor:not-allowed;color:var(--subtext)}.btn-layer-info--has-error{border-color:#ef9a9a}.btn-layer-info-count{font-size:.75rem;font-weight:700;padding:1px 6px;border-radius:999px;background:#e3f2fd;color:var(--primary)}.btn-layer-info-error{font-size:.72rem;font-weight:700;color:#c62828}.dag-log-panel-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:flex-end}.dag-log-panel-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0f172a59;cursor:pointer}.dag-log-panel{position:relative;width:min(420px,92vw);max-width:100%;height:100%;background:#fff;box-shadow:-8px 0 32px #0f172a1f;display:flex;flex-direction:column;animation:dag-log-panel-in .2s ease-out}@keyframes dag-log-panel-in{0%{transform:translate(100%)}to{transform:translate(0)}}.dag-log-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);flex-shrink:0}.dag-log-panel-title{margin:0;font-size:1.1rem;font-weight:700}.dag-log-panel-subtitle{margin:4px 0 0;font-size:.82rem;color:var(--subtext)}.dag-log-panel-close{width:36px;height:36px;border:none;border-radius:8px;background:transparent;font-size:1.5rem;line-height:1;color:var(--subtext);cursor:pointer}.dag-log-panel-close:hover{background:#f0f4f8;color:var(--text)}.dag-log-panel-body{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:16px 20px 20px;min-height:0}.dag-log-panel-lead{margin:0 0 12px;font-size:.82rem;color:var(--subtext);flex-shrink:0}.dag-log-panel-body .dag-log-feed{max-height:none;flex:1;min-height:0}.dag-log-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto}.dag-log-item{padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:#fafbfc;font-size:.84rem}.dag-log-item--error{border-color:#f5c6cb;background:#fff5f5}.dag-log-item--warn{border-color:#ffe082;background:#fffdf5}.dag-log-item--info{border-color:#c8e6c9;background:#f6fff7}.dag-log-item-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.dag-log-item-head time{font-size:.78rem;color:var(--subtext);font-variant-numeric:tabular-nums}.dag-log-level{font-size:.68rem;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:#eceff1;color:#546e7a}.dag-log-item--error .dag-log-level{background:#ffcdd2;color:#c62828}.dag-log-summary{flex:1;min-width:0;color:var(--text);line-height:1.4}.dag-log-meta{margin:6px 0 0;font-size:.75rem;color:var(--subtext)}.dag-log-meta-label{font-weight:600}.dag-log-details{margin-top:8px;padding:8px 10px;border-radius:6px;background:#f0f4f8;border-left:3px solid #90a4ae}.dag-log-details--error{background:#fff;border-left-color:#c62828}.dag-log-details-label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--subtext);margin-bottom:4px}.dag-log-details--error .dag-log-details-label{color:#c62828}.dag-log-details-body{margin:0;font-family:ui-monospace,monospace;font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--text)}.dag-log-empty{font-size:.86rem;color:var(--subtext);margin:0}.dash-ref-shell{padding:18px;border-radius:14px}.dash-ref-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.dash-ref-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.dash-ref-refresh{color:var(--subtext);font-size:.83rem;font-weight:600}.dash-ref-pill{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;font-size:.84rem;font-weight:600}.dash-ref-filter{display:inline-flex;align-items:center;gap:6px}.dash-ref-date-range{display:inline-flex;align-items:center;gap:8px}.dash-ref-date-input{border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:#fff;color:var(--text);font-size:.82rem;font-weight:600}.dash-ref-date-sep{color:var(--subtext);font-size:.82rem;font-weight:600}.dash-ref-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px}.dash-ref-kpi-card{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;gap:12px;align-items:center;min-height:96px;background:#fff}.dash-ref-kpi-icon{width:42px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.dash-ref-kpi-icon .material-symbols-outlined{font-size:22px}.dash-ref-kpi-icon--blue{background:#eaf1ff;color:#1f6feb}.dash-ref-kpi-icon--green{background:#e8f7ee;color:#15803d}.dash-ref-kpi-icon--purple{background:#f1ebff;color:#7c3aed}.dash-ref-kpi-icon--orange{background:#fff4e8;color:#d97706}.dash-ref-kpi-icon--red{background:#ffebee;color:#e11d48}.dash-ref-kpi-label{font-size:.78rem;font-weight:700;color:#5a6f8c;text-transform:uppercase}.dash-ref-kpi-value{font-size:2rem;line-height:1.1;font-weight:800;color:#0f2340}.dash-ref-kpi-delta{margin-top:3px;font-size:.82rem;color:#15803d;font-weight:600}.dash-ref-main-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;align-items:stretch}.dash-ref-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;align-items:stretch}.dash-ref-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;min-width:0;min-height:260px}.dash-ref-card--fixed{min-height:320px}.dash-ref-card .dashboard-chart{min-height:220px}.dash-ref-card .audit-table-scroll{max-height:260px}.dash-ref-loader{min-height:220px;display:flex;align-items:center;justify-content:center;color:var(--subtext);font-size:.9rem;border:1px dashed var(--line);border-radius:8px;background:#f8fbff}.dash-ref-coming-soon{display:flex;flex-direction:column;justify-content:center;min-height:180px}.dash-ref-coming-soon p{color:var(--subtext)}.aud-heatmap{display:flex;flex-direction:column;gap:10px}.aud-heatmap-grid{display:grid;gap:8px}.aud-heatmap-row{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:8px}.aud-heatmap-row-label{font-size:.78rem;color:#334155;font-weight:700}.aud-heatmap-row-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.aud-heatmap-cell{height:32px;border-radius:3px;background:linear-gradient(135deg,#2563eb,#22c1dc)}.aud-heatmap-col-labels{margin-left:68px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.aud-heatmap-col-labels span{text-align:center;font-size:.76rem;color:#475569;font-weight:600}.aud-heatmap-scale{margin-left:68px;display:flex;align-items:center;gap:8px}.aud-heatmap-scale span{font-size:.76rem;color:#475569;font-weight:600}.aud-heatmap-scale div{flex:1;height:8px;border-radius:999px;background:linear-gradient(90deg,#2563eb,#22c1dc,#f59e0b)}.aud-funnel{padding:8px 10px;display:flex;flex-direction:column;gap:6px}.aud-funnel-step{color:#0b1f3a;display:flex;justify-content:space-between;align-items:center;padding:14px 56px;font-size:.96rem;font-weight:700;clip-path:polygon(6% 0%,100% 0%,94% 100%,0% 100%)}.aud-funnel-label{margin:0;font-weight:700;letter-spacing:.01em;color:#0b1f3a}.aud-funnel-value{font-size:1rem;font-weight:800;color:#0b1f3a;text-shadow:0 1px 0 rgba(255,255,255,.25)}.aud-funnel-step--1{background:#7db9ff}.aud-funnel-step--2{background:#46d4be}.aud-funnel-step--3{background:#b594ff}.aud-funnel-step--4{background:#ffb13b}.dash-ref-side-stats{display:grid;gap:10px;align-content:start}.dash-ref-side-stat{border-bottom:1px solid #edf2f7;padding-bottom:8px}.dash-ref-side-stat:last-child{border-bottom:0;padding-bottom:0}.dash-ref-side-stat p{font-size:.84rem;color:var(--subtext)}.dash-ref-side-stat strong{display:block;font-size:1.8rem;line-height:1.15;color:#0f2340}.dash-ref-side-stat span{font-size:.8rem;color:#15803d;font-weight:600}.dash-ref-insights{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}.dash-ref-insight{display:flex;align-items:flex-start;gap:10px;padding:8px}.dash-ref-insight-icon{width:36px;height:36px;border-radius:999px;background:#eef4ff;color:#1f6feb;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.dash-ref-insight h4{margin:0;font-size:.94rem;color:#13233a}.dash-ref-insight p{margin-top:2px;font-size:.82rem;color:#5b6c83;line-height:1.4}.dash-quick-nav{margin-top:14px;padding:14px 16px 18px}.dash-quick-nav-head{margin-bottom:12px}.dash-quick-nav-head h3{margin:0;font-size:1.05rem;font-weight:800;color:var(--text)}.dash-quick-nav-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.dash-quick-nav-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px 16px;min-width:0;color:var(--text);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.dash-quick-nav-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px #1f6feb14;border-color:#1f6feb47}.dash-quick-nav-icon{width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.dash-quick-nav-icon .material-symbols-outlined{font-size:22px}.dash-quick-nav-icon--red{background:#ffebee;color:#e11d48}.dash-quick-nav-icon--green{background:#e8f7ee;color:#15803d}.dash-quick-nav-icon--purple{background:#f1ebff;color:#7c3aed}.dash-quick-nav-icon--blue{background:#eaf1ff;color:#1f6feb}.dash-quick-nav-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dash-quick-nav-copy strong{font-size:.92rem;font-weight:800}.dash-quick-nav-copy span{font-size:.8rem;color:var(--subtext)}.dash-quick-nav-arrow{color:#5a6f8c;flex-shrink:0}.app-nav-divider{width:1px;align-self:stretch;background:#5a6f8c38;margin:0 4px}.exec-health-list{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.exec-health-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #eef2f6}.exec-health-row:last-child{border-bottom:none}.exec-health-name{font-size:.9rem;font-weight:600;color:#253858}.exec-health-value{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;font-weight:700}.exec-health-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.exec-health-dot--green{background:#16a34a}.exec-health-dot--yellow{background:#f59e0b}.exec-health-value--green{color:#17803d}.exec-health-value--yellow{color:#d97706}.exec-alert-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.exec-alert-summary-card{border-radius:10px;padding:14px 12px;text-align:center;border:1px solid transparent}.exec-alert-summary-card p{font-size:.86rem;font-weight:700;margin:0 0 8px}.exec-alert-summary-card strong{font-size:2.2rem;line-height:1;font-weight:800}.exec-alert-summary-card--red{background:#fff1f2;border-color:#fecdd3;color:#dc2626}.exec-alert-summary-card--orange{background:#fff7ed;border-color:#fed7aa;color:#ea580c}.exec-alert-summary-card--blue{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}@media(max-width:1200px){.dash-ref-main-grid,.dash-ref-bottom-grid{grid-template-columns:1fr}.dash-ref-insights{grid-template-columns:1fr 1fr}}@media(max-width:720px){.dash-ref-head{flex-direction:column;align-items:flex-start}.dash-ref-controls{justify-content:flex-start}.dash-ref-insights{grid-template-columns:1fr}.dash-ref-kpi-value{font-size:1.6rem}}
