/* VORIVOX Cloud V2 — one shared visual shell for central, distributor, owner
   and lifecycle workspaces. Loaded LAST after existing UI Core v4 and page CSS.
   No API, permission, application framework, or backend changes.
*/
:root {
  --vv-cloud-header-h:76px;
  --vv-cloud-mobile-header-h:68px;
  --vv-cloud-sidebar-w:220px;
  --vv-cloud-shell-radius:12px;
  --vv-cloud-bottom-shadow:0 -8px 22px rgba(19,37,62,.10);
}

/* Same canvas, type ramp and readable focus across all three entrypoints. */
body {
  background:var(--vx-ui-bg);
  color:var(--vx-ui-text);
  font-family:var(--vx-font-family,Inter,system-ui,sans-serif);
  line-height:1.5;
}
:is(.app,#ownerApp,#lifecycleApp) {
  color:var(--vx-ui-text);
  min-width:0;
}
:is(.app,#ownerApp,#lifecycleApp) :is(a,button,input,select,textarea,summary):focus-visible {
  outline:2px solid var(--vx-ui-accent);
  outline-offset:2px;
}
:is(.app,#ownerApp,#lifecycleApp) :is(a,button,summary) {
  touch-action:manipulation;
}

/* Unified header geometry. Existing real user, theme, language, notification
   and refresh actions are preserved and remain fully functional. */
.app .topbar,
#ownerApp > .cloud-header,
#lifecycleApp > .cloud-header {
  min-height:var(--vv-cloud-header-h);
  height:var(--vv-cloud-header-h);
  background:var(--vx-ui-panel);
  border-bottom:1px solid var(--vx-ui-line);
  box-shadow:none;
  backdrop-filter:none;
  color:var(--vx-ui-text);
  padding-inline:24px;
  padding-block:0;
  gap:14px;
  top:0;
  position:sticky;
  z-index:45;
}
.app .topbar {
  grid-template-columns:var(--vv-cloud-sidebar-w) minmax(0,1fr) auto;
}
.app {grid-template-rows:var(--vv-cloud-header-h) 1fr}
#ownerApp .cloud-header .workspace-label,
#lifecycleApp .cloud-header .workspace-label,
.app .brand>div>span {
  font-size:12px;
  color:var(--vx-ui-muted);
  letter-spacing:.01em;
}
#ownerApp .cloud-header .vx-brand-lockup,
#lifecycleApp .cloud-header .vx-brand-lockup,
.app .brand {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
#ownerApp .cloud-header .vx-brand-lockup strong,
#lifecycleApp .cloud-header .vx-brand-lockup strong,
.app .brand strong {
  font-size:18px;
  font-weight:600;
  letter-spacing:1px;
}
#ownerApp .cloud-header .vx-mark,
#lifecycleApp .cloud-header .vx-mark,
.app .vx-mark {
  width:34px;height:34px;flex-shrink:0;
}
.app .top-actions,
#ownerApp .header-actions,
#lifecycleApp .header-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}
.app .top-actions :is(.icon-btn,.profile),
#ownerApp .header-actions :is(.vx-button,.profile-button),
#lifecycleApp .header-actions .vx-button {
  min-height:44px;
  border-radius:10px;
}
.app .top-actions .icon-btn,
#ownerApp .header-actions .vx-button.icon-only {min-width:44px}
#lifecycleApp .header-actions select {
  min-height:44px;
  width:auto;
  max-width:160px;
  margin:0;
}

/* Unify desktop sidebar surface, width, active state and tap area.
   No nav items are added, removed, or changed by this stylesheet. */
.app .shell,
#ownerApp .shell-layout,
#lifecycleApp .cloud-life-layout {
  grid-template-columns:var(--vv-cloud-sidebar-w) minmax(0,1fr);
}
.app .sidebar,
#ownerApp .cloud-sidebar,
#lifecycleApp .cloud-life-global-nav {
  background:var(--vx-ui-panel);
  color:var(--vx-ui-text);
  border-inline-end:1px solid var(--vx-ui-line);
  min-width:0;
  padding:18px 12px;
}
.app .sidebar .nav-btn,
#ownerApp .cloud-sidebar nav>a,
#lifecycleApp .cloud-life-global-link {
  display:flex;
  align-items:center;
  min-height:46px;
  padding:11px 12px;
  gap:10px;
  border:1px solid transparent;
  border-radius:10px;
  text-decoration:none;
  color:var(--vx-ui-muted);
  background:transparent;
  box-shadow:none;
  font-size:13px;
  font-weight:500;
  line-height:1.35;
}
.app .sidebar .nav-btn.active,
#ownerApp .cloud-sidebar nav>a[aria-current=page],
#lifecycleApp .cloud-life-global-link.active {
  background:var(--vx-ui-tint);
  color:var(--vx-ui-accent);
  box-shadow:none;
  border-color:transparent;
}
.app .sidebar .nav-btn:hover,
#ownerApp .cloud-sidebar nav>a:hover,
#lifecycleApp .cloud-life-global-link:hover {
  background:var(--vx-ui-soft);
  color:var(--vx-ui-text);
}
#ownerApp .cloud-sidebar .eyebrow,
#ownerApp .cloud-sidebar .nav-foot,
.app .sidebar .nav-section {
  color:var(--vx-ui-muted);
}
#ownerApp .cloud-sidebar .nav-foot>a,
#ownerApp .cloud-sidebar .nav-foot>.vx-button,
#ownerApp .cloud-sidebar .nav-foot button {
  color:var(--vx-ui-text);
}

