/* Vec-TR v2 — wide-screen layout layer over VDS 2.0. Dark tokens come from vectr-theme.css. */
html,body{height:100%;margin:0}
body{background:var(--vds-surface-page);color:var(--vds-text-primary);font-family:var(--vds-font-sans)}
*{box-sizing:border-box}
a{color:var(--vds-text-link)}a:hover{color:var(--color-on-fill-link-hover)}
.vx-num{font-variant-numeric:tabular-nums}
.vx-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}

/* Shell */
.vx-app{display:flex;height:100vh;min-height:560px}
.vx-app > .vds-sidebar{flex-shrink:0}
.vx-main{flex:1;min-width:0;display:flex;flex-direction:column}
.vx-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--vds-space-200);height:56px;padding:0 var(--vds-space-300);background:var(--vds-surface-card);border-bottom:1px solid var(--vds-border-subtle);flex-shrink:0}
.vx-topbar__left,.vx-topbar__right{display:flex;align-items:center;gap:var(--vds-space-150);min-width:0}
.vx-topbar__rule{width:1px;height:24px;background:var(--vds-border-subtle);flex-shrink:0}
.vx-acting{display:flex;align-items:center;gap:var(--vds-space-100);height:36px;padding:0 var(--vds-space-100) 0 var(--vds-space-150);border:1px solid var(--vds-border-subtle);border-radius:var(--vds-radius-md);background:var(--vds-surface-card);color:var(--vds-text-primary);font:var(--vds-weight-medium) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans);cursor:pointer;min-width:0;transition:background-color var(--vds-duration) var(--vds-ease)}
.vx-acting:hover{background:var(--color-fill-container-neutral-0-hover)}
.vx-acting small{color:var(--vds-text-secondary);font-weight:var(--vds-weight-regular);font-size:var(--vds-size-sm)}
.vx-acting span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vx-body{flex:1;min-height:0;overflow:auto;padding:var(--vds-space-300) var(--vds-space-400) var(--vds-space-600)}
.vx-page{max-width:1680px;margin:0 auto}

/* Page header */
.vx-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--vds-space-300);margin-bottom:var(--vds-space-300);flex-wrap:wrap}
.vx-h1{margin:0;font:var(--vds-weight-semibold) var(--vds-size-2xl)/var(--vds-line-2xl) var(--vds-font-sans);color:var(--vds-text-primary)}
.vx-sub{margin:var(--vds-space-50) 0 0;max-width:72ch;font:var(--vds-weight-regular) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans);color:var(--vds-text-secondary);text-wrap:pretty}
.vx-pagehead > div:first-child{flex:1 1 auto;min-width:0}
.vx-pagehead__actions{display:flex;gap:var(--vds-space-100);align-items:center}

/* Two-column workspace: main + sticky rail */
.vx-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--vds-space-300);align-items:start}
.vx-layout--detail{grid-template-columns:minmax(0,1fr) 420px}
.vx-col{display:flex;flex-direction:column;gap:var(--vds-space-300);min-width:0}
.vx-rail{position:sticky;top:0;display:flex;flex-direction:column;gap:var(--vds-space-200)}
@media (max-width:1180px){.vx-layout,.vx-layout--detail{grid-template-columns:minmax(0,1fr)}.vx-rail{position:static}}

/* Cards */
.vx-card{background:var(--vds-surface-card);border:1px solid var(--vds-border-subtle);border-radius:var(--vds-radius-lg);min-width:0}
.vx-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--vds-space-200);padding:var(--vds-space-200) var(--vds-space-250);border-bottom:1px solid var(--vds-border-subtle);flex-wrap:wrap}
.vx-card__titlewrap{display:flex;align-items:flex-start;gap:var(--vds-space-150);min-width:0}
.vx-card__title{margin:0;font:var(--vds-weight-semibold) var(--vds-size-lg)/var(--vds-line-xl) var(--vds-font-sans);color:var(--vds-text-primary)}
.vx-card__desc{margin:2px 0 0;font:var(--vds-weight-regular) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans);color:var(--vds-text-secondary);text-wrap:pretty}
.vx-card__body{padding:var(--vds-space-250)}
.vx-card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--vds-space-150);padding:var(--vds-space-150) var(--vds-space-250);border-top:1px solid var(--vds-border-subtle);font:var(--vds-weight-regular) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);color:var(--vds-text-secondary)}
.vx-stepnum{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--vds-radius-full);background:var(--color-fill-surface-brand-subtle);color:var(--vds-text-brand);font:var(--vds-weight-semibold) var(--vds-size-sm)/1 var(--vds-font-sans);flex-shrink:0;margin-top:0}
.vx-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--vds-space-200)}
@media (max-width:720px){.vx-grid2{grid-template-columns:minmax(0,1fr)}}
.vx-stack{display:flex;flex-direction:column;gap:var(--vds-space-200)}
.vx-row{display:flex;align-items:center;gap:var(--vds-space-100);flex-wrap:wrap}
.vx-spacer{flex:1}

