/* Vristo presentation layer for the authenticated widget dashboard.
   Data loading, GridStack geometry and widget interactions stay in portal-widgets.js. */
html[data-portal-ui="vristo"] .portal-vristo-widget-dashboard {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1.5rem;
}

html[data-portal-ui="vristo"] .portal-vristo-widget-dashboard > * {
  margin-block: 0;
}

html[data-portal-ui="vristo"] .portal-widget-page-header {
  min-height: 2.25rem;
  align-items: center;
  gap: 1rem;
}

html[data-portal-ui="vristo"] .portal-widget-page-heading {
  min-width: 0;
  flex: 1 1 auto;
}

html[data-portal-ui="vristo"] .portal-widget-breadcrumb-row {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.75rem;
}

html[data-portal-ui="vristo"] .portal-widget-breadcrumb-row .breadcrumbs {
  min-width: 0;
  color: var(--vristo-ink);
  font-size: 0.875rem;
}

html[data-portal-ui="vristo"] .portal-widget-breadcrumb-row .breadcrumbs a {
  color: var(--vristo-primary);
}

html[data-portal-ui="vristo"] .portal-widget-breadcrumb-row #pwd-save-state {
  min-height: 1.35rem;
  border: 0;
  border-radius: 4px;
  padding-inline: 0.45rem;
  background: color-mix(in srgb, var(--color-success) 11%, transparent);
  color: var(--color-success);
  font-size: 0.65rem;
  font-weight: 700;
}

html[data-portal-ui="vristo"] .portal-widget-page-actions {
  justify-content: flex-end;
}

html[data-portal-ui="vristo"] .portal-widget-page-actions .btn {
  min-height: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 6px;
  padding-inline: 0.75rem;
  font-size: 0.72rem;
  font-weight: 650;
  box-shadow: none;
}

html[data-portal-ui="vristo"] .portal-widget-page-actions .btn-ghost {
  color: var(--vristo-muted);
}

html[data-portal-ui="vristo"] .portal-widget-page-actions .btn-ghost:hover,
html[data-portal-ui="vristo"] .portal-widget-page-actions .btn-ghost:focus-visible {
  background: var(--vristo-primary-soft);
  color: var(--vristo-primary);
}

html[data-portal-ui="vristo"] .portal-widget-page-actions .btn-primary {
  background: var(--vristo-primary);
  color: #fff;
  box-shadow: 0 4px 10px rgb(67 97 238 / 0.22);
}

html[data-portal-ui="vristo"] .portal-widget-page-actions .btn-primary:hover,
html[data-portal-ui="vristo"] .portal-widget-page-actions .btn-primary:focus-visible {
  background: var(--vristo-primary-strong);
}

html[data-portal-ui="vristo"] #pwd-message,
html[data-portal-ui="vristo"] .portal-widget-editor-bar,
html[data-portal-ui="vristo"] .portal-widget-catalog,
html[data-portal-ui="vristo"] .portal-widget-empty {
  border: 0;
  border-radius: 6px;
  background: var(--vristo-panel);
  box-shadow: var(--vristo-panel-shadow);
}

html[data-portal-ui="vristo"] .portal-widget-editor-bar {
  padding: 0.75rem 1rem;
}

html[data-portal-ui="vristo"] .portal-widget-editor-bar > p {
  color: var(--vristo-muted);
  font-size: 0.75rem;
}

html[data-portal-ui="vristo"] .portal-widget-editor-bar .btn,
html[data-portal-ui="vristo"] .portal-widget-catalog .btn,
html[data-portal-ui="vristo"] .portal-widget-empty .btn {
  border-radius: 6px;
}

html[data-portal-ui="vristo"] .portal-widget-workspace {
  gap: 1.5rem;
}

html[data-portal-ui="vristo"] .portal-widget-catalog {
  top: 6rem;
  width: 17.5rem;
  max-height: calc(100dvh - 7rem);
  flex-basis: 17.5rem;
}

html[data-portal-ui="vristo"] .portal-widget-catalog .card-body {
  gap: 0.9rem;
  padding: 1rem;
}

html[data-portal-ui="vristo"] .portal-widget-catalog .card-title {
  color: var(--vristo-ink);
  font-size: 1rem;
  font-weight: 650;
}

html[data-portal-ui="vristo"] .portal-widget-catalog .input,
html[data-portal-ui="vristo"] .portal-widget-modal-box :where(.input, .select, .textarea) {
  border-color: var(--vristo-line);
  border-radius: 6px;
  background: var(--vristo-panel);
  color: var(--vristo-ink);
}

html[data-portal-ui="vristo"] .portal-widget-catalog .input:focus-within,
html[data-portal-ui="vristo"] .portal-widget-modal-box :where(.input, .select, .textarea):focus,
html[data-portal-ui="vristo"] .portal-widget-modal-box :where(.input, .select, .textarea):focus-within {
  border-color: rgb(67 97 238 / 0.6);
  box-shadow: 0 0 0 3px rgb(67 97 238 / 0.1);
  outline: 0;
}

html[data-portal-ui="vristo"] .portal-widget-catalog nav > section > h3 {
  color: var(--vristo-muted);
  font-size: 0.62rem;
  letter-spacing: 0.11em;
}

html[data-portal-ui="vristo"] .portal-widget-catalog-item {
  border-radius: 5px;
  padding: 0.6rem 0.65rem;
  color: #506690;
}

html[data-portal-ui="vristo"] .portal-widget-catalog-item:hover,
html[data-portal-ui="vristo"] .portal-widget-catalog-item:focus-visible {
  background: var(--vristo-primary-soft);
  color: var(--vristo-primary);
}

html[data-portal-ui="vristo"] .portal-widget-catalog-item > i {
  margin-top: 0.15rem;
  color: var(--vristo-primary);
}

html[data-portal-ui="vristo"] .grid-stack {
  min-height: 10rem;
  margin: -0.75rem;
}

html[data-portal-ui="vristo"] .grid-stack > .grid-stack-item > .grid-stack-item-content {
  overflow: hidden;
  border: 0;
  border-radius: 6px;
  background: var(--vristo-panel);
  box-shadow: var(--vristo-panel-shadow);
}

html[data-portal-ui="vristo"] .portal-widget-card {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  border: 0;
  border-radius: inherit;
  padding: 1.25rem;
  background: transparent;
  box-shadow: none;
}

html[data-portal-ui="vristo"] .portal-widget-header {
  min-height: 0;
  align-items: flex-start;
  border: 0;
  padding: 0;
  margin-bottom: 1.25rem;
}

html[data-portal-ui="vristo"] .portal-widget-header > .min-w-0 {
  display: flex;
  flex-direction: column;
}