/* Consistent typography and panels, without erasing existing functional
   status tones, error states or sensitive confirmation actions. */
.app .content,
#ownerApp .workspace,
#lifecycleApp .lifecycle-wrap {
  padding:28px clamp(16px,2.2vw,34px);
  min-width:0;
}
.app .page-head h1,
#ownerApp .page-head h1,
#lifecycleApp .cloud-life-context h1 {
  font-size:clamp(23px,2.2vw,30px);
  font-weight:600;
  line-height:1.18;
  letter-spacing:-.035em;
  color:var(--vx-ui-text);
}
.app .page-head p,
#ownerApp .page-head p,
#lifecycleApp .lifecycle-note {
  color:var(--vx-ui-muted);
}
.app :is(.panel,.summary-card,.cloud-device-task),
#ownerApp .vx-card,
#lifecycleApp .lifecycle-wrap .vx-card {
  border:1px solid var(--vx-ui-line);
  border-radius:var(--vv-cloud-shell-radius);
  background:var(--vx-ui-panel);
  color:var(--vx-ui-text);
  box-shadow:none;
}
.app .panel,
#lifecycleApp .lifecycle-wrap .vx-card {
  padding:20px;
}
.app :is(.btn,.icon-btn),
#ownerApp .vx-button,
#lifecycleApp .vx-button {
  min-height:44px;
  border-radius:9px;
  font-weight:500;
}
.app :is(.btn.primary),
#ownerApp .vx-button.primary,
#lifecycleApp .vx-button.primary {
  background:var(--vx-ui-cta);
  color:var(--vx-ui-on-cta);
  border-color:transparent;
  box-shadow:none;
}
#ownerApp :is(input,select,textarea),
#lifecycleApp :is(input,select,textarea),
.app :is(input,select,textarea) {
  color:var(--vx-ui-text);
  background:var(--vx-ui-panel);
  border-color:var(--vx-ui-line);
  border-radius:9px;
}
#lifecycleApp .cloud-life-options>summary {min-height:44px}

/* Responsive: five primary tasks are already available in bottom navigation.
   Hide the redundant staff "Sections" strip and owner hamburger on phones. */