/* Key-value list (rail summaries) */
.vx-kv{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--vds-space-100) var(--vds-space-200);margin:0;font:var(--vds-weight-regular) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans)}
.vx-kv dt{color:var(--vds-text-secondary);margin:0}
.vx-kv dd{margin:0;color:var(--vds-text-primary);overflow-wrap:anywhere}

/* Stat tiles */
.vx-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--vds-border-subtle);border-top:1px solid var(--vds-border-subtle);border-bottom:1px solid var(--vds-border-subtle)}
.vx-stats--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.vx-stat{background:var(--vds-surface-card);padding:var(--vds-space-150) var(--vds-space-250);display:flex;flex-direction:column;gap:2px}
.vx-stat__k{display:flex;align-items:center;gap:6px;font:var(--vds-weight-medium) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);color:var(--vds-text-secondary)}
.vx-stat__v{font:var(--vds-weight-semibold) var(--vds-size-2xl)/var(--vds-line-2xl) var(--vds-font-sans);color:var(--vds-text-primary);font-variant-numeric:tabular-nums}
.vx-dot{width:8px;height:8px;border-radius:var(--vds-radius-full);background:var(--vds-border-default);flex-shrink:0}
.vx-dot--green{background:var(--color-fill-container-green-2-default)}.vx-dot--red{background:var(--color-fill-container-red-2-default)}.vx-dot--brand{background:var(--color-fill-container-brand-2-default)}.vx-dot--yellow{background:var(--color-fill-container-yellow-2-default)}

/* Tables */
.vx-tablewrap{overflow:auto;max-height:520px}
.vx-tablewrap--tall{max-height:none}
.vx-tablewrap .vds-table{width:100%}
.vx-tablewrap thead th{position:sticky;top:0;z-index:1}
.vx-tr-click{cursor:pointer}
.vx-tr-click:hover td{background:var(--color-fill-container-neutral-0-hover)}
.vx-tr-selected td{background:var(--color-fill-surface-brand-subtle) !important}
.vx-tr-expand > td{padding:0 !important;background:var(--vds-surface-raised)}
.vx-chev{display:inline-flex;color:var(--vds-text-secondary);transition:transform var(--vds-duration) var(--vds-ease)}
.vx-chev--open{transform:rotate(90deg)}
.vx-cell-muted{color:var(--vds-text-secondary)}
.vx-empty{display:flex;flex-direction:column;align-items:center;gap:var(--vds-space-100);padding:var(--vds-space-600) var(--vds-space-200);text-align:center;color:var(--vds-text-secondary);font:var(--vds-weight-regular) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans)}
.vx-empty strong{color:var(--vds-text-primary);font-weight:var(--vds-weight-medium)}
.vx-toolbar{display:flex;align-items:center;gap:var(--vds-space-150);padding:var(--vds-space-150) var(--vds-space-250);border-bottom:1px solid var(--vds-border-subtle);flex-wrap:wrap}
.vx-input{height:36px;padding:0 var(--vds-space-150) 0 36px;border-radius:var(--vds-radius-md);border:1px solid var(--vds-border-default);background:var(--vds-surface-card);color:var(--vds-text-primary);font:var(--vds-weight-regular) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans);width:260px;max-width:100%}
.vx-input:focus{outline:0;border-color:var(--vds-focus-ring);box-shadow:0 0 0 1px var(--vds-focus-ring)}
.vx-input-wrap{position:relative;display:inline-flex;max-width:100%}
.vx-input-wrap > svg,.vx-input-wrap > span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--vds-text-tertiary);display:flex;pointer-events:none}