html[data-portal-ui="vristo"] .portal-widget-eyebrow {
  order: 2;
  margin-top: 0.1rem;
  color: var(--vristo-muted);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

html[data-portal-ui="vristo"] .portal-widget-eyebrow > i {
  width: 1rem;
  color: currentColor;
  text-align: center;
}

html[data-portal-ui="vristo"] .portal-widget-header .card-title {
  order: 1;
  min-height: 0;
  color: var(--vristo-ink);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.5rem;
}

html[data-portal-ui="vristo"] .portal-widget-controls .btn {
  min-height: 1.75rem;
  width: 1.75rem;
  height: 1.75rem;
  border: 0;
  border-radius: 5px;
  color: var(--vristo-muted);
}

html[data-portal-ui="vristo"] .portal-widget-controls .btn:hover,
html[data-portal-ui="vristo"] .portal-widget-controls .btn:focus-visible {
  background: var(--vristo-primary-soft);
  color: var(--vristo-primary);
}

html[data-portal-ui="vristo"] .portal-widget-body {
  min-height: 0;
  height: auto;
  flex: 1 1 auto;
  padding: 0;
  color: var(--vristo-ink);
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--vristo-ink) 48%, transparent) transparent;
}

html[data-portal-ui="vristo"] .portal-widget-body::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

html[data-portal-ui="vristo"] .portal-widget-body::-webkit-scrollbar-thumb {
  border-radius: 99px;
  background: color-mix(in srgb, var(--vristo-ink) 48%, transparent);
}

html[data-portal-ui="vristo"] .portal-widget-muted {
  color: var(--vristo-muted);
}

html[data-portal-ui="vristo"] .portal-widget-context .badge {
  min-height: 0;
  border: 0;
  border-radius: 4px;
  padding: 0.125rem 0.5rem;
  background: #f1f2f3;
  color: var(--vristo-subtle);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1rem;
}

html[data-portal-ui="vristo"] .portal-widget-list {
  gap: 0;
}

html[data-portal-ui="vristo"] .portal-widget-list-row {
  min-height: 3rem;
  align-items: center;
  border-bottom-color: var(--vristo-line);
  padding: 0.625rem 0;
}

html[data-portal-ui="vristo"] .portal-widget-list-row:hover {
  color: var(--vristo-primary);
}