@media(max-width:760px) {
  :root {--vv-cloud-header-h:var(--vv-cloud-mobile-header-h)}
  .app .topbar,
  #ownerApp > .cloud-header,
  #lifecycleApp > .cloud-header {
    min-height:var(--vv-cloud-mobile-header-h);
    padding-inline:14px;
    gap:8px;
  }
  .app .topbar {
    grid-template-columns:minmax(0,1fr) auto;
    height:var(--vv-cloud-mobile-header-h);
  }
  .app {grid-template-rows:var(--vv-cloud-mobile-header-h) 1fr}
  .app .cloud-mobile-nav{display:none!important}
  .app .shell,
  #ownerApp .shell-layout,
  #lifecycleApp .cloud-life-layout {display:block}
  .app .sidebar,
  #ownerApp .cloud-sidebar {display:none!important}
  .app.nav-open .sidebar{display:none!important}
  .app .cloud-bottom-nav,
  #ownerApp .cloud-owner-bottom-nav,
  #lifecycleApp .cloud-life-global-nav {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    position:fixed;top:auto;bottom:0;inset-inline:0;
    height:auto;min-height:68px;max-height:none;
    z-index:60;
    padding:6px 4px calc(7px + env(safe-area-inset-bottom,0px));
    background:var(--vx-ui-panel);
    border:0;border-top:1px solid var(--vx-ui-line);
    box-shadow:var(--vv-cloud-bottom-shadow);
    color:var(--vx-ui-muted);
  }
  .app .cloud-bottom-item,
  #ownerApp .cloud-owner-bottom-item,
  #lifecycleApp .cloud-life-global-link {
    display:flex;flex-direction:column;
    align-items:center;justify-content:center;
    min-width:0;min-height:54px;
    padding:6px 2px;gap:3px;
    border:0;border-radius:10px;
    box-shadow:none;
    background:transparent;
    color:var(--vx-ui-muted);
    font-size:10px;font-weight:600;
    line-height:1.15;text-align:center;
    overflow-wrap:anywhere;
  }
  .app .cloud-bottom-item.active,
  #ownerApp .cloud-owner-bottom-item.active,
  #lifecycleApp .cloud-life-global-link.active {
    background:var(--vx-ui-tint);
    color:var(--vx-ui-accent);
    border:0;box-shadow:none;
  }
  .app .cloud-bottom-icon,
  #ownerApp .cloud-owner-bottom-icon,
  #lifecycleApp .cloud-life-nav-icon {
    display:flex;align-items:center;justify-content:center;
    min-height:22px;font-size:19px;line-height:1;
  }
  #lifecycleApp .cloud-life-full-label{display:none}
  #lifecycleApp .cloud-life-compact-label{display:inline}
  .app .content,
  #ownerApp .workspace,
  #lifecycleApp .lifecycle-wrap {
    padding:20px 14px calc(105px + env(safe-area-inset-bottom,0px));
    width:100%;max-width:100%;min-width:0;
  }
  #ownerApp .header-actions .mobile-menu {display:none!important}
  #ownerApp .cloud-header .workspace-label {display:none}
  #lifecycleApp .cloud-header {
    height:auto;min-height:var(--vv-cloud-mobile-header-h);
    flex-wrap:wrap;padding-block:9px;
  }
  #lifecycleApp .header-actions {
    flex-wrap:wrap;justify-content:flex-start;
    flex:1 1 185px;
    gap:6px;
  }
  #lifecycleApp .header-actions select{max-width:125px}
  .app .page-head h1,
  #ownerApp .page-head h1,
  #lifecycleApp .cloud-life-context h1 {font-size:25px}
  .app .panel,
  #lifecycleApp .lifecycle-wrap .vx-card {padding:16px}
  .app .cloud-device-task {min-height:70px}
}
@media(min-width:761px) and (max-width:900px){
  .app .shell,
  #ownerApp .shell-layout,
  #lifecycleApp .cloud-life-layout {
    grid-template-columns:180px minmax(0,1fr);
  }
  .app .topbar {grid-template-columns:180px minmax(0,1fr) auto}
}
@media(max-width:360px) {
  .app .topbar,
  #ownerApp > .cloud-header,
  #lifecycleApp > .cloud-header{padding-inline:10px}
  .app .cloud-bottom-item,
  #ownerApp .cloud-owner-bottom-item,
  #lifecycleApp .cloud-life-global-link{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  :is(.app,#ownerApp,#lifecycleApp) * {scroll-behavior:auto}
}

/* The lifecycle header has the same single-row mobile geometry as the other
   cabinets. Preserve language, theme and logout behind a native disclosure. */
#lifecycleApp .cloud-life-mobile-actions{display:none}
@media(max-width:760px){
  #lifecycleApp > .cloud-header {
    height:var(--vv-cloud-mobile-header-h);
    min-height:var(--vv-cloud-mobile-header-h);
    flex-wrap:nowrap;
    padding-block:0;
  }
  #lifecycleApp > .cloud-header > .header-actions{display:none}
  #lifecycleApp .cloud-life-mobile-actions{
    display:block;position:relative;
    flex:none;margin-inline-start:auto;
  }
  #lifecycleApp .cloud-life-mobile-actions>summary{
    display:flex;align-items:center;justify-content:center;
    min-width:44px;min-height:44px;
    padding:8px;border:1px solid var(--vx-ui-line);
    border-radius:10px;background:var(--vx-ui-panel);
    color:var(--vx-ui-text);cursor:pointer;font-size:23px;line-height:1;
    list-style:none;
  }
  #lifecycleApp .cloud-life-mobile-actions>summary::-webkit-details-marker{display:none}
  #lifecycleApp .cloud-life-mobile-actions[open]>summary{
    color:var(--vx-ui-accent);background:var(--vx-ui-tint);
  }
  #lifecycleApp .cloud-life-mobile-popup{
    position:absolute;top:calc(100% + 8px);inset-inline-end:0;
    z-index:100;
    width:min(266px,calc(100vw - 24px));
    display:flex;flex-direction:column;gap:8px;
    padding:14px;background:var(--vx-ui-panel);
    border:1px solid var(--vx-ui-line);
    border-radius:12px;box-shadow:0 16px 42px rgba(20,30,47,.16);
  }
  #lifecycleApp .cloud-life-mobile-popup .vx-field{margin:0;min-width:0}
  #lifecycleApp .cloud-life-mobile-popup .vx-input{max-width:none;width:100%}
  #lifecycleApp .cloud-life-mobile-popup .vx-button{width:100%;justify-content:center}
}

/* Approved reference implementation. This layer belongs to the existing
   shared shell; UI Core files and their contracts remain unchanged. */