/* 10-step strip (real flow has 10 steps -- see onboarding_ui_server.py's STEP_TITLES) */
.vx-strip{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;width:150px}
.vx-seg{height:6px;border-radius:1px;background:var(--vds-surface-recessed)}
.vx-seg--PASSED{background:var(--color-fill-container-green-2-default)}
.vx-seg--FAILED{background:var(--color-fill-container-red-2-default)}
.vx-seg--SKIPPED{background:var(--color-border-yellow-subtle)}
.vx-seg--RUNNING{background:var(--color-fill-container-brand-2-default);animation:vx-pulse 1.1s ease-in-out infinite}
@keyframes vx-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.vx-pulse{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;animation:vx-pulse 1.1s ease-in-out infinite}

/* Step log (expanded device) */
.vx-steps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 var(--vds-space-300);padding:var(--vds-space-150) var(--vds-space-300) var(--vds-space-200) 52px}
@media (max-width:1100px){.vx-steps{grid-template-columns:minmax(0,1fr);padding-left:var(--vds-space-200)}}
.vx-step{border-bottom:1px solid var(--vds-border-subtle);min-width:0}
.vx-step__head{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;align-items:center;gap:var(--vds-space-100);width:100%;padding:var(--vds-space-100) 0;border:0;background:transparent;text-align:left;font-family:var(--vds-font-sans);cursor:pointer;color:var(--vds-text-primary)}
.vx-step__head:disabled{cursor:default}
.vx-step__n{font:var(--vds-weight-medium) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);color:var(--vds-text-tertiary);font-variant-numeric:tabular-nums}
.vx-step__name{font:var(--vds-weight-regular) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans);min-width:0}
.vx-step__name small{display:block;font-size:var(--vds-size-sm);line-height:var(--vds-line-sm);color:var(--vds-text-tertiary)}
.vx-step__ms{font:var(--vds-weight-regular) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);color:var(--vds-text-tertiary);font-variant-numeric:tabular-nums}
.vx-step__body{padding:0 0 var(--vds-space-150) 32px}
.vx-step__err{display:flex;gap:6px;align-items:flex-start;margin-bottom:var(--vds-space-100);color:var(--vds-text-danger);font:var(--vds-weight-medium) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans)}
.vx-json{margin:0;padding:var(--vds-space-150);border-radius:var(--vds-radius-md);background:var(--vds-surface-card);border:1px solid var(--vds-border-subtle);color:var(--vds-text-secondary);font:400 12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-x:auto;white-space:pre}

/* Options */
.vx-option{display:flex;flex-direction:column;gap:2px;padding:var(--vds-space-150) var(--vds-space-200);border:1px solid var(--vds-border-subtle);border-radius:var(--vds-radius-md)}
.vx-option__desc{padding-left:28px;font:var(--vds-weight-regular) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);color:var(--vds-text-secondary)}
.vx-option--danger{background:var(--color-fill-surface-red-subtle);border-color:var(--color-border-red-subtle)}
.vx-option--danger .vds-choice{color:var(--vds-text-danger);font-weight:var(--vds-weight-medium)}
.vx-option--danger .vx-option__desc{color:var(--vds-text-danger)}
.vx-option--danger .vds-choice__box--on{background:var(--color-fill-container-red-2-default);border-color:var(--color-fill-container-red-2-default)}
.vx-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--vds-space-150)}
@media (max-width:900px){.vx-options{grid-template-columns:minmax(0,1fr)}}
.vx-filter{width:200px;max-width:100%}.vx-filter--sm{width:160px}
.vx-filter .vx-dropdown__trigger{height:36px}
.vx-filter .vx-dropdown__trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vx-filter .vx-dropdown__panel{min-width:240px}

/* Device entry */
.vx-entry{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:var(--vds-space-200);align-items:start}
.vx-entry__side{display:flex;flex-direction:column;gap:var(--vds-space-150)}
@media (max-width:720px){.vx-entry{grid-template-columns:minmax(0,1fr)}}
.vx-entry textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}
.vx-dropdown{position:relative}
.vx-dropdown__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--vds-space-100);width:100%;height:40px;padding:0 var(--vds-space-100) 0 var(--vds-space-150);border-radius:var(--vds-radius-md);background:var(--vds-surface-card);border:1px solid var(--vds-border-default);color:var(--vds-text-primary);font:var(--vds-weight-regular) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans);cursor:pointer}
.vx-dropdown__trigger:hover{border-color:var(--vds-border-bold)}
.vx-dropdown__panel{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow:auto}
.vx-label{display:block;margin-bottom:var(--vds-space-50);font:var(--vds-weight-medium) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans);color:var(--vds-text-primary)}
.vx-help{margin-top:var(--vds-space-50);font:var(--vds-weight-regular) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);color:var(--vds-text-secondary)}