html[data-portal-ui="vristo"] .portal-widget-primary-value {
  color: var(--vristo-ink);
  font-size: clamp(2rem, 3.2vw, 2.5rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

html[data-portal-ui="vristo"] .portal-widget-chart canvas {
  max-height: 100%;
}

html[data-portal-ui="vristo"] .portal-widget-editing .grid-stack-item-content {
  outline: 1px dashed rgb(67 97 238 / 0.55);
  outline-offset: -4px;
  box-shadow: 0 0 0 3px rgb(67 97 238 / 0.08), var(--vristo-panel-shadow);
}

html[data-portal-ui="vristo"] .portal-widget-editing .portal-widget-header {
  border-radius: 4px;
  background: color-mix(in srgb, var(--vristo-primary) 5%, transparent);
}

html[data-portal-ui="vristo"] .portal-widget-modal-box {
  border: 1px solid var(--vristo-line);
  border-radius: 8px;
  background: var(--vristo-panel);
  color: var(--vristo-ink);
  box-shadow: 0 24px 70px rgb(14 23 38 / 0.26);
}

html[data-portal-ui="vristo"] .portal-widget-modal-box .fieldset-legend {
  color: #506690;
  font-size: 0.7rem;
  font-weight: 650;
}

html[data-portal-ui="vristo"] .portal-widget-modal-box .btn {
  border-radius: 6px;
}

html[data-portal-ui="vristo"] .portal-widget-modal-box .card {
  border-color: var(--vristo-line);
  border-radius: 6px;
  box-shadow: none;
}

html[data-portal-ui="vristo"] .portal-widget-modal-box .card:hover {
  border-color: rgb(67 97 238 / 0.4);
  background: var(--vristo-primary-soft);
}

html[data-portal-ui="vristo"] .portal-widget-empty .card-body {
  padding: 3rem 1.5rem;
}

@media (max-width: 1023px) {
  html[data-portal-ui="vristo"] .portal-vristo-widget-dashboard {
    gap: 1rem;
  }

  html[data-portal-ui="vristo"] .portal-widget-page-header {
    align-items: flex-start;
  }

  html[data-portal-ui="vristo"] .portal-widget-page-actions {
    width: 100%;
    justify-content: flex-start;
  }

  html[data-portal-ui="vristo"] .portal-widget-catalog {
    top: 0;
    width: min(92vw, 22rem);
    max-height: none;
    border-radius: 0;
  }

  html[data-portal-ui="vristo"] .grid-stack {
    margin-inline: -0.35rem;
  }
}

@media (max-width: 639px) {
  html[data-portal-ui="vristo"] .portal-widget-breadcrumb-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.4rem;
  }

  html[data-portal-ui="vristo"] .portal-widget-page-actions .btn {
    flex: 1 1 auto;
  }

  html[data-portal-ui="vristo"] .portal-widget-header {
    margin-bottom: 1rem;
  }

  html[data-portal-ui="vristo"] .portal-widget-card {
    padding: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-portal-ui="vristo"] .grid-stack > .grid-stack-item > .grid-stack-item-content {
    transition: none;
  }
}

/* Approved dashboard composition. Only the Vristo surface; GridStack owns geometry. */
html[data-portal-ui="vristo"] #pwd-grid {margin:-10px;}
html[data-portal-ui="vristo"] #pwd-grid .grid-stack-item>.grid-stack-item-content {inset-inline:10px;}
html[data-portal-ui="vristo"] #pwd-grid .grid-stack-item {--widget-tone:var(--color-primary);}
html[data-portal-ui="vristo"] #pwd-grid [data-tone="secondary"] {--widget-tone:var(--color-secondary);}
html[data-portal-ui="vristo"] #pwd-grid [data-tone="info"] {--widget-tone:var(--color-info);}
html[data-portal-ui="vristo"] #pwd-grid [data-tone="warning"] {--widget-tone:var(--color-warning);}
html[data-portal-ui="vristo"] #pwd-grid [data-tone="success"] {--widget-tone:var(--color-success);}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-header {gap:12px;margin-bottom:16px;align-items:center;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-header>.min-w-0 {flex:1;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-header .card-title {font-size:15px;line-height:1.4;font-weight:650;white-space:normal;overflow-wrap:anywhere;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-eyebrow {font-size:11px;line-height:1.5;margin-top:3px;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-eyebrow i {display:none;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-header-icon,
html[data-portal-ui="vristo"] #pwd-grid .v-widget-company-icon {display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:6px;background:color-mix(in srgb,var(--widget-tone) 11%,transparent);color:var(--widget-tone);font-size:18px;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-controls .btn {width:24px;height:24px;min-height:24px;font-size:11px;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-controls .btn:not(:hover):not(:focus-visible) {opacity:.7;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-body {overflow:auto;scrollbar-color:color-mix(in srgb,var(--vristo-muted) 30%,transparent) transparent;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-context .badge {background:var(--vristo-canvas);font-size:11px;font-weight:400;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-context {gap:4px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-foot {display:flex;justify-content:flex-end;align-items:center;gap:8px;font-size:12px;color:var(--color-primary);padding-top:14px;margin-top:auto;text-decoration:none;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-foot:hover {text-decoration:underline;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-foot i {font-size:10px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-watch-row {gap:12px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-watch-row>.min-w-0 {flex:1;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-monogram {display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:6px;background:color-mix(in srgb,var(--widget-tone) 14%,transparent);color:var(--widget-tone);font-size:12px;font-weight:700;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-list-row {padding:11px 0;min-height:56px;gap:10px;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-list-row .text-sm {font-size:13px;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-row-meta {font-size:11px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-watch-row .portal-widget-row-meta::before {content:'';display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;background:var(--color-success);}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-timeline {padding-left:0;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-timeline .portal-widget-list-row {position:relative;border:0;padding-left:20px;padding-bottom:16px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-timeline .portal-widget-list-row::before {content:'';position:absolute;left:4px;top:17px;bottom:-17px;width:1px;background:var(--vristo-line);}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-timeline .portal-widget-list-row:last-child::before {bottom:12px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-timeline .portal-widget-list-row::after {content:'';position:absolute;top:17px;left:0;width:9px;height:9px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 3px var(--vristo-panel);}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-timeline .portal-widget-list-row:nth-child(3n+2)::after {background:var(--color-secondary);}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-timeline .portal-widget-list-row:nth-child(3n)::after {background:var(--color-success);}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-timeline .truncate {white-space:normal;}
html[data-portal-ui="vristo"] #pwd-grid [data-widget-type="radar-results"] .portal-widget-body {background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--color-info) 5%,transparent),transparent 60%);}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-finance-body {display:flex;flex-direction:column;gap:8px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-finance-headline {display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-finance-headline strong {font-size:28px;line-height:1.25;letter-spacing:-.5px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-finance-headline span {font-size:13px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-finance-headline small {font-size:11px;margin-left:auto;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-finance-body>.portal-widget-chart {height:auto;min-height:170px;flex:1;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-chart {min-height:155px;}
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-body>p:last-child {font-size:10px;}
html[data-portal-ui="vristo"] #pwd-grid [data-widget-type="company-card"] .portal-widget-body {position:relative;isolation:isolate;}
html[data-portal-ui="vristo"] #pwd-grid [data-widget-type="company-card"] .portal-widget-body::before {content:'';pointer-events:none;position:absolute;inset:0 0 40% 20%;z-index:-1;opacity:.65;background:repeating-linear-gradient(27deg,transparent 0 34px,color-mix(in srgb,var(--color-primary) 9%,transparent) 35px 36px,transparent 37px 62px),repeating-linear-gradient(108deg,transparent 0 41px,color-mix(in srgb,var(--color-primary) 8%,transparent) 42px 44px,transparent 45px 80px);mask-image:linear-gradient(90deg,transparent,#000);}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-company-identity {display:flex;gap:14px;align-items:center;padding:5px 0 12px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-company-icon {width:48px;height:48px;font-size:24px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-company-identity h3 {font-size:19px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-company-identity h3 .badge {display:table;margin-top:6px;font-size:10px;}
html[data-portal-ui="vristo"] #pwd-grid [data-widget-type="company-card"] .stats {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:0;overflow:visible;box-shadow:none;background:none;}
html[data-portal-ui="vristo"] #pwd-grid [data-widget-type="company-card"] .stat {border:1px solid var(--vristo-line);border-radius:6px;min-width:0;padding:12px;}
html[data-portal-ui="vristo"] #pwd-grid [data-widget-type="company-card"] .stat-title {font-size:11px;white-space:normal;}
html[data-portal-ui="vristo"] #pwd-grid [data-widget-type="company-card"] .stat-value {font-size:19px;line-height:1.6;white-space:normal;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-company-action a {display:block;text-align:center;background:var(--vristo-primary-soft);padding:9px;border-radius:4px;text-decoration:none;font-size:12px;margin-top:16px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-card {position:relative;padding:18px 18px 14px 80px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .v-widget-header-icon {position:absolute;left:18px;top:18px;width:48px;height:48px;font-size:23px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-header {margin-bottom:6px;gap:0;align-items:flex-start;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-header .card-title {font-size:12px;font-weight:500;line-height:1.45;padding-right:12px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-eyebrow {display:none;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-controls {position:absolute;right:5px;top:8px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-summary-value,
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-primary-value {font-size:30px;line-height:1.1;font-weight:700;color:var(--vristo-ink);text-decoration:none;margin:0;letter-spacing:-.6px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-summary-note {font-size:10px;line-height:1.5;margin-top:6px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-body {overflow:auto;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-loading,
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-error {min-height:40px;font-size:11px;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-context,
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-map-watermark,
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-body>.portal-widget-muted:not(.v-widget-summary-note):not(.v-widget-compact-period) {display:none;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-body>.badge {font-size:10px;line-height:1.4;border:0;padding:0;height:auto;background:none;margin-top:6px;white-space:normal;}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact-period {font-size:9px;margin-top:4px;}
html[data-portal-ui="vristo"] #pwd-grid .portal-map-positive {fill:var(--color-success);}
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .v-widget-compact .portal-widget-card {padding-left:18px;}
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .v-widget-compact .v-widget-header-icon {display:none;}
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .v-widget-compact .portal-widget-controls {position:static;flex-wrap:wrap;}
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .v-widget-compact .portal-widget-header {flex-wrap:wrap;}
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .portal-widget-header {display:grid;grid-template-columns:minmax(0,1fr);gap:5px;}
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .v-widget-header-icon {display:none;}
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .portal-widget-controls {justify-content:flex-end;}
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .portal-widget-header .card-title {overflow-wrap:normal;}
html[data-portal-ui="vristo"] .portal-widget-narrow.portal-widget-editing #pwd-grid [data-pwd-action="up"],
html[data-portal-ui="vristo"] .portal-widget-narrow.portal-widget-editing #pwd-grid [data-pwd-action="down"] {display:inline-flex!important;}
@media(max-width:639px){
  html[data-portal-ui="vristo"] #pwd-grid {margin:-6px;}
  html[data-portal-ui="vristo"] #pwd-grid .grid-stack-item>.grid-stack-item-content {left:6px!important;right:6px!important;top:6px!important;bottom:6px!important;}
  html[data-portal-ui="vristo"] #pwd-grid .portal-widget-card {padding:16px;}
  html[data-portal-ui="vristo"] #pwd-grid .portal-widget-header .card-title {font-size:14px;}
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-card {padding:12px;}
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .v-widget-header-icon {position:static;width:26px;height:26px;font-size:14px;margin-right:8px;}
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-header .card-title {font-size:10px;line-height:1.35;padding-right:4px;}
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-controls {display:none;}
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-summary-value,html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-primary-value {font-size:26px;}
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-summary-note {font-size:9px;}
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-finance-headline strong {font-size:25px;}
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-finance-headline small {width:100%;margin:0;}
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-timeline .portal-widget-list-row {flex-wrap:wrap;gap:4px;}
  html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .v-widget-compact .portal-widget-controls {display:flex;}
  html[data-portal-ui="vristo"] .portal-widget-page-header {gap:8px;align-items:center;}
  html[data-portal-ui="vristo"] .portal-widget-breadcrumb-row {flex-direction:row;align-items:center;gap:8px;}
  html[data-portal-ui="vristo"] .portal-widget-breadcrumb-row .breadcrumbs {font-size:12px;}
  html[data-portal-ui="vristo"] .portal-widget-page-actions .btn {font-size:10px;padding-inline:8px;}
  html[data-portal-ui="vristo"] .portal-widget-page-actions {width:auto;gap:3px;}
  html[data-portal-ui="vristo"] .portal-widget-page-actions .btn {width:30px;padding:0;flex:none;}
  html[data-portal-ui="vristo"] .portal-widget-page-actions #pwd-add-mobile {width:auto;padding-inline:8px;}
  html[data-portal-ui="vristo"] .v-widget-action-label {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
  html[data-portal-ui="vristo"] .portal-widget-breadcrumb-row .breadcrumbs li:first-child {display:none;}
  html[data-portal-ui="vristo"] .portal-widget-breadcrumb-row .breadcrumbs li:nth-child(2)::before {display:none;}
}

/* ── Widget menu, carousel and chart types (24. 9. 2026) ──
   ⋯ menu: dropdown of the Revenue panel in vristo-html-main index.html.
   Carousel navigation: components-carousel.html (round outline arrows, dot pagination). */
html[data-portal-ui="vristo"] #pwd-grid .v-widget-menu-toggle {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgb(14 23 38 / 0.7);
  cursor: pointer;
  transition: color 0.15s, background-color 0.15s;
}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-menu-toggle:hover,
html[data-portal-ui="vristo"] #pwd-grid .v-widget-menu-toggle[aria-expanded="true"] { color: var(--vristo-primary); }
html[data-portal-ui="vristo"] #pwd-grid .v-widget-menu-toggle:focus-visible { outline: 2px solid rgb(67 97 238 / 0.45); outline-offset: 1px; color: var(--vristo-primary); }
html[data-portal-ui="vristo"][data-theme="graphite"] #pwd-grid .v-widget-menu-toggle { color: rgb(255 255 255 / 0.7); }
html[data-portal-ui="vristo"][data-theme="graphite"] #pwd-grid .v-widget-menu-toggle:hover,
html[data-portal-ui="vristo"][data-theme="graphite"] #pwd-grid .v-widget-menu-toggle[aria-expanded="true"] { color: var(--vristo-primary); }
/* ⋯ appears only while the panel is hovered or focused (fade in/out). Touch screens have no hover,
   so there it stays visible; an open menu keeps it visible too. */
@media (hover: hover) and (pointer: fine) {
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-menu-toggle { opacity: 0; transition: opacity 0.2s ease, color 0.15s, background-color 0.15s; }
  html[data-portal-ui="vristo"] #pwd-grid .portal-widget-card:is(:hover, :focus-within) .v-widget-menu-toggle,
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-menu-toggle[aria-expanded="true"] { opacity: 1; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce) {
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-menu-toggle { transition: none; }
}

html[data-portal-ui="vristo"] .v-widget-menu {
  position: fixed;
  z-index: 1000;
  min-width: 180px;
  margin: 0;
  padding: 0.5rem 0;
  list-style: none;
  border-radius: 0.25rem;
  background: #fff;
  color: #0e1726;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1), 0 10px 30px -12px rgb(14 23 38 / 0.25);
  font-family: Nunito, sans-serif;
  font-size: 14px;
  transform-origin: top right;
  animation: v-widget-menu-in 300ms cubic-bezier(0.4, 0, 0.2, 1);
}
html[data-portal-ui="vristo"] .v-widget-menu--up { transform-origin: bottom right; }
html[data-portal-ui="vristo"] .v-widget-menu button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 0.5rem 1rem;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}
html[data-portal-ui="vristo"] .v-widget-menu button > i { width: 16px; font-size: 13px; text-align: center; opacity: 0.6; }
html[data-portal-ui="vristo"] .v-widget-menu button:hover:not(:disabled),
html[data-portal-ui="vristo"] .v-widget-menu button:focus-visible { outline: 0; background: rgb(67 97 238 / 0.1); color: #4361ee; }
html[data-portal-ui="vristo"] .v-widget-menu button:disabled { opacity: 0.45; cursor: default; }
html[data-portal-ui="vristo"] .v-widget-menu .v-widget-menu-danger { margin-top: 0.35rem; padding-top: 0.35rem; border-top: 1px solid #e0e6ed; }
html[data-portal-ui="vristo"] .v-widget-menu .v-widget-menu-danger button:hover,
html[data-portal-ui="vristo"] .v-widget-menu .v-widget-menu-danger button:focus-visible { background: rgb(231 81 90 / 0.1); color: #e7515a; }
html[data-portal-ui="vristo"][data-theme="graphite"] .v-widget-menu { background: #1b2e4b; color: #888ea8; box-shadow: 0 10px 30px -10px rgb(0 0 0 / 0.6); }
html[data-portal-ui="vristo"][data-theme="graphite"] .v-widget-menu .v-widget-menu-danger { border-color: #253b5c; }
@keyframes v-widget-menu-in { from { opacity: 0; transform: scale(0.92); } to { opacity: 1; transform: scale(1); } }

/* One control in the header: edit mode keeps the regular panel header. */
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .portal-widget-header { display: flex; gap: 12px; }
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .v-widget-header-icon { display: grid; }
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .v-widget-compact .portal-widget-card { padding-left: 80px; }
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .v-widget-compact .v-widget-header-icon { display: grid; }
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .v-widget-compact .portal-widget-controls { position: absolute; }
html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .portal-widget-header { cursor: move; }
html[data-portal-ui="vristo"] #pwd-grid .v-widget-moving > .grid-stack-item-content { animation: v-widget-moving 800ms ease-in-out 3; outline: 2px solid var(--vristo-primary); outline-offset: -2px; }
@keyframes v-widget-moving { 50% { box-shadow: 0 0 0 6px rgb(67 97 238 / 0.18), var(--vristo-panel-shadow); } }

/* Carousel */
html[data-portal-ui="vristo"] #pwd-grid .v-widget-carousel .portal-widget-body { overflow-x: hidden; touch-action: pan-y; }
html[data-portal-ui="vristo"] #pwd-grid .v-widget-carousel-nav {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding-top: 12px;
}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-carousel-arrow {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 1px solid var(--vristo-primary);
  border-radius: 50%;
  background: transparent;
  color: var(--vristo-primary);
  cursor: pointer;
  transition: all 0.15s;
}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-carousel-arrow:hover:not(:disabled),
html[data-portal-ui="vristo"] #pwd-grid .v-widget-carousel-arrow:focus-visible { background: var(--vristo-primary); color: #fff; outline: 0; }
html[data-portal-ui="vristo"] #pwd-grid .v-widget-carousel-arrow:disabled { opacity: 0.35; cursor: default; }
html[data-portal-ui="vristo"] #pwd-grid .v-widget-carousel-dots { display: flex; align-items: center; gap: 2px; }
html[data-portal-ui="vristo"] #pwd-grid .v-widget-carousel-dot {
  display: grid;
  place-items: center;
  width: 16px;
  height: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-carousel-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vristo-primary);
  opacity: 0.2;
  transition: opacity 0.2s, width 0.2s;
}
html[data-portal-ui="vristo"] #pwd-grid .v-widget-carousel-dot[aria-current="true"]::before { opacity: 1; }
html[data-portal-ui="vristo"] #pwd-grid .v-widget-carousel-dot:hover::before { opacity: 0.6; }
html[data-portal-ui="vristo"] #pwd-grid .v-widget-carousel-dot:focus-visible { outline: 2px solid rgb(67 97 238 / 0.45); outline-offset: -2px; border-radius: 4px; }
html[data-portal-ui="vristo"] #pwd-grid .v-slide-next { animation: v-slide-next 300ms ease-out; }
html[data-portal-ui="vristo"] #pwd-grid .v-slide-prev { animation: v-slide-prev 300ms ease-out; }
@keyframes v-slide-next { from { opacity: 0; transform: translateX(28px); } }
@keyframes v-slide-prev { from { opacity: 0; transform: translateX(-28px); } }

/* Chart panels: the chart takes the space left under the context badges, so axis labels are not clipped. */
html[data-portal-ui="vristo"] #pwd-grid :is([data-widget-type="registry-trend"], [data-widget-type="market-map"], [data-widget-type="company-mix"]) .portal-widget-body:has(> .portal-widget-chart) { display: flex; flex-direction: column; }
html[data-portal-ui="vristo"] #pwd-grid :is([data-widget-type="registry-trend"], [data-widget-type="market-map"]) .portal-widget-body > .portal-widget-chart { flex: 1 1 0; height: auto; min-height: 120px; }
html[data-portal-ui="vristo"] #pwd-grid :is([data-widget-type="registry-trend"], [data-widget-type="market-map"]) .portal-widget-body > .portal-widget-chart canvas { max-height: none; }

/* Circular charts (doughnut, pie, polar area) */
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-chart.v-widget-chart-circular { flex: 1 1 0; height: auto; min-height: 180px; }
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-body:has(> .v-widget-chart-circular) { display: flex; flex-direction: column; gap: 10px; }
html[data-portal-ui="vristo"] #pwd-grid .portal-widget-body:has(> .v-widget-chart-circular) > .portal-widget-muted { margin-top: 0; }
html[data-portal-ui="vristo"] #pwd-grid .v-widget-chart-circular canvas { max-height: none; }

/* Company list in widget settings */
html[data-portal-ui="vristo"] .v-company-picker { display: flex; gap: 8px; min-width: 0; }
html[data-portal-ui="vristo"] .v-company-picker > .select { width: 5.5rem; flex: 0 0 auto; }
html[data-portal-ui="vristo"] .v-company-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
html[data-portal-ui="vristo"] .v-company-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding: 3px 4px 3px 4px;
  border: 1px solid var(--vristo-line);
  border-radius: 999px;
  background: var(--vristo-panel);
  font-size: 13px;
}
html[data-portal-ui="vristo"] .v-company-chip-index { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--vristo-primary-soft); color: var(--vristo-primary); font-size: 11px; font-weight: 700; }
html[data-portal-ui="vristo"] .v-company-chip-label { font-variant-numeric: tabular-nums; }
html[data-portal-ui="vristo"] .v-company-chip-remove { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--vristo-muted); cursor: pointer; }
html[data-portal-ui="vristo"] .v-company-chip-remove:hover,
html[data-portal-ui="vristo"] .v-company-chip-remove:focus-visible { background: rgb(231 81 90 / 0.1); color: #e7515a; outline: 0; }
html[data-portal-ui="vristo"] #pwd-company-help { display: flex; flex-wrap: wrap; gap: 4px 10px; }
html[data-portal-ui="vristo"] #pwd-company-help [data-pwd-company-count] { font-weight: 600; font-variant-numeric: tabular-nums; }

@media (max-width: 639px) {
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-controls { display: flex; right: 2px; top: 4px; }
  html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .v-widget-compact .portal-widget-card { padding-left: 12px; }
  html[data-portal-ui="vristo"] .portal-widget-editing #pwd-grid .v-widget-compact .portal-widget-controls { position: absolute; }
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .v-widget-menu-toggle { width: 24px; height: 24px; }
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-compact .portal-widget-header .card-title { padding-right: 22px; }
  html[data-portal-ui="vristo"] .v-company-picker { flex-wrap: wrap; }
  html[data-portal-ui="vristo"] .v-company-picker > .input { flex: 1 1 8rem; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-portal-ui="vristo"] .v-widget-menu,
  html[data-portal-ui="vristo"] #pwd-grid .v-slide-next,
  html[data-portal-ui="vristo"] #pwd-grid .v-slide-prev,
  html[data-portal-ui="vristo"] #pwd-grid .v-widget-moving > .grid-stack-item-content { animation: none; }
}

/* ── Company indicators (25. 9. 2026): risk, financial health, debts, VAT, age, owners, changes ──
   Icon chips in Vristo badge colours; the detail bubble is one fixed element in <body>. */
html[data-portal-ui="vristo"] #pwd-grid .v-signals { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
html[data-portal-ui="vristo"] #pwd-grid [data-widget-density="wide"] [data-company-layout] > .v-signals { grid-column: 1 / -1; }
html[data-portal-ui="vristo"] #pwd-grid .v-signal {
  --signal: var(--vristo-muted);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  max-width: 100%;
  padding: 3px 10px 3px 3px;
  border: 1px solid var(--vristo-line);
  border-radius: 999px;
  background: var(--vristo-panel);
  cursor: default;
  outline: 0;
}
html[data-portal-ui="vristo"] #pwd-grid .v-signal[data-tone="success"] { --signal: var(--vristo-success); }
html[data-portal-ui="vristo"] #pwd-grid .v-signal[data-tone="warning"] { --signal: var(--vristo-warning); }
html[data-portal-ui="vristo"] #pwd-grid .v-signal[data-tone="error"] { --signal: var(--vristo-danger); }
html[data-portal-ui="vristo"] #pwd-grid .v-signal[data-tone="info"] { --signal: var(--vristo-info); }
html[data-portal-ui="vristo"] #pwd-grid .v-signal > i {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--signal) 14%, transparent);
  color: var(--signal);
  font-size: 11px;
}
html[data-portal-ui="vristo"] #pwd-grid .v-signal:hover,
html[data-portal-ui="vristo"] #pwd-grid .v-signal:focus-visible { border-color: color-mix(in srgb, var(--signal) 55%, var(--vristo-line)); }
html[data-portal-ui="vristo"] #pwd-grid .v-signal:focus-visible { box-shadow: 0 0 0 2px rgb(67 97 238 / 0.35); }
html[data-portal-ui="vristo"] #pwd-grid .v-signal-text { display: inline-flex; align-items: baseline; gap: 5px; min-width: 0; white-space: nowrap; }
html[data-portal-ui="vristo"] #pwd-grid .v-signal-label { color: var(--vristo-muted); font-size: 11px; }
html[data-portal-ui="vristo"] #pwd-grid .v-signal-value { overflow: hidden; color: var(--vristo-ink); font-size: 12px; font-weight: 700; text-overflow: ellipsis; }
html[data-portal-ui="vristo"] #pwd-grid .v-signal-tip { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
html[data-portal-ui="vristo"] #pwd-grid .v-signal.is-loading > i { animation: v-signal-pulse 1.2s ease-in-out infinite; }
@keyframes v-signal-pulse { 50% { opacity: 0.35; } }
/* Small panels: icons only, the text stays for screen readers. */
html[data-portal-ui="vristo"] #pwd-grid [data-signal-icons] .v-signals { gap: 5px; }
html[data-portal-ui="vristo"] #pwd-grid [data-signal-icons] .v-signal { padding: 2px; }
html[data-portal-ui="vristo"] #pwd-grid [data-signal-icons] .v-signal-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

html[data-portal-ui="vristo"] .v-signal-bubble {
  position: fixed;
  z-index: 1000;
  max-width: 280px;
  padding: 8px 11px;
  border-radius: 6px;
  background: #0e1726;
  color: #fff;
  box-shadow: 0 10px 30px -10px rgb(14 23 38 / 0.45);
  font-family: Nunito, sans-serif;
  font-size: 12px;
  line-height: 1.45;
  pointer-events: none;
  border-top: 3px solid var(--signal-bubble, #888ea8);
}
html[data-portal-ui="vristo"] .v-signal-bubble[data-tone="success"] { --signal-bubble: #00ab55; }
html[data-portal-ui="vristo"] .v-signal-bubble[data-tone="warning"] { --signal-bubble: #e2a03f; }
html[data-portal-ui="vristo"] .v-signal-bubble[data-tone="error"] { --signal-bubble: #e7515a; }
html[data-portal-ui="vristo"] .v-signal-bubble[data-tone="info"] { --signal-bubble: #2196f3; }
html[data-portal-ui="vristo"][data-theme="graphite"] .v-signal-bubble { background: #1b2e4b; color: #e0e6ed; }
html[data-portal-ui="vristo"] .v-signal-bubble[hidden] { display: none; }

/* Owners and recent changes */
html[data-portal-ui="vristo"] #pwd-grid .v-company-list-slot { margin-top: 12px; }
html[data-portal-ui="vristo"] #pwd-grid .v-company-list-title { margin: 0 0 6px; color: var(--vristo-muted); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
html[data-portal-ui="vristo"] #pwd-grid .v-company-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
html[data-portal-ui="vristo"] #pwd-grid .v-company-list li { display: flex; align-items: flex-start; gap: 8px; min-width: 0; font-size: 12px; line-height: 1.35; }
html[data-portal-ui="vristo"] #pwd-grid .v-company-list li > i { flex: 0 0 auto; width: 14px; margin-top: 2px; color: var(--vristo-primary); font-size: 11px; text-align: center; }
html[data-portal-ui="vristo"] #pwd-grid .v-company-list-name { display: block; overflow: hidden; color: var(--vristo-ink); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html[data-portal-ui="vristo"] #pwd-grid .v-company-list small { color: var(--vristo-muted); font-size: 11px; }

/* Settings: indicator choice */
html[data-portal-ui="vristo"] .v-signal-options { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 4px 12px; }
html[data-portal-ui="vristo"] .v-signal-options .label { justify-content: flex-start; gap: 8px; color: var(--vristo-ink); font-size: 14px; white-space: normal; }
html[data-portal-ui="vristo"] .v-signal-options .label > i { width: 16px; color: var(--vristo-primary); text-align: center; }
html[data-portal-ui="vristo"] .v-signal-options small { padding: 0 5px; border-radius: 4px; background: var(--vristo-primary-soft); color: var(--vristo-primary); font-size: 10px; font-weight: 700; }
@media (prefers-reduced-motion: reduce) { html[data-portal-ui="vristo"] #pwd-grid .v-signal.is-loading > i { animation: none; } }

/* ── Trends in company stats, license usage, exchange rates (25. 9. 2026) ── */
html[data-portal-ui="vristo"] #pwd-grid .v-spark { display: block; width: 100%; height: 26px; overflow: visible; --spark: var(--vristo-primary); }
html[data-portal-ui="vristo"] #pwd-grid .v-spark[data-tone="success"] { --spark: var(--vristo-success); }
html[data-portal-ui="vristo"] #pwd-grid .v-spark[data-tone="error"] { --spark: var(--vristo-danger); }
html[data-portal-ui="vristo"] #pwd-grid .v-spark-line { fill: none; stroke: var(--spark); stroke-width: 1.75; stroke-linejoin: round; stroke-linecap: round; }
html[data-portal-ui="vristo"] #pwd-grid .v-spark-area { fill: color-mix(in srgb, var(--spark) 14%, transparent); stroke: none; }
html[data-portal-ui="vristo"] #pwd-grid .v-delta { flex: 0 0 auto; padding: 1px 6px; border-radius: 999px; font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.5; white-space: nowrap; }
html[data-portal-ui="vristo"] #pwd-grid .v-delta.is-up { background: color-mix(in srgb, var(--vristo-success) 13%, transparent); color: var(--vristo-success); }
html[data-portal-ui="vristo"] #pwd-grid .v-delta.is-down { background: color-mix(in srgb, var(--vristo-danger) 13%, transparent); color: var(--vristo-danger); }
html[data-portal-ui="vristo"] #pwd-grid .v-delta.is-flat { background: var(--vristo-canvas); color: var(--vristo-muted); }

/* Company stats: title with year-on-year change, value, five-year trend */
html[data-portal-ui="vristo"] #pwd-grid .v-stat-head { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
html[data-portal-ui="vristo"] #pwd-grid .v-stat-head > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html[data-portal-ui="vristo"] #pwd-grid .v-stat-trend { margin-top: 4px; }

/* License usage */
html[data-portal-ui="vristo"] #pwd-grid .v-license-body { display: flex; flex-direction: column; gap: 12px; container-type: size; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-top { display: flex; align-items: center; gap: 16px; min-width: 0; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-gauge { position: relative; flex: 0 0 auto; width: 118px; height: 118px; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-ring { position: absolute; inset: 0; height: 100%; min-height: 0; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-center { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; pointer-events: none; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-center strong { color: var(--vristo-ink); font-size: 22px; font-weight: 700; line-height: 1.1; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-center small { color: var(--vristo-muted); font-size: 11px; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-facts { display: grid; flex: 1 1 auto; gap: 6px; min-width: 0; margin: 0; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-facts > div { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; min-width: 0; font-size: 12px; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-facts dt { color: var(--vristo-muted); white-space: nowrap; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-facts dd { overflow: hidden; margin: 0; color: var(--vristo-ink); font-weight: 700; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-facts dd.is-warning { color: var(--vristo-warning); }
html[data-portal-ui="vristo"] #pwd-grid .v-license-facts dd.is-error { color: var(--vristo-danger); }
html[data-portal-ui="vristo"] #pwd-grid .v-license-facts dd.is-info { color: var(--vristo-info); }
html[data-portal-ui="vristo"] #pwd-grid .v-license-endpoints { display: grid; gap: 6px; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-endpoint { display: grid; grid-template-columns: minmax(0, 9rem) minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: 12px; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-endpoint code { overflow: hidden; color: var(--vristo-ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
html[data-portal-ui="vristo"] #pwd-grid .v-license-bar { height: 6px; overflow: hidden; border-radius: 999px; background: var(--vristo-canvas); }
html[data-portal-ui="vristo"] #pwd-grid .v-license-bar i { display: block; height: 100%; border-radius: inherit; background: var(--vristo-primary); }
html[data-portal-ui="vristo"] #pwd-grid .v-license-body > .portal-widget-muted { margin-top: 0; }
@container (max-height: 250px) { html[data-portal-ui="vristo"] #pwd-grid .v-license-endpoints, html[data-portal-ui="vristo"] #pwd-grid .v-license-body > .portal-widget-muted { display: none; } }
@container (max-width: 300px) { html[data-portal-ui="vristo"] #pwd-grid .v-license-gauge { width: 92px; height: 92px; } html[data-portal-ui="vristo"] #pwd-grid .v-license-center strong { font-size: 18px; } }
@container (max-height: 150px) { html[data-portal-ui="vristo"] #pwd-grid .v-license-body > .v-widget-foot { display: none; } }

/* Exchange rates */
html[data-portal-ui="vristo"] #pwd-grid .v-fx-body { display: flex; flex-direction: column; gap: 10px; container-type: size; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-list { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-row { display: grid; grid-template-columns: auto minmax(0, 1fr) 64px auto; align-items: center; gap: 10px; width: 100%; padding: 6px 8px; border: 0; border-radius: 6px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-row:hover { background: var(--vristo-canvas); }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-row[aria-pressed="true"] { background: var(--vristo-primary-soft); }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-row:focus-visible { outline: 2px solid rgb(67 97 238 / 0.45); outline-offset: -2px; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-code { display: grid; place-items: center; width: 40px; height: 28px; border-radius: 6px; background: color-mix(in srgb, var(--vristo-primary) 11%, transparent); color: var(--vristo-primary); font-size: 12px; font-weight: 800; letter-spacing: 0.04em; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-name { display: grid; min-width: 0; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-name strong { color: var(--vristo-ink); font-size: 14px; font-variant-numeric: tabular-nums; line-height: 1.3; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-name small { overflow: hidden; color: var(--vristo-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-row .v-spark { height: 24px; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-chart { display: flex; flex: 1 1 0; flex-direction: column; min-height: 104px; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-chart .portal-widget-chart { flex: 1 1 0; height: auto; min-height: 84px; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-chart .portal-widget-chart canvas { max-height: none; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-chart-title { margin: 0 0 4px; color: var(--vristo-muted); font-size: 11px; font-weight: 600; }
html[data-portal-ui="vristo"] #pwd-grid .v-fx-body > .portal-widget-muted { margin-top: 0; }
@container (max-width: 290px) { html[data-portal-ui="vristo"] #pwd-grid .v-fx-row { grid-template-columns: auto minmax(0, 1fr) auto; } html[data-portal-ui="vristo"] #pwd-grid .v-fx-row .v-spark { display: none; } }
@container (max-height: 230px) { html[data-portal-ui="vristo"] #pwd-grid .v-fx-name small { display: none; } html[data-portal-ui="vristo"] #pwd-grid .v-fx-row { padding-block: 3px; } }
@container (max-height: 150px) { html[data-portal-ui="vristo"] #pwd-grid .v-fx-body > .portal-widget-muted { display: none; } }
html[data-portal-ui="vristo"] .v-signal-options .label > b { min-width: 2.6rem; color: var(--vristo-primary); font-size: 12px; }

/* Guest template (25. 9. 2026): account panel of the read-only dashboard. */
html[data-portal-ui="vristo"] #pwd-grid .v-account-cta { display: flex; flex-direction: column; gap: 14px; height: 100%; }
html[data-portal-ui="vristo"] #pwd-grid .v-account-cta-lead { margin: 0; color: var(--vristo-muted); font-size: 13px; line-height: 1.5; }
html[data-portal-ui="vristo"] #pwd-grid .v-account-cta-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
html[data-portal-ui="vristo"] #pwd-grid .v-account-cta-list li { display: flex; align-items: center; gap: 10px; color: var(--vristo-ink); font-size: 13px; font-weight: 600; }
html[data-portal-ui="vristo"] #pwd-grid .v-account-cta-list li > i { display: grid; flex: 0 0 28px; place-items: center; width: 28px; height: 28px; border-radius: 6px; background: var(--vristo-primary-soft); color: var(--vristo-primary); font-size: 12px; }
html[data-portal-ui="vristo"] #pwd-grid .v-account-cta-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
html[data-portal-ui="vristo"] #pwd-grid .v-account-cta-actions .btn { border-radius: 6px; font-weight: 600; }
html[data-portal-ui="vristo"] #pwd-grid .v-account-cta-actions .btn-primary { box-shadow: 0 10px 20px -10px rgb(67 97 238 / 0.6); }

/* Company radar: the approved three-screen wizard, scoped to its dialog. */
html[data-portal-ui="vristo"] #pwd-radar-wizard {
  --color-primary: var(--vristo-primary);
  --color-primary-content: #fff;
}
html[data-portal-ui="vristo"] #pwd-radar-wizard [hidden] { display: none !important; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .modal-box {
  width: min(70rem, calc(100vw - 3rem));
  max-width: none;
  max-height: calc(100dvh - 3rem);
  padding: 2rem;
  border: 1px solid var(--vristo-line);
  border-radius: 8px;
  box-shadow: 0 24px 70px rgb(14 23 38 / 0.26);
  scrollbar-gutter: stable;
}
html[data-portal-ui="vristo"] #pwd-radar-title {
  margin-top: 1rem;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3;
}
html[data-portal-ui="vristo"] #pwd-radar-wizard :is(#pwd-radar-description, section > p:not([role="alert"]), .stat-title, .stat-desc) {
  color: var(--vristo-muted);
  line-height: 1.6;
}
html[data-portal-ui="vristo"] #pwd-radar-description { margin-top: 0.5rem; font-size: 1rem; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .badge-primary {
  border: 0;
  border-radius: 5px;
  background: var(--vristo-primary-soft);
  color: var(--vristo-primary);
}
html[data-portal-ui="vristo"] #pwd-radar-wizard .steps { margin-top: 1.75rem; font-size: 0.875rem; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .step { gap: 0.5rem; grid-template-rows: 2.5rem 1fr; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .step::after { width: 2.5rem; height: 2.5rem; font-size: 1rem; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .step::before { height: 0.3rem; border: 0; }
html[data-portal-ui="vristo"] #pwd-radar-wizard section { margin-top: 1.75rem; }
html[data-portal-ui="vristo"] #pwd-radar-wizard section > h3 { font-size: 1.125rem; font-weight: 700; line-height: 1.5; }
html[data-portal-ui="vristo"] #pwd-radar-wizard section > .grid { margin-top: 1.25rem; gap: 1rem; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .card[data-pwd-radar-example] {
  position: relative;
  min-width: 0;
  border: 1px solid var(--vristo-line);
  background: var(--vristo-panel);
  color: var(--vristo-ink);
  box-shadow: none;
  transition: border-color 150ms ease, background-color 150ms ease;
}
html[data-portal-ui="vristo"] #pwd-radar-wizard [data-pwd-radar-example]:is([aria-pressed="true"], :focus-visible) {
  border-color: var(--vristo-primary);
  background: color-mix(in srgb, var(--vristo-primary) 5%, var(--vristo-panel));
  outline: 1px solid var(--vristo-primary);
  outline-offset: 0;
}
html[data-portal-ui="vristo"] #pwd-radar-wizard [data-pwd-radar-example] .card-body {
  width: 100%;
  min-height: 15rem;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem;
}
html[data-portal-ui="vristo"] #pwd-radar-wizard [data-pwd-radar-example] .card-body > .rounded-full {
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.25rem;
  background: var(--vristo-primary-soft);
  color: var(--vristo-primary);
  font-size: 1.25rem;
}
html[data-portal-ui="vristo"] #pwd-radar-wizard [data-pwd-radar-example] strong { font-size: 1rem; line-height: 1.5; }
html[data-portal-ui="vristo"] #pwd-radar-wizard [data-pwd-radar-example] .text-xs { color: var(--vristo-muted); font-size: 0.875rem; line-height: 1.6; }
html[data-portal-ui="vristo"] #pwd-radar-wizard [data-pwd-radar-selected][aria-hidden]:not([hidden]) {
  position: absolute;
  top: 0.875rem;
  right: 0.875rem;
  display: grid;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border-radius: 50%;
  background: var(--color-primary);
  color: var(--color-primary-content);
  font-size: 0.75rem;
}
html[data-portal-ui="vristo"] #pwd-radar-wizard [data-pwd-radar-selected].badge { margin-top: auto; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .fieldset { min-width: 0; padding: 0; gap: 0.5rem; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .fieldset-legend { padding: 0; color: var(--vristo-ink); font-size: 0.875rem; font-weight: 600; white-space: normal; }
html[data-portal-ui="vristo"] #pwd-radar-wizard :is(.input, .select) { height: 2.75rem; font-size: 0.875rem; }
html[data-portal-ui="vristo"] #pwd-radar-wizard input::placeholder { color: var(--vristo-muted); opacity: 1; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .label { color: var(--vristo-ink); font-size: 0.875rem; white-space: normal; }
html[data-portal-ui="vristo"] #pwd-radar-wizard :is(.checkbox, .radio):checked { color: var(--color-primary-content); border-color: var(--color-primary); background: var(--color-primary); }
html[data-portal-ui="vristo"] #pwd-radar-places:empty { display: none; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .fieldset:has(#pwd-radar-place-options:not([hidden])) { position: relative; z-index: 40; }
html[data-portal-ui="vristo"] #pwd-radar-place-options { z-index: 60; }
html[data-portal-ui="vristo"] #pwd-radar-places .badge { border: 0; border-radius: 5px; background: var(--vristo-primary-soft); color: var(--vristo-primary); }
html[data-portal-ui="vristo"] #pwd-radar-wizard .modal-action {
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1.75rem -2rem -2rem;
  padding: 1.25rem 2rem;
  border-top: 1px solid var(--vristo-line);
}
html[data-portal-ui="vristo"] #pwd-radar-wizard .modal-action .btn { min-height: 2.75rem; height: auto; padding: 0.65rem 1.25rem; font-size: 0.875rem; font-weight: 600; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .btn-outline { border-color: var(--vristo-line); background: var(--vristo-panel); color: var(--vristo-ink); box-shadow: none; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .btn-outline:hover { border-color: var(--vristo-primary); background: var(--vristo-primary-soft); color: var(--vristo-primary); }
html[data-portal-ui="vristo"] #pwd-radar-wizard .btn-primary:disabled { opacity: 0.5; }
html[data-portal-ui="vristo"] #pwd-radar-wizard #pwd-radar-preview-result { margin-top: 1rem; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .stats {
  border-color: color-mix(in srgb, var(--vristo-primary) 25%, var(--vristo-line));
  border-radius: 6px;
  background: color-mix(in srgb, var(--vristo-primary) 5%, var(--vristo-panel));
  box-shadow: none;
}
html[data-portal-ui="vristo"] #pwd-radar-wizard .stat { grid-template-columns: auto minmax(0, 1fr); column-gap: 1.25rem; padding: 1.25rem; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .stat > :not(.stat-figure) { grid-column: 2; white-space: normal; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .stat-figure { grid-column: 1; grid-row: 1 / 4; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .stat-figure > span { width: 3.75rem; height: 3.75rem; background: var(--vristo-primary-soft); color: var(--vristo-primary); font-size: 1.75rem; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .stat-value { color: var(--vristo-primary); font-size: 2.25rem; line-height: 1.2; }
html[data-portal-ui="vristo"] #pwd-radar-summary { border-color: var(--vristo-line); border-radius: 6px; background: var(--vristo-panel); padding: 1.25rem; }
html[data-portal-ui="vristo"] #pwd-radar-summary h4 { margin-bottom: 0.5rem; font-size: 1rem; font-weight: 700; }
html[data-portal-ui="vristo"] #pwd-radar-summary dl > div { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 0.5rem 1rem; padding-block: 0.375rem; border-bottom: 1px solid var(--vristo-line); }
html[data-portal-ui="vristo"] #pwd-radar-summary dl > div:last-child { padding-bottom: 0; border: 0; }
html[data-portal-ui="vristo"] #pwd-radar-summary dt { color: var(--vristo-muted); }
html[data-portal-ui="vristo"] #pwd-radar-summary dd { margin: 0; overflow-wrap: anywhere; }
html[data-portal-ui="vristo"] #pwd-radar-wizard .alert-info { border: 1px solid color-mix(in srgb, var(--vristo-primary) 20%, var(--vristo-line)); border-radius: 6px; background: var(--vristo-primary-soft); color: var(--vristo-primary); line-height: 1.6; }
@media (max-width: 767px) {
  html[data-portal-ui="vristo"] #pwd-radar-wizard .modal-box { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); padding: 1.25rem; }
  html[data-portal-ui="vristo"] #pwd-radar-title { font-size: 1.375rem; }
  html[data-portal-ui="vristo"] #pwd-radar-description { font-size: 0.875rem; }
  html[data-portal-ui="vristo"] #pwd-radar-wizard .steps { font-size: 0.75rem; }
  html[data-portal-ui="vristo"] #pwd-radar-wizard [data-pwd-radar-example] .card-body { min-height: 0; gap: 0.75rem; padding: 1.25rem; }
  html[data-portal-ui="vristo"] #pwd-radar-wizard .modal-action { margin: 1.5rem -1.25rem -1.25rem; padding: 1rem 1.25rem; }
  html[data-portal-ui="vristo"] #pwd-radar-wizard .modal-action .btn { flex: 1 1 auto; padding-inline: 0.75rem; }
  html[data-portal-ui="vristo"] #pwd-radar-wizard fieldset > .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-portal-ui="vristo"] #pwd-radar-summary dl > div { grid-template-columns: 1fr; gap: 0.25rem; }
  html[data-portal-ui="vristo"] #pwd-radar-wizard .stat { column-gap: 0.875rem; padding: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-portal-ui="vristo"] #pwd-radar-wizard [data-pwd-radar-example] { transition: none; }
}
