@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-latin-variable.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-latin-ext-variable.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--galaxy-600:#304777;--galaxy-700:#1b3166;--galaxy-800:#071c55;--galaxy-900:#000244;--warm-blue-900:#474cde;--summer-mist-500:#ddf7f4;--melting-glacier-500:#effaf9;--purple-illusion-100:#ecedfc;--purple-illusion-500:#d4d6f7;--space-battle-blue-600:#635ebe;--heron-400:#a6a7c3;--heron-500:#9899b9;--noble-knight-400:#9194b8;--noble-knight-600:#6f73a1;--noble-knight-700:#5f6295;--noble-knight-800:#505289;--ethereal-mist-500:#cccddf;--gray-500:#717680;--gray-600:#535862;--success-100:#d1fadf;--success-300:#6ce9a6;--success-400:#32d583;--success-500:#12b76a;--success-700:#027a48;--success-900:#054f31;--error-100:#fee4e2;--error-300:#fda29b;--error-400:#f97066;--error-500:#f04438;--error-700:#b42318;--error-900:#7a271a;--warning-50:#fffaeb;--warning-100:#fef0c7;--warning-200:#fedf89;--warning-400:#fdb022;--warning-500:#f79009;--warning-700:#b54708;--warning-900:#7a2e0e;--white:#fff;--theme-brand-dark:#c6c7f8;--theme-text-on-dark:#ededff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-4:4px;--radius-8:8px;--radius-12:12px;--radius-full:80px;--shadow-sm:0 1px 2px 0 #1959870f, 0 1px 3px 0 #1959871a;--shadow-md:0 2px 4px -2px #1959870f, 0 4px 8px -2px #1959871a;--shadow-lg:0 4px 6px -2px #19598708, 0 12px 16px -4px #19598714;--shadow-product-sm:0 4px 14px 2px #363b641a;--shadow-product-lg:0 4px 24px 0 #363b6433;--font-family:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--display-xs-size:24px;--display-xs-line:32px;--text-xl-size:20px;--text-xl-line:30px;--text-lg-size:18px;--text-lg-line:28px;--text-md-size:16px;--text-md-line:24px;--text-sm-size:14px;--text-sm-line:20px;--text-xs-size:12px;--text-xs-line:18px}*{box-sizing:border-box;margin:0;padding:0}:root{font-family:var(--font-family);--color-text:var(--galaxy-900);--color-text-muted:var(--noble-knight-800);--color-text-light:var(--noble-knight-700);--color-text-lighter:var(--noble-knight-600);--color-bg:var(--purple-illusion-100);--color-bg-alt:var(--purple-illusion-500);--color-card-bg:var(--white);--color-card-bg-hover:var(--summer-mist-500);--color-card-bg-alt:var(--melting-glacier-500);--color-border:var(--ethereal-mist-500);--color-border-light:var(--purple-illusion-500);--color-header-bg:var(--galaxy-900);--color-header-text:var(--white);--color-section-bg:var(--white);--color-modal-bg:var(--white);--color-modal-header-bg:var(--purple-illusion-100);--color-input-bg:var(--white);--color-code-bg:var(--purple-illusion-100);--color-alert-bg:var(--warning-50);--color-alert-border:var(--warning-500);--color-alert-text:var(--galaxy-900);--color-warning-bg:var(--warning-50);--color-warning-border:var(--warning-500);--color-warning-text:var(--galaxy-900);--color-success-card-bg:linear-gradient(135deg, var(--summer-mist-500), var(--melting-glacier-500));--color-group-header-bg:var(--purple-illusion-500);--color-group-header-hover:var(--purple-illusion-100);--color-group-content-bg:var(--melting-glacier-500);--color-sublist-border:var(--ethereal-mist-500);--color-metadata-key-bg:var(--purple-illusion-100);--color-link:var(--warm-blue-900);--color-link-blue:var(--warm-blue-900);--color-cta:var(--warm-blue-900);--color-cta-hover:var(--space-battle-blue-600);--color-cta-text:var(--white);--status-success:var(--success-500);--status-success-solid:var(--success-700);--status-success-bg:var(--success-100);--status-success-text:var(--success-700);--status-error:var(--error-500);--status-error-solid:var(--error-700);--status-error-bg:var(--error-100);--status-error-text:var(--error-700);--status-warning:var(--warning-500);--status-warning-solid:var(--warning-700);--status-warning-bg:var(--warning-100);--status-warning-text:var(--warning-700);--status-unknown:var(--gray-500);--status-unknown-solid:var(--gray-500);--status-unknown-bg:var(--purple-illusion-500);--status-unknown-text:var(--gray-600);color:var(--color-text);background-color:var(--color-bg);line-height:1.5}:root.dark{--color-text:var(--theme-text-on-dark);--color-text-muted:var(--heron-400);--color-text-light:var(--heron-500);--color-text-lighter:var(--noble-knight-400);--color-bg:var(--galaxy-900);--color-bg-alt:var(--galaxy-800);--color-card-bg:var(--galaxy-800);--color-card-bg-hover:var(--galaxy-700);--color-card-bg-alt:var(--galaxy-800);--color-border:var(--galaxy-600);--color-border-light:var(--galaxy-700);--color-header-bg:var(--galaxy-900);--color-header-text:var(--theme-text-on-dark);--color-section-bg:var(--galaxy-800);--color-modal-bg:var(--galaxy-800);--color-modal-header-bg:var(--galaxy-700);--color-input-bg:var(--galaxy-700);--color-code-bg:var(--galaxy-700);--color-alert-bg:var(--warning-900);--color-alert-border:var(--warning-500);--color-alert-text:var(--theme-text-on-dark);--color-warning-bg:var(--warning-900);--color-warning-border:var(--warning-500);--color-warning-text:var(--theme-text-on-dark);--color-success-card-bg:linear-gradient(135deg, var(--success-900), var(--galaxy-800));--color-group-header-bg:var(--galaxy-700);--color-group-header-hover:var(--galaxy-600);--color-group-content-bg:var(--galaxy-900);--color-sublist-border:var(--galaxy-600);--color-metadata-key-bg:var(--galaxy-700);--color-link:var(--theme-brand-dark);--color-link-blue:var(--theme-brand-dark);--status-success:var(--success-400);--status-success-solid:var(--success-900);--status-success-bg:var(--success-900);--status-success-text:var(--success-300);--status-error:var(--error-400);--status-error-solid:var(--error-900);--status-error-bg:var(--error-900);--status-error-text:var(--error-300);--status-warning:var(--warning-400);--status-warning-solid:var(--warning-900);--status-warning-bg:var(--warning-900);--status-warning-text:var(--warning-200);--status-unknown:var(--heron-500);--status-unknown-solid:var(--galaxy-600);--status-unknown-bg:var(--galaxy-600);--status-unknown-text:var(--ethereal-mist-500)}body{background-color:var(--color-bg);color:var(--color-text)}.app{flex-direction:column;min-height:100vh;display:flex}.header{background-color:var(--color-header-bg);color:var(--color-header-text);padding:var(--space-3) var(--space-8) 0;gap:var(--space-3);flex-direction:column;display:flex}.header-bar{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.brand{align-items:center;gap:var(--space-3);font-size:var(--text-xl-size);line-height:var(--text-xl-line);font-weight:var(--weight-bold);letter-spacing:-.01em;margin:0;display:flex}.brand-logo{width:auto;height:24px;display:block}.header-actions{align-items:center;gap:var(--space-1);display:flex}.header-menu{position:relative}.header-menu-trigger,.icon-toggle{min-width:36px;height:36px;padding:0 var(--space-2);border-radius:var(--radius-8);color:inherit;font-size:var(--text-md-size);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;line-height:1;display:inline-flex}.header-menu-trigger:hover,.icon-toggle:hover{background:#ffffff1f}.header-menu-trigger:focus-visible,.icon-toggle:focus-visible{outline-offset:2px;outline:2px solid}.header-menu-trigger[aria-expanded=true],.icon-toggle[aria-pressed=true]{background:#ffffff2e}.avatar{width:26px;height:26px;font-size:var(--text-xs-size);font-weight:var(--weight-bold);letter-spacing:.02em;background:#ffffff38;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.header-menu-panel{top:calc(100% + var(--space-2));z-index:40;min-width:210px;padding:var(--space-2);gap:var(--space-1);background:var(--color-card-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-8);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute}.header-menu-panel-right{right:0}.header-menu-panel-left{left:0}.header-menu-panel .user-info{padding:var(--space-2);font-size:var(--text-xs-size);opacity:.75;overflow-wrap:anywhere;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-1)}.header-menu-panel .logout-button{text-align:left;width:100%}.toggle-label{align-items:center;gap:var(--space-2);font-size:var(--text-sm-size);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-8);display:flex}.toggle-label:hover{background:var(--color-card-bg-hover)}.toggle-label input{cursor:pointer}.toggle-label:has(input:disabled){opacity:.55;cursor:not-allowed}@media (max-width:599px){.header{padding:var(--space-3) var(--space-4) 0}.brand{font-size:var(--text-lg-size);line-height:var(--text-lg-line)}.brand-logo{height:20px}.nav-tabs{overflow-x:auto}}.nav-tabs{gap:var(--space-1);align-items:center;display:flex}.nav-tab{padding:var(--space-2) var(--space-3);border-radius:var(--radius-4);font-size:var(--text-sm-size);font-weight:var(--weight-medium);color:#ffffffbf;text-decoration:none;transition:background-color .2s,color .2s}.nav-tab:hover{color:var(--color-header-text);background-color:#ffffff26}.nav-tab-active{color:var(--color-header-text);font-weight:var(--weight-semibold);background-color:#fff3}.footer{padding:var(--space-3) var(--space-8);font-size:var(--text-xs-size);color:var(--color-text-muted);border-top:1px solid var(--color-border-light);background-color:var(--color-bg-alt);justify-content:space-between;align-items:center;display:flex}.health-banner{margin:var(--space-6) var(--space-8) 0;padding:var(--space-4);align-items:center;gap:var(--space-4);background:var(--color-card-bg);color:var(--color-text);border:1px solid var(--color-border);border-left:4px solid var(--status-unknown);border-radius:var(--radius-12);box-shadow:var(--shadow-sm);font-weight:var(--weight-semibold);display:flex}.health-banner.healthy{border-left-color:var(--status-success)}.health-banner.degraded{border-left-color:var(--status-warning)}.health-banner.unhealthy{border-left-color:var(--status-error)}.health-icon{font-size:var(--text-sm-size);font-weight:var(--weight-bold);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--status-unknown-solid);color:var(--white);flex-shrink:0}.health-banner.healthy .health-icon{background:var(--status-success-solid)}.health-banner.degraded .health-icon{background:var(--status-warning-solid)}.health-banner.unhealthy .health-icon{background:var(--status-error-solid)}.health-text{font-size:var(--text-md-size)}.health-stats{gap:var(--space-2);flex:1;justify-content:center;display:flex}.stat-item{padding:var(--space-1) var(--space-2);border-radius:var(--radius-4);font-size:var(--text-sm-size);font-weight:var(--weight-bold);text-align:center;border:1px solid #0000;min-width:28px}.stat-item.stat-healthy{background:var(--status-success-bg);color:var(--status-success-text);border-color:var(--status-success)}.stat-item.stat-failed{background:var(--status-error-bg);color:var(--status-error-text);border-color:var(--status-error)}.stat-item.stat-executing{background:var(--status-warning-bg);color:var(--status-warning-text);border-color:var(--status-warning)}.stat-item.stat-unknown{background:var(--status-unknown-bg);color:var(--status-unknown-text);border-color:var(--status-unknown)}.health-time{font-size:var(--text-xs-size);color:var(--color-text-muted)}.dashboard-toolbar{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-8) 0;display:flex}.dashboard-container{padding:var(--space-6) var(--space-8)}.section{background:var(--color-section-bg);border:1px solid var(--color-border);border-radius:var(--radius-12);padding:var(--space-6);box-shadow:var(--shadow-sm)}.section-title{font-size:var(--text-xl-size);line-height:var(--text-xl-line);font-weight:var(--weight-semibold);margin-bottom:var(--space-4);color:var(--color-text)}.section-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.filter-toggle{align-items:center;gap:var(--space-2);font-size:var(--text-sm-size);cursor:pointer;display:flex}.service-alerts{background:var(--color-alert-bg);border-left:3px solid var(--color-alert-border);border-radius:4px;margin:0 0 1rem;padding:.75rem 1rem;list-style:none}.alert-item{color:var(--color-alert-text);align-items:center;gap:.5rem;padding:.25rem 0;font-size:.875rem;display:flex}.alert-item.failed{color:var(--status-error-text)}.alert-item.recovered{color:var(--status-success-text)}.alert-item.overdue{color:var(--status-warning-text)}.alert-item.no-data{color:var(--status-unknown-text)}.no-data-services{color:var(--color-text-lighter);text-overflow:ellipsis;white-space:nowrap;max-width:400px;margin-left:4px;font-size:12px;overflow:hidden}.alert-view-btn{background:var(--color-border-light);cursor:pointer;color:var(--color-text);border:none;border-radius:4px;margin-left:auto;padding:4px 8px;font-size:12px}.alert-view-btn:hover{background:var(--color-border)}.alert-count{font-size:12px;font-weight:400}.alert-count.failed{color:var(--status-error-text)}.alert-count.recovered{color:var(--status-success-text)}.alert-time{color:var(--color-text-muted);font-size:12px;font-weight:400}.alert-details{margin-top:.25rem;margin-left:1rem}.alert-details summary{cursor:pointer;color:var(--color-text-muted);padding:var(--space-1) 0;font-size:.75rem}.alert-details summary:hover{color:var(--color-text)}.alert-sublist{border-left:2px solid var(--color-sublist-border);margin:0;padding:.25rem 0 0 .5rem;list-style:none}.alert-subitem{padding:var(--space-1) 0;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.alert-subitem.failed{color:var(--status-error-text)}.alert-subitem.recovered{color:var(--status-success-text)}.alert-subitem.overdue{color:var(--status-warning-text)}.alert-subitem .alert-view-btn{margin-left:0}.success-commit-card{background:var(--color-success-card-bg);border:2px solid var(--status-success);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.commit-header{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.commit-sha{font-family:var(--font-mono);font-size:14px}.commit-sha a{color:var(--color-link);text-decoration:none}.commit-sha a:hover{text-decoration:underline}.commit-time{color:var(--color-text-muted);margin-left:auto;font-size:.875rem}.status-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs-size);font-weight:var(--weight-semibold);text-transform:uppercase;align-items:center;gap:var(--space-1);color:var(--white);display:inline-flex}.status-badge.status-success{background-color:var(--success-700)}.status-badge.status-error{background-color:var(--error-700)}.status-badge.status-warning{background-color:var(--warning-700)}.status-badge.status-unknown{background-color:var(--gray-500)}.status-badge-icon{font-size:var(--text-xs-size);line-height:1}.status-indicator{width:16px;height:16px;font-size:var(--text-xs-size);font-weight:var(--weight-bold);color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.status-indicator.status-success{background-color:var(--success-700)}.status-indicator.status-error{background-color:var(--error-700)}.status-indicator.status-warning{background-color:var(--warning-700)}.status-indicator.status-unknown{background-color:var(--gray-500)}.region-status-icon{font-size:var(--text-xs-size);margin-right:var(--space-1);line-height:1}.warning-badge{opacity:.9;cursor:help;flex-shrink:0;font-size:1rem;line-height:1;animation:2s ease-in-out infinite subtle-pulse}@keyframes subtle-pulse{0%,to{opacity:.9}50%{opacity:.6}}.dbt-regions-compact{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.dbt-commit-header{background:var(--color-group-header-bg);border-radius:4px;align-items:center;gap:1rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.dbt-commit-header .commit-sha a{color:var(--color-link);font-family:var(--font-mono);text-decoration:none}.dbt-commit-header .commit-sha a:hover{text-decoration:underline}.dbt-commit-header .commit-time{color:var(--color-text-muted);margin-left:auto;font-size:.75rem}.dbt-region-item{background:var(--color-card-bg-alt);border-left:3px solid var(--status-unknown);border-radius:4px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.dbt-region-item.status-success{border-left-color:var(--status-success)}.dbt-region-item.status-error{border-left-color:var(--status-error)}.dbt-region-item .region-label{flex:1;font-size:.875rem}.dbt-region-item .region-time{color:var(--color-text-light);font-size:.75rem}.services-list{flex-direction:column;gap:.5rem;display:flex}.service-card{background:var(--color-card-bg-alt);border:1px solid var(--color-border);border-left:4px solid var(--status-unknown);border-radius:8px;overflow:hidden}.service-card.status-success{border-left-color:var(--status-success)}.service-card.status-error{border-left-color:var(--status-error)}.service-card.status-warning{border-left-color:var(--status-warning)}.service-header{cursor:pointer;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background-color .2s;display:flex}.service-header:hover{background-color:var(--color-card-bg-hover)}.service-info{flex-direction:column;flex:1;min-width:200px;display:flex}.service-name{font-weight:600}.service-desc{font-size:var(--text-xs-size);color:var(--color-text-light);margin-top:var(--space-1)}.service-regions{gap:.25rem;display:flex}.service-timing{flex-direction:column;align-items:flex-end;min-width:100px;display:flex}.service-time{color:var(--color-text-light);font-size:.75rem}.service-next{color:var(--color-text-muted);font-size:12px}.service-next.overdue{color:var(--status-error);font-weight:600}.service-next.due-now{color:var(--status-warning-text);font-weight:var(--weight-semibold)}.expand-icon{color:var(--color-text-muted);background:var(--color-border-light);border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.service-details{background:var(--color-card-bg);border-top:1px solid var(--color-border);padding:1rem}.service-region{border-bottom:1px solid var(--color-border-light);align-items:center;gap:1rem;min-height:48px;padding:.75rem 0;display:flex}.service-region:last-child{border-bottom:none}.service-region .region-flag{font-size:var(--text-md-size);background:var(--color-bg-alt);padding:var(--space-1) var(--space-2);flex-shrink:0}.service-region .region-name{flex-shrink:0;min-width:100px;max-width:100px;font-size:.875rem}.execution-squares{flex:1;justify-content:flex-end;gap:.25rem;display:flex}.execution-history-container{flex:1;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:flex}.scroll-rail-wrapper{flex-direction:column;align-items:center;display:flex;position:relative}.scroll-time-label{color:var(--color-text-muted);background:var(--color-card-bg);white-space:nowrap;border-radius:4px;margin-bottom:4px;padding:0 4px;font-size:12px;line-height:1.2}.execution-squares-scrollable{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;gap:.25rem;max-width:220px;margin-bottom:-8px;padding:4px 0 12px;display:flex;overflow:auto hidden}.execution-squares-scrollable::-webkit-scrollbar{height:6px}.execution-squares-scrollable::-webkit-scrollbar-track{background:0 0}.execution-squares-scrollable::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.execution-squares-scrollable::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.execution-square-wrapper{flex-direction:column;flex-shrink:0;align-items:center;display:flex;position:relative}.time-marker{color:var(--color-text-muted);white-space:nowrap;background:var(--color-card-bg);border-radius:4px;padding:0 4px;font-size:12px;position:absolute;top:-16px}.time-marker-now{color:var(--color-text-muted);border-left:1px solid var(--color-border-light);flex-shrink:0;padding-left:4px;font-size:12px}.execution-square{cursor:pointer;background:var(--color-border-light);border-radius:4px;flex-shrink:0;width:16px;height:16px;transition:transform .1s,box-shadow .1s}.execution-square:hover{box-shadow:var(--shadow-md);transform:scale(1.2)}.execution-square.status-success{background:var(--status-success)}.execution-square.status-error{background:var(--status-error)}.execution-square.status-warning{background:var(--status-warning)}.execution-square.status-unknown{background:var(--status-unknown)}.no-executions{color:var(--color-text-lighter);font-size:.75rem;font-style:italic}.execution-id{font-family:var(--font-mono);color:var(--color-text-muted);flex:1;font-size:.75rem}.service-region .time{color:var(--color-text-muted);font-size:.75rem}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:50vh;display:flex}.loading-spinner{border:4px solid var(--color-border-light);border-top-color:var(--color-header-bg);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:50vh;padding:2rem;display:flex}.error-container h1{font-size:var(--display-xs-size);line-height:var(--display-xs-line);font-weight:var(--weight-bold);color:var(--color-text)}.error-message{color:var(--status-error-text);font-size:var(--text-lg-size);line-height:var(--text-lg-line);font-weight:var(--weight-medium)}.retry-button{padding:var(--space-3) var(--space-6);background-color:var(--color-cta);color:var(--color-cta-text);border-radius:var(--radius-8);font-size:var(--text-md-size);font-weight:var(--weight-semibold);cursor:pointer;border:none;transition:background-color .2s}.retry-button:hover{background-color:var(--color-cta-hover)}.link-button{color:var(--color-link);font:inherit;cursor:pointer;background:0 0;border:none;margin-top:.75rem;padding:4px 8px;text-decoration:underline}.link-button:hover{text-decoration:none}.link-button:focus-visible{outline:2px solid var(--color-link);outline-offset:2px;border-radius:2px}.api-hint{color:var(--color-text-muted);margin-top:1rem;font-size:.875rem}.api-hint code{background:var(--color-code-bg);font-family:var(--font-mono);border-radius:4px;padding:.25rem .5rem}.error-boundary-fallback{background:var(--status-error-bg);border-left:3px solid var(--status-error);text-align:center;border-radius:4px;margin:.5rem 0;padding:1rem 1.5rem}.error-boundary-message{color:var(--status-error-text);margin-bottom:.25rem;font-size:.9rem;font-weight:500}.error-boundary-detail{color:var(--color-text-muted);font-size:.8rem;font-family:var(--font-mono);word-break:break-word;margin-bottom:.75rem}.error-boundary-fallback .retry-button{padding:var(--space-2) var(--space-4);font-size:.85rem}.error-banner{margin:var(--space-6) var(--space-8) 0;padding:var(--space-3) var(--space-4);background-color:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-left:4px solid var(--color-warning-border);border-radius:var(--radius-8);justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--color-warning-text);display:flex}.error-banner button{background-color:var(--color-warning-border);color:var(--color-warning-text);cursor:pointer;border:none;border-radius:4px;padding:.25rem .75rem}.warning-banner{margin:var(--space-6) var(--space-8) 0;padding:var(--space-3) var(--space-4);background-color:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-left:4px solid var(--color-warning-border);border-radius:var(--radius-8);justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--color-warning-text);display:flex}.warning-banner button{background-color:var(--color-warning-border);color:var(--color-warning-text);cursor:pointer;border:none;border-radius:4px;padding:.25rem .75rem}.refresh-button{padding:var(--space-2) var(--space-4);background-color:var(--color-card-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-4);font-size:var(--text-sm-size);font-weight:var(--weight-medium);cursor:pointer;transition:background-color .2s}.refresh-button:hover{background-color:var(--color-card-bg-hover)}.refresh-button:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;color:var(--color-text-muted);background:var(--color-bg-alt);border-radius:8px;padding:2rem}.empty-state-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:50vh;padding:2rem;display:flex}.empty-state-icon{font-size:3rem;line-height:1}.empty-state-heading{color:var(--color-text);font-size:1.25rem;font-weight:600}.empty-state-message{color:var(--color-text-muted);max-width:400px;font-size:.95rem}.executions-section{border-top:1px solid var(--color-border-light);margin-top:1.5rem;padding-top:1.5rem}.subsection-title{color:var(--color-text-muted);margin-bottom:.75rem;font-size:1rem;font-weight:600}.executions-list{flex-direction:column;gap:.5rem;display:flex}.execution-row{background:var(--color-card-bg-alt);border-left:3px solid var(--status-unknown);border-radius:4px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.execution-row.status-success{border-left-color:var(--status-success)}.execution-row.status-error{border-left-color:var(--status-error)}.execution-regions{flex:1;gap:.25rem;display:flex}.region-badge{background:var(--color-border-light);color:var(--color-text-muted);border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600}.region-badge.clickable{cursor:pointer;transition:transform .1s,box-shadow .1s}.region-badge.clickable:hover{box-shadow:var(--shadow-product-sm);transform:scale(1.1)}.region-badge.status-success{background:var(--status-success-bg);color:var(--status-success-text)}.region-badge.status-error{background:var(--status-error-bg);color:var(--status-error-text)}.region-badge.status-warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.region-badge.status-unknown{background:var(--status-unknown-bg);color:var(--status-unknown-text)}.execution-time{color:var(--color-text-muted);text-align:right;min-width:80px;font-size:.75rem}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-modal-bg);width:90%;max-width:500px;max-height:80vh;box-shadow:var(--shadow-product-lg);border-radius:12px;overflow:auto}.modal-header{border-bottom:1px solid var(--color-border-light);background:var(--color-modal-header-bg);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600}.modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.25rem}.modal-close:hover{background:var(--color-border-light)}.modal-body{padding:1.5rem}.modal-info-row{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.modal-label{color:var(--color-text-muted);min-width:100px;font-weight:600}.modal-value{font-family:var(--font-mono);font-size:.875rem}.modal-value.muted{color:var(--color-text-lighter);font-family:inherit;font-style:italic}.modal-metadata{margin-top:1rem}.modal-metadata .modal-label{margin-bottom:.5rem;display:block}.metadata-table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.875rem}.metadata-table tr{border-bottom:1px solid var(--color-border-light)}.metadata-table tr:last-child{border-bottom:none}.metadata-key{color:var(--color-text-muted);vertical-align:top;background:var(--color-metadata-key-bg);width:35%;padding:.5rem;font-weight:600}.metadata-value{font-family:var(--font-mono);word-break:break-word;padding:.5rem;font-size:.8rem}.metadata-value a{color:var(--color-link-blue);text-decoration:none}.metadata-value a:hover{text-decoration:underline}.task-statuses{flex-wrap:wrap;gap:.25rem;display:flex}.task-badge{text-transform:capitalize;border-radius:4px;padding:4px 8px;font-family:inherit;font-size:12px}.task-badge.status-success{background:var(--status-success-bg);color:var(--status-success-text)}.task-badge.status-error{background:var(--status-error-bg);color:var(--status-error-text)}.task-badge.status-warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.login-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100vh;display:flex}.portal-logo{width:auto;height:40px}.login-container h1{color:var(--color-text);font-size:var(--display-xs-size);line-height:var(--display-xs-line);font-weight:var(--weight-bold)}.login-container p{color:var(--color-text-muted);font-size:var(--text-md-size)}.login-button{padding:var(--space-3) var(--space-8);background-color:var(--color-cta);color:var(--color-cta-text);border-radius:var(--radius-8);font-size:var(--text-md-size);font-weight:var(--weight-semibold);cursor:pointer;border:none;transition:background-color .2s}.login-button:hover{background-color:var(--color-cta-hover)}.user-info{font-size:var(--text-sm-size);opacity:.9}.logout-button{padding:var(--space-2) var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-4);font-size:var(--text-sm-size);cursor:pointer;background-color:#0000;transition:background-color .2s}.logout-button:hover{background-color:var(--color-card-bg-hover)}.section-controls{align-items:center;gap:1rem;display:flex}.dlh-collapsible-group{margin-bottom:.5rem}.dlh-collapsible-group.dlh-level-0{background:var(--color-group-content-bg);border-radius:8px;overflow:hidden}.dlh-collapsible-group.dlh-level-1{margin-top:.5rem;margin-left:0}.dlh-group-header{cursor:pointer;border-left:3px solid var(--status-unknown);align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background-color .2s;display:flex}.dlh-level-0>.dlh-group-header{background:var(--color-group-header-bg);border-radius:0}.dlh-level-1>.dlh-group-header{background:var(--color-bg-alt);border-radius:4px;margin:0 .5rem}.dlh-group-header:hover{background:var(--color-group-header-hover)}.dlh-group-header.status-success{border-left-color:var(--status-success)}.dlh-group-header.status-error{border-left-color:var(--status-error)}.dlh-group-header.status-unknown{border-left-color:var(--status-unknown)}.dlh-group-name{color:var(--color-text);flex:1;font-size:.95rem;font-weight:600}.dlh-group-count{color:var(--color-text-muted);background:#80808026;border-radius:80px;padding:4px 8px;font-size:12px}.dlh-group-stats{gap:.25rem;margin-left:auto;display:flex}.dlh-stat{text-align:center;border-radius:4px;min-width:20px;padding:4px 8px;font-size:12px;font-weight:700}.dlh-stat-healthy{background:var(--status-success-bg);color:var(--status-success-text)}.dlh-stat-failed{background:var(--status-error-bg);color:var(--status-error-text)}.dlh-stat-executing{background:var(--status-warning-bg);color:var(--status-warning-text)}.dlh-stat-nodata{background:var(--status-unknown-bg);color:var(--status-unknown-text)}.dlh-group-content{padding:.5rem}.dlh-level-0>.dlh-group-content{padding:.5rem 1rem 1rem}.dlh-level-1>.dlh-group-content{padding:.25rem .5rem .5rem 1rem}.dlh-collapsible-subgroup{background:var(--color-bg-alt);border-radius:8px;margin-bottom:8px;overflow:hidden}.dlh-collapsible-subgroup.dlh-level-1{margin-left:.5rem;margin-right:.5rem}.dlh-subgroup-header{cursor:pointer;border-left:3px solid var(--status-unknown);align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.9rem;transition:background-color .2s;display:flex}.dlh-subgroup-header:hover{background:var(--color-group-header-hover)}.dlh-subgroup-header.status-success{border-left-color:var(--status-success)}.dlh-subgroup-header.status-error{border-left-color:var(--status-error)}.dlh-subgroup-header.status-unknown{border-left-color:var(--status-unknown)}.dlh-subgroup-name{color:var(--color-text);flex:1;font-weight:500}.dlh-subgroup-content{padding:.25rem .5rem .5rem 1rem}.dlh-subgroup-content .service-card{margin-top:.25rem}.dlh-subgroup-content .service-card:first-child{margin-top:0}.services-list.hierarchical .service-card{margin-top:.5rem}.services-list.hierarchical .service-card:first-child{margin-top:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1100;background-color:var(--color-header-bg);color:var(--color-cta-text);border-radius:0 0 4px 4px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:top .15s;position:fixed;top:-100%;left:1rem}.skip-link:focus{outline:2px solid var(--color-cta-text);outline-offset:2px;top:0}#main-content:focus{outline:none}@media (max-width:899px){.dashboard-container{grid-template-columns:1fr;padding:80px}}@media (max-width:599px){.dashboard-container{padding:32px}.region-grid{grid-template-columns:1fr}.service-header{flex-wrap:wrap}.service-name{width:100%}.section-controls{flex-wrap:wrap}}@media (max-width:410px){.dashboard-container{padding:24px}}