/* Login */
.vx-login{display:grid;grid-template-columns:minmax(360px,5fr) minmax(0,7fr);min-height:100vh}
.vx-login__brand{background:var(--vds-surface-nav-brand);color:var(--vds-text-inverse);padding:var(--vds-space-500) var(--vds-space-600);display:flex;flex-direction:column;justify-content:space-between;gap:var(--vds-space-400)}
html[data-theme="dark"] .vx-login__brand{color:#eef1f5}
.vx-login__logo{display:inline-flex;align-items:center;background:#fff;border-radius:var(--vds-radius-md);padding:var(--vds-space-100) var(--vds-space-150);align-self:flex-start}
.vx-login__logo img{height:28px;display:block}
.vx-login__pitch h1{margin:0 0 var(--vds-space-150);font:var(--vds-weight-semibold) var(--vds-size-4xl)/var(--vds-line-4xl) var(--vds-font-sans);letter-spacing:-.4px}
.vx-login__pitch p{margin:0;max-width:44ch;font:var(--vds-weight-regular) var(--vds-size-lg)/var(--vds-line-xl) var(--vds-font-sans);opacity:.86}
.vx-login__list{list-style:none;margin:var(--vds-space-400) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--vds-space-200)}
.vx-login__list li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--vds-space-150);font:var(--vds-weight-regular) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans)}
.vx-login__list b{display:block;font-weight:var(--vds-weight-medium)}
.vx-login__list span{opacity:.8}
.vx-login__fine{font:var(--vds-weight-regular) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);opacity:.7}
.vx-login__panel{display:flex;flex-direction:column;background:var(--vds-surface-page)}
.vx-login__bar{display:flex;justify-content:flex-end;padding:var(--vds-space-200) var(--vds-space-300)}
.vx-login__center{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--vds-space-300)}
.vx-login__card{width:100%;max-width:440px}
.vx-login__form{display:flex;flex-direction:column;gap:var(--vds-space-250)}
.vx-login__mobilelogo{display:none}
@media (max-width:900px){.vx-login{grid-template-columns:minmax(0,1fr)}.vx-login__brand{display:none}.vx-login__mobilelogo{display:block;height:24px;margin-bottom:var(--vds-space-200)}}

/* Danger confirm phrase */
.vx-phrase{display:inline-block;padding:1px 6px;border-radius:var(--vds-radius-sm);background:var(--vds-surface-recessed);font:var(--vds-weight-semibold) 12px/18px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--vds-text-primary)}

/* Toast position */
.vx-toasts{position:fixed;right:24px;bottom:24px;z-index:200;display:flex;flex-direction:column;gap:8px}

