:root{color-scheme:light;--color-bg:#f6f7f9;--color-surface:#ffffff;--color-surface-raised:#ffffff;--color-border:#e2e5ea;--color-border-strong:#c9ced8;--color-text:#14181f;--color-text-muted:#4d5561;--color-text-subtle:#6b7280;--color-text-on-accent:#ffffff;--color-accent:#2952e3;--color-accent-strong:#1d3fb8;--color-accent-subtle:#eaefff;--color-success:#14803c;--color-success-bg:#e6f6ec;--color-success-border:#b6e3c6;--color-danger:#b3261e;--color-danger-bg:#fbeae9;--color-danger-border:#f0bcb8;--color-warning:#8a5a00;--color-warning-bg:#fdf1dc;--color-warning-border:#f1cf92;--color-neutral-status:#4d5561;--color-neutral-status-bg:#eef0f3;--color-neutral-status-border:#d4d8df;--color-info:#17608a;--color-info-bg:#e7f3fa;--color-info-border:#b9dced;--color-focus-ring:#2952e3;--font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";--font-family-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--font-size-xs:0.75rem;--font-size-sm:0.8125rem;--font-size-md:0.9375rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--line-height-tight:1.25;--line-height-normal:1.5;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:999px;--shadow-sm:0 1px 2px rgba(20,24,31,0.06);--shadow-md:0 4px 12px rgba(20,24,31,0.08);--shadow-lg:0 12px 32px rgba(20,24,31,0.14);--motion-duration-fast:120ms;--motion-duration-normal:200ms;--motion-easing-standard:cubic-bezier(0.2,0,0,1);--z-nav:10;--z-overlay:100;--z-modal:110;--z-toast:120;--control-height-md:44px;--filter-label-row-height:calc(var(--font-size-sm) * var(--line-height-tight) * 2 + var(--space-1));--filter-field-min-width:200px;--filter-field-max-width:320px}@media (prefers-reduced-motion:reduce){:root{--motion-duration-fast:0ms;--motion-duration-normal:0ms}}*,:after,:before{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased}*{min-width:0}a{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:inherit}table{border-collapse:collapse;width:100%}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--color-surface);color:var(--color-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-strong)}.skip-link:focus{left:var(--space-4);top:var(--space-4)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100vh;display:flex}.app-nav{width:240px;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-5) var(--space-4);position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.app-nav__brand{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);margin-bottom:var(--space-2)}.app-nav__env-badge{display:inline-block;margin-bottom:var(--space-5)}.app-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.app-nav__link{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.app-nav__link:hover{background:var(--color-accent-subtle);color:var(--color-text)}.app-nav__link[aria-current=page]{background:var(--color-accent-subtle);color:var(--color-accent-strong)}.app-nav__link--disabled{color:var(--color-text-subtle);cursor:not-allowed;display:flex;justify-content:space-between;gap:var(--space-2)}.app-nav__footer{margin-top:var(--space-6);border-top:1px solid var(--color-border);padding-top:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-subtle)}.app-main{flex:1 1;min-width:0;padding:var(--space-6) var(--space-7)}@media (max-width:860px){.app-shell{flex-direction:column}.app-nav{width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--color-border)}.app-main{padding:var(--space-4)}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-header h1{font-size:var(--font-size-xl);margin:0 0 var(--space-1) 0}.page-header__subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.cluster{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin:0 0 var(--space-2) 0}.card__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:0}.card__meta{font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-top:var(--space-1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);border:1px solid transparent;padding:var(--space-2) var(--space-4);cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard);line-height:var(--line-height-tight)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn--primary{background:var(--color-accent);color:var(--color-text-on-accent)}.btn--primary:hover:not(:disabled){background:var(--color-accent-strong)}.btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background:var(--color-bg)}.btn--danger{background:var(--color-danger);color:var(--color-text-on-accent)}.btn--danger:hover:not(:disabled){background:#8f1e18}.btn--ghost{background:transparent;color:var(--color-text-muted)}.btn--ghost:hover:not(:disabled){background:var(--color-bg)}.btn__spinner{width:.9em;height:.9em;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px var(--space-2);border-radius:var(--radius-full);border:1px solid transparent;white-space:nowrap}.badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge--success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.badge--danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.badge--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning)}.badge--info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info)}.badge--neutral{background:var(--color-neutral-status-bg);border-color:var(--color-neutral-status-border);color:var(--color-neutral-status)}.filter-chip-list{list-style:none;margin:0;padding:0}.filter-chip{gap:var(--space-2);font-size:var(--font-size-xs);padding:2px var(--space-2);border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.filter-chip,.filter-chip__remove{display:inline-flex;align-items:center}.filter-chip__remove{justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1;padding:0}.filter-chip__remove:hover{color:var(--color-text)}.filter-chip__remove:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.filter-panel__row{display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap}.filter-panel fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.filter-panel legend{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:0}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--filter-field-min-width),var(--filter-field-max-width)));align-items:start;grid-gap:var(--space-4);gap:var(--space-4)}.filter-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.filter-field__label{display:block;min-height:var(--filter-label-row-height);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}.filter-field__control{display:flex;min-height:var(--control-height-md)}.filter-control{font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-tight);height:var(--control-height-md);box-sizing:border-box}.filter-field__control-input{width:100%;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.filter-field__control-input:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.filter-field--invalid .filter-field__control-input{border-color:var(--color-danger)}.filter-field-group__body>.filter-field--inline{flex:1 1;min-width:0}.filter-field--inline .filter-field__inline-row{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-md)}.filter-field__label--inline{display:inline-block;min-height:0;flex:0 0 auto;white-space:nowrap}.filter-field__control--inline{flex:1 1 auto;min-width:0}.filter-field__error,.filter-field__hint{font-size:var(--font-size-xs);margin:0}.filter-field__hint{color:var(--color-text-subtle)}.filter-field__error{color:var(--color-danger)}.filter-field-group{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.filter-field-group__legend{display:block;min-height:var(--filter-label-row-height);padding:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}.filter-field-group__body{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-1)}.filter-actions{display:flex;flex-direction:column;gap:var(--space-1);justify-self:start}.filter-actions__spacer{display:block;min-height:var(--filter-label-row-height)}.filter-actions__buttons{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-md);flex-wrap:wrap}@media (max-width:640px){.filter-bar{grid-template-columns:1fr}.filter-field-group__body{flex-direction:column}}.sandbox-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);background:var(--color-warning-bg);border-bottom:2px solid var(--color-warning-border);color:var(--color-warning);font-size:var(--font-size-sm);text-align:center}.env-badge,.sandbox-banner__label{text-transform:uppercase;letter-spacing:.04em}.env-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.data-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.data-table{width:100%;font-size:var(--font-size-sm)}.data-table caption{text-align:left;padding:var(--space-3) var(--space-4) 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.data-table td,.data-table th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table th{color:var(--color-text-muted);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;background:var(--color-bg)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.data-table__row--linked{cursor:pointer}.data-table tbody tr.data-table__row--linked:hover{background:var(--color-accent-subtle)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.field input,.field select,.field textarea{font:inherit;font-size:var(--font-size-md);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.field__hint{color:var(--color-text-subtle)}.field__error,.field__hint{font-size:var(--font-size-xs)}.field__error{color:var(--color-danger)}.field--invalid input,.field--invalid select,.field--invalid textarea{border-color:var(--color-danger)}.radio-row{display:flex;gap:var(--space-4)}.radio-row label{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-regular)}.alert,.radio-row label{display:flex;font-size:var(--font-size-sm)}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent}.alert--success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.alert--danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.alert--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning)}.alert--info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info)}.alert--neutral{background:var(--color-neutral-status-bg);border-color:var(--color-neutral-status-border);color:var(--color-text)}.state-panel{text-align:center;padding:var(--space-7) var(--space-5);color:var(--color-text-muted)}.state-panel h2{font-size:var(--font-size-md);color:var(--color-text);margin:var(--space-3) 0 var(--space-1)}.state-panel p{margin:0 0 var(--space-4);font-size:var(--font-size-sm)}.skeleton{background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg) 37%,var(--color-border) 63%);background-size:400% 100%;border-radius:var(--radius-sm);animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.modal-overlay{position:fixed;inset:0;background:rgba(20,24,31,.45);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:var(--z-overlay)}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-5);max-width:480px;width:100%;z-index:var(--z-modal)}.modal h2{margin:0 0 var(--space-2);font-size:var(--font-size-lg)}.modal__body{margin-bottom:var(--space-5);color:var(--color-text-muted);font-size:var(--font-size-sm)}.modal__actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.toast-region{position:fixed;bottom:var(--space-5);right:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);z-index:var(--z-toast);max-width:360px}.code-block{background:#12151b;color:#e6e9ef;border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--font-size-xs);overflow-x:auto;position:relative}.code-block,.secret-field{font-family:var(--font-family-mono)}.secret-field{display:flex;align-items:center;gap:var(--space-2);background:var(--color-bg);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-3);word-break:break-all}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.timeline__item{position:relative;display:flex;gap:var(--space-3);padding-bottom:var(--space-5)}.timeline__item:last-child{padding-bottom:0}.timeline__marker{position:relative;flex-shrink:0;width:12px;display:flex;justify-content:center}.timeline__dot{width:10px;height:10px;border-radius:50%;background:var(--color-accent);margin-top:4px;flex-shrink:0}.timeline__item--declined .timeline__dot{background:var(--color-danger)}.timeline__item--success .timeline__dot{background:var(--color-success)}.timeline__item--neutral .timeline__dot{background:var(--color-neutral-status)}.timeline__line{position:absolute;top:14px;bottom:-4px;left:calc(50% - 1px);width:2px;background:var(--color-border)}.timeline__item:last-child .timeline__line{display:none}.timeline__content{flex:1 1;min-width:0}.timeline__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin:0}.timeline__time{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.pagination{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}