/* Feedback — Dialog, Toast, Tooltip. */

/* ── Dialog ───────────────────────────────────────────────────────────── */
.vz-dialog{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:var(--space-6)}
.vz-dialog[hidden]{display:none}
.vz-dialog__scrim{
  position:absolute;inset:0;background:var(--vz-scrim);
  -webkit-backdrop-filter:blur(var(--vz-blur-scrim));backdrop-filter:blur(var(--vz-blur-scrim));
}
.vz-dialog__panel{
  position:relative;width:100%;max-width:var(--vz-dialog-width,var(--vz-width-dialog));
  padding:var(--space-8);border-radius:var(--radius-xl);
  background:var(--surface-raised);color:var(--text-primary);border:var(--border-hair) solid var(--border-glass);
  box-shadow:var(--shadow-dark-lift),var(--glow-teal-sm);
}
.vz-dialog__panel:focus{outline:none}
.vz-dialog__close{position:absolute;top:var(--space-5);right:var(--space-5)}
.vz-dialog__title{
  margin-right:var(--vz-indent-input-icon);font-family:var(--font-display);font-weight:var(--weight-bold);
  font-size:var(--text-h3);color:var(--text-primary);letter-spacing:var(--tracking-tight);
}
.vz-dialog__desc{margin-top:var(--space-3);max-width:var(--measure);font-size:var(--text-body-sm);line-height:var(--leading-body);color:var(--text-secondary)}
.vz-dialog__body{margin-top:var(--space-6)}
.vz-dialog__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-8)}
.vz-dialog--inline{position:relative;inset:auto;z-index:auto;padding:var(--space-8);overflow:hidden;border-radius:var(--radius-lg)}
body.vz-dialog-open{overflow:hidden}

/* ── Toast ────────────────────────────────────────────────────────────── */
.vz-toast{
  display:flex;gap:var(--space-3);align-items:flex-start;
  width:min(var(--vz-width-toast),100%);box-sizing:border-box;padding:var(--space-4) var(--space-5);
  border-radius:var(--radius-md);background:var(--surface-raised);
  border:var(--border-hair) solid var(--border-subtle);box-shadow:var(--shadow-dark-lift);
}
.vz-toast__icon{margin-top:var(--vz-gap-2xs)}
.vz-toast--success .vz-toast__icon{color:var(--vz-mint)}
.vz-toast--info .vz-toast__icon{color:var(--status-info)}
.vz-toast--warning .vz-toast__icon{color:var(--status-warning)}
.vz-toast--danger .vz-toast__icon{color:var(--status-danger)}
.vz-toast__body{flex:1;display:flex;flex-direction:column;gap:var(--vz-gap-2xs)}
.vz-toast__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-body-sm);color:var(--text-primary)}
.vz-toast__msg{font-size:var(--text-caption);line-height:var(--leading-body);color:var(--text-secondary)}
.vz-toast__close{background:none;border:0;padding:0;cursor:pointer;color:var(--text-muted);transition:color var(--dur-fast) var(--ease-out)}
.vz-toast__close:hover{color:var(--interactive-hover-soft)}
.vz-toast-region{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:90;display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-end}

/* ── Tooltip ──────────────────────────────────────────────────────────── */
.vz-tooltip{position:relative;display:inline-flex}
.vz-tooltip__bubble{
  position:absolute;z-index:60;white-space:nowrap;pointer-events:none;
  padding:var(--vz-pad-tooltip);border-radius:var(--radius-sm);
  background:var(--vz-petrol-deep);color:var(--vz-offwhite);border:var(--border-hair) solid var(--border-glass);
  font-family:var(--font-body);font-size:var(--text-caption);line-height:var(--vz-leading-tooltip);
  opacity:0;transition:opacity var(--dur-fast) var(--ease-out);
}
.vz-tooltip--top .vz-tooltip__bubble{bottom:calc(100% + var(--vz-offset-tooltip));left:50%;transform:translateX(-50%)}
.vz-tooltip--bottom .vz-tooltip__bubble{top:calc(100% + var(--vz-offset-tooltip));left:50%;transform:translateX(-50%)}
.vz-tooltip--left .vz-tooltip__bubble{right:calc(100% + var(--vz-offset-tooltip));top:50%;transform:translateY(-50%)}
.vz-tooltip--right .vz-tooltip__bubble{left:calc(100% + var(--vz-offset-tooltip));top:50%;transform:translateY(-50%)}
.vz-tooltip:is(:hover,:focus-within,.is-open) .vz-tooltip__bubble{opacity:1}