@media (max-width:720px){.vx-body{padding:var(--vds-space-200)}.vx-topbar{padding:0 var(--vds-space-150)}.vx-hide-sm{display:none !important}}
/* Device lookup */
.vx-lk-search{display:flex;align-items:center;gap:var(--vds-space-150);flex-wrap:wrap}
.vx-lk-search__field{flex:1 1 360px;max-width:560px;min-width:0}
.vx-lk-proto{width:220px}
.vx-lk-head{margin-bottom:var(--vds-space-300)}
.vx-lk-serial{font:var(--vds-weight-semibold) var(--vds-size-2xl)/var(--vds-line-2xl) var(--vds-font-sans);color:var(--vds-text-primary);letter-spacing:.2px}
.vx-lk-meta{margin-top:var(--vds-space-50);font:var(--vds-weight-regular) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans);color:var(--vds-text-secondary);overflow-wrap:anywhere}
.vx-lk-meta .vx-mono{font-size:13px;color:var(--vds-text-secondary)}
.vx-tl{list-style:none;margin:0;padding:0}
.vx-tl__item{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr);gap:var(--vds-space-150);padding-bottom:var(--vds-space-250)}
.vx-tl__item:last-child{padding-bottom:0}
.vx-tl__item::before{content:"";position:absolute;left:5px;top:16px;bottom:-2px;width:2px;background:var(--vds-border-subtle)}
.vx-tl__item:last-child::before{display:none}
.vx-tl__dot{width:12px;height:12px;margin-top:4px;position:relative;z-index:1;box-shadow:0 0 0 3px var(--vds-surface-card)}
.vx-dot--grey{background:var(--vds-border-bold)}
.vx-tl__dot--live{animation:vx-pulse 1.1s ease-in-out infinite}
.vx-tl__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--vds-space-200)}
.vx-tl__title{font:var(--vds-weight-semibold) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans);color:var(--vds-text-primary)}
.vx-tl__time{flex-shrink:0;font:var(--vds-weight-regular) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);color:var(--vds-text-secondary);font-variant-numeric:tabular-nums}
.vx-tl__desc{margin-top:2px;font:var(--vds-weight-regular) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans);color:var(--vds-text-secondary);overflow-wrap:anywhere}
.vx-tl__foot{display:flex;align-items:center;gap:var(--vds-space-150);margin-top:var(--vds-space-50);font:var(--vds-weight-regular) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);color:var(--vds-text-tertiary);flex-wrap:wrap}
.vx-tl__foot .vds-link{font-size:var(--vds-size-sm)}
.vx-tl-note{display:flex;align-items:center;gap:6px;margin-bottom:var(--vds-space-200);padding:var(--vds-space-100) var(--vds-space-150);border-radius:var(--vds-radius-md);background:var(--vds-surface-recessed);font:var(--vds-weight-regular) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);color:var(--vds-text-secondary)}
.vx-lk-sources__title{margin-bottom:var(--vds-space-100);font:var(--vds-weight-medium) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);color:var(--vds-text-secondary)}
.vx-lk-sources ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.vx-lk-sources li{display:flex;justify-content:space-between;gap:var(--vds-space-150);font:var(--vds-weight-regular) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);color:var(--vds-text-secondary)}
.vx-lk-sources__ok{color:var(--vds-text-tertiary)}
.vx-lk-sources__err{color:var(--vds-text-danger);text-align:right}
@media (max-width:640px){.vx-tl__head{flex-direction:column;gap:2px}.vx-lk-proto{width:100%}.vx-lk-search__field{flex-basis:100%}}

/* Roles */
.vx-acting--static{cursor:default}
.vx-acting--static:hover{background:var(--vds-surface-card)}
.vx-user{display:flex;align-items:center;gap:var(--vds-space-100);min-width:0}
.vx-user__name{font:var(--vds-weight-medium) var(--vds-size-sm)/var(--vds-line-sm) var(--vds-font-sans);color:var(--vds-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.vx-viewas{display:flex;align-items:center;gap:var(--vds-space-100);min-height:40px;padding:2px var(--vds-space-300);background:var(--color-fill-surface-brand-subtle);border-bottom:1px solid var(--color-border-brand-subtle);color:var(--vds-text-brand);font:var(--vds-weight-regular) var(--vds-size-md)/var(--vds-line-md) var(--vds-font-sans);flex-shrink:0;flex-wrap:wrap}
.vx-viewas b{font-weight:var(--vds-weight-semibold)}
.vx-viewas .vds-btn{margin-left:auto}
.vx-steps--plain{padding-top:var(--vds-space-100)}
.vx-steps--plain .vx-step__head{cursor:default}
.vx-step-fail{padding:var(--vds-space-150) var(--vds-space-300) 0 52px}
.vx-help-support{display:flex;align-items:flex-start;gap:6px;margin:0;padding:0 var(--vds-space-50)}
@media (max-width:1100px){.vx-step-fail{padding-left:var(--vds-space-200);padding-right:var(--vds-space-200)}}
@media (max-width:640px){.vx-viewas{padding:var(--vds-space-50) var(--vds-space-150)}.vx-topbar__left .vx-acting{max-width:150px}.vx-topbar{gap:var(--vds-space-100)}.vx-topbar__left,.vx-topbar__right{gap:var(--vds-space-100)}.vx-body .vx-h1{font-size:var(--vds-size-xl);line-height:var(--vds-line-xl)}.vx-lk-serial{font-size:var(--vds-size-xl)}}

/* From design_handoff_customer_role (21 Oct 2026): a customer's failed-row
   reason + "Why?", the My assets pager, keyboard focus on clickable rows. */
.vx-td-note{max-width:420px}
.vx-note{display:flex;align-items:baseline;gap:var(--vds-space-100);min-width:0}
.vx-note__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--vds-text-danger)}
.vx-note__why{flex-shrink:0;font-size:var(--vds-size-sm)}
.vx-pager{display:flex;align-items:center;gap:var(--vds-space-150);justify-content:space-between;flex-wrap:wrap}
.vx-pager__nav{display:flex;align-items:center;gap:var(--vds-space-100)}
.vx-tr-click:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--vds-focus-ring)}