:root{
 --ref-blue:#0865ff;--ref-blue-soft:#e9f2ff;--ref-line:#dbe5f4;
 --ref-card:linear-gradient(145deg,#fff 30%,#f6f9ff 100%);
 --ref-shadow:0 8px 26px rgba(31,74,131,.045),0 2px 5px rgba(31,74,131,.035);
 --ref-hero:linear-gradient(115deg,#edf5ff,#e3f0ff 66%,#cde4ff);
 --ref-text:#152139;--ref-muted:#5f6e87;
}
html[data-theme=dark]{
 --ref-blue:#80b3ff;--ref-blue-soft:#1a304e;--ref-line:#2c405b;
 --ref-card:linear-gradient(145deg,#17283e,#182b43);
 --ref-shadow:0 8px 26px rgba(0,0,0,.14);
 --ref-hero:linear-gradient(115deg,#192f4b,#1b3554 66%,#23466d);
 --ref-text:#edf4ff;--ref-muted:#b2c2d9;
}
body{background:var(--vx-ui-bg);background-image:radial-gradient(ellipse at 90% 8%,color-mix(in srgb,var(--ref-blue-soft) 70%,transparent),transparent 60%);color:var(--ref-text)}
.ref-icon{display:inline-block;width:23px;height:23px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
.ref-icon-tile{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;flex:none;background:var(--ref-blue-soft);color:var(--ref-blue)}
.ref-icon-tile>.ref-icon{width:27px;height:27px}
.app .topbar,#ownerApp>.cloud-header,#lifecycleApp>.cloud-header{background:color-mix(in srgb,var(--vx-ui-panel) 94%,transparent);border-bottom-color:var(--ref-line);padding-inline:26px}
.app .topbar{grid-template-columns:212px minmax(180px,1fr) auto;gap:24px}
.app .brand strong,.vx-brand-lockup strong{font-size:19px!important;letter-spacing:-.5px!important;font-weight:750!important}
.app .brand-accent,.vx-brand-lockup strong span{color:inherit}
.app .brand>div>span{font-size:11px!important}
.ref-brand-v{width:36px;height:36px;display:block}
.app .vx-mark,#ownerApp .vx-mark,#lifecycleApp .vx-mark{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--ref-blue)}
.app .sidebar,#ownerApp .cloud-sidebar,#lifecycleApp .cloud-life-global-nav{background:color-mix(in srgb,var(--vx-ui-panel) 75%,transparent);border-color:var(--ref-line);padding:28px 14px}
.app .nav-btn,#ownerApp .cloud-sidebar nav>a,#lifecycleApp .cloud-life-global-link{margin-block:3px;padding:13px 14px;gap:13px;font-size:14px;min-height:49px}
.app .sidebar .nav-btn.active,#ownerApp .cloud-sidebar nav>a[aria-current=page],#lifecycleApp .cloud-life-global-link.active{background:var(--ref-blue-soft);color:var(--ref-blue);font-weight:650}
.app .nav-icon .ref-icon,.app .cloud-bottom-icon .ref-icon{width:21px;height:21px}
.app .content,#ownerApp .workspace,#lifecycleApp .lifecycle-wrap{padding:34px clamp(22px,2.6vw,42px);max-width:1700px;width:100%}
.app .page-head,#ownerApp .page-head{margin-bottom:25px;align-items:center}
.app .page-head h1,#ownerApp .page-head h1,#lifecycleApp .cloud-life-context h1{font-size:clamp(25px,2.15vw,33px);letter-spacing:-1.1px;line-height:1.18;font-weight:720;color:var(--ref-text)}
.app .page-head p,#ownerApp .page-head p{margin-top:9px;line-height:1.55;color:var(--ref-muted);font-size:14px}
#ownerApp .page-head .eyebrow{display:none}
.app :is(.panel,.summary-card,.cloud-device-task),#ownerApp .vx-card,#lifecycleApp .lifecycle-wrap .vx-card{background:var(--ref-card);border:1px solid var(--ref-line);border-radius:18px;box-shadow:var(--ref-shadow)}
.app .panel,#ownerApp .vx-card,#lifecycleApp .lifecycle-wrap .vx-card{padding:23px}
.app .panel-title h2,#ownerApp .panel-head h2{font-size:18px;line-height:1.3;letter-spacing:-.4px;font-weight:680}
.app :is(.btn,.icon-btn),#ownerApp .vx-button,#lifecycleApp .vx-button{border-radius:11px;min-height:44px}
.app .btn.primary,#ownerApp .vx-button.primary,#lifecycleApp .vx-button.primary{background:linear-gradient(160deg,#3a92ff,#0865ff);color:#fff;border:1px solid #2c83ff;box-shadow:0 4px 9px rgba(8,101,255,.14)}
.app .btn.secondary,#ownerApp .vx-button:not(.primary):not(.quiet),#lifecycleApp .vx-button:not(.primary){border-color:var(--ref-line)}
.app :is(input,textarea,select),#ownerApp :is(input,textarea,select),#lifecycleApp :is(input,textarea,select){border-color:var(--ref-line)}
.app .cloud-tabs{padding:5px;gap:4px;border:1px solid var(--ref-line);border-radius:14px;background:var(--ref-card)}
.app .cloud-tab{border-radius:10px;border:0;min-height:44px;display:flex;align-items:center;font-size:13px}
.app .cloud-tab.active{background:var(--ref-blue-soft);color:var(--ref-blue)}
.ref-header-center{min-width:0;position:relative}
.ref-search-open{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;text-align:start;padding:10px 14px;background:var(--ref-card);color:var(--ref-muted);border:1px solid var(--ref-line);border-radius:12px;cursor:pointer;font:inherit}
.ref-search-open span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}
.ref-search-open kbd{margin-inline-start:auto;font-size:10px;white-space:nowrap;border-radius:5px;background:var(--ref-blue-soft);padding:3px 5px;color:var(--ref-muted)}
.ref-header-center .top-signal{position:absolute;top:100%;inset-inline-end:0;font-size:9px;padding:1px 6px;min-height:0;opacity:.9}
.ref-header-center .top-signal .signal-sub{display:none}
.ref-hero{display:flex;align-items:center;gap:18px;padding:23px 26px;min-height:104px;background:var(--ref-hero);border:1px solid color-mix(in srgb,var(--ref-line) 55%,transparent);border-radius:18px;position:relative;overflow:hidden;margin-bottom:25px}
.ref-hero>.ref-icon-tile{width:58px;height:58px;background:color-mix(in srgb,var(--ref-blue) 10%,transparent);z-index:1}
.ref-hero>.ref-icon-tile .ref-icon{width:33px;height:33px}
.ref-hero>div:not(.ref-hero-art){position:relative;z-index:1;max-width:78%}
.ref-hero h2{font-size:21px;line-height:1.3;margin:0 0 6px;font-weight:680;letter-spacing:-.5px;color:var(--ref-text)}
.ref-hero p{font-size:14px;color:var(--ref-muted);margin:0;line-height:1.5}
.ref-hero-art{position:absolute;inset-block:-20px;inset-inline-end:-30px;width:245px;opacity:.45;transform:rotate(-16deg);pointer-events:none}
.ref-hero-art i{position:absolute;display:block;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.6),rgba(37,131,254,.15));box-shadow:0 0 35px rgba(65,161,255,.15)}
.ref-hero-art i:nth-child(1){inset:35px 60px -25px 35px}.ref-hero-art i:nth-child(2){inset:0 5px 35px 90px}.ref-hero-art i:nth-child(3){inset:66px 145px -15px -30px}
.ref-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:30px}
.ref-metric{background:var(--ref-card);border:1px solid var(--ref-line);border-radius:18px;padding:21px 22px;min-width:0;box-shadow:var(--ref-shadow)}
.ref-metric-title{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.ref-metric-title h2{font-size:14px;line-height:1.35;margin:0;font-weight:650;overflow-wrap:anywhere}
.ref-metric-value{font-size:36px;font-weight:740;line-height:1.15;letter-spacing:-1px;display:block;font-variant-numeric:tabular-nums}
.ref-metric p{margin:8px 0 0;color:var(--ref-muted);font-size:12px;line-height:1.4}
.ref-metric.needs-attention{background:linear-gradient(150deg,var(--vx-ui-panel),color-mix(in srgb,#ef667c 8%,var(--vx-ui-panel)))}
.ref-metric.needs-attention .ref-icon-tile{color:#c62840;background:color-mix(in srgb,#ff7d90 16%,var(--vx-ui-panel))}
.ref-metric.needs-attention .ref-metric-value{color:var(--vx-ui-danger,#c62840)}
.ref-quick-section{margin:0 0 28px}.ref-quick-section>h2{font-size:20px;margin:0 0 15px;letter-spacing:-.4px}
.ref-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ref-quick{display:flex;align-items:center;gap:12px;min-height:91px;padding:17px;text-align:start;min-width:0;text-decoration:none;border:1px solid var(--ref-line);background:var(--ref-card);border-radius:16px;color:var(--ref-text);font:inherit;cursor:pointer;box-shadow:var(--ref-shadow)}
.ref-quick>span:nth-child(2){flex:1;min-width:0}.ref-quick strong{font-weight:650;display:block;font-size:13px;line-height:1.4}
.ref-quick small{display:block;margin-top:4px;font-size:11px;color:var(--ref-muted);line-height:1.45}
.ref-quick>.ref-icon:last-child{width:16px;height:16px;color:var(--ref-muted)}
.ref-quick:hover,.ref-activity-row:hover,.cloud-device-task:hover{border-color:var(--ref-blue);box-shadow:0 6px 20px color-mix(in srgb,var(--ref-blue) 8%,transparent)}
.ref-dashboard-columns{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:22px;margin-bottom:24px}
.ref-dashboard-columns .panel{margin:0;min-width:0}
.ref-activity-row{display:flex;align-items:center;gap:13px;padding:14px 0;text-decoration:none;color:var(--ref-text);border-bottom:1px solid var(--ref-line);min-width:0}
.ref-activity-row:last-child{border-bottom:0}.ref-activity-row strong{display:block;font-size:13px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.ref-activity-row small{display:block;color:var(--ref-muted);font-size:11px;margin-top:5px}
.ref-activity-row .ref-icon-tile{width:36px;height:36px;border-radius:50%}
.ref-activity-row .ref-icon{width:21px;height:21px}
.ref-dashboard .central-action-row{border:0;border-bottom:1px solid var(--ref-line);border-radius:0;background:transparent;padding:16px 0;gap:12px}
.ref-dashboard .central-action-row:last-child{border-bottom:0}
.ref-dashboard .central-action-row b{font-size:14px}.ref-dashboard .central-action-row em{line-height:1.5;font-size:12px;color:var(--ref-muted)}
.ref-data-notice{padding:10px 0;color:var(--ref-muted);display:flex;gap:10px;align-items:center}
.ref-device-strip{background:var(--ref-hero);border:1px solid var(--ref-line);border-radius:18px;padding:20px 24px;margin:0 0 24px}
.ref-device-strip .cloud-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0}
.ref-device-strip .cloud-facts>div{display:block;border:0;padding:0;min-width:0}
.ref-device-strip dt{font-size:12px;color:var(--ref-muted);margin-bottom:8px}.ref-device-strip dd{font-size:13px;margin:0;overflow-wrap:anywhere}
.ref-device-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start;margin-bottom:25px}
.ref-device-layout>div{min-width:0}.ref-device-actions{position:sticky;top:100px}
.ref-device-actions>h2{font-size:18px;margin:0 0 16px}.ref-device-actions .ref-quick{margin-bottom:10px;box-shadow:none;padding:14px;min-height:80px}
.ref-device-actions .ref-quick .ref-icon-tile{width:35px;height:35px;border-radius:10px}
.app .ref-connectivity{display:flex;gap:20px;margin-bottom:19px;align-items:flex-start}.ref-connectivity h2{font-size:18px;margin:0 0 10px}
.ref-connectivity p,.ref-connectivity small{color:var(--ref-muted);font-size:13px;margin-top:9px}
.app .cloud-device-task{padding:22px;min-height:110px;gap:15px;align-items:flex-start}
.app .cloud-device-task>span:nth-child(2){flex:1;min-width:0}.app .cloud-device-task strong{font-size:15px}.app .cloud-device-task small{font-size:14px;line-height:1.6}
#ownerApp .metrics{gap:18px;margin-bottom:27px}#ownerApp .metric-card{min-height:157px;padding:22px}
#ownerApp .metric-top{flex-direction:row-reverse;justify-content:flex-end;gap:11px;align-items:center;color:var(--ref-text)}
#ownerApp .metric-top>.vx-icon{width:43px;height:43px;padding:9px;border-radius:13px;background:var(--ref-blue-soft);color:var(--ref-blue)}
#ownerApp .metric-value{font-size:35px;letter-spacing:-1px;font-weight:730;margin-top:12px;font-variant-numeric:tabular-nums}
#ownerApp .dashboard-grid{gap:22px}#ownerApp .context-bar{margin-bottom:22px;gap:16px}
#ownerApp .context-bar .vx-input{min-height:49px;background:var(--ref-card);box-shadow:var(--ref-shadow);border-radius:12px}
#ownerApp .mini-row{padding-block:15px}#ownerApp .device-symbol{background:var(--ref-blue-soft);color:var(--ref-blue);border-radius:13px}
#ownerApp .ref-owner-support{display:flex;align-items:center;gap:16px;padding:22px;background:var(--ref-hero);border:1px solid var(--ref-line);border-radius:18px;margin-top:24px;color:var(--ref-text);text-decoration:none}
.ref-owner-support>span:nth-child(2){flex:1}.ref-owner-support strong{font-size:18px;display:block}.ref-owner-support small{display:block;font-size:13px;color:var(--ref-muted);margin-top:6px}
.ref-line-chart{width:100%;display:block;margin-top:16px;overflow:visible}.ref-line-chart text{fill:var(--ref-muted);font-family:inherit;font-size:12px}.ref-line-chart .ref-grid-line{stroke:var(--ref-line);stroke-dasharray:4 5}
.ref-line-chart .ref-data-line{stroke:var(--ref-blue);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.ref-line-chart .ref-data-area{fill:var(--ref-blue);opacity:.09}.ref-line-chart circle{fill:var(--vx-ui-panel);stroke:var(--ref-blue);stroke-width:1.6}
.ref-recovery-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0 26px}
.ref-recovery-metrics .ref-metric{padding:18px}.ref-recovery-metrics .ref-metric-value{font-size:30px}
.ref-recovery-filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.ref-recovery-filters button{min-height:44px;border:1px solid var(--ref-line);background:var(--ref-card);border-radius:12px;padding:10px 17px;color:var(--ref-text);font:inherit;cursor:pointer}
.ref-recovery-filters button[aria-pressed=true]{background:var(--ref-blue-soft);border-color:var(--ref-blue);color:var(--ref-blue)}
#lifecycleApp .ref-recovery-list{display:grid;gap:15px}#lifecycleApp .ref-recovery-case{padding:22px;display:flex;gap:17px;align-items:flex-start;margin:0}
.ref-recovery-case .ref-case-body{flex:1;min-width:0}.ref-recovery-case h3{font-size:17px;margin:0 0 7px}.ref-recovery-case p{font-size:13px;line-height:1.6;margin:6px 0;color:var(--ref-muted);overflow-wrap:anywhere}.ref-case-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--ref-muted)}
.ref-case-actions{display:flex;gap:10px;align-items:flex-end;flex-direction:column;max-width:220px}
.ref-case-status{display:inline-block;padding:5px 10px;border-radius:8px;background:var(--ref-blue-soft);color:var(--ref-blue);font-size:12px;line-height:1.5}
.ref-search-dialog{border:1px solid var(--ref-line);border-radius:20px;background:var(--vx-ui-panel);color:var(--ref-text);width:min(650px,calc(100vw - 24px));margin:12vh auto auto;max-height:76vh;padding:24px;box-shadow:0 30px 100px rgba(15,36,75,.25);overflow:auto}
.ref-search-dialog::backdrop{background:rgba(16,32,58,.28);backdrop-filter:blur(4px)}
.ref-search-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.ref-search-head label{font-size:18px;font-weight:650}
.ref-search-dialog input{width:100%;height:48px;padding:12px;border:1px solid var(--ref-line);background:var(--ref-card);color:var(--ref-text);border-radius:10px;font:inherit}
.ref-search-dialog>p{font-size:12px;margin:12px 0}.ref-search-result{display:flex;gap:14px;align-items:center;padding:13px 8px;color:var(--ref-text);text-decoration:none;border-radius:10px}
.ref-search-result:hover,.ref-search-result:focus-visible{background:var(--ref-blue-soft)}.ref-search-result>span:nth-child(2){flex:1;min-width:0}.ref-search-result strong{display:block;font-size:14px}.ref-search-result small{display:block;color:var(--ref-muted);font-size:12px;margin-top:5px;overflow-wrap:anywhere}
@media(max-width:1200px){.ref-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ref-metrics{gap:12px}.ref-metric{padding:17px}.ref-metric-title{gap:8px}.ref-metric-title .ref-icon-tile{width:36px;height:36px}.ref-device-layout{grid-template-columns:minmax(0,1fr) 245px}.ref-device-actions{padding:16px!important}.ref-header-center .top-signal{display:none}}
@media(max-width:1000px){.ref-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ref-dashboard-columns,.ref-device-layout{grid-template-columns:minmax(0,1fr)}.ref-device-actions{position:static}.ref-device-actions .ref-quick{display:inline-flex;width:calc(50% - 8px);vertical-align:top}.ref-device-strip .cloud-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.app .topbar{grid-template-columns:180px minmax(100px,1fr) auto;gap:12px}.ref-search-open kbd{display:none}}
@media(max-width:760px){
 .app .topbar{grid-template-columns:minmax(0,1fr) 44px auto;gap:6px;padding-inline:12px}.ref-search-open{min-width:44px;width:44px;padding:10px;justify-content:center}.ref-search-open span,.ref-search-open kbd{display:none}.ref-header-center{width:44px}.app .top-actions{gap:4px}.app .profile b{display:none}.app .top-actions .icon-btn{min-width:38px;width:38px;padding:7px}
 .app .content,#ownerApp .workspace,#lifecycleApp .lifecycle-wrap{padding:24px 16px calc(108px + env(safe-area-inset-bottom,0px))}
 .app .page-head,#ownerApp .page-head{align-items:flex-start;gap:12px;flex-wrap:wrap}.app .page-head h1,#ownerApp .page-head h1,#lifecycleApp .cloud-life-context h1{font-size:27px;letter-spacing:-.8px;line-height:1.2}
 .ref-hero{padding:20px 17px;gap:13px;min-height:110px;margin-bottom:21px}.ref-hero>.ref-icon-tile{width:45px;height:45px}.ref-hero h2{font-size:18px}.ref-hero p{font-size:12px}.ref-hero-art{width:160px;opacity:.25}.ref-hero>div:not(.ref-hero-art){max-width:100%}
 .ref-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:25px}.ref-metric{padding:17px 15px}.ref-metric-title{align-items:flex-start;flex-direction:column;gap:9px;margin-bottom:10px}.ref-metric-title h2{font-size:12px}.ref-metric-value{font-size:30px}.ref-metric p{font-size:11px}
 .ref-quick-grid{gap:11px}.ref-quick{flex-wrap:wrap;padding:15px;gap:10px;min-height:130px;align-items:flex-start}.ref-quick>span:nth-child(2){flex-basis:100%}.ref-quick>.ref-icon:last-child{display:none}.ref-quick .ref-icon-tile{width:38px;height:38px}.ref-quick strong{font-size:12px}.ref-quick small{font-size:11px}.ref-dashboard-columns{gap:17px}.app .panel{padding:19px}.ref-dashboard .panel-title{gap:10px;flex-wrap:wrap}
 .ref-device-strip{padding:19px 17px}.ref-device-strip .cloud-facts{gap:18px}.ref-device-actions .ref-quick{width:100%;min-height:0;flex-wrap:nowrap}.ref-device-actions .ref-quick>span:nth-child(2){flex-basis:auto}.app .cloud-device-task{min-height:92px;padding:19px;align-items:center}
 #ownerApp .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#ownerApp .metric-card{min-height:148px;padding:17px 15px}#ownerApp .metric-top{flex-direction:column;gap:9px;align-items:flex-start;font-size:12px}#ownerApp .metric-value{font-size:27px;word-break:normal;overflow-wrap:anywhere}#ownerApp .dashboard-grid{grid-template-columns:minmax(0,1fr);gap:17px}#ownerApp .vx-card{padding:19px}#ownerApp .context-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}#ownerApp .context-bar .vx-field{width:100%}.ref-owner-support strong{font-size:17px}
 .ref-recovery-metrics{gap:10px}.ref-recovery-metrics .ref-metric{padding:14px 12px}.ref-recovery-metrics .ref-metric-title h2{font-size:11px}.ref-recovery-metrics .ref-metric-value{font-size:26px}
 #lifecycleApp .ref-recovery-case{flex-wrap:wrap;padding:19px;gap:13px}.ref-recovery-case .ref-icon-tile{width:37px;height:37px}.ref-recovery-case .ref-case-body{flex-basis:calc(100% - 60px)}.ref-case-actions{width:100%;max-width:none;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.ref-case-actions button{margin-inline-start:auto}
 .app .cloud-bottom-nav,#ownerApp .cloud-owner-bottom-nav,#lifecycleApp .cloud-life-global-nav{border-radius:22px 22px 0 0;background:color-mix(in srgb,var(--vx-ui-panel) 97%,transparent);padding-top:9px;box-shadow:0 -5px 24px rgba(40,86,149,.07)}
}
@media(max-width:360px){.app .brand strong{font-size:16px!important}.app .brand .vx-mark{width:28px;height:28px}.app .topbar{gap:4px;padding-inline:9px}.app .top-actions #refreshBtn{display:none}.ref-metric-value{font-size:28px}.ref-recovery-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.ref-recovery-metrics .ref-icon-tile{width:30px;height:30px}}
@media(prefers-reduced-motion:no-preference){.ref-quick,.ref-search-result,.cloud-device-task{transition:box-shadow .15s ease,border-color .15s ease}}

/* Final mobile review: one clear owner heading, compact context, no clipped nav. */
.ref-device-strip .cloud-facts{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1000px){.ref-device-strip .cloud-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 #ownerApp .page-head{flex-wrap:nowrap;align-items:flex-start}
 #ownerApp .page-head>div:first-child{flex:1;min-width:0}
 #ownerApp .page-head>.vx-button{flex:none;align-self:flex-start}
 #ownerApp .context-bar{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:10px}
 #ownerApp .context-bar label{min-width:0;margin:0}
 #ownerApp .context-bar .vx-input{min-width:0;width:100%;font-size:12px;padding-inline:10px}
 #lifecycleApp .cloud-life-global-nav .cloud-life-global-link{padding:6px 2px;flex-direction:column;gap:3px;font-size:10px;min-height:54px;margin:0}
 #lifecycleApp .cloud-life-global-nav .ref-icon{width:21px;height:21px}
 #lifecycleApp .cloud-life-compact-label{white-space:normal;overflow-wrap:normal;hyphens:none}
}

/* Responsive case cards: do not inherit the legacy two-column flex sizing. */
#lifecycleApp .lifecycle-wrap .ref-recovery-case{
  display:grid;grid-template-columns:46px minmax(0,1fr) minmax(120px,200px);
  align-items:start;gap:17px;min-width:0;width:100%;padding:22px;
}
#lifecycleApp .ref-recovery-case .ref-case-body{min-width:0;width:auto;max-width:100%}
#lifecycleApp .ref-recovery-case .ref-case-actions{min-width:0;width:auto;max-width:100%}
#lifecycleApp .ref-recovery-case .ref-case-status{max-width:100%;white-space:normal;overflow-wrap:anywhere}
#lifecycleApp .ref-recovery-case .vx-button{max-width:100%;white-space:normal;text-align:start}
@media(max-width:760px){
 #lifecycleApp .lifecycle-wrap .ref-recovery-case{grid-template-columns:37px minmax(0,1fr);gap:13px;padding:19px}
 #lifecycleApp .ref-recovery-case .ref-case-body{grid-column:2}
 #lifecycleApp .ref-recovery-case .ref-case-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;flex-direction:row;justify-content:space-between;gap:10px}
 #lifecycleApp .ref-recovery-case .ref-case-actions .vx-button{margin-inline-start:auto}
 #lifecycleApp .lifecycle-toolbar .vx-button{max-width:100%;white-space:normal;text-align:start}
}
