/* Figma 9864:13388. Borders: 1px OUTSIDE, radius 25; running dash 2px/2px, static. */
.status-widget, .programm-widget.status-widget {
  --status-border: var(--border-tertiary);
  --status-icon: var(--icon-disabled);
  --status-brand: var(--ui-brand, var(--brand));
  --status-on-brand: var(--ui-brand-text, var(--brand-text));
  position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  min-height: 50px; height: auto; padding: 10px; border: 0; border-radius: 25px;
  background: var(--bg-primary); background-image: none; box-shadow: none;
  animation: none; transition: none; overflow: visible;
}
.status-widget[hidden], .status-widget [hidden] { display: none; }
.status-widget__border { position: absolute; left: -.5px; top: -.5px; width: calc(100% + 1px); height: calc(100% + 1px); overflow: visible; pointer-events: none; }
.status-widget__border rect { stroke: var(--status-border); stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; vector-effect: non-scaling-stroke; }
.status-widget[data-widget-state="running"] { --status-border: var(--border-secondary); }
.status-widget[data-widget-state="running"] .status-widget__border rect { stroke-dasharray: 2 2; }
.status-widget[data-widget-state="failed"] { --status-border: var(--bg-badge-red); --status-icon: var(--icon-error-secondary); }
.status-widget[data-widget-state="awaiting"] { --status-border: var(--bg-badge-orange); --status-icon: var(--icon-warning-secondary); }
.status-widget[data-widget-state="ready"] { background: var(--bg-primary); gap: 0; }
.status-widget[data-widget-state="ready"] .status-widget__border { display: none; }
.status-widget__mark { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 15px; color: var(--status-icon); }
.status-widget__icon { grid-area: 1/1; display: none; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--status-icon-asset) center/16px 16px no-repeat; mask: var(--status-icon-asset) center/16px 16px no-repeat; }
.status-widget__icon[data-status-icon="other"] { display: block; --status-icon-asset: url('/img/icons/widgets/flag-alt.svg'); }
.status-widget__icon[data-status-icon="failed"] { --status-icon-asset: url('/img/icons/widgets/link-broken.svg'); }
.status-widget__icon[data-status-icon="ready"] { --status-icon-asset: url('/img/icons/widgets/check-circle.svg'); }
.status-widget__icon[data-status-icon="running"] { --status-icon-asset: url('/img/icons/widgets/cloud-connection.svg'); }
.status-widget__icon[data-status-icon="awaiting"] { --status-icon-asset: url('/img/icons/widgets/card-change.svg'); }
.status-widget:is([data-widget-state="failed"], [data-widget-state="ready"], [data-widget-state="running"], [data-widget-state="awaiting"]) .status-widget__icon[data-status-icon="other"] { display: none; }
.status-widget[data-widget-state="failed"] .status-widget__icon[data-status-icon="failed"],
.status-widget[data-widget-state="ready"] .status-widget__icon[data-status-icon="ready"],
.status-widget[data-widget-state="running"] .status-widget__icon[data-status-icon="running"],
.status-widget[data-widget-state="awaiting"] .status-widget__icon[data-status-icon="awaiting"] { display: block; }
.status-widget__animation { grid-area: 1/1; display: none; width: 30px; height: 30px; }
.status-widget[data-widget-state="running"][data-animation-ready] .status-widget__animation { display: block; }
.status-widget[data-widget-state="running"][data-animation-ready] .status-widget__icon[data-status-icon="running"] { display: none; }
.status-widget__animation svg { display: block; width: 30px; height: 30px; }
.status-widget__animation svg path[stroke] { stroke: currentColor; }
.status-widget .status-widget__title { display: block; flex: 1 1 150px; min-width: 0; overflow: visible; white-space: normal; overflow-wrap: break-word; color: var(--text-tertiary); font-size: 15px; font-weight: 400; letter-spacing: 0; line-height: 1.4; }
.status-widget[data-widget-state="ready"] .status-widget__title { color: var(--text-tertiary); }
.status-widget .status-widget__action { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; height: 30px; min-height: 30px; margin-left: auto; padding: 5px 10px; border: 0; border-radius: 15px; box-shadow: none; background: var(--bg-tertiary); color: var(--text-primary); font-size: 15px; font-weight: 400; line-height: 1.4; letter-spacing: 0; white-space: nowrap; text-decoration: none; transition: scale var(--duration-spring) var(--ease-spring), box-shadow var(--duration-press) var(--ease-press), background-color var(--duration-press) var(--ease-press); }
.status-widget .status-widget__action:hover { opacity: 1; background: var(--bg-tertiary); color: var(--text-primary); }
.status-widget .status-widget__action--brand, .status-widget .status-widget__action--brand:hover { background: var(--status-brand); color: var(--status-on-brand); }
.status-widget .status-widget__action[hidden] { display: none; }
.status-widget .status-widget__action:focus-visible { outline: none; text-decoration: underline; text-underline-offset: 3px; }
.status-widget .status-widget__action:disabled { cursor: default; }
.payment-widget { margin: 0 0 20px; }
.light[data-ui-palette="warm"] .status-widget { --bg-tertiary: var(--sand-50); }

/* Shared stack: banner-to-banner spacing is independent of section spacing. */
.ui-banner-stack { display: flex; flex-direction: column; gap: 5px; }
.ui-banner-stack > .main-widget, .ui-banner-stack > .payment-widget { margin: 0; }
.ui-banner-stack > .row .hero-container { padding-bottom: 0; }
.main--today .ui-banner-stack:has(> *) { margin-bottom: 20px; }

.status-widget .status-widget__action:is(:active,.is-navigating) { transition-duration: var(--duration-press); transition-timing-function: var(--ease-press); }
@media (prefers-reduced-motion:reduce) {
 .status-widget .status-widget__action, .status-widget .status-widget__action:active, .status-widget .status-widget__action.is-navigating { transition: none; scale: none; }
}

.status-widget .status-widget__action:is(:hover,:active) { opacity: 1; }
.status-widget .status-widget__action:hover { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--icon-primary) 3%, transparent); }
.status-widget .status-widget__action:active { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--icon-primary) 5%, transparent); }
.status-widget .status-widget__action--brand:hover { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--b-w-black) 6%, transparent); }
.status-widget .status-widget__action--brand:active { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--b-w-black) 10%, transparent); }
