/* Styling layer for headless Button components (no Tailwind).
   Uses CSS variables (design tokens) from src/index.css.
*/

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    white-space: nowrap;
    border-radius: var(--radius);
    font-size: 0.875rem; /* text-sm */
    font-weight: 500; /* font-medium */
    line-height: 1.25rem;
    transition: background-color 150ms, color 150ms, box-shadow 150ms, border-color 150ms;
    outline: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}

[data-ui="button"][disabled] {
    pointer-events: none;
    opacity: 0.5;
}

/* Base sizes */
[data-ui="button"][data-size="default"] {
    height: 2.5rem;
    padding: 0 1rem;
}

[data-ui="button"][data-size="sm"] {
    height: 2.25rem;
    padding: 0 0.75rem;
}

[data-ui="button"][data-size="lg"] {
    height: 2.75rem;
    padding: 0 2rem;
}

[data-ui="button"][data-size="icon"] {
    height: 2.5rem;
    width: 2.5rem;
    padding: 0;
}

/* SVG inside buttons */
.button svg {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    pointer-events: none;
}

/* Variants */
[data-ui="button"][data-variant="default"] {
    background-color: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
}

[data-ui="button"][data-variant="default"]:hover {
    background-color: hsl(var(--primary) / 0.9);
}

[data-ui="button"][data-variant="destructive"] {
    background-color: hsl(var(--destructive));
    color: hsl(var(--destructive-foreground));
}

[data-ui="button"][data-variant="destructive"]:hover {
    background-color: hsl(var(--destructive) / 0.9);
}

[data-ui="button"][data-variant="outline"] {
    background-color: hsl(var(--background));
    border: 1px solid hsl(var(--input));
    color: hsl(var(--foreground));
}

[data-ui="button"][data-variant="outline"]:hover {
    background-color: hsl(var(--accent));
    color: hsl(var(--accent-foreground));
}

[data-ui="button"][data-variant="secondary"] {
    background-color: hsl(var(--secondary));
    color: hsl(var(--secondary-foreground));
}

[data-ui="button"][data-variant="secondary"]:hover {
    background-color: hsl(var(--secondary) / 0.8);
}

[data-ui="button"][data-variant="ghost"] {
    background-color: transparent;
    color: hsl(var(--foreground));
}

[data-ui="button"][data-variant="ghost"]:hover {
    /*background-color: hsl(var(--accent));*/
    /*color: hsl(var(--accent-foreground));*/
}

[data-ui="button"][data-variant="link"] {
    background-color: transparent;
    color: hsl(var(--primary));
    text-decoration: none;
    text-underline-offset: 4px;
}

[data-ui="button"][data-variant="link"]:hover {
    text-decoration: underline;
}

.button-full-width {
    width: 100%;
}

[data-ui="button"][data-fullwidth="true"][data-mt="true"] {
    margin-top: 1rem;
}

/* Styling layer for headless Card components (no Tailwind). 
   Uses design tokens defined in src/index.css (:root and .dark).
   Targets data-ui/data-slot attributes exposed by the headless components.
*/

/* Root card container */
.card {
    border: 1px solid hsl(var(--border));
    background-color: hsl(var(--card));
    color: hsl(var(--card-foreground));
    border-radius: var(--radius);
    /* shadow-sm approximation */
    box-shadow: 0 1px 2px 0 hsl(0 0% 0% / 0.05);
}

/* Card header */
.card-header {
    display: flex;
    flex-direction: column;
    gap: 0.375rem; /* space-y-1.5 */
    padding: 1.5rem; /* p-6 */
}

/* Card title */
.card-title {
    font-size: 1.5rem; /* text-2xl */
    line-height: 2rem; /* ~ text-2xl line-height */
    font-weight: 600; /* font-semibold */
    letter-spacing: -0.025em; /* tracking-tight */
}

/* Card description */
.card-description {
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem; /* text-sm line-height */
    color: hsl(var(--muted-foreground));
}

/* Card content */
.card-content {
    padding: 1.5rem; /* p-6 */
}

/* Card footer */
.card-footer {
    display: flex;
    align-items: center;
    padding: 1.5rem; /* p-6 */
    padding-top: 0; /* pt-0 */
}
/* react-frontend/src/css/not-found.css */
.not-found {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.not-found__container {
    display: flex;
    width: 100%;
    flex: 1 1 0%;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}

@media (min-width: 768px) {
    .not-found__container {
        padding: 2.5rem;
    }
}

.not-found__content {
    width: 100%;
    max-width: 32rem; /* matches Tailwind's max-w-lg */
}

/* Keep card.css selectors; only add an extra class for the border */
.not-found__card {
    border-width: 2px;
}

.not-found__title {
    text-align: center;
    font-size: 1.5rem; /* text-2xl */
    line-height: 2rem;
}

.not-found-card-header {
    padding: 2.5rem; /* p-10 */
    padding-top: 0;
}

.not-found__message { /* pt-0 */
    text-align: center;
    font-size: 1.125rem; /* text-lg */
    line-height: 1.75rem;
}

.not-found__footer {
    justify-content: center;
}
/* Styling for the public site footer using headless + tokens pattern.
   Targets data-ui="site-footer" hooks from site-footer.tsx. */

/* Root container: flex items-center justify-center border-t border-primary bg-secondary p-2 */
[data-ui="site-footer"][data-slot="root"] {
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid hsl(var(--primary));
  background-color: hsl(var(--secondary));
  padding: 0.5rem; /* p-2 */
}

/* Footer links rendered as Button variant="link": color foreground */
.site-footer-link {
  color: hsl(var(--foreground));
}
/* Styling for the public site header using headless + tokens pattern.
   Targets data-ui="site-header" hooks from site-header.tsx. */

/* Root container: mt-4 flex items-center justify-center */
.site-header-root {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Logo image: h-auto w-20 */
.site-header-logo {
    width: 18rem;
    height: auto;
}
/* Site shell layout styles */
.site-shell-root {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.site-shell-header-content-wrapper {
    height: 100%;
}

.site-shell-main {
    display: flex;
    flex-direction: column;
    width: 100%;
    flex: 1 1 0%;
    justify-content: center;
    padding: 1.5rem;
}

@media (min-width: 768px) {
    /* md: */
    .site-shell-main {
        padding: 2.5rem;
    }
}

.site-shell-container {
    margin-top: 1.5rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 28rem;
}
/* Styling for App Footer (headless + tokens). Mirrors the previous Tailwind layout.
   Uses tokens defined in index.css; targets data attributes from app-footer.tsx. */

[data-ui="app-footer"][data-slot="root"] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem; /* spacing between buttons */
    padding: 0.5rem; /* p-2 */
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
    border-top: 1px solid hsl(var(--border));
}

/* Optional: slot hook if you want to scope link tweaks here */
.app-footer-link {
    /* Intentionally empty: visuals come from Button's link variant. */
}
/* Styling for headless Label components */

[data-ui="label"] {
  font-size: 0.875rem; /* text-sm */
  font-weight: 500; /* font-medium */
  line-height: 1.25rem;
}

[data-ui="label"][data-invalid] {
  color: hsl(var(--destructive));
}

/* When paired with inputs that might disable peers, consumers can add a parent utility.
   Here we provide no peer-disabled hook; consumers can override in their layer. */
/* Styling for headless Input components (no Tailwind) using design tokens */

[data-ui="input"] {
  display: flex;
  height: 2.5rem; /* h-10 */
  width: 100%;
  border-radius: var(--radius);
  border: 1px solid hsl(var(--input));
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  padding: 0.5rem 0.75rem; /* px-3 py-2 */
  font-size: 1rem; /* base */
  line-height: 1.5rem;
  outline: none;
  transition: box-shadow 150ms, border-color 150ms;
}

[data-ui="input"]::-moz-placeholder { color: hsl(var(--muted-foreground)); }

[data-ui="input"]::placeholder { color: hsl(var(--muted-foreground)); }

[data-ui="input"]:focus-visible {
  box-shadow: 0 0 0 2px hsl(var(--ring));
}

[data-ui="input"][disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

/* File input text */
[data-ui="input"]::file-selector-button {
  border: none;
  background: transparent;
  font-size: 0.875rem;
  font-weight: 500;
  color: hsl(var(--foreground));
}
/* Styling for Radix Separator extracted from Tailwind */

.separator {
  flex-shrink: 0; /* shrink-0 */
  background-color: hsl(var(--border)); /* bg-border */
}

.separator.horizontal {
  height: 1px; /* h-[1px] */
  width: 100%; /* w-full */
}

.separator.vertical {
  height: 100%; /* h-full */
  width: 1px; /* w-[1px] */
}
/* Styling for Radix Sheet (Dialog-based drawer) extracted from Tailwind */

/* Overlay */
.sheet-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.8);
}
.sheet-overlay[data-state="open"] { animation: sheet-fade-in 0.2s ease-out; }
.sheet-overlay[data-state="closed"] { animation: sheet-fade-out 0.15s ease-in; }

@keyframes sheet-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes sheet-fade-out { from { opacity: 1; } to { opacity: 0; } }

/* Content base */
.sheet-content {
  position: fixed;
  z-index: 50;
  display: grid;
  gap: 1rem;            /* gap-4 */
  background-color: hsl(var(--background));
  padding: 1.5rem;      /* p-6 */
  box-shadow: var(--shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1));
  transition: transform 300ms ease-in-out, opacity 300ms ease-in-out;
}

/* Side variants with borders and placement */
.sheet-content.top {
  left: 0; right: 0; top: 0;
  border-bottom: 1px solid hsl(var(--border));
}
.sheet-content.bottom {
  left: 0; right: 0; bottom: 0;
  border-top: 1px solid hsl(var(--border));
}
.sheet-content.left {
  top: 0; bottom: 0; left: 0;
  height: 100%;               /* h-full */
  width: 75%;                 /* w-3/4 */
  max-width: 24rem;           /* sm:max-w-sm ~ 24rem */
  border-right: 1px solid hsl(var(--border));
}
.sheet-content.right {
  top: 0; bottom: 0; right: 0;
  height: 100%;
  width: 75%;
  max-width: 24rem;           /* sm:max-w-sm */
  border-left: 1px solid hsl(var(--border));
}

/* Open/close animations based on side */
.sheet-content[data-state="open"].top { animation: sheet-slide-in-top 0.5s ease-in-out; }
.sheet-content[data-state="closed"].top { animation: sheet-slide-out-top 0.3s ease-in-out; }
.sheet-content[data-state="open"].bottom { animation: sheet-slide-in-bottom 0.5s ease-in-out; }
.sheet-content[data-state="closed"].bottom { animation: sheet-slide-out-bottom 0.3s ease-in-out; }
.sheet-content[data-state="open"].left { animation: sheet-slide-in-left 0.5s ease-in-out; }
.sheet-content[data-state="closed"].left { animation: sheet-slide-out-left 0.3s ease-in-out; }
.sheet-content[data-state="open"].right { animation: sheet-slide-in-right 0.5s ease-in-out; }
.sheet-content[data-state="closed"].right { animation: sheet-slide-out-right 0.3s ease-in-out; }

@keyframes sheet-slide-in-top { from { transform: translateY(-100%); } to { transform: translateY(0); } }
@keyframes sheet-slide-out-top { from { transform: translateY(0); } to { transform: translateY(-100%); } }
@keyframes sheet-slide-in-bottom { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes sheet-slide-out-bottom { from { transform: translateY(0); } to { transform: translateY(100%); } }
@keyframes sheet-slide-in-left { from { transform: translateX(-100%); } to { transform: translateX(0); } }
@keyframes sheet-slide-out-left { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@keyframes sheet-slide-in-right { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes sheet-slide-out-right { from { transform: translateX(0); } to { transform: translateX(100%); } }

/* Close button */
.sheet-close {
  position: absolute;
  right: 1rem; /* right-4 */
  top: 1rem;   /* top-4 */
  border-radius: 0.125rem; /* rounded-sm */
  opacity: 0.7;
  transition: opacity 150ms ease-in-out;
  outline: none;
}
.sheet-close:hover { opacity: 1; }
.sheet-close:focus { outline: none; }
.sheet-close:focus-visible { box-shadow: 0 0 0 2px hsl(var(--ring)); }
.sheet-close[disabled] { pointer-events: none; }
.sheet-close[data-state="open"] { background-color: hsl(var(--secondary)); }
.sheet-close-icon { width: 1rem; height: 1rem; }
.sheet-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; }

/* Header/Footer */
.sheet-header { display: flex; flex-direction: column; row-gap: 0.5rem; text-align: center; }
@media (min-width: 640px) { .sheet-header { text-align: left; } }
.sheet-footer { display: flex; flex-direction: column-reverse; }
@media (min-width: 640px) { .sheet-footer { flex-direction: row; justify-content: flex-end; -moz-column-gap: 0.5rem; column-gap: 0.5rem; } }

/* Title/Description */
.sheet-title { font-size: 1.125rem; font-weight: 600; color: hsl(var(--foreground)); }
.sheet-description { font-size: 0.875rem; color: hsl(var(--muted-foreground)); }

@keyframes pulse {
    50% {
        opacity: .5;
    }
}
.skeleton-animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}


.skeleton-rounded-md {
    border-radius: calc(var(--radius) - 2px);
}


.skeleton-bg-muted {
    background-color: hsl(var(--muted));
}/* react-frontend/src/css/tooltip.css */
/* Styling for headless Tooltip components using tokens from src/index.css */

.tooltip-content {
    z-index: 50; /* z-50 */
    overflow: hidden;
    border-radius: 0.375rem; /* rounded-md */
    border: 1px solid hsl(var(--border));
    background-color: hsl(var(--popover));
    color: hsl(var(--popover-foreground));
    padding: 0.375rem 0.75rem; /* py-1.5 px-3 */
    font-size: 0.875rem; /* text-sm */
    box-shadow: 0 10px 15px -3px hsl(0 0% 0% / 0.1),
    0 4px 6px -4px hsl(0 0% 0% / 0.1); /* shadow-md */

    /* Base animation settings */
    animation-duration: 150ms;
    animation-fill-mode: both;
    will-change: transform, opacity;
}

/* Open/close fade + zoom */
@keyframes tooltip-fade-in {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes tooltip-fade-out {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@keyframes tooltip-zoom-in {
    from {
        transform: scale(0.95)
    }
    to {
        transform: scale(1)
    }
}

@keyframes tooltip-zoom-out {
    from {
        transform: scale(1)
    }
    to {
        transform: scale(0.95)
    }
}

/* Slide from sides (2 = ~0.5rem offset) */
@keyframes tooltip-slide-in-from-top-2 {
    from {
        transform: translateY(-0.5rem)
    }
    to {
        transform: translateY(0)
    }
}

@keyframes tooltip-slide-in-from-bottom-2 {
    from {
        transform: translateY(0.5rem)
    }
    to {
        transform: translateY(0)
    }
}

@keyframes tooltip-slide-in-from-left-2 {
    from {
        transform: translateX(-0.5rem)
    }
    to {
        transform: translateX(0)
    }
}

@keyframes tooltip-slide-in-from-right-2 {
    from {
        transform: translateX(0.5rem)
    }
    to {
        transform: translateX(0)
    }
}

/* Opening */
.tooltip-content[data-state="delayed-open"],
.tooltip-content[data-state="instant-open"] {
    animation-name: tooltip-fade-in, tooltip-zoom-in;
}

/* Closing */
.tooltip-content[data-state="closed"] {
    animation-name: tooltip-fade-out, tooltip-zoom-out;
}

/* Directional slide on open */
.tooltip-content[data-state="delayed-open"][data-side="top"],
.tooltip-content[data-state="instant-open"][data-side="top"] {
    animation-name: tooltip-fade-in, tooltip-zoom-in, tooltip-slide-in-from-bottom-2;
}

.tooltip-content[data-state="delayed-open"][data-side="bottom"],
.tooltip-content[data-state="instant-open"][data-side="bottom"] {
    animation-name: tooltip-fade-in, tooltip-zoom-in, tooltip-slide-in-from-top-2;
}

.tooltip-content[data-state="delayed-open"][data-side="left"],
.tooltip-content[data-state="instant-open"][data-side="left"] {
    animation-name: tooltip-fade-in, tooltip-zoom-in, tooltip-slide-in-from-right-2;
}

.tooltip-content[data-state="delayed-open"][data-side="right"],
.tooltip-content[data-state="instant-open"][data-side="right"] {
    animation-name: tooltip-fade-in, tooltip-zoom-in, tooltip-slide-in-from-left-2;
}
/** Styling for UI Sidebar components (headless + tokens)
   Targets data-sidebar and data-variant/state attributes from src/components/ui/sidebar.tsx.
   We mirror the existing Tailwind utility classes using plain CSS to satisfy the requirement
   to move CSS out of the TSX. */

/* Provider wrapper */

/* Sidebar root blocks */
[data-sidebar="sidebar"] {
    display: flex;
    height: 100%;
    width: 100%;
    flex-direction: column;
}

/* Mobile SheetContent adjustments */
[data-sidebar="sr-only"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border-width: 0 !important;
}

[data-mobile="true"][data-sidebar="sidebar"] {
    width: var(--sidebar-width);
    padding: 0;
}

[data-mobile="true"][data-sidebar="sidebar"] > button {
    display: none;
}

/* Desktop wrapper that controls spacing and transitions */
.peer[data-variant] {
    color: hsl(var(--sidebar-foreground));
}

/* Gap element controlling width transitions */
.sidebar-gap {
    position: relative;
    width: var(--sidebar-width);
    background: transparent;
    transition: width 200ms linear;
}

/* Fixed sidebar panel */
.sidebar-fixed {
    position: fixed;
    inset-block: 0;
    z-index: 10;
    height: 100svh;
    width: var(--sidebar-width);
    transition: left 200ms linear, right 200ms linear, width 200ms linear;
}

/* Content area */
.content {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.5rem;
    overflow: auto;
}

/* Input */
[data-sidebar="input"] {
    height: 2rem;
    width: 100%;
    background: hsl(var(--background));
    box-shadow: none;
}

[data-sidebar="input"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px hsl(var(--primary));
}

/* Header/Footer common paddings */
[data-sidebar="header"],
[data-sidebar="footer"] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem;
}

/* Group */
.sidebar-group {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    padding: 0.5rem;
}

/* Menu list */
.sidebar-menu {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    gap: 0.25rem;
}

/* Menu item grouping */
[data-sidebar="menu-item"] {
    position: relative;
}

/* Menu skeleton */
[data-sidebar="menu-skeleton"] {
    display: flex;
    height: 2rem;
    align-items: center;
    gap: 0.5rem;
    border-radius: 0.375rem;
    padding-inline: 0.5rem;
}

/* Menu skeleton text sizing */
[data-sidebar="menu-skeleton-text"] {
    flex: 1 1 auto;
    max-width: var(--skeleton-width);
}

/* Sub menu */
[data-sidebar="menu-sub"] {
    margin-inline: 0.875rem;
    display: flex;
    min-width: 0;
    transform: translateX(1px);
    flex-direction: column;
    gap: 0.25rem;
    border-left: 1px solid hsl(var(--foreground));
    padding: 0.125rem 0.625rem;
}

/* Sub menu button */
[data-sidebar="menu-sub-button"] {
    display: flex;
    height: 1.75rem;
    min-width: 0;
    transform: translateX(-1px);
    align-items: center;
    gap: 0.5rem;
    overflow: hidden;
    border-radius: 0.375rem;
    padding-inline: 0.5rem;
    outline: none;
}

[data-sidebar="menu-sub-button"]:hover {
    background: hsl(var(--accent));
}

[data-sidebar="menu-sub-button"][data-active="true"] {
    background: hsl(var(--accent));
}

[data-sidebar="menu-sub-button"] > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-sidebar="menu-sub-button"] > svg {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
}

/* Hide when collapsible icon mode */
[data-collapsible="icon"] [data-sidebar="menu-sub"],
[data-collapsible="icon"] [data-sidebar="menu-sub-button"] {
    display: none !important;
}

/* Size variants */
[data-sidebar="menu-sub-button"][data-size="sm"] {
    font-size: 0.75rem;
}

[data-sidebar="menu-sub-button"][data-size="md"] {
    font-size: 0.875rem;
}

/* Menu button (formerly cva-based) */
[data-sidebar="menu-button"] {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.5rem; /* gap-2 */
    overflow: hidden;
    border-radius: 0.375rem; /* rounded-md */
    padding: 0.5rem; /* p-2 */
    text-align: left;
    font-size: 0.875rem; /* text-sm */
    outline: none;
    transition: width 200ms linear, height 200ms linear, padding 200ms linear;
}

[data-sidebar="menu-button"]:hover {
    background: hsl(var(--accent));
}

[data-sidebar="menu-button"]:active {
    background: hsl(var(--accent));
}

[data-sidebar="menu-button"][disabled],
[data-sidebar="menu-button"][aria-disabled="true"] {
    pointer-events: none;
    opacity: 0.5;
}

[data-sidebar="menu-button"][data-active="true"] {
    background: hsl(var(--accent));
    color: hsl(var(--accent));
    font-weight: 500;
}

/* truncate the last span, size svg */
[data-sidebar="menu-button"] > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-sidebar="menu-button"] > svg {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
}

/* Size variants */
[data-sidebar="menu-button"][data-size="default"] {
    height: 2rem;
    font-size: 0.875rem;
}

[data-sidebar="menu-button"][data-size="sm"] {
    height: 1.75rem;
    font-size: 0.75rem;
}

[data-sidebar="menu-button"][data-size="lg"] {
    height: 3rem;
    font-size: 0.875rem;
}


/* Collapsible icon behavior */
[data-collapsible="icon"] [data-sidebar="menu-button"] {
    width: 2rem;
    height: 2rem;
    padding: 0.5rem; /* !size-8 !p-2 */
}

[data-state="collapsed"] {
    width: 0;
    display: none;
}

/* Trigger */
[data-sidebar="trigger"] {
    width: 1.75rem;
    height: 1.75rem;
}

@media (min-width: 640px) {
    [data-sidebar="rail"] {
        display: flex;
    }
}

/* Mobile sheet body content */
[data-sidebar="sheet-body"] {
    display: flex;
    height: 100%;
    width: 100%;
    flex-direction: column;
}

/* Desktop wrapper responsive display */
.sidebar-desktop-wrapper {
    border-right: hsl(var(--border)) 1px solid;
}

/* Inset main content adjustments */
.main-inset {
    position: relative;
    display: flex;
    width: 100%;
    flex: 1 1 auto;
    flex-direction: column;
    background: hsl(var(--background));
}

/* Temporary: hide sidebar navigation menus only (keep gap/layout intact) */
[data-sidebar="content"] { display: none !important; }
/* Styling for Search Form using headless + tokens pattern.
   Targets data-ui="search-form" hooks from src/components/search-form.tsx. */

/* Field wrapper: relative positioning for icon placement */
[data-ui="search-form"][data-slot="field"] {
  position: relative;
}

/* Visually hidden label (replaces sr-only) */
[data-ui="search-form"][data-slot="sr-only"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Input sizing and left padding for icon space */
[data-ui="search-form"][data-slot="input"] {
  height: 2rem; /* h-8 */
  padding-left: 1.75rem; /* pl-7 */
}

/* Leading search icon */
[data-ui="search-form"][data-slot="icon"] {
  pointer-events: none;
  position: absolute;
  left: 0.5rem; /* left-2 */
  top: 50%;
  transform: translateY(-50%);
  width: 1rem;  /* size-4 */
  height: 1rem; /* size-4 */
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none; /* select-none */
  opacity: 0.5; /* opacity-50 */
}
/* Styling layer for headless Avatar component */

.avatar {
    position: relative; /* relative */
    display: flex; /* flex */
    height: 2.5rem; /* h-10 */
    width: 2.5rem; /* w-10 */
    flex-shrink: 0; /* shrink-0 */
    overflow: hidden; /* overflow-hidden */
    border-radius: 9999px; /* rounded-full */
    background-color: hsl(var(--muted));
    color: hsl(var(--muted-foreground));
}

.avatar-image {
    aspect-ratio: 1 / 1; /* aspect-square */
    height: 100%; /* h-full */
    width: 100%; /* w-full */
    -o-object-fit: cover;
       object-fit: cover;
}

.avatar-fallback {
    display: flex; /* flex */
    height: 100%; /* h-full */
    width: 100%; /* w-full */
    align-items: center; /* items-center */
    justify-content: center; /* justify-center */
    border-radius: 9999px; /* rounded-full */
    background-color: hsl(var(--muted));
    color: hsl(var(--muted-foreground));
    font-weight: 500; /* font-medium */
}
/* Styling layer for headless Breadcrumb component using data-ui/data-slot */

.breadcrumb-list {
    display: flex; /* flex */
    flex-wrap: wrap; /* flex-wrap */
    align-items: center; /* items-center */
    gap: 0.375rem; /* gap-1.5 */
    word-break: break-word; /* break-words */
    font-size: 0.875rem; /* text-sm */
    color: hsl(var(--muted-foreground));
}

@media (min-width: 640px) {
    [data-ui="breadcrumb"][data-slot="list"] {
        gap: 0.625rem; /* sm:gap-2.5 */
    }
}

.breadcrumb-item {
    display: inline-flex; /* inline-flex */
    align-items: center; /* items-center */
    gap: 0.375rem; /* gap-1.5 */
}

.breadcrumb-link {
    transition: color 0.2s ease; /* transition-colors */
}

.breadcrumb-link:hover {
    color: hsl(var(--foreground)); /* hover:text-foreground */
}

.breadcrumb-page {
    font-weight: 400; /* font-normal */
    color: hsl(var(--foreground)); /* text-foreground */
}

.breadcrumb-separator > svg {
    width: 0.875rem; /* w-3.5 */
    height: 0.875rem; /* h-3.5 */
}

.breadcrumb-ellipsis {
    display: flex; /* flex */
    width: 2.25rem; /* w-9 */
    height: 2.25rem; /* h-9 */
    align-items: center; /* items-center */
    justify-content: center; /* justify-center */
}

.breadcrumb-ellipsis > svg {
    width: 1rem; /* w-4 */
    height: 1rem; /* h-4 */
}

.breadcrumb-more {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
/* Styling for Radix Dropdown Menu extracted from Tailwind */

/* SubTrigger (item that opens a submenu) */
.dropdown-subtrigger {
  display: flex;
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.5rem; /* gap-2 */
  border-radius: 0.125rem; /* rounded-sm */
  padding: 0.375rem 0.5rem; /* py-1.5 px-2 */
  font-size: 0.875rem; /* text-sm */
  outline: none;
}
/* focus and open states */
.dropdown-subtrigger:focus,
.dropdown-subtrigger[data-state="open"] {
  background-color: hsl(var(--accent));
}
/* inset variant */
.dropdown-inset { padding-left: 2rem; } /* pl-8 */

/* Right chevron icon spacing */
.dropdown-trigger-icon { margin-left: auto; }

/* Normalize any svg inside options */
.dropdown-subtrigger svg,
.dropdown-item svg {
  pointer-events: none;
  width: 1rem; /* size-4 */
  height: 1rem;
  flex-shrink: 0;
}

/* Submenu content panel */
.dropdown-subcontent {
  z-index: 50;
  min-width: 8rem;
  overflow: hidden;
  border-radius: 0.375rem; /* rounded-md */
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
  padding: 0.25rem; /* p-1 */
  box-shadow: var(--shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1));
}
/* Open/close animations (attribute-driven) */
.dropdown-subcontent[data-state="open"] { animation: dd-fade-in 0.2s ease-out, dd-zoom-in 0.2s ease-out; }
.dropdown-subcontent[data-state="closed"] { animation: dd-fade-out 0.15s ease-in, dd-zoom-out 0.15s ease-in; }
/* Directional slide-ins */
.dropdown-subcontent[data-side="bottom"] { animation: dd-slide-from-top 0.2s ease-out; }
.dropdown-subcontent[data-side="top"] { animation: dd-slide-from-bottom 0.2s ease-out; }
.dropdown-subcontent[data-side="left"] { animation: dd-slide-from-right 0.2s ease-out; }
.dropdown-subcontent[data-side="right"] { animation: dd-slide-from-left 0.2s ease-out; }

/* Root content panel */
.dropdown-content {
  z-index: 50;
  max-height: var(--radix-dropdown-menu-content-available-height);
  min-width: 8rem;
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 0.375rem; /* rounded-md */
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
  padding: 0.25rem; /* p-1 */
  box-shadow: var(--shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1));
}
.dropdown-content[data-state="open"] { animation: dd-fade-in 0.2s ease-out, dd-zoom-in 0.2s ease-out; }
.dropdown-content[data-state="closed"] { animation: dd-fade-out 0.15s ease-in, dd-zoom-out 0.15s ease-in; }
.dropdown-content[data-side="bottom"] { animation: dd-slide-from-top 0.2s ease-out; }
.dropdown-content[data-side="top"] { animation: dd-slide-from-bottom 0.2s ease-out; }
.dropdown-content[data-side="left"] { animation: dd-slide-from-right 0.2s ease-out; }
.dropdown-content[data-side="right"] { animation: dd-slide-from-left 0.2s ease-out; }

/* Generic item */
.dropdown-item {
  position: relative;
  display: flex;
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.5rem; /* gap-2 */
  border-radius: 0.125rem; /* rounded-sm */
  padding: 0.375rem 0.5rem; /* py-1.5 px-2 */
  font-size: 0.875rem; /* text-sm */
  outline: none;
  transition: color 150ms ease, background-color 150ms ease;
}
.dropdown-item:focus { background-color: hsl(var(--accent)); color: hsl(var(--accent-foreground)); }
.dropdown-item[data-disabled] { pointer-events: none; opacity: 0.5; }

/* Checkbox/Radio item share layout with left indicator space */
.dropdown-checkitem,
.dropdown-radioitem {
  position: relative;
  display: flex;
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  border-radius: 0.125rem;
  padding: 0.375rem 0.5rem; /* py-1.5 pr-2 */
  padding-left: 2rem; /* pl-8 */
  font-size: 0.875rem;
  outline: none;
  transition: color 150ms ease, background-color 150ms ease;
}
.dropdown-checkitem:focus,
.dropdown-radioitem:focus { background-color: hsl(var(--accent)); color: hsl(var(--accent-foreground)); }
.dropdown-checkitem[data-disabled],
.dropdown-radioitem[data-disabled] { pointer-events: none; opacity: 0.5; }

/* Left indicator box for checkbox/radio */
.dropdown-indicator-box {
  position: absolute;
  left: 0.5rem; /* left-2 */
  display: flex;
  width: 0.875rem;  /* w-3.5 */
  height: 0.875rem; /* h-3.5 */
  align-items: center;
  justify-content: center;
}
.dropdown-checkicon { width: 1rem; height: 1rem; }
.dropdown-radioicon { width: 0.5rem; height: 0.5rem; fill: currentColor; }

/* Label */
.dropdown-label { padding: 0.375rem 0.5rem; font-size: 0.875rem; font-weight: 600; }

/* Separator */
.dropdown-separator { margin: 0.25rem -0.25rem; height: 1px; background-color: hsl(var(--muted)); }

/* Shortcut text (right-aligned) */
.dropdown-shortcut { margin-left: auto; font-size: 0.75rem; letter-spacing: 0.1em; opacity: 0.6; }

/* Keyframes approximating Tailwind data-animations */
@keyframes dd-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes dd-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes dd-zoom-in { from { transform: scale(0.95); } to { transform: scale(1); } }
@keyframes dd-zoom-out { from { transform: scale(1); } to { transform: scale(0.95); } }
@keyframes dd-slide-from-top { from { transform: translateY(-0.5rem); } to { transform: translateY(0); } }
@keyframes dd-slide-from-bottom { from { transform: translateY(0.5rem); } to { transform: translateY(0); } }
@keyframes dd-slide-from-left { from { transform: translateX(-0.5rem); } to { transform: translateX(0); } }
@keyframes dd-slide-from-right { from { transform: translateX(0.5rem); } to { transform: translateX(0); } }
/* Styling layer for App Header (headless + tokens)
   Targets data-ui/data-slot attributes exposed by app-header.tsx. */

/* Root header bar */
[data-ui="app-header"][data-slot="root"] {
    position: sticky;
    top: 0;
    z-index: 50; /* z-50 */
    width: 100%;
    border-bottom: 1px solid hsl(var(--border));
    background-color: hsl(var(--background));
}

/* Inner container */
[data-ui="app-header"][data-slot="inner"] {
    display: flex;
    align-items: center;
    gap: 0.5rem; /* gap-2 */
    padding-inline: 1rem; /* px-4 */
    height: var(--header-height, 3.5rem); /* fallback height */
    width: 100%;
}

/* Sidebar toggle button size */
.app-header-toggle {
    width: 2rem; /* w-8 */
    height: 2rem; /* h-8 */
}

/* Vertical separator sizing */
[data-ui="app-header"][data-slot="separator"] {
    height: 1rem; /* h-4 */
    margin-right: 0.5rem; /* mr-2 */
}

/* Breadcrumbs: hide on very small screens */
.app-header-breadcrumbs {
    display: none;
}

@media (min-width: 640px) {
    /* sm */
    .app-header-breadcrumbs {
        display: block;
    }
}

/* Search area responsive sizing */
[data-ui="app-header"][data-slot="search"] {
    width: 100%; /* w-full on small */
}

@media (min-width: 640px) {
    /* sm */
    [data-ui="app-header"][data-slot="search"] {
        margin-left: auto; /* sm:ml-auto */
        width: auto; /* sm:w-auto */
    }
}

@media (min-width: 768px) {
    /* md */
    [data-ui="app-header"][data-slot="search"] {
        min-width: 24rem; /* md:min-w-96 (96 * 0.25rem = 24rem) */
    }
}


/* Notification menu width */
[data-ui="app-header"][data-slot="notif-menu"] {
    width: 15rem; /* w-60 */
}


/* User menu width */
[data-ui="app-header"][data-slot="user-menu"] {
    width: 10rem; /* w-40 */
}
/* Styling for Nav Main (sidebar navigation) using headless + tokens pattern.
   Targets data-ui="nav-main" hooks defined in src/components/nav-main.tsx. */

/* Chevron icon: push to end and animate rotation */
[data-ui="nav-main"][data-slot="chevron"] {
  margin-left: auto; /* ml-auto */
  transition: transform 200ms ease; /* transition-transform duration-200 */
}

/* When the collapsible group is open, rotate the chevron */
[data-ui="nav-main"][data-slot="group"][data-state="open"] [data-ui="nav-main"][data-slot="chevron"] {
  transform: rotate(90deg);
}
/* Styling for Organization Switcher using headless + tokens pattern.
   Targets data-ui="organization-switcher" hooks from organization-switcher.tsx. */

/* Trigger open state colors (replaces data-[state=open] utilities) */
[data-ui="organization-switcher"][data-slot="trigger"][data-state="open"] {
  background-color: hsl(var(--secondary));
  color: hsl(var(--secondary-foreground));
}

/* Icon container: flex aspect-square size-8 rounded-lg with primary bg */
[data-ui="organization-switcher"][data-slot="icon-box"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1; /* aspect-square */
  width: 2rem; /* size-8 */
  height: 2rem; /* size-8 */
  border-radius: 0.5rem; /* rounded-lg */
}

/* Leading icon size */
[data-ui="organization-switcher"][data-slot="icon"] {
  width: 1rem; /* size-4 */
  height: 1rem; /* size-4 */
}

/* Meta stack: vertical, small gap, tight leading */
[data-ui="organization-switcher"][data-slot="meta"] {
  display: flex;
  flex-direction: column;
  gap: 0.125rem; /* gap-0.5 */
  line-height: 1; /* leading-none */
}

/* Organization name text (hook in case we need emphasis later) */
[data-ui="organization-switcher"][data-slot="org-name"] {
  /* inherits */
}

/* Chevron: push to end */
[data-ui="organization-switcher"][data-slot="chevrons"] {
  margin-left: auto; /* ml-auto */
}

/* Dropdown menu panel width */
[data-ui="organization-switcher"][data-slot="menu"] {
  min-width: 12rem; /* fallback sizing */
}

/* Check icon inside selected item aligned to the end */
[data-ui="organization-switcher"][data-slot="check"] {
  margin-left: auto; /* ml-auto */
}
/* Styling for App Sidebar (headless + tokens)
   Targets data-ui/data-slot attributes from app-sidebar.tsx. */

/* Root Sidebar element: adjust top offset to header and full height minus header */
[data-ui="app-sidebar"][data-slot="root"] {
  top: var(--header-height);
  height: calc(100svh - var(--header-height)) !important; /* match original !h- override */
}
/* App shell layout styles (extracted from Tailwind) */

/* Root: provide header height custom property (Tailwind spacing.14 = 3.5rem) */
.app-shell-root {
  --header-height: 3.5rem;
}

/* SidebarProvider wrapper */
.app-shell-provider {
  display: flex;       /* flex */
  min-height: 100vh;   /* full height column layout */
  flex-direction: column; /* flex-col */
}

/* Main row that holds sidebar + inset */
.app-shell-main {
  display: flex; /* flex */
  flex: 1 1 0%;  /* flex-1 */
}

/* Content area inside SidebarInset */
.app-shell-content {
  display: flex;        /* flex */
  flex: 1 1 0%;         /* flex-1 */
  flex-direction: column; /* flex-col */
  gap: 1rem;            /* gap-4 -> 1rem */
  padding: 1rem;        /* p-4 -> 1rem */
}
.favorite {
    display: flex; /* Makes the container a flex container */
    align-items: center;
    float: left;
    gap: 8px;
}

.favorite-button {
    width: 100px;
    justify-content: normal;
}

.star {
    width: 20px !important;
    height: 20px !important;
}

.star[data-active="false"] {
    color: black;
    fill: none;
}

.star[data-active="true"] {
    color: black;
    fill: gold;
}

/* Styling layer for Radix Dialog components */

/* Overlay */
.dialog-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.8);
}
.dialog-overlay[data-state="open"] {
  animation: dialog-fade-in 0.2s ease-out;
}
.dialog-overlay[data-state="closed"] {
  animation: dialog-fade-out 0.2s ease-in;
}

@keyframes dialog-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes dialog-fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

/* Content */
.dialog-content {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 50;
  display: grid;
  width: 100%;
  max-width: 32rem; /* max-w-lg */
  transform: translate(-50%, -50%);
  gap: 1rem; /* gap-4 */
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--background));
  padding: 1.5rem; /* p-6 */
  box-shadow: var(--shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1));
  transition-duration: 200ms;
  border-radius: var(--radius);
}

/* State animations mimic Tailwind data- animations */
.dialog-content[data-state="open"] {
  animation: dialog-content-in 0.2s ease-out;
}
.dialog-content[data-state="closed"] {
  animation: dialog-content-out 0.2s ease-in;
}

@keyframes dialog-content-in {
  0% {
    opacity: 0;
    transform: translate(-50%, -48%) scale(0.95);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes dialog-content-out {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -48%) scale(0.95);
  }
}

/* Close button */
.dialog-close {
  position: absolute;
  right: 1rem; /* right-4 */
  top: 1rem;  /* top-4 */
  border-radius: 0.125rem; /* rounded-sm */
  opacity: 0.7;
  transition: opacity 150ms ease-in-out;
  outline: none;
}
.dialog-close:hover { opacity: 1; }
.dialog-close:focus { outline: none; }
.dialog-close:focus-visible {
  box-shadow: 0 0 0 2px hsl(var(--ring));
}
.dialog-close[disabled] { pointer-events: none; }
.dialog-close[data-state="open"] {
  background-color: hsl(var(--accent));
  color: hsl(var(--muted-foreground));
}
.dialog-close-icon {
  width: 1rem; /* w-4 */
  height: 1rem; /* h-4 */
}
.dialog-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* Header/Footer */
.dialog-header {
  display: flex;
  flex-direction: column;
  row-gap: 0.375rem; /* space-y-1.5 */
  text-align: center;
}
@media (min-width: 640px) {
  .dialog-header { text-align: left; }
}

.dialog-footer {
  display: flex;
  flex-direction: column-reverse;
}
@media (min-width: 640px) {
  .dialog-footer {
    flex-direction: row;
    justify-content: flex-end;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem; /* space-x-2 */
  }
}

/* Title/Description */
.dialog-title {
  font-size: 1.125rem; /* text-lg */
  font-weight: 600; /* font-semibold */
  line-height: 1.25rem; /* leading-none-ish */
  letter-spacing: -0.01em; /* tracking-tight-ish */
}
.dialog-description {
  font-size: 0.875rem; /* text-sm */
  color: hsl(var(--muted-foreground));
}
/* Styling for Radix Select extracted from Tailwind */

/* Trigger button */
.select-trigger {
  display: flex;                 /* flex */
  height: 2.5rem;                /* h-10 */
  width: 100%;                   /* w-full */
  align-items: center;           /* items-center */
  justify-content: space-between;/* justify-between */
  border-radius: 0.375rem;       /* rounded-md */
  border: 1px solid hsl(var(--input)); /* border border-input */
  background-color: hsl(var(--background));
  padding: 0.5rem 0.75rem;       /* py-2 px-3 */
  font-size: 0.875rem;           /* text-sm */
  outline: none;                 /* focus:outline-none */
}
.select-trigger:focus {
  box-shadow: 0 0 0 2px hsl(var(--ring)), 0 0 0 4px hsl(var(--background)); /* ring */
}
.select-trigger:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
/* Clamp value span children */
.select-trigger > span { /* [&>span]:line-clamp-1 */
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Icon inside trigger */
.select-icon { width: 1rem; height: 1rem; opacity: 0.5; }

/* Scroll buttons */
.select-scroll-btn {
  display: flex; cursor: default; align-items: center; justify-content: center; padding-block: 0.25rem; /* py-1 */
}
.select-scroll-icon { width: 1rem; height: 1rem; }

/* Content panel */
.select-content {
  position: relative;
  z-index: 50;
  max-height: 24rem;            /* max-h-96 */
  min-width: 8rem;              /* min-w-[8rem] */
  overflow: hidden;
  border-radius: 0.375rem;      /* rounded-md */
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
  box-shadow: var(--shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1));
}
/* open/close animations */
.select-content[data-state="open"] { animation: sel-fade-in 0.2s ease-out, sel-zoom-in 0.2s ease-out; }
.select-content[data-state="closed"] { animation: sel-fade-out 0.15s ease-in, sel-zoom-out 0.15s ease-in; }
/* slide directions */
.select-content[data-side="bottom"] { animation: sel-slide-from-top 0.2s ease-out; }
.select-content[data-side="top"] { animation: sel-slide-from-bottom 0.2s ease-out; }
.select-content[data-side="left"] { animation: sel-slide-from-right 0.2s ease-out; }
.select-content[data-side="right"] { animation: sel-slide-from-left 0.2s ease-out; }

/* Popper position translation tweaks from Tailwind */
.select-content[data-side="bottom"].popper { transform: translateY(0.25rem); }
.select-content[data-side="left"].popper { transform: translateX(-0.25rem); }
.select-content[data-side="right"].popper { transform: translateX(0.25rem); }
.select-content[data-side="top"].popper { transform: translateY(-0.25rem); }

/* Viewport */
.select-viewport { padding: 0.25rem; /* p-1 */ }
/* match trigger dimensions when using popper positioning */
.select-viewport.popper { height: var(--radix-select-trigger-height); width: 100%; min-width: var(--radix-select-trigger-width); }

/* Label */
.select-label { padding: 0.375rem 0.5rem 0.375rem 2rem; font-size: 0.875rem; font-weight: 600; }

/* Item */
.select-item {
  position: relative;
  display: flex; width: 100%; align-items: center;
  cursor: default; -webkit-user-select: none; -moz-user-select: none; user-select: none;
  border-radius: 0.125rem; /* rounded-sm */
  padding: 0.375rem 0.5rem; /* py-1.5 pr-2 */
  padding-left: 2rem; /* pl-8 */
  font-size: 0.875rem; /* text-sm */
  outline: none;
}
.select-item:focus { background-color: hsl(var(--accent)); color: hsl(var(--accent-foreground)); }
.select-item[data-disabled] { pointer-events: none; opacity: 0.5; }

/* Indicator box to the left */
.select-item-indicator { position: absolute; left: 0.5rem; display: flex; width: 0.875rem; height: 0.875rem; align-items: center; justify-content: center; }
.select-checkicon { width: 1rem; height: 1rem; }

/* Separator */
.select-separator { margin: 0.25rem -0.25rem; height: 1px; background-color: hsl(var(--muted)); }

/* Keyframes */
@keyframes sel-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes sel-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes sel-zoom-in { from { transform: scale(0.95); } to { transform: scale(1); } }
@keyframes sel-zoom-out { from { transform: scale(1); } to { transform: scale(0.95); } }
@keyframes sel-slide-from-top { from { transform: translateY(-0.5rem); } to { transform: translateY(0); } }
@keyframes sel-slide-from-bottom { from { transform: translateY(0.5rem); } to { transform: translateY(0); } }
@keyframes sel-slide-from-left { from { transform: translateX(-0.5rem); } to { transform: translateX(0); } }
@keyframes sel-slide-from-right { from { transform: translateX(0.5rem); } to { transform: translateX(0); } }
/* Styling for DragDropFileUpload (headless + tokens)
   Targets data-ui="drag-drop-file-upload" hooks from drag-drop-file-upload.tsx. */

/* Root dropzone */
[data-ui="drag-drop-file-upload"][data-slot="root"] {
  border: 2px dashed hsl(var(--border));
  border-radius: var(--radius);
  padding: 3rem; /* p-12 */
  text-align: center;
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  transition: border-color 0.15s ease, background-color 0.15s ease, opacity 0.15s ease;
}

/* Dragging visual state */
[data-ui="drag-drop-file-upload"][data-slot="root"][data-dragging="true"] {
  border-color: hsl(var(--primary));
  background-color: hsl(var(--primary) / 0.05);
}

/* Disabled state */
[data-ui="drag-drop-file-upload"][data-slot="root"][data-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Inner content layout */
[data-ui="drag-drop-file-upload"][data-slot="inner"] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

/* Icon size/color */
[data-ui="drag-drop-file-upload"][data-slot="icon"] {
  width: 3rem; /* h-12 */
  height: 3rem; /* w-12 */
  color: hsl(var(--muted-foreground));
  margin-bottom: 1rem; /* mb-4 */
}

/* Title and subtitle */
[data-ui="drag-drop-file-upload"][data-slot="title"] {
  font-size: 1.125rem; /* text-lg */
  line-height: 1.75rem;
  color: hsl(var(--foreground) / 0.9);
  margin-bottom: 0.5rem; /* mb-2 */
}

[data-ui="drag-drop-file-upload"][data-slot="subtitle"] {
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
  margin-bottom: 1rem; /* mb-4 */
}

/* Hide native input (we trigger it via the Button) */
[data-ui="drag-drop-file-upload"][data-slot="input"] {
  display: none;
}/* Styling for the Menu Upload Dialog. Headless structure with tokens from index.css.
   Targets data-ui/data-slot attributes added in menu-upload-dialog.tsx. */

/* Body: vertical stack spacing */
[data-ui="menu-upload-dialog"][data-slot="body"] {
  display: grid;
  gap: 1rem; /* space-y-4 */
}

/* Pickers grid (Org/Location) */
[data-ui="menu-upload-dialog"][data-slot="pickers"] {
  display: grid;
  grid-template-columns: 1fr; /* grid-cols-1 */
  gap: 0.75rem; /* gap-3 */
}

@media (min-width: 640px) { /* sm */
  [data-ui="menu-upload-dialog"][data-slot="pickers"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* sm:grid-cols-2 */
  }
}

/* Field wrapper and label */
[data-ui="menu-upload-dialog"][data-slot="field"] {
  display: grid;
}

[data-ui="menu-upload-dialog"][data-slot="field-label"] {
  display: block;
  margin-bottom: 0.25rem; /* mb-1 */
  color: hsl(var(--foreground));
}

/* Helper text under Location select */
[data-ui="menu-upload-dialog"][data-slot="helper"] {
  margin-top: 0.25rem; /* mt-1 */
  font-size: 0.75rem; /* text-xs */
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}

/* Selected file caption under uploader */
[data-ui="menu-upload-dialog"][data-slot="selected"] {
  font-size: 0.75rem; /* text-xs */
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}
/* Styling for the Product Upload Dialog. Headless structure with tokens from index.css. */

/* Body: vertical stack spacing */
[data-ui="product-upload-dialog"][data-slot="body"] {
  display: grid;
  gap: 1rem; /* space-y-4 */
}

/* Pickers grid (Location, etc.) */
[data-ui="product-upload-dialog"][data-slot="pickers"] {
  display: grid;
  grid-template-columns: 1fr; /* grid-cols-1 */
  gap: 0.75rem; /* gap-3 */
}

@media (min-width: 640px) { /* sm */
  [data-ui="product-upload-dialog"][data-slot="pickers"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* sm:grid-cols-2 */
  }
}

/* Field wrapper and label */
[data-ui="product-upload-dialog"][data-slot="field"] {
  display: grid;
}

[data-ui="product-upload-dialog"][data-slot="field-label"] {
  display: block;
  margin-bottom: 0.25rem; /* mb-1 */
  color: hsl(var(--foreground));
}

/* Helper text under Location select */
[data-ui="product-upload-dialog"][data-slot="helper"] {
  margin-top: 0.25rem; /* mt-1 */
  font-size: 0.75rem; /* text-xs */
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}

/* Selected file captions */
[data-ui="product-upload-dialog"][data-slot="selected"] {
  font-size: 0.75rem; /* text-xs */
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}
/* Styling for the App Home (Quick Actions) route, following the headless + tokens pattern.
   Uses design tokens from src/index.css and data attribute selectors like login.css. */

/* Root layout */
[data-route="app-home"][data-ui="app-home"][data-slot="root"] {
  min-height: 100vh;
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}

/* Container */
[data-ui="app-home"][data-slot="container"] {
  max-width: 72rem; /* ~ max-w-6xl */
  margin-inline: auto; /* mx-auto */
  padding-inline: 1.5rem; /* px-6 */
  padding-block: 1.5rem; /* py-6 */
}

/* Welcome section */
[data-ui="app-home"][data-slot="welcome"] {
  margin-bottom: 1.5rem; /* mb-6 */
}

[data-ui="app-home"][data-slot="welcome-title"] {
  font-size: 1.5rem; /* text-2xl */
  line-height: 2rem;
  font-weight: 700; /* font-bold */
  letter-spacing: -0.01em;
}

[data-ui="app-home"][data-slot="welcome-desc"] {
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}

/* Quick actions section */
[data-ui="app-home"][data-slot="quick-actions"] {
  margin-top: 1.5rem; /* mt-6 */
}

[data-ui="app-home"][data-slot="qa-title"] {
  margin-bottom: 0.5rem; /* mb-2 */
  font-size: 1rem; /* text-base */
  line-height: 1.5rem;
  font-weight: 600; /* font-semibold */
}

[data-ui="app-home"][data-slot="qa-subtitle"] {
  margin-bottom: 1rem; /* mb-4 */
  font-size: 0.75rem; /* text-xs */
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}

/* Grid */
[data-ui="app-home"][data-slot="qa-grid"] {
  display: grid;
  grid-template-columns: 1fr; /* grid-cols-1 */
  gap: 1rem; /* gap-4 */
}

@media (min-width: 640px) { /* sm */
  [data-ui="app-home"][data-slot="qa-grid"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)); /* sm:grid-cols-3 */
  }
}

/* Cards */
[data-ui="app-home"][data-slot="qa-card"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  padding: 1rem; /* p-4 */
  text-align: left;
  box-shadow: 0 1px 2px 0 hsl(0 0% 0% / 0.05); /* shadow-sm */
  transition: box-shadow 150ms ease;
}

/* Active/primary card */
[data-ui="app-home"][data-slot="qa-card"][data-variant="active"] {
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  cursor: pointer;
}

[data-ui="app-home"][data-slot="qa-card"][data-variant="active"]:hover {
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); /* hover:shadow */
}

/* Disabled placeholder cards */
[data-ui="app-home"][data-slot="qa-card"][data-variant="disabled"] {
  background-color: hsl(var(--muted)); /* approx gray-100 */
  color: hsl(var(--muted-foreground));
}

/* Card inner content */
[data-ui="app-home"][data-slot="qa-card-title"] {
  font-weight: 500; /* font-medium */
}

[data-ui="app-home"][data-slot="qa-card-desc"] {
  font-size: 0.75rem; /* text-xs */
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}

/* Right chevron */
[data-ui="app-home"][data-slot="qa-card-chevron"] {
  margin-left: 0.75rem; /* ml-3 */
  font-size: 1.25rem; /* text-xl */
}
/* react-frontend/src/css/verify-email.css */
[data-route="verify-email"] [data-ui="ve-content"] {
  padding: 1.5rem; /* was: p-6 */
}

[data-route="verify-email"] [data-ui="ve-text"] {
  text-align: center; /* was: text-center */
  font-size: 1rem; /* approx. text-md */
  line-height: 1.5rem;
}

[data-route="verify-email"] [data-ui="ve-footer"] {
  display: flex; /* ensure centering works */
  justify-content: center; /* was: justify-center */
}

[data-route="verify-email"] .ve-logout-btn {
  width: 20%; /* was: w-1/5 */
}
/* Styling layer for headless Checkbox component */

[data-ui="checkbox"][data-slot="root"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;  /* h-4 / w-4 */
  height: 1rem;
  flex-shrink: 0; /* shrink-0 */
  border: 1px solid hsl(var(--primary)); /* border border-primary */
  border-radius: 0.125rem; /* rounded-sm */
  background: transparent;
  color: inherit;
  outline: none;
  transition: box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

/* Focus ring equivalent: ring-offset + ring */
[data-ui="checkbox"][data-slot="root"]:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 2px hsl(var(--background)),
    0 0 0 4px hsl(var(--ring));
}

/* Disabled */
[data-ui="checkbox"][data-slot="root"][data-disabled],
[data-ui="checkbox"][data-slot="root"][aria-disabled="true"] {
  cursor: not-allowed;   /* disabled:cursor-not-allowed */
  opacity: 0.5;          /* disabled:opacity-50 */
}

/* Checked state */
[data-ui="checkbox"][data-slot="root"][data-state="checked"] {
  background-color: hsl(var(--primary));               /* data-[state=checked]:bg-primary */
  color: hsl(var(--primary-foreground));               /* data-[state=checked]:text-primary-foreground */
  border-color: hsl(var(--primary));                   /* keep border in primary */
}

/* Indicator container */
[data-ui="checkbox"][data-slot="indicator"] {
  display: flex;             /* flex */
  align-items: center;       /* items-center */
  justify-content: center;   /* justify-center */
  color: currentColor;       /* text-current */
  width: 100%;
  height: 100%;
}

/* Check icon size */
[data-ui="checkbox"][data-slot="icon"] {
  width: 1rem;  /* w-4 */
  height: 1rem; /* h-4 */
}
/* Styling for headless Form components */

/* Each form item: vertical stack and spacing */
[data-ui="form"][data-slot="item"] {
  display: grid;
  gap: 0.25rem; /* ~ space-y-1 */
}

/* Description text */
[data-ui="form"][data-slot="description"] {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}

/* Error message */
[data-ui="form"][data-slot="message"] {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: hsl(var(--destructive));
}
/* Styling for Radix Progress extracted from Tailwind */

/* Root track */
.progress-root {
  position: relative; /* relative */
  height: 0.5rem;     /* h-2 */
  width: 100%;        /* w-full */
  overflow: hidden;   /* overflow-hidden */
  border-radius: 9999px; /* rounded-full */
  background-color: hsl(var(--primary) / 0.2); /* bg-primary/20 */
}

/* Indicator bar */
.progress-indicator {
  height: 100%;     /* h-full */
  width: 100%;      /* w-full */
  flex: 1 1 0%;     /* flex-1 */
  transition: transform 150ms ease, background-color 150ms ease; /* transition-all */
  transform: translateX(calc(-100% + var(--progress, 0%)));
}

/* Strength variants (colors) */
.progress-indicator.strength-default { background-color: hsl(var(--primary)); }
.progress-indicator.strength-weak { background-color: rgb(239 68 68); }       /* red-500 */
.progress-indicator.strength-medium { background-color: rgb(234 179 8); }     /* yellow-500 */
.progress-indicator.strength-strong { background-color: rgb(34 197 94); }     /* green-500 */
.progress-indicator.strength-veryStrong { background-color: rgb(5 150 105); } /* emerald-600 */
/* react-frontend/src/css/signup.css */
[data-route="signup"] [data-ui="su-header"] {
    margin-top: 2rem; /* was: space-y-8 */
    text-align: center; /* was: text-center */
}

[data-route="signup"] [data-ui="su-title"] {
  font-size: 1.5rem; /* was: text-2xl */
  line-height: 2rem;
}

[data-route="signup"] [data-ui="su-form"] > * + * {
  margin-top: 2rem; /* was: space-y-8 */
}

[data-route="signup"] [data-ui="su-password-item"] > * + * {
  margin-top: 0.5rem; /* was: space-y-2 */
}

[data-route="signup"] [data-ui="su-progress"] {
  height: 0.375rem; /* was: h-1.5 */
}

[data-route="signup"] [data-ui="su-strength-text"] {
  margin-bottom: 0; /* was: mb-0 */
  margin-top: 0.125rem; /* was: mt-0.5 */
  text-align: left; /* was: text-left */
  font-size: 0.75rem; /* was: text-xs */
  line-height: 1rem;
}

[data-route="signup"] [data-ui="su-strength-label"][data-weak="true"] {
  color: #6b7280; /* was: text-gray-500 */
}

[data-route="signup"] [data-ui="su-checkrow"] {
  display: flex; /* was: flex */
  align-items: center; /* was: items-center */
  justify-content: center; /* was: justify-center */
  gap: 0.5rem; /* approximates space-x-2 */
}

[data-route="signup"] .su-submit {
  width: 100%; /* was: w-full */
}

[data-route="signup"] [data-ui="su-bottom"] {
  padding: 1rem; /* was: p-4 */
  text-align: center; /* was: text-center */
}

[data-route="signup"] .su-bottom-link {
  color: var(--foreground, inherit); /* was: text-foreground */
}

[data-route="signup"] [data-ui="spinner"] {
  display: inline-block;
  animation: su-spin 1s linear infinite; /* was: animate-spin */
}

@keyframes su-spin {
  to {
    transform: rotate(360deg);
  }
}
/* Styling for the login screen */

/* Center header text within the Card for the login route */
.login-card-header {
    text-align: center;
}

/* Stack form fields and add spacing similar to space-y-8 */
.login-form {
    display: grid;
    gap: 2rem; /* space-y-8 */
}

/* Links sections under the form */
.login-links {
    /*padding: 1rem; !* p-4 *!*/
    text-align: center;
    color: hsl(var(--foreground));
}

.login-sign-up-padding {
    padding-top: 1rem;
}

/* Spinner animation for Loader2 icon */
.login-spinner {
    display: inline-block;
    animation: login-spin 1s linear infinite;
}

@keyframes login-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
/* react-frontend/src/css/forgot-password.css */
[data-route="forgot-password"] [data-ui="forgot-header"] {
    text-align: center;
    margin-top: 2rem;
}

[data-route="forgot-password"] [data-ui="forgot-title"] {
    font-size: 1.5rem; /* tailwind text-2xl */
    line-height: 2rem;
}

[data-route="forgot-password"] [data-ui="forgot-form"] > * + * {
    margin-top: 2rem; /* tailwind space-y-8 */
}

[data-route="forgot-password"] .forgot-submit {
    width: 100%; /* tailwind w-full */
}

[data-route="forgot-password"] [data-ui="spinner"] {
    display: inline-block;
    animation: fp-spin 1s linear infinite; /* tailwind animate-spin */
}

@keyframes fp-spin {
    to {
        transform: rotate(360deg);
    }
}
/* Styling layer for headless Badge component using design tokens */

.badge {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px; /* rounded-full */
  border: 1px solid transparent;
  padding: 0.125rem 0.625rem; /* py-0.5 px-2.5 */
  font-size: 0.75rem; /* text-xs */
  line-height: 1rem;
  font-weight: 600; /* font-semibold */
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

/* Variants */
[data-ui="badge"][data-variant="default"] {
  background-color: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}

[data-ui="badge"][data-variant="secondary"] {
  background-color: hsl(var(--secondary));
  color: hsl(var(--secondary-foreground));
}

[data-ui="badge"][data-variant="destructive"] {
  background-color: hsl(var(--destructive));
  color: hsl(var(--destructive-foreground));
}

[data-ui="badge"][data-variant="outline"] {
  background-color: transparent;
  color: hsl(var(--foreground));
  border-color: hsl(var(--border));
}

/* Optional status coloring hooks if provided by consumers */
[data-ui="badge"][data-status="approved"] {
  background-color: hsl(152 76% 90%); /* approx emerald-100 */
  color: hsl(160 84% 20%); /* emerald-800 */
  border-color: hsl(152 76% 85%);
}

[data-ui="badge"][data-status="pending"] {
  background-color: hsl(38 92% 90%); /* amber-100 */
  color: hsl(22 78% 27%); /* amber-800 approximation */
  border-color: hsl(38 92% 85%);
}

[data-ui="badge"][data-status="denied"] {
  background-color: hsl(351 94% 90%); /* rose-100 */
  color: hsl(343 80% 35%); /* rose-800 approx */
  border-color: hsl(351 94% 85%);
}
/* Styling for headless Tabs components using tokens from src/index.css */

/* TabsList */
.tabs-list {
    display: flex;               /* was inline-flex -> flex so it can stretch */
    width: 100%;                 /* make the list take full parent width */
    height: 2.5rem;              /* h-10 */
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;     /* rounded-md */
    background-color: hsl(var(--muted));
    padding: 0.25rem;            /* p-1 */
    color: hsl(var(--muted-foreground));
}

/* TabsTrigger */
.tabs-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    border-radius: 0.125rem;     /* rounded-sm */
    padding: 0.375rem 0.75rem;   /* py-1.5 px-3 */
    font-size: 0.875rem;         /* text-sm */
    font-weight: 500;            /* font-medium */
    background: transparent;
    color: inherit;
    transition: all 150ms ease;
    outline: none;
    flex: 1 1 0;                 /* make each trigger take equal width */
    min-width: 0;                /* allow shrinking to distribute space evenly */
    overflow: hidden;            /* handle long labels */
    text-overflow: ellipsis;     /* visually truncate long labels */
}

/* Focus ring with offset (ring-offset-background + ring-2) */
.tabs-trigger:focus-visible {
    box-shadow:
            0 0 0 2px hsl(var(--background)),
            0 0 0 4px hsl(var(--ring));
}

/* Disabled state */
.tabs-trigger:disabled {
    pointer-events: none;
    opacity: 0.5;
}

/* Active state */
.tabs-trigger[data-state="active"] {
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
    box-shadow: 0 1px 2px 0 hsl(0 0% 0% / 0.05); /* shadow-sm */
}

/* TabsContent */
.tabs-content {
    margin-top: 0.5rem;          /* mt-2 */
    outline: none;
}

.tabs-content:focus-visible {
    box-shadow:
            0 0 0 2px hsl(var(--background)),
            0 0 0 4px hsl(var(--ring));
}
/* User Profile Page styles extracted from Tailwind */

.user-profile-root {
    width: 100%;
    max-width: 80rem; /* max-w-7xl */
    margin-left: auto;
    margin-right: auto;
    padding: 1.5rem; /* p-6 */
}

/* Tabs wrapper spacing */
.user-profile-tabs {
    display: block;
}

.user-profile-tabs.space-y-6 > * + * {
    margin-top: 1.5rem;
}

/* TabsList grid of 3 */
.user-profile-tabslist {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.user-profile-tabtrigger {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

/* Card sections spacing */
.user-profile-section {
}

.user-profile-section.space-y-6 > * + * {
    margin-top: 1.5rem;
}

/* New spacing utilities extracted from space-y-* */
.user-profile-space-4 > * + * {
    margin-top: 1rem;
}

.user-profile-space-2 > * + * {
    margin-top: 0.5rem;
}

/* Text utilities formerly `text-sm text-muted-foreground` and error */
.user-profile-text-muted-sm {
    font-size: 0.875rem;
    color: hsl(var(--muted-foreground));
}

.user-profile-text-error-sm {
    font-size: 0.875rem;
    color: rgb(220 38 38);
}

/* Icon sizes */
.icon-4 {
    width: 1rem;
    height: 1rem;
}

.icon-5 {
    width: 1.25rem;
    height: 1.25rem;
}

.icon-3 {
    width: 0.75rem;
    height: 0.75rem;
}

/* Organizations header row */
.user-profile-orgs-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.user-profile-orgs-title {
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
}

.user-profile-muted {
    color: hsl(var(--muted-foreground));
}

/* Org grid */
.user-profile-orgs-grid {
    display: grid;
    gap: 1rem;
}

/* Rows */
.user-profile-row-between {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.user-profile-row-gap4 {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* Card content paddings that were explicit */
.card-p-6 {
    padding: 1.5rem;
}

.user-profile-error-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Avatar sizing */
.user-profile-avatar-size {
    width: 3rem;
    height: 3rem;
}

/* Org name row */
.user-profile-org-name {
    font-weight: 600;
}

.user-profile-org-domain {
    font-size: 0.875rem;
    color: hsl(var(--muted-foreground));
}

.user-profile-org-meta {
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.user-profile-org-members {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: hsl(var(--muted-foreground));
}

/* Dialog sizing override */
.dialog-sm-max-w-lg {
    max-width: 32rem;
}
/* Styling for the headless Table component using design tokens from src/index.css */

.table-wrapper {
    position: relative;
    width: 100%;
    overflow: auto;
}

.table-root {
    width: 100%;
    caption-side: bottom; /* caption-bottom */
    font-size: 0.875rem;  /* text-sm */
    border-collapse: separate;
    border-spacing: 0;
}

/* Header */
.table-header tr {
    border-bottom: 1px solid hsl(var(--border));
}

/* Body */
.table-body tr:last-child {
    border-bottom: 0;
}

/* Footer */
.table-footer {
    border-top: 1px solid hsl(var(--border));
    background-color: hsl(var(--muted) / 0.5); /* bg-muted/50 */
    font-weight: 500; /* font-medium */
}
.table-footer > tr:last-child {
    border-bottom: 0;
}

/* Row */
.table-row {
    border-bottom: 1px solid hsl(var(--border));
    transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
.table-row:hover {
    background-color: hsl(var(--muted) / 0.5); /* hover:bg-muted/50 */
}
.table-row[data-state="selected"] {
    background-color: hsl(var(--muted)); /* selected state */
}

/* Header cell */
.table-head {
    height: 3rem;         /* h-12 */
    padding-left: 1rem;   /* px-4 */
    padding-right: 1rem;
    text-align: left;
    vertical-align: middle;
    font-weight: 500;     /* font-medium */
    color: hsl(var(--muted-foreground));
}
/* Remove right padding when a checkbox is present */
.table-head:has([role="checkbox"]) {
    padding-right: 0;
}

/* Data cell */
.table-cell {
    padding: 1rem;        /* p-4 */
    vertical-align: middle;
}
.table-cell:has([role="checkbox"]) {
    padding-right: 0;
}

/* Caption */
.table-caption {
    margin-top: 1rem;      /* mt-4 */
    font-size: 0.875rem;   /* text-sm */
    color: hsl(var(--muted-foreground));
}
/* Styling for the Find Opportunities Start Dialog. */

[data-ui="find-opportunities-start-dialog"][data-slot="body"] {
  display: grid;
  gap: 1rem; /* space-y-4 */
}

[data-ui="find-opportunities-start-dialog"][data-slot="selected"] {
  font-size: 0.75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}
/* Styling for the Find Opportunities screen (map/list). Semi-headless with data attributes. */

/* Root */
[data-route="find-opportunities"][data-ui="find-opportunities"][data-slot="root"] {
  min-height: 100vh;
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}

/* Container */
[data-ui="find-opportunities"][data-slot="container"] {
  max-width: 90rem; /* wider than home */
  margin-inline: auto;
  padding-inline: 1rem;
  padding-block: 1rem;
}

/* Header */
[data-ui="find-opportunities"][data-slot="header"] {
  margin-bottom: 1rem;
}

[data-ui="find-opportunities"][data-slot="title"] {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
}

[data-ui="find-opportunities"][data-slot="subtitle"] {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}

/* Filters */
[data-ui="find-opportunities"][data-slot="filters"] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

[data-ui="find-opportunities"][data-slot="section-title"] {
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.5rem;
  color: hsl(var(--foreground));
}

[data-ui="find-opportunities"][data-slot="filters-card"] {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background-color: hsl(var(--card));
  padding: 0.75rem;
  display: grid;
  gap: 0.75rem;
}

[data-ui="find-opportunities"][data-slot="filters-toggle"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-align: left;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background: hsl(var(--muted));
  padding: 0.5rem 0.75rem;
}

[data-ui="find-opportunities"][data-slot="subsection-title"] {
  font-size: 0.875rem;
  font-weight: 600;
  color: hsl(var(--foreground));
  margin-bottom: 0.25rem;
}

[data-ui="find-opportunities"][data-slot="checkbox"] {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
}

[data-ui="find-opportunities"][data-slot="slider"] {
  width: 100%;
}

[data-ui="find-opportunities"][data-slot="slider-labels"] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  font-size: 0.75rem;
  color: hsl(var(--muted-foreground));
}

[data-ui="find-opportunities"][data-slot="filters-actions"] {
  display: flex;
  gap: 0.5rem;
}

[data-ui="find-opportunities"][data-slot="filters-grid"] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

@media (min-width: 640px) {
  [data-ui="find-opportunities"][data-slot="filters-grid"] {
    grid-template-columns: 1.2fr 0.8fr 0.8fr;
  }
}

[data-ui="find-opportunities"][data-slot="filter-label"] {
  display: block;
  font-size: 0.75rem;
  color: hsl(var(--muted-foreground));
  margin-bottom: 0.25rem;
}

[data-ui="find-opportunities"][data-slot="search"],
[data-ui="find-opportunities"][data-slot="select"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  padding: 0.5rem 0.75rem;
}

/* Layout */
[data-ui="find-opportunities"][data-slot="layout"] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 1024px) {
  [data-ui="find-opportunities"][data-slot="layout"] {
    grid-template-columns: 1fr 1.5fr 1fr; /* Filters | Map | List */
    align-items: start;
  }
}

/* Map */
[data-ui="find-opportunities"][data-slot="map-element"] {
  height: 360px;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background-color: hsl(var(--muted));
}

@media (min-width: 1024px) {
  [data-ui="find-opportunities"][data-slot="map-element"] {
    height: 560px;
  }
}

/* Map placeholder */
[data-ui="find-opportunities"][data-slot="map-placeholder"] {
  height: 360px;
  border: 1px dashed hsl(var(--border));
  border-radius: var(--radius);
  display: grid;
  place-items: center;
  color: hsl(var(--muted-foreground));
  background-color: hsl(var(--muted));
}

@media (min-width: 1024px) {
  [data-ui="find-opportunities"][data-slot="map-placeholder"] {
    height: 560px;
  }
}

/* List */
[data-ui="find-opportunities"][data-slot="list"] {
  display: grid;
  gap: 0.75rem;
}

[data-ui="find-opportunities"][data-slot="empty"] {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  padding: 1rem;
  color: hsl(var(--muted-foreground));
  background-color: hsl(var(--card));
}

[data-ui="find-opportunities"][data-slot="list-item"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  padding: 0.75rem 1rem;
  background-color: hsl(var(--card));
  box-shadow: 0 1px 2px 0 hsl(0 0% 0% / 0.05);
  gap: 0.75rem;
}

[data-ui="find-opportunities"][data-slot="item-title"] {
  font-weight: 600;
}

[data-ui="find-opportunities"][data-slot="item-meta"] {
  font-size: 0.75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}

/* Styling for the Find Opportunities screen (map/list). Semi-headless with data attributes. */

/* Root */
[data-route="find-opportunities"][data-ui="find-opportunities"][data-slot="root"] {
  min-height: 100vh;
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}

/* Container */
[data-ui="find-opportunities"][data-slot="container"] {
  max-width: 90rem; /* wider than home */
  margin-inline: auto;
  padding-inline: 1rem;
  padding-block: 1rem;
}

/* Header */
[data-ui="find-opportunities"][data-slot="header"] {
  margin-bottom: 1rem;
}

[data-ui="find-opportunities"][data-slot="title"] {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
}

[data-ui="find-opportunities"][data-slot="subtitle"] {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}

/* Filters */
[data-ui="find-opportunities"][data-slot="filters"] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

[data-ui="find-opportunities"][data-slot="section-title"] {
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.5rem;
  color: hsl(var(--foreground));
}

[data-ui="find-opportunities"][data-slot="filters-card"] {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background-color: hsl(var(--card));
  padding: 0.75rem;
  display: grid;
  gap: 0.75rem;
}

[data-ui="find-opportunities"][data-slot="filters-toggle"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-align: left;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background: hsl(var(--muted));
  padding: 0.5rem 0.75rem;
}

[data-ui="find-opportunities"][data-slot="subsection-title"] {
  font-size: 0.875rem;
  font-weight: 600;
  color: hsl(var(--foreground));
  margin-bottom: 0.25rem;
}

[data-ui="find-opportunities"][data-slot="checkbox"] {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
}

[data-ui="find-opportunities"][data-slot="slider"] {
  width: 100%;
}

[data-ui="find-opportunities"][data-slot="slider-labels"] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  font-size: 0.75rem;
  color: hsl(var(--muted-foreground));
}

[data-ui="find-opportunities"][data-slot="filters-actions"] {
  display: flex;
  gap: 0.5rem;
}

[data-ui="find-opportunities"][data-slot="filters-grid"] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

@media (min-width: 640px) {
  [data-ui="find-opportunities"][data-slot="filters-grid"] {
    grid-template-columns: 1.2fr 0.8fr 0.8fr;
  }
}

[data-ui="find-opportunities"][data-slot="filter-label"] {
  display: block;
  font-size: 0.75rem;
  color: hsl(var(--muted-foreground));
  margin-bottom: 0.25rem;
}

[data-ui="find-opportunities"][data-slot="search"],
[data-ui="find-opportunities"][data-slot="select"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  padding: 0.5rem 0.75rem;
}

/* Layout */
[data-ui="find-opportunities"][data-slot="layout"] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 1024px) {
  [data-ui="find-opportunities"][data-slot="layout"] {
    grid-template-columns: 1fr 1.5fr 1fr; /* Filters | Map | List */
    align-items: start;
  }
}

/* Map */
[data-ui="find-opportunities"][data-slot="map-wrap"] {
  position: relative;
}

[data-ui="find-opportunities"][data-slot="map-element"] {
  height: 360px;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background-color: hsl(var(--muted));
}

@media (min-width: 1024px) {
  [data-ui="find-opportunities"][data-slot="map-element"] {
    height: 560px;
  }
}

/* Overlays */
[data-ui="find-opportunities"][data-slot="map-overlay-tl"] {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
}
[data-ui="find-opportunities"][data-slot="map-overlay-tr"] {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  display: grid;
  gap: 0.25rem;
}
[data-ui="find-opportunities"][data-slot="map-legend"] {
  position: absolute;
  left: 0.5rem;
  bottom: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  align-items: flex-start;
  background: hsl(var(--background) / 0.9);
  border: 1px solid hsl(var(--border));
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  border-radius: 0.5rem;
  padding: 0.5rem 0.6rem;
  font-size: 0.8125rem;
}
[data-ui="find-opportunities"][data-slot="legend-item"] {
  display: inline-flex;
  gap: 0.25rem;
  align-items: center;
}
[data-ui="find-opportunities"][data-slot="legend-item"] i {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
}
[data-ui="find-opportunities"][data-slot="legend-item"] i[data-color="green"] { background: #22c55e; }
[data-ui="find-opportunities"][data-slot="legend-item"] i[data-color="yellow"] { background: #eab308; }
[data-ui="find-opportunities"][data-slot="legend-item"] i[data-color="red"] { background: #ef4444; }

[data-ui="find-opportunities"][data-slot="use-my-location"] {
  background: #f97316; /* orange */
  border: 1px solid hsl(var(--border));
  color: white;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  font-size: 0.75rem;
}
[data-ui="find-opportunities"][data-slot="map-icon-btn"] {
  background: hsl(var(--background));
  border: 1px solid hsl(var(--border));
  border-radius: 0.375rem;
  width: 2rem;
  height: 2rem;
}

/* Map placeholder */
[data-ui="find-opportunities"][data-slot="map-placeholder"] {
  height: 360px;
  border: 1px dashed hsl(var(--border));
  border-radius: var(--radius);
  display: grid;
  place-items: center;
  color: hsl(var(--muted-foreground));
  background-color: hsl(var(--muted));
}

@media (min-width: 1024px) {
  [data-ui="find-opportunities"][data-slot="map-placeholder"] {
    height: 560px;
  }
}

/* List */
[data-ui="find-opportunities"][data-slot="list"] {
  display: grid;
  gap: 0.75rem;
}

[data-ui="find-opportunities"][data-slot="empty"] {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  padding: 1rem;
  color: hsl(var(--muted-foreground));
  background-color: hsl(var(--card));
}

[data-ui="find-opportunities"][data-slot="list-item"] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  padding: 0.75rem 1rem;
  background-color: hsl(var(--card));
  box-shadow: 0 1px 2px 0 hsl(0 0% 0% / 0.05);
  gap: 0.5rem;
}

[data-ui="find-opportunities"][data-slot="item-title"] {
  font-weight: 600;
}

[data-ui="find-opportunities"][data-slot="item-meta"],
[data-ui="find-opportunities"][data-slot="item-meta-left"] {
  font-size: 0.8125rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}
[data-ui="find-opportunities"][data-slot="item-meta-row"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

/* New: status on its own line under meta */
[data-ui="find-opportunities"][data-slot="status-row"] {
  margin-top: 0.25rem;
}

/* Status badge */
[data-ui="find-opportunities"][data-slot="status-badge"] {
  font-size: 0.75rem;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  border: 1px solid transparent;
  display: inline-flex;
  width: auto;
  align-self: flex-start;
}
[data-ui="find-opportunities"][data-slot="status-badge"][data-status="available"] {
  background: #dcfce7; color: #166534; border-color: #bbf7d0;
}
[data-ui="find-opportunities"][data-slot="status-badge"][data-status="in-progress"] {
  background: #dbeafe; color: #1e3a8a; border-color: #bfdbfe; /* blue for card badge */
}
[data-ui="find-opportunities"][data-slot="status-badge"][data-status="submitted"] {
  background: #fee2e2; color: #991b1b; border-color: #fecaca;
}

/* Rewards box */
[data-ui="find-opportunities"][data-slot="rewards"] {
  margin-top: 0.5rem;
  border: 1px dashed hsl(var(--border));
  border-radius: 0.5rem;
  padding: 0.5rem;
}
[data-ui="find-opportunities"][data-slot="rewards-title"] {
  font-size: 0.75rem;
  color: hsl(var(--muted-foreground));
  margin-bottom: 0.25rem;
}
[data-ui="find-opportunities"][data-slot="rewards-tiers"] {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  font-size: 0.8125rem;
}

/* Actions column */
[data-ui="find-opportunities"][data-slot="item-actions"] {
  display: flex;
  align-items: center;
  margin-top: 0.5rem;
}

/* Mobile extras */
[data-ui="find-opportunities"][data-slot="mobile-top-bar"] {
  display: none;
}
[data-ui="find-opportunities"][data-slot="mobile-pills"] {
  display: none;
}

@media (max-width: 767px) {
  [data-ui="find-opportunities"][data-slot="mobile-top-bar"] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius);
    background: hsl(var(--card));
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.5rem;
  }
  [data-ui="find-opportunities"][data-slot="mobile-location"] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.875rem;
  }
  [data-ui="find-opportunities"][data-slot="mobile-use-my-location"] {
    background: #111827;
    color: white;
    border-radius: 0.375rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
  }
  [data-ui="find-opportunities"][data-slot="mobile-pills"] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.5rem;
  }
  [data-ui="find-opportunities"][data-slot="mobile-pills"] .pill {
    border: 1px solid hsl(var(--border));
    background: hsl(var(--card));
    color: hsl(var(--foreground));
    border-radius: 9999px;
    padding: 0.25rem 0.75rem;
    font-size: 0.8125rem;
    white-space: nowrap;
  }
  [data-ui="find-opportunities"][data-slot="mobile-pills"] .pill[data-active] {
    background: #111827;
    color: white;
  }
  /* Legend under the map for mobile */
  [data-ui="find-opportunities"][data-slot="map-legend"] {
    position: static;
    margin-top: 0.5rem;
  }
}

/* Overrides and adjustments for new requirements */
[data-ui="find-opportunities"][data-slot="filters-toggle"] {
  background: hsl(var(--card));
}

/* Stack Apply and Reset vertically; full width */
[data-ui="find-opportunities"][data-slot="filters-actions"] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
[data-ui="find-opportunities"][data-slot="filters-actions"] button,
[data-ui="find-opportunities"][data-slot="filters-actions"] a,
[data-ui="find-opportunities"][data-slot="filters-actions"] .btn {
  width: 100%;
}

/* Make list action buttons (Start Task, etc.) full width */
[data-ui="find-opportunities"][data-slot="item-actions"] {
  width: 100%;
}
[data-ui="find-opportunities"][data-slot="item-actions"] button,
[data-ui="find-opportunities"][data-slot="item-actions"] a,
[data-ui="find-opportunities"][data-slot="item-actions"] .btn {
  width: 100%;
}
/* Overrides: distance labels above slider, spacing */
[data-ui="find-opportunities"][data-slot="slider-labels"] {
  position: relative;
  margin-bottom: 0.5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 1, 5, 10, 10+ align to slider ticks at 0%, 33%, 66%, 100% */
  justify-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  font-size: 0.8125rem;
}
[data-ui="find-opportunities"][data-slot="slider-labels"] span {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  padding: 0.125rem 0.25rem;
  border-radius: 0.375rem;
}
[data-ui="find-opportunities"][data-slot="slider-labels"] span:not([data-disabled]) {
  cursor: pointer;
}
[data-ui="find-opportunities"][data-slot="slider-labels"] span[data-disabled] {
  color: hsl(var(--muted-foreground));
  opacity: 0.85;
  cursor: default;
  position: absolute; /* keep '0' from affecting grid layout */
  left: 0;
  transform: translateX(-2px); /* nudge to the very edge */
}
[data-ui="find-opportunities"][data-slot="slider-labels"] span[data-active] {
  color: hsl(var(--primary));
  font-weight: 600;
}
[data-ui="find-opportunities"][data-slot="slider-labels"] span:nth-child(2),
[data-ui="find-opportunities"][data-slot="slider-labels"] span:nth-child(3),
[data-ui="find-opportunities"][data-slot="slider-labels"] span:nth-child(4),
[data-ui="find-opportunities"][data-slot="slider-labels"] span:nth-child(5) { text-align: center; }
[data-ui="find-opportunities"][data-slot="slider-labels"] span:nth-child(5) { justify-self: end; }

/* Normalize slider thumb size and remove default margins for better alignment */
input[type="range"][data-slot="slider"] {
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  height: 28px; /* for extra hit area */
  --muted-track: hsl(var(--muted-foreground) / 0.25);
  /* Use non-linear fill percentage provided via --fill custom property */
  background:
    linear-gradient(
      to right,
      hsl(var(--primary)) 0 var(--fill, 0%),
      var(--muted-track) var(--fill, 0%) 100%
    );
  border-radius: 9999px;
  padding: 12px 0; /* vertical padding only, keep track edges aligned with labels */
}
input[type="range"][data-slot="slider"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 0;
  height: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
input[type="range"][data-slot="slider"]::-moz-range-thumb {
  width: 0;
  height: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
/* Optional track normalization for more consistent spacing */
input[type="range"][data-slot="slider"]::-webkit-slider-runnable-track {
  height: 1px;
  background: transparent;
}
input[type="range"][data-slot="slider"]::-moz-range-track {
  height: 1px;
  background: transparent;
}

/* Styling for the Find Opportunities screen (map/list). Semi-headless with data attributes. */

/* Visual polish for sections */
[data-ui="find-opportunities"][data-slot="filters-card"] {
  box-shadow: 0 1px 3px 0 hsl(0 0% 0% / 0.06), 0 1px 2px -1px hsl(0 0% 0% / 0.06);
}
[data-ui="find-opportunities"][data-slot="subsection"] + [data-ui="find-opportunities"][data-slot="subsection"] {
  border-top: 1px dashed hsl(var(--border));
  padding-top: 0.75rem;
  margin-top: 0.25rem;
}


/* Remove blue tap highlight/circle and default focus ring on slider */
input[type="range"][data-slot="slider"] {
  outline: none;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent; /* non-standard, some browsers */
}
[data-ui="find-opportunities"][data-slot="slider-labels"] span {
  -webkit-tap-highlight-color: transparent;
}
input[type="range"][data-slot="slider"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  outline: none;
  box-shadow: none;
}
input[type="range"][data-slot="slider"]::-moz-focus-outer {
  border: 0;
}
/* Styling for the onboarding email verification screen */

[data-route="email-verification"] [data-ui="ev-content"] {
  padding: 1.5rem; /* p-6 */
}

[data-route="email-verification"] [data-ui="ev-text"] {
  font-size: 1rem;     /* ~ text-base */
  line-height: 1.5rem; /* leading-normal */
  text-align: center;  /* text-center */
  color: hsl(var(--foreground));
}

/* Footer row centers its contents */
[data-route="email-verification"] [data-ui="ev-footer"] {
  display: flex;
  justify-content: center; /* justify-center */
}

/* Make the button half width on larger screens; 100% on small if needed */
.email-verification-ev-button {
  width: 50%; /* w-1/2 */
}

/* Spinner animation for Loader2 icon */
[data-route="email-verification"] [data-ui="spinner"] {
  display: inline-block;
  animation: ev-spin 1s linear infinite; /* animate-spin */
}

@keyframes ev-spin {
  to {
    transform: rotate(360deg);
  }
}
/* react-frontend/src/css/reset-password.css */
[data-route="reset-password"] [data-ui="reset-header"] {
  text-align: center; /* was: text-center */
}

[data-route="reset-password"] [data-ui="reset-title"] {
  font-size: 1.5rem; /* was: text-2xl */
  line-height: 2rem;
}

[data-route="reset-password"] [data-ui="reset-form"] > * + * {
  margin-top: 2rem; /* was: space-y-8 */
}

[data-route="reset-password"] [data-ui="progress"] {
  height: 0.375rem; /* was: h-1.5 */
}

[data-route="reset-password"] [data-ui="strength-text"] {
  margin-bottom: 0; /* was: mb-0 */
  margin-top: 0.125rem; /* was: mt-0.5 */
  text-align: left; /* was: text-left */
  font-size: 0.75rem; /* was: text-xs */
  line-height: 1rem;
}

[data-route="reset-password"] [data-ui="strength-label"][data-weak="true"] {
  color: #6b7280; /* was: text-gray-500 */
}

[data-route="reset-password"] .reset-submit {
  width: 100%; /* was: w-full */
}
/*!
 * surveyjs - Survey JavaScript library v2.1.0
 * Copyright (c) 2015-2025 Devsoft Baltic OÜ  - http://surveyjs.io/
 * License: MIT (http://www.opensource.org/licenses/mit-license.php)
 */
/*!*********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/default-theme/default.scss ***!
  \*********************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format("woff2");
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format("woff2");
  unicode-range: U+0370-03FF;
}
/* hebrew */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format("woff2");
  unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* vietnamese */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format("woff2");
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format("woff2");
  unicode-range: U+0370-03FF;
}
/* hebrew */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format("woff2");
  unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* vietnamese */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format("woff2");
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format("woff2");
  unicode-range: U+0370-03FF;
}
/* hebrew */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format("woff2");
  unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* vietnamese */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --sjs-transition-duration: 150ms;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes changeHeight {
  from {
    height: var(--animation-height-from);
  }
  to {
    height: var(--animation-height-to);
  }
}
@keyframes moveInWithOverflow {
  from {
    overflow: hidden;
    height: var(--animation-height-from);
    min-height: var(--animation-height-from);
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-top-width: 0;
    border-bottom-width: 0;
  }
  99% {
    overflow: hidden;
    margin-top: var(--animation-margin-top);
    margin-bottom: var(--animation-margin-bottom);
    padding-top: var(--animation-padding-top);
    padding-bottom: var(--animation-padding-bottom);
    border-top-width: var(--animation-border-top-width);
    border-bottom-width: var(--animation-border-bottom-width);
    height: var(--animation-height-to);
    min-height: var(--animation-height-to);
  }
  to {
    overflow: visible;
    margin-top: var(--animation-margin-top);
    margin-bottom: var(--animation-margin-bottom);
    padding-top: var(--animation-padding-top);
    padding-bottom: var(--animation-padding-bottom);
    border-top-width: var(--animation-border-top-width);
    border-bottom-width: var(--animation-border-bottom-width);
    height: var(--animation-height-to);
    min-height: var(--animation-height-to);
  }
}
@keyframes moveIn {
  from {
    height: 0;
  }
  to {
    height: var(--animation-height);
  }
}
@keyframes paddingFadeIn {
  from {
    padding-top: 0;
    padding-bottom: 0;
  }
  to {
    padding-bottom: var(--animation-padding-bottom);
    padding-top: var(--animation-padding-top);
  }
}
.sv-action-bar {
  display: flex;
  box-sizing: content-box;
  position: relative;
  align-items: center;
  margin-left: auto;
  overflow: hidden;
  white-space: nowrap;
}

.sv-action-bar-separator {
  display: inline-block;
  width: 1px;
  height: 24px;
  vertical-align: middle;
  margin-right: 16px;
  background-color: var(--sjs-border-default, var(--border, #d6d6d6));
}

.sv-action-bar--default-size-mode .sv-action-bar-separator {
  margin: 0 var(--sjs-base-unit, var(--base-unit, 8px));
}

.sv-action-bar--small-size-mode .sv-action-bar-separator {
  margin: 0 calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-action-bar-item {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: flex;
  padding: var(--sjs-base-unit, var(--base-unit, 8px));
  box-sizing: border-box;
  border: none;
  border-radius: calc(0.5 * (var(--sjs-corner-radius, 4px)));
  background-color: transparent;
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  cursor: pointer;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  overflow-x: hidden;
  white-space: nowrap;
}

button.sv-action-bar-item {
  overflow: hidden;
}

.sv-action-bar--default-size-mode .sv-action-bar-item {
  height: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  margin: 0 var(--sjs-base-unit, var(--base-unit, 8px));
}

.sv-action-bar--small-size-mode .sv-action-bar-item {
  height: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  font-size: calc(0.75 * (var(--sjs-font-size, 16px)));
  line-height: var(--sjs-font-size, 16px);
  margin: 0 calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-action:first-of-type .sv-action-bar-item {
  margin-inline-start: 0;
}

.sv-action:last-of-type .sv-action-bar-item {
  margin-inline-end: 0;
}

.sv-action-bar--default-size-mode .sv-action-bar-item__title--with-icon {
  margin-inline-start: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sv-action-bar--small-size-mode .sv-action-bar-item__title--with-icon {
  margin-inline-start: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-action-bar-item__icon svg {
  display: block;
}
.sv-action-bar-item__icon use {
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv-action-bar-item:hover, .sv-action-bar-item:focus {
  outline: none;
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
}
.sv-action-bar-item:active, .sv-action-bar-item.svc-toolbar__item--pressed {
  opacity: 0.5;
}
.sv-action-bar-item.svc-toolbar__item--active {
  outline: none;
}
.sv-action-bar-item:disabled {
  opacity: 0.25;
  cursor: default;
}

.sv-action-bar-item__title {
  color: inherit;
  vertical-align: middle;
  white-space: nowrap;
}

.sv-action-bar-item--secondary .sv-action-bar-item__icon use {
  fill: var(--sjs-secondary-backcolor, var(--secondary, #ff9814));
}

.sv-action-bar-item--active .sv-action-bar-item__icon use {
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sv-action-bar-item-dropdown {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: flex;
  height: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding: var(--sjs-base-unit, var(--base-unit, 8px));
  box-sizing: border-box;
  border: none;
  border-radius: calc(0.5 * (var(--sjs-corner-radius, 4px)));
  background-color: transparent;
  cursor: pointer;
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  font-size: var(--sjs-font-size, 16px);
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
}

.sv-expand-action:before {
  content: "";
  display: inline-block;
  background-image: url("data:image/svg+xml,%3C%3Fxml version=%271.0%27 encoding=%27utf-8%27%3F%3E%3C%21-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0%29 --%3E%3Csvg version=%271.1%27 id=%27Layer_1%27 xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 x=%270px%27 y=%270px%27 viewBox=%270 0 10 10%27 style=%27enable-background:new 0 0 10 10;%27 xml:space=%27preserve%27%3E%3Cstyle type=%27text/css%27%3E .st0%7Bfill:%23404040;%7D%0A%3C/style%3E%3Cpolygon class=%27st0%27 points=%272,2 0,4 5,9 10,4 8,2 5,5 %27/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center center;
  height: 10px;
  width: 12px;
  margin: auto 8px;
}

.sv-expand-action--expanded:before {
  transform: rotate(180deg);
}

.sv-dots {
  width: 48px;
}

.sv-dots__item {
  width: 100%;
}
.sv-dots__item .sv-action-bar-item__icon {
  margin: auto;
}

.sv-action--hidden {
  width: 0px;
  height: 0px;
  overflow: hidden;
  visibility: hidden;
}
.sv-action--hidden .sv-action__content {
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.sv-action__content {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.sv-action__content > * {
  flex: 0 0 auto;
}

.sv-action--space {
  margin-left: auto;
}

.sv-action-bar-item--pressed:not(.sv-action-bar-item--active) {
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
  opacity: 50%;
}

.sv-dragged-element-shortcut {
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  min-width: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-radius: calc(4.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  cursor: grabbing;
  position: absolute;
  z-index: 10000;
  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1);
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-size: var(--sjs-font-size, 16px);
  padding-left: calc(2.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
}

.sv-matrixdynamic__drag-icon {
  padding-top: calc(1.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-matrixdynamic__drag-icon:after {
  content: " ";
  display: block;
  height: calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(2.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border: 1px solid #e7e7e7;
  box-sizing: border-box;
  border-radius: calc(1.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  cursor: move;
  margin-top: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-matrixdynamic-dragged-row {
  cursor: grabbing;
  position: absolute;
  z-index: 10000;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
}
.sv-matrixdynamic-dragged-row .sd-table__row {
  box-shadow: var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
  display: flex;
  flex-grow: 0;
  flex-shrink: 0;
  align-items: center;
  line-height: 0;
}
.sv-matrixdynamic-dragged-row .sd-table__cell.sd-table__cell--drag > div {
  background-color: var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));
  min-height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-table__cell--header.sd-table__cell--drag,
.sd-table__cell.sd-table__cell--drag {
  padding-right: 0;
  padding-left: 0;
}

.sd-question--mobile .sd-table__cell--header.sd-table__cell--drag,
.sd-question--mobile .sd-table__cell.sd-table__cell--drag {
  display: none;
}

.sv-matrix-row--drag-drop-ghost-mod td {
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
}

.sv-matrix-row--drag-drop-ghost-mod td > * {
  visibility: hidden;
}

.sv-drag-drop-choices-shortcut {
  cursor: grabbing;
  position: absolute;
  z-index: 10000;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  min-width: 100px;
  max-width: 400px;
}
.sv-drag-drop-choices-shortcut .sv-ranking-item {
  height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-drag-drop-choices-shortcut .sv-ranking-item .sv-ranking-item__text .sv-string-viewer,
.sv-drag-drop-choices-shortcut .sv-ranking-item .sv-ranking-item__text .sv-string-editor {
  overflow: hidden;
  white-space: nowrap;
}

.sv-drag-drop-choices-shortcut__content.sv-drag-drop-choices-shortcut__content {
  min-width: 100px;
  box-shadow: var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
  border-radius: calc(4.5 * var(--sjs-base-unit, var(--base-unit, 8px)));
  padding-right: calc(2 * var(--sjs-base-unit, var(--base-unit, 8px)));
  margin-left: 0;
}

.sv-drag-drop-image-picker-shortcut {
  cursor: grabbing;
  position: absolute;
  z-index: 10000;
  box-shadow: var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
  padding: calc(0.5 * var(--sjs-base-unit, var(--base-unit, 8px)));
  border-radius: calc(0.5 * var(--sjs-base-unit, var(--base-unit, 8px)));
}

sv-popup {
  display: block;
  position: absolute;
}

.sv-popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  outline: none;
  z-index: 2000;
  height: 100vh;
}

.sv-dropdown-popup {
  height: 0;
}

.sv-popup.sv-popup-inner {
  height: 0;
}

.sv-popup-inner > .sv-popup__container {
  margin-top: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-list__item--with-icon .sv-popup-inner > .sv-popup__container {
  margin-top: calc(-0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-popup--menu-popup > .sv-popup__container {
  background: var(--lbr-popup-menu-background-color-global, var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3)));
  border-radius: var(--lbr-popup-menu-corner-radius, var(--sjs-corner-radius, 4px));
  box-shadow: var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1));
}
.sv-popup--menu-popup > .sv-popup__container > .sv-popup__body-content {
  background-color: var(--lbr-popup-menu-background-color, var(--sjs-general-backcolor, var(--background, #fff)));
  border-radius: var(--lbr-popup-menu-corner-radius, var(--sjs-corner-radius, 4px));
  height: 100%;
}

.sv-popup__container {
  position: absolute;
  padding: 0;
}

.sv-popup__content {
  min-width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
  position: relative;
}

.sv-popup__body-content {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  max-width: 100vw;
}

.sv-popup--modal-popup {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--lbr-dialog-screen-color, var(--background-semitransparent, rgba(144, 144, 144, 0.5)));
  padding: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(15 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(8 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: border-box;
}

.sv-popup--modal-popup > .sv-popup__container {
  position: static;
  display: flex;
  background-color: var(--lbr-dialog-background-color, var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9)));
  border-radius: var(--lbr-dialog-corner-radius, calc(2 * (var(--sjs-corner-radius, 4px))));
  box-shadow: var(--lbr-dialog-shadow-2-offset-x, 0px) var(--lbr-dialog-shadow-2-offset-y, 2px) var(--lbr-dialog-shadow-2-blur, 6px) var(--lbr-dialog-shadow-2-spread, 0px) var(--lbr-dialog-shadow-2-color, rgba(0, 0, 0, 0.1)), var(--lbr-dialog-shadow-1-offset-x, 0px) var(--lbr-dialog-shadow-1-offset-y, 8px) var(--lbr-dialog-shadow-1-blur, 16px) var(--lbr-dialog-shadow-1-spread, 0px) var(--lbr-dialog-shadow-1-color, rgba(0, 0, 0, 0.1));
}
.sv-popup--modal-popup > .sv-popup__container > .sv-popup__body-content {
  padding: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: auto;
  min-width: 452px;
  gap: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-popup--modal-popup .sv-popup__body-footer .sv-modal-footer-action-bar {
  overflow: visible;
}
.sv-popup--modal-popup .sv-popup__scrolling-content {
  padding: 2px;
  margin: -2px;
}

.sd-root-modern--mobile .sv-popup--modal-popup .sv-popup__body-content {
  min-width: auto;
}

.sv-popup--confirm .sv-popup__body-content .sv-string-viewer {
  color: var(--sjs-font-editorfont-color, var(--sjs-general-forecolor, rgba(0, 0, 0, 0.91)));
  align-self: self-start;
  /* UI/Default */
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-size: var(--sjs-font-size, 16px);
  font-style: normal;
  font-weight: 400;
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  /* 150% */
}

.sv-popup__scrolling-content {
  height: 100%;
  overflow: auto;
  display: flex;
  flex-direction: column;
}
.sv-popup__scrolling-content::-webkit-scrollbar,
.sv-popup__scrolling-content *::-webkit-scrollbar {
  height: 6px;
  width: 6px;
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
}
.sv-popup__scrolling-content::-webkit-scrollbar-thumb,
.sv-popup__scrolling-content *::-webkit-scrollbar-thumb {
  background: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
}

.sv-popup--show-pointer.sv-popup--top .sv-popup__pointer {
  transform: translate(calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))))) rotate(180deg);
}

.sv-popup--show-pointer.sv-popup--bottom .sv-popup__pointer {
  transform: translate(calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px)))), calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
}

.sv-popup--show-pointer.sv-popup--right .sv-popup__container {
  transform: translate(var(--sjs-base-unit, var(--base-unit, 8px)));
}
.sv-popup--show-pointer.sv-popup--right .sv-popup__container .sv-popup__pointer {
  transform: translate(-12px, -4px) rotate(-90deg);
}

.sv-popup--show-pointer.sv-popup--left .sv-popup__container {
  transform: translate(calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
}
.sv-popup--show-pointer.sv-popup--left .sv-popup__container .sv-popup__pointer {
  transform: translate(-4px, -4px) rotate(90deg);
}

.sv-popup__pointer {
  display: block;
  position: absolute;
}
.sv-popup__pointer:after {
  content: " ";
  display: block;
  width: 0;
  height: 0;
  border-left: var(--sjs-base-unit, var(--base-unit, 8px)) solid transparent;
  border-right: var(--sjs-base-unit, var(--base-unit, 8px)) solid transparent;
  border-bottom: var(--sjs-base-unit, var(--base-unit, 8px)) solid var(--sjs-general-backcolor, var(--background, #fff));
  align-self: center;
}

.sv-popup__body-header {
  font-family: Open Sans;
  font-size: calc(1.5 * (var(--sjs-font-size, 16px)));
  line-height: calc(2 * (var(--sjs-font-size, 16px)));
  font-style: normal;
  font-weight: 700;
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sv-popup__body-footer {
  display: flex;
}

.sv-popup__body-footer .sv-action-bar {
  gap: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  overflow: visible;
}

.sv-popup--menu-phone,
.sv-popup--menu-tablet {
  z-index: 2001;
  padding: 0;
  width: 100%;
  height: var(--sv-popup-overlay-height, 100vh);
}
.sv-popup--menu-phone .sv-popup__body-footer-item,
.sv-popup--menu-tablet .sv-popup__body-footer-item {
  width: 100%;
}
.sv-popup--menu-phone .sv-popup__body-footer .sv-action-bar,
.sv-popup--menu-tablet .sv-popup__body-footer .sv-action-bar {
  width: 100%;
  justify-content: flex-start;
}
.sv-popup--menu-phone .sv-popup__body-footer .sv-action-bar .sv-action,
.sv-popup--menu-tablet .sv-popup__body-footer .sv-action-bar .sv-action {
  flex: 0 0 auto;
}
.sv-popup--menu-phone .sv-popup__body-footer,
.sv-popup--menu-tablet .sv-popup__body-footer {
  padding: var(--lbr-popup-menu-footer-padding-top, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-popup-menu-footer-padding-right, 0px) var(--lbr-popup-menu-footer-padding-bottom, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-popup-menu-footer-padding-left, 0px);
  border-top: var(--lbr-popup-menu-footer-border-width-top, 1px) solid var(--lbr-popup-menu-footer-border-color, var(--sjs-border-light, var(--border-light, #eaeaea)));
  background: var(--lbr-popup-menu-footer-background-color, var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9)));
}
.sv-popup--menu-phone .sv-list__filter,
.sv-popup--menu-tablet .sv-list__filter {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-popup--menu-phone .sv-list,
.sv-popup--menu-tablet .sv-list {
  flex-grow: 1;
}
.sv-popup--menu-phone .sv-list__filter-icon,
.sv-popup--menu-tablet .sv-list__filter-icon {
  position: static;
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-popup--menu-phone .sv-list__empty-container,
.sv-popup--menu-tablet .sv-list__empty-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
}
.sv-popup--menu-phone .sv-list__filter-clear-button,
.sv-popup--menu-tablet .sv-list__filter-clear-button {
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 100%;
  background-color: transparent;
}
.sv-popup--menu-phone .sv-list__filter-clear-button svg,
.sv-popup--menu-tablet .sv-list__filter-clear-button svg {
  height: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-popup--menu-phone .sv-list__filter-clear-button svg use,
.sv-popup--menu-tablet .sv-list__filter-clear-button svg use {
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}
.sv-popup--menu-phone .sv-list__filter-clear-button:hover,
.sv-popup--menu-tablet .sv-list__filter-clear-button:hover {
  border-radius: var(--lbr-popup-menu-search-clear-button-corner-radius, 1024px);
  background: var(--lbr-popup-menu-search-clear-button-background-color-hovered, var(--sjs-special-red-light, rgba(229, 10, 62, 0.1)));
}
.sv-popup--menu-phone .sv-list__filter-clear-button:hover use,
.sv-popup--menu-tablet .sv-list__filter-clear-button:hover use {
  fill: var(--lbr-popup-menu-search-clear-button-icon-color-hovered, var(--sjs-special-red, #E50A3E));
}
.sv-popup--menu-phone .sv-list__input,
.sv-popup--menu-tablet .sv-list__input {
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  padding: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) var(--sjs-base-unit, var(--base-unit, 8px));
}
.sv-popup--menu-phone .sv-list__item:hover .sv-list__item-body,
.sv-popup--menu-phone .sv-list__item:focus .sv-list__item-body,
.sv-popup--menu-phone .sv-list__item--focused .sv-list__item-body,
.sv-popup--menu-tablet .sv-list__item:hover .sv-list__item-body,
.sv-popup--menu-tablet .sv-list__item:focus .sv-list__item-body,
.sv-popup--menu-tablet .sv-list__item--focused .sv-list__item-body {
  background: var(--sjs-general-backcolor, var(--background, #fff));
}
.sv-popup--menu-phone .sv-list__item:hover.sv-list__item--selected .sv-list__item-body,
.sv-popup--menu-phone .sv-list__item:focus.sv-list__item--selected .sv-list__item-body,
.sv-popup--menu-phone .sv-list__item--focused.sv-list__item--selected .sv-list__item-body,
.sv-popup--menu-tablet .sv-list__item:hover.sv-list__item--selected .sv-list__item-body,
.sv-popup--menu-tablet .sv-list__item:focus.sv-list__item--selected .sv-list__item-body,
.sv-popup--menu-tablet .sv-list__item--focused.sv-list__item--selected .sv-list__item-body {
  background: var(--sjs-primary-backcolor, var(--primary, #19b394));
  color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
  font-weight: 600;
}
.sv-popup--menu-phone.sv-multi-select-list .sv-list__item:hover.sv-list__item--selected .sv-list__item-body,
.sv-popup--menu-phone.sv-multi-select-list .sv-list__item:focus.sv-list__item--selected .sv-list__item-body,
.sv-popup--menu-phone.sv-multi-select-list .sv-list__item--focused.sv-list__item--selected .sv-list__item-body,
.sv-popup--menu-tablet.sv-multi-select-list .sv-list__item:hover.sv-list__item--selected .sv-list__item-body,
.sv-popup--menu-tablet.sv-multi-select-list .sv-list__item:focus.sv-list__item--selected .sv-list__item-body,
.sv-popup--menu-tablet.sv-multi-select-list .sv-list__item--focused.sv-list__item--selected .sv-list__item-body {
  background: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  font-weight: 400;
}

.sv-popup--menu-phone > .sv-popup__container {
  width: 100%;
  height: calc(var(--sv-popup-overlay-height, 100vh));
  max-width: 100vw;
  max-height: calc(var(--sv-popup-overlay-height, 100vh));
  border: unset;
  box-shadow: unset;
  box-sizing: content-box;
  background: var(--lbr-popup-menu-background-color-global, var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3)));
}
.sv-popup--menu-phone > .sv-popup__container > .sv-popup__body-content {
  background-color: var(--lbr-popup-menu-background-color, var(--sjs-general-backcolor, var(--background, #fff)));
  max-height: var(--sv-popup-overlay-height, 100vh);
  max-width: 100vw;
  height: calc(var(--sv-popup-overlay-height, 100vh));
}

.sv-popup--menu-tablet {
  background: var(--lbr-dialog-screen-color, var(--background-semitransparent, rgba(144, 144, 144, 0.5)));
}
.sv-popup--menu-tablet > .sv-popup__container {
  border: unset;
  box-sizing: content-box;
  background: var(--lbr-popup-menu-background-color-global, var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3)));
  --sv-popup-overlay-max-height: calc(var(--sv-popup-overlay-height, 100vh) - var(--sjs-base-unit, var(--base-unit, 8px)) * 8);
  --sv-popup-overlay-max-width: calc(100% - var(--sjs-base-unit, var(--base-unit, 8px)) * 8);
  position: absolute;
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
  max-height: var(--sv-popup-overlay-max-height);
  min-height: min(var(--sv-popup-overlay-max-height), 30 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: auto;
  width: auto;
  min-width: min(40 * (var(--sjs-base-unit, var(--base-unit, 8px))), var(--sv-popup-overlay-max-width));
  max-width: var(--sv-popup-overlay-max-width);
  border-radius: var(--lbr-popup-menu-corner-radius, var(--sjs-corner-radius, 4px));
  overflow: hidden;
  box-shadow: var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1));
}
.sv-popup--menu-tablet > .sv-popup__container > .sv-popup__body-content {
  background-color: var(--lbr-popup-menu-background-color, var(--sjs-general-backcolor, var(--background, #fff)));
  max-width: 100vw;
  max-height: calc(var(--sv-popup-overlay-height, 100vh) - var(--sjs-base-unit, var(--base-unit, 8px)) * 8);
  min-height: min(var(--sv-popup-overlay-max-height), 30 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: auto;
}
.sv-popup--menu-tablet .sv-popup__content,
.sv-popup--menu-tablet .sv-popup__scrolling-content,
.sv-popup--menu-tablet .sv-list__container {
  flex-grow: 1;
}

.sv-popup--visible {
  opacity: 1;
}

.sv-popup--hidden {
  opacity: 0;
}

.sv-popup--enter {
  animation-name: fadeIn;
  animation-fill-mode: forwards;
  animation-duration: 0.15s;
}

.sv-popup--modal-popup.sv-popup--enter {
  animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
  animation-duration: 0.25s;
}

.sv-popup--leave {
  animation-direction: reverse;
  animation-name: fadeIn;
  animation-fill-mode: forwards;
  animation-duration: 0.15s;
}

.sv-popup--modal-popup.sv-popup--leave {
  animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
  animation-duration: 0.25s;
}

.sv-popup--hidden {
  opacity: 0;
}

@keyframes modalMoveUp {
  from {
    transform: translateY(64px);
  }
  to {
    transform: translateY(0);
  }
}
.sv-popup--modal-popup.sv-popup--leave .sv-popup__container, .sv-popup--modal-popup.sv-popup--enter .sv-popup__container {
  animation-name: modalMoveUp;
  animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
}
.sv-popup--modal-popup.sv-popup--leave .sv-popup__container {
  animation-direction: reverse;
  animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
}

.sv-button-group {
  display: flex;
  align-items: center;
  flex-direction: row;
  font-size: var(--sjs-font-size, 16px);
  overflow-x: auto;
  border: 1px solid var(--sjs-border-default, var(--border, #d6d6d6));
}

.sv-button-group:focus-within {
  box-shadow: 0 0 0 1px var(--sjs-primary-backcolor, var(--primary, #19b394));
  border-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sv-button-group__item {
  display: flex;
  box-sizing: border-box;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  flex-grow: 1;
  flex-basis: 0;
  padding: 11px calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  outline: none;
  font-size: var(--sjs-font-size, 16px);
  font-weight: 400;
  background: var(--sjs-general-backcolor, var(--background, #fff));
  cursor: pointer;
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  position: relative;
}
.sv-button-group__item:not(:last-of-type) {
  border-right: 1px solid var(--sjs-border-default, var(--border, #d6d6d6));
}

.sv-button-group__item--hover:hover {
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
}

.sv-button-group__item-icon {
  display: block;
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-button-group__item-icon use {
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv-button-group__item--selected {
  font-weight: 600;
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sv-button-group__item--selected .sv-button-group__item-icon use {
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sv-button-group__item--selected:hover {
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
}

.sv-button-group__item-decorator {
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.sv-button-group__item-caption {
  display: block;
}

.sv-button-group__item-icon + .sv-button-group__item-caption {
  margin-left: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sv-button-group__item--disabled {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  cursor: default;
}
.sv-button-group__item--disabled .sv-button-group__item-decorator {
  opacity: 0.25;
  font-weight: normal;
}
.sv-button-group__item--disabled .sv-button-group__item-icon use {
  fill: var(--sjs-general-forecolor, var(--foreground, #161616));
}
.sv-button-group__item--disabled:hover {
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
}

.sv-button-group:focus-within {
  box-shadow: 0 0 0 1px var(--sjs-primary-backcolor, var(--primary, #19b394));
  border-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sv-visuallyhidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.sv-hidden {
  display: none !important;
}

.sv-title-actions {
  display: flex;
  align-items: center;
  width: 100%;
}

.sv-title-actions__title {
  flex-wrap: wrap;
  max-width: 90%;
  min-width: 50%;
  white-space: initial;
}

.sv-action-title-bar {
  min-width: 56px;
}

.sv-title-actions .sv-title-actions__title {
  flex-wrap: wrap;
  flex: 0 1 auto;
  max-width: unset;
  min-width: unset;
}
.sv-title-actions .sv-action-title-bar {
  flex: 1 1 auto;
  justify-content: flex-end;
  min-width: unset;
}

.sv_window {
  position: fixed;
  bottom: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  right: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-radius: var(--sjs-base-unit, var(--base-unit, 8px));
  border: 1px solid var(--sjs-border-inside, var(--border-inside, rgba(0, 0, 0, 0.16)));
  box-shadow: var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));
  background-clip: padding-box;
  z-index: 100;
  max-height: 50vh;
  overflow: auto;
  box-sizing: border-box;
  background: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
  width: calc(100% - 4 * (var(--sjs-base-unit, var(--base-unit, 8px)))) !important;
}
@-moz-document url-prefix() {
  .sv_window,
  .sv_window * {
    scrollbar-width: thin;
    scrollbar-color: var(--sjs-border-default, var(--border, #d6d6d6)) transparent;
  }
}
.sv_window::-webkit-scrollbar,
.sv_window *::-webkit-scrollbar {
  width: 12px;
  height: 12px;
  background-color: transparent;
}
.sv_window::-webkit-scrollbar-thumb,
.sv_window *::-webkit-scrollbar-thumb {
  border: 4px solid rgba(0, 0, 0, 0);
  background-clip: padding-box;
  border-radius: 32px;
  background-color: var(--sjs-border-default, var(--border, #d6d6d6));
}
.sv_window::-webkit-scrollbar-track,
.sv_window *::-webkit-scrollbar-track {
  background: transparent;
}
.sv_window::-webkit-scrollbar-thumb:hover,
.sv_window *::-webkit-scrollbar-thumb:hover {
  border: 2px solid rgba(0, 0, 0, 0);
  background-color: var(--sjs-border-default, var(--border, #d6d6d6));
}

.sv_window_root-content {
  height: 100%;
}

.sv_window--full-screen {
  top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  left: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  right: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  bottom: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  max-height: 100%;
  width: initial !important;
  max-width: initial !important;
}

.sv_window_header {
  display: flex;
  justify-content: flex-end;
}

.sv_window_content {
  overflow: hidden;
}

.sv_window--collapsed {
  height: initial;
}
.sv_window--collapsed .sv_window_header {
  height: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding: var(--sjs-base-unit, var(--base-unit, 8px)) var(--sjs-base-unit, var(--base-unit, 8px)) var(--sjs-base-unit, var(--base-unit, 8px)) calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-radius: var(--sjs-base-unit, var(--base-unit, 8px));
  display: flex;
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
  box-sizing: content-box;
}
.sv_window--collapsed .sv_window_content {
  display: none;
}
.sv_window--collapsed .sv_window_buttons_container {
  margin-top: 0;
  margin-right: 0;
}

.sv_window_header_title_collapsed {
  color: var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91));
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-style: normal;
  font-weight: 600;
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  flex: 1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.sv_window_header_description {
  color: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
  font-feature-settings: "salt" on;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-style: normal;
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.sv_window_buttons_container {
  position: fixed;
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
  margin-right: var(--sjs-base-unit, var(--base-unit, 8px));
  display: flex;
  gap: var(--sjs-base-unit, var(--base-unit, 8px));
  z-index: 10000;
}

.sv_window_button {
  display: flex;
  padding: var(--sjs-base-unit, var(--base-unit, 8px));
  justify-content: center;
  align-items: center;
  border-radius: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  cursor: pointer;
}
.sv_window_button:hover, .sv_window_button:active {
  background-color: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
}
.sv_window_button:hover svg use,
.sv_window_button:hover svg path, .sv_window_button:active svg use,
.sv_window_button:active svg path {
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sv_window_button:active {
  opacity: 0.5;
}
.sv_window_button svg use,
.sv_window_button svg path {
  fill: var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45));
}

sv-brand-info,
.sv-brand-info {
  z-index: 1;
  position: relative;
  margin-top: 1px;
}

.sv-brand-info {
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  text-align: right;
  color: #161616;
  padding: 24px 40px;
}
.sv-brand-info a {
  color: #161616;
  text-decoration-line: underline;
}

.sd-body--static .sv-brand-info {
  padding-top: 0;
  margin-top: 16px;
}

.sd-body--responsive .sv-brand-info {
  padding-top: 16px;
  margin-top: -8px;
}

.sd-root-modern--mobile .sv-brand-info {
  padding: 48px 24px 8px 24px;
  margin-top: 0;
  text-align: center;
}

.sv-brand-info__text {
  font-weight: 600;
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  color: #161616;
}

.sv-brand-info__logo {
  display: inline-block;
}
.sv-brand-info__logo img {
  width: 118px;
}

.sv-brand-info__terms {
  font-weight: 400;
  font-size: calc(0.75 * (var(--sjs-font-size, 16px)));
  line-height: var(--sjs-font-size, 16px);
  padding-top: 4px;
}
.sv-brand-info__terms a {
  color: #909090;
}

.sd-body--responsive .sv-brand-info {
  padding-right: 0;
  padding-left: 0;
}

.sv-ranking {
  outline: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

.sv-ranking-item {
  cursor: pointer;
  position: relative;
  opacity: 1;
}

.sv-ranking-item:focus .sv-ranking-item__icon--hover {
  visibility: hidden;
}

.sv-ranking-item:hover:not(:focus) .sv-ranking-item__icon--hover {
  visibility: visible;
}

.sv-question--disabled .sv-ranking-item:hover .sv-ranking-item__icon--hover {
  visibility: hidden;
}

.sv-ranking-item:focus {
  outline: none;
}

.sv-ranking-item:focus .sv-ranking-item__icon--focus {
  visibility: visible;
  top: calc(0.6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-ranking-item:focus .sv-ranking-item__index {
  background: var(--sjs-general-backcolor, var(--background, #fff));
  outline: calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sv-ranking-item__content.sv-ranking-item__content {
  display: flex;
  align-items: center;
  line-height: 1em;
  padding: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0px;
  border-radius: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-ranking-item__icon-container {
  position: relative;
  left: 0;
  bottom: 0;
  flex-shrink: 0;
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  align-self: flex-start;
  padding-left: var(--sjs-base-unit, var(--base-unit, 8px));
  padding-right: var(--sjs-base-unit, var(--base-unit, 8px));
  margin-left: calc(-2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: content-box;
}

.sv-ranking-item--disabled.sv-ranking-item--disabled,
.sv-ranking-item--readonly.sv-ranking-item--readonly,
.sv-ranking-item--preview.sv-ranking-item--preview {
  cursor: initial;
  -moz-user-select: initial;
       user-select: initial;
  -webkit-user-select: initial;
}
.sv-ranking-item--disabled.sv-ranking-item--disabled .sv-ranking-item__icon-container.sv-ranking-item__icon-container .sv-ranking-item__icon.sv-ranking-item__icon,
.sv-ranking-item--readonly.sv-ranking-item--readonly .sv-ranking-item__icon-container.sv-ranking-item__icon-container .sv-ranking-item__icon.sv-ranking-item__icon,
.sv-ranking-item--preview.sv-ranking-item--preview .sv-ranking-item__icon-container.sv-ranking-item__icon-container .sv-ranking-item__icon.sv-ranking-item__icon {
  visibility: hidden;
}

.sv-ranking-item__icon.sv-ranking-item__icon {
  visibility: hidden;
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
  position: absolute;
  top: var(--sjs-base-unit, var(--base-unit, 8px));
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-ranking-item__index.sv-ranking-item__index {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  background-color: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  border-radius: 100%;
  border: calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid transparent;
  width: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  box-sizing: border-box;
  font-weight: 600;
  margin-left: calc(0 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  transition: outline var(--sjs-transition-duration, 150ms), background var(--sjs-transition-duration, 150ms);
  outline: calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid transparent;
  align-self: self-start;
}
.sv-ranking-item__index.sv-ranking-item__index svg {
  fill: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  width: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  height: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
}

.sv-ranking-item__text {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  margin: 0 calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  overflow-wrap: break-word;
  word-break: normal;
  align-self: self-start;
  padding-top: var(--sjs-base-unit, var(--base-unit, 8px));
  padding-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sv-ranking-item__text .sv-string-viewer,
.sv-ranking-item__text .sv-string-editor {
  overflow: initial;
  white-space: pre-line;
}

.sd-ranking--disabled .sv-ranking-item__text {
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  opacity: 0.25;
}

.sv-ranking-item--disabled .sv-ranking-item__text {
  color: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
  opacity: 0.25;
}

.sv-ranking-item--readonly .sv-ranking-item__index {
  background-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
}

.sv-ranking-item--preview .sv-ranking-item__index {
  background-color: transparent;
  border: 1px solid var(--sjs-general-forecolor, var(--foreground, #161616));
  box-sizing: border-box;
}

.sv-ranking-item__ghost.sv-ranking-item__ghost {
  display: none;
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
  border-radius: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(31 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  z-index: 1;
  position: absolute;
  left: 0;
  top: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

[dir=rtl] .sv-ranking-item__ghost {
  left: initilal;
  right: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-ranking-item--ghost {
  height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-ranking-item--ghost .sv-ranking-item__text .sv-string-viewer,
.sv-ranking-item--ghost .sv-ranking-item__text .sv-string-editor {
  white-space: unset;
}

.sv-ranking-item--ghost .sv-ranking-item__ghost {
  display: block;
}

.sv-ranking-item--ghost .sv-ranking-item__content {
  visibility: hidden;
}

.sv-ranking-item--drag .sv-ranking-item__content {
  box-shadow: var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1));
  border-radius: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-ranking--drag .sv-ranking-item:hover .sv-ranking-item__icon {
  visibility: hidden;
}

.sv-ranking-item--drag .sv-ranking-item__icon--hover {
  visibility: visible;
}

.sv-ranking--mobile .sv-ranking-item__icon--hover {
  visibility: visible;
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv-ranking--mobile.sv-ranking--drag .sv-ranking-item--ghost .sv-ranking-item__icon.sv-ranking-item__icon--hover {
  visibility: hidden;
}

.sv-ranking--mobile.sv-ranking-shortcut {
  max-width: 80%;
}

.sv-ranking--mobile .sv-ranking-item__index.sv-ranking-item__index {
  margin-left: 0;
}
.sv-ranking--mobile .sd-element--with-frame .sv-ranking-item__icon {
  margin-left: 0;
}

.sv-ranking--design-mode .sv-ranking-item:hover .sv-ranking-item__icon {
  visibility: hidden;
}

.sv-ranking--disabled {
  opacity: 0.8;
}

.sv-ranking-shortcut[hidden] {
  display: none;
}

.sv-ranking-shortcut .sv-ranking-item__icon {
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sv-ranking-shortcut .sv-ranking-item__text {
  margin-right: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-ranking-shortcut .sv-ranking-item__icon--hover {
  visibility: visible;
}

.sv-ranking-shortcut .sv-ranking-item__icon {
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  top: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sv-ranking-shortcut .sv-ranking-item__content {
  padding-left: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-ranking-shortcut .sv-ranking-item__icon-container {
  margin-left: calc(0 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-ranking-shortcut {
  cursor: grabbing;
  position: absolute;
  z-index: 10000;
  border-radius: calc(12.5 * var(--sjs-base-unit, var(--base-unit, 8px)));
  min-width: 100px;
  max-width: 400px;
  box-shadow: var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1));
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
}
.sv-ranking-shortcut .sv-ranking-item {
  height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-ranking-shortcut .sv-ranking-item .sv-ranking-item__text .sv-string-viewer,
.sv-ranking-shortcut .sv-ranking-item .sv-ranking-item__text .sv-string-editor {
  overflow: hidden;
  white-space: nowrap;
}

.sv-ranking--select-to-rank {
  display: flex;
}

.sv-ranking--select-to-rank-vertical {
  flex-direction: column-reverse;
}
.sv-ranking--select-to-rank-vertical .sv-ranking__containers-divider {
  margin: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
  height: 1px;
}
.sv-ranking--select-to-rank-vertical .sv-ranking__container--empty {
  padding-top: var(--sjs-base-unit, var(--base-unit, 8px));
  padding-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
  display: flex;
  justify-content: center;
  align-items: center;
}

.sv-ranking-item--animate-item-removing {
  animation-name: moveIn, fadeIn;
  animation-direction: reverse;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
  animation-duration: var(--sjs-ranking-move-out-duration, 150ms), var(--sjs-ranking-fade-out-duration, 100ms);
  animation-delay: var(--sjs-ranking-move-out-delay, 0ms), 0s;
}

.sv-ranking-item--animate-item-adding {
  animation-name: moveIn, fadeIn;
  opacity: 0;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
  animation-duration: var(--sjs-ranking-move-in-duration, 150ms), var(--sjs-ranking-fade-in-duration, 100ms);
  animation-delay: 0s, var(--sjs-ranking-fade-in-delay, 150ms);
}

.sv-ranking-item--animate-item-adding-empty {
  animation-name: fadeIn;
  opacity: 0;
  animation-timing-function: linear;
  animation-duration: var(--sjs-ranking-fade-in-duration, 100ms);
  animation-delay: 0;
}

.sv-ranking-item--animate-item-removing-empty {
  animation-name: fadeIn;
  animation-direction: reverse;
  animation-timing-function: linear;
  animation-duration: var(--sjs-ranking-fade-out-duration, 100ms);
  animation-delay: 0;
}

@keyframes sv-animate-item-opacity-reverse-keyframes {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes sv-animate-item-opacity-keyframes {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.sv-ranking--select-to-rank-horizontal .sv-ranking__container {
  max-width: calc(50% - 1px);
}
.sv-ranking--select-to-rank-horizontal .sv-ranking__containers-divider {
  width: 1px;
}
.sv-ranking--select-to-rank-horizontal .sv-ranking__container--to .sv-ranking-item {
  left: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking-item {
  left: initial;
}
.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking__container-placeholder {
  padding-left: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--from .sv-ranking__container-placeholder {
  padding-right: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-ranking__container-placeholder {
  color: var(--sjs-font-questiondescription-color, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45)));
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-style: normal;
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  white-space: normal;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding-top: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-bottom: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: border-box;
}

.sv-ranking__container {
  flex: 1;
}

.sv-ranking__container--empty {
  box-sizing: border-box;
  text-align: center;
}

.sv-ranking__containers-divider {
  background: var(--sjs-border-default, var(--sjs-border-inside, var(--border-inside, rgba(0, 0, 0, 0.16))));
}

.sv-ranking__container--from .sv-ranking-item__icon--focus {
  display: none;
}

.sv-ranking--select-to-rank-horizontal .sv-ranking__container--to .sv-ranking-item {
  left: 0 !important;
  padding-left: 16px;
}
.sv-ranking--select-to-rank-horizontal .sv-ranking__container--to .sv-ranking-item .sv-ranking-item__ghost {
  left: initial;
}

.sv-ranking--select-to-rank-swap-areas {
  flex-direction: row-reverse;
}
.sv-ranking--select-to-rank-swap-areas .sv-ranking__container--to .sv-ranking-item {
  padding-left: 0;
  left: -24px !important;
}
.sv-ranking--select-to-rank-swap-areas .sv-ranking__container--from .sv-ranking-item {
  padding-left: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  left: 0;
}
.sv-ranking--select-to-rank-swap-areas .sv-ranking__container--from .sv-ranking-item__ghost.sv-ranking-item__ghost {
  left: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-ranking--select-to-rank-swap-areas .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking__container-placeholder {
  padding-right: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-left: 0;
}
.sv-ranking--select-to-rank-swap-areas .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking-item__ghost.sv-ranking-item__ghost {
  right: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-ranking--select-to-rank-swap-areas .sv-ranking__container--empty.sv-ranking__container--from .sv-ranking__container-placeholder {
  padding-left: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-right: 0;
}

.sd-question--mobile .sv-ranking-item__icon-container,
.sd-root-modern.sd-root-modern--mobile .sv-ranking-item__icon-container {
  margin-left: calc(-2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: flex;
  justify-content: flex-end;
  padding: 0;
  width: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-list {
  margin: 0;
  padding: var(--lbr-popup-menu-padding-top, 4px) var(--lbr-popup-menu-padding-right, 4px) var(--lbr-popup-menu-padding-bottom, 4px) var(--lbr-popup-menu-padding-left, 4px);
  overflow-y: auto;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  list-style-type: none;
}

.sv-list__empty-container {
  width: 100%;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  box-sizing: border-box;
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: flex;
  padding: var(--lbr-placeholder-padding-top, 16px) var(--lbr-placeholder-padding-right, 64px) var(--lbr-placeholder-padding-bottom, 16px) var(--lbr-placeholder-padding-left, 64px);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--lbr-placeholder-gap, 4px);
  align-self: stretch;
}

.sv-list__empty-text {
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  font-size: var(--sjs-font-size, 16px);
  font-weight: 400;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv-list__item {
  width: 100%;
  align-items: center;
  box-sizing: border-box;
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sv-list__item-body {
  --sjs-list-item-padding-left-default: calc(2 * var(--sjs-base-unit, var(--base-unit, 8px)));
  --sjs-list-item-padding-left: calc(var(--sjs-list-item-level) * var(--sjs-list-item-padding-left-default));
  position: relative;
  width: 100%;
  align-items: center;
  box-sizing: border-box;
  padding-block: var(--sjs-base-unit, var(--base-unit, 8px));
  padding-inline-end: calc(8 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-inline-start: var(--sjs-list-item-padding-left, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  font-weight: normal;
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  cursor: pointer;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: background-color var(--sjs-transition-duration, 150ms), color var(--sjs-transition-duration, 150ms);
}

.sv-list__item.sv-list__item--focused:not(.sv-list__item--selected) {
  outline: none;
}
.sv-list__item.sv-list__item--focused:not(.sv-list__item--selected) .sv-list__item-body {
  border: calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-border-light, var(--border-light, #eaeaea));
  border-radius: var(--sjs-corner-radius, 4px);
  padding-block: calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-inline-end: calc(7.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-inline-start: calc(1.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-list__item:hover,
.sv-list__item:focus {
  outline: none;
}

.sv-list__item:focus .sv-list__item-body,
.sv-list__item--hovered > .sv-list__item-body {
  background-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
}

.sv-list__item--with-icon.sv-list__item--with-icon {
  padding: 0;
}
.sv-list__item--with-icon.sv-list__item--with-icon > .sv-list__item-body {
  padding-top: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-bottom: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  gap: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: flex;
}

.sv-list__item-icon {
  float: left;
  flex-shrink: 0;
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-list__item-icon svg {
  display: block;
}
.sv-list__item-icon use {
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv-list-item__marker-icon {
  position: absolute;
  right: var(--sjs-base-unit, var(--base-unit, 8px));
  width: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  flex-shrink: 0;
  padding: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: content-box;
}
.sv-list-item__marker-icon svg {
  display: block;
}
.sv-list-item__marker-icon use {
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

[dir=rtl] .sv-list__item-icon,
[style*="direction:rtl"] .sv-list__item-icon,
[style*="direction: rtl"] .sv-list__item-icon {
  float: right;
}

.sv-list__item-separator {
  margin: var(--sjs-base-unit, var(--base-unit, 8px)) 0;
  height: 1px;
  background-color: var(--sjs-border-default, var(--border, #d6d6d6));
}

.sv-list--filtering .sv-list__item-separator {
  display: none;
}

.sv-list__item.sv-list__item--selected > .sv-list__item-body,
.sv-list__item.sv-list__item--selected:hover > .sv-list__item-body,
.sv-list__item.sv-list__item--selected.sv-list__item--focused > .sv-list__item-body,
.sv-multi-select-list .sv-list__item.sv-list__item--selected.sv-list__item--focused > .sv-list__item-body,
li:focus .sv-list__item.sv-list__item--selected > .sv-list__item-body {
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
  font-weight: 600;
}
.sv-list__item.sv-list__item--selected .sv-list__item-icon use,
.sv-list__item.sv-list__item--selected:hover .sv-list__item-icon use,
.sv-list__item.sv-list__item--selected.sv-list__item--focused .sv-list__item-icon use,
.sv-multi-select-list .sv-list__item.sv-list__item--selected.sv-list__item--focused .sv-list__item-icon use,
li:focus .sv-list__item.sv-list__item--selected .sv-list__item-icon use {
  fill: var(--sjs-general-backcolor, var(--background, #fff));
}
.sv-list__item.sv-list__item--selected .sv-list-item__marker-icon use,
.sv-list__item.sv-list__item--selected:hover .sv-list-item__marker-icon use,
.sv-list__item.sv-list__item--selected.sv-list__item--focused .sv-list-item__marker-icon use,
.sv-multi-select-list .sv-list__item.sv-list__item--selected.sv-list__item--focused .sv-list-item__marker-icon use,
li:focus .sv-list__item.sv-list__item--selected .sv-list-item__marker-icon use {
  fill: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
}

.sv-multi-select-list .sv-list__item.sv-list__item--selected .sv-list__item-body,
.sv-multi-select-list .sv-list__item.sv-list__item--selected:hover .sv-list__item-body {
  background-color: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  font-weight: 400;
}

.sv-list__item--group-selected > .sv-list__item-body {
  background-color: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  font-weight: 400;
}
.sv-list__item--group-selected > .sv-list__item-body use {
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv-list__item.sv-list__item--disabled .sv-list__item-body {
  cursor: default;
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv-list__item span {
  white-space: nowrap;
}

.sv-list__item-text--wrap span {
  white-space: normal;
  word-wrap: break-word;
}

.sv-list__container {
  position: relative;
  height: 100%;
  flex-direction: column;
  display: flex;
  min-height: 0;
}

.sv-list__filter {
  border-bottom: 1px solid var(--sjs-border-inside, var(--border-inside, rgba(0, 0, 0, 0.16)));
}

.sv-list__filter-icon {
  display: block;
  position: absolute;
  top: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  inset-inline-start: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-list__filter-icon .sv-svg-icon {
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv-list__filter-icon .sv-svg-icon use {
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv-list__input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  background: transparent;
  box-sizing: border-box;
  width: 100%;
  min-width: calc(30 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  outline: none;
  font-size: var(--sjs-font-size, 16px);
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-inline-start: calc(7 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  border: none;
}

.sv-list__input::-moz-placeholder {
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv-list__input::placeholder {
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv-list__input:disabled::-moz-placeholder {
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv-list__input:disabled,
.sv-list__input:disabled::placeholder {
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv-list__loading-indicator {
  pointer-events: none;
}

.sv-list__loading-indicator .sv-list__item-body {
  background-color: transparent;
}

.sv-scroll__wrapper {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.sv-scroll__scroller {
  box-sizing: border-box;
  flex-grow: 1;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
.sv-scroll__scroller::-webkit-scrollbar {
  display: none;
}

.sv-scroll__scrollbar {
  position: absolute;
  top: 0;
  bottom: 0;
  overflow-y: scroll;
  overflow-x: hidden;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline-start: -1px;
  visibility: hidden;
  z-index: 30;
  inset-inline-end: 0;
  inset-inline-start: initial;
}
@-moz-document url-prefix() {
  .sv-scroll__scrollbar {
    scrollbar-width: thin;
    scrollbar-color: var(--ctr-scrollbar-background-color, var(--sjs-border-25-overlay, rgba(0, 0, 0, 0.1490196078))) transparent;
  }
}

.sv-scroll__wrapper:hover .sv-scroll__scrollbar {
  visibility: visible;
}

.sv-scroll__scrollbar-sizer {
  width: 1px;
}

.sv-scroll__container {
  width: 100%;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.sv-save-data_root {
  position: fixed;
  left: 50%;
  bottom: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  background: var(--sjs-general-backcolor, var(--background, #fff));
  opacity: 0;
  padding: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-shadow: var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));
  border-radius: calc(2 * (var(--sjs-corner-radius, 4px)));
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  min-width: calc(30 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  text-align: center;
  z-index: 1600;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  transform: translateX(-50%) translateY(calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  transition-timing-function: ease-in;
  transition-property: transform, opacity;
  transition-delay: 0.25s;
  transition: 0.5s;
}

.sv-save-data_root.sv-save-data_root--shown {
  transition-timing-function: ease-out;
  transition-property: transform, opacity;
  transform: translateX(-50%) translateY(0);
  transition-delay: 0.25s;
  opacity: 0.75;
}

.sv-save-data_root span {
  display: flex;
  flex-grow: 1;
}
.sv-save-data_root .sv-action-bar {
  display: flex;
  flex-grow: 0;
  flex-shrink: 0;
}

.sv-save-data_root--shown.sv-save-data_success,
.sv-save-data_root--shown.sv-save-data_error {
  opacity: 1;
}

.sv-save-data_root.sv-save-data_root--with-buttons {
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-save-data_root.sv-save-data_error {
  background-color: var(--sjs-special-red, var(--red, #e60a3e));
  color: var(--sjs-general-backcolor, var(--background, #fff));
  font-weight: 600;
  gap: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-save-data_root.sv-save-data_error .sv-save-data_button {
  font-weight: 600;
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  height: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  color: #ffffff;
  background-color: var(--sjs-special-red, var(--red, #e60a3e));
  border: calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid #ffffff;
  border-radius: calc(1.5 * (var(--sjs-corner-radius, 4px)));
  padding: var(--sjs-base-unit, var(--base-unit, 8px)) calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: flex;
  align-items: center;
}

.sv-save-data_root.sv-save-data_error .sv-save-data_button:hover,
.sv-save-data_root.sv-save-data_error .sv-save-data_button:focus {
  color: var(--sjs-special-red, var(--red, #e60a3e));
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
}

.sv-save-data_root.sv-save-data_success {
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  color: #ffffff;
  font-weight: 600;
}

.sv-string-viewer.sv-string-viewer--multiline {
  white-space: pre-wrap;
}

.sd-element {
  padding-left: var(--sv-element-add-padding-left, 0px);
  padding-right: var(--sv-element-add-padding-right, 0px);
}

.sd-element__title {
  outline: none;
}

.sd-element__title.sd-element__title--disabled {
  opacity: 0.25;
}

.sd-root--readonly .sd-element__title.sd-element__title--disabled {
  opacity: 1;
}

.sd-element--invisible {
  opacity: 0.35;
}

.sd-title.sd-element__title {
  font-family: var(--sjs-font-questiontitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-questiontitle-weight, 600);
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
}

.sd-element__header .sv-string-editor {
  max-width: 100%;
  white-space: normal;
}

.sd-element__title {
  font-size: 0;
  line-height: 0;
  position: static;
  margin: 0;
}
.sd-element__title .sd-element__num {
  font-size: calc(0.75 * (var(--sjs-font-size, 16px)));
  line-height: var(--sjs-font-size, 16px);
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}
.sd-element__title span {
  font-size: var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));
}
.sd-element__title .sv-title-actions__title {
  font-size: 0;
  line-height: 0;
  white-space: nowrap;
}
.sd-element__title .sv-string-viewer {
  white-space: normal;
}
.sd-element__title .sv-string-viewer.sv-string-viewer--multiline {
  white-space: pre-wrap;
}

.sd-element__title.sd-element__title--singleinput span {
  --page-title-font-size: var(--sjs-font-pagetitle-size, calc(1.5 * (var(--sjs-font-size, 16px))));
  font-family: var(--sjs-font-pagetitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-pagetitle-weight, 700);
  font-size: var(--page-title-font-size);
  color: var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)));
  position: static;
  line-height: calc(1.33 * (var(--page-title-font-size)));
  margin: 0 0 calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0px;
}

.sd-element__num {
  float: left;
  padding-top: calc(0.625 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-bottom: calc(0.375 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-inline-start: 0;
  padding-inline-end: var(--sjs-base-unit, var(--base-unit, 8px));
  width: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  font-size: calc(0.75 * (var(--sjs-font-size, 16px)));
  line-height: var(--sjs-font-size, 16px);
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
  margin-inline-start: calc(-5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  text-align: end;
  box-sizing: border-box;
  white-space: nowrap;
  flex-shrink: 0;
}

.sd-page__num + span,
.sd-element__num + span {
  float: left;
  width: 0;
}

[dir=rtl] .sd-element__num,
[style*="direction:rtl"] .sd-element__num,
[style*="direction: rtl"] .sd-element__num {
  float: right;
}
[dir=rtl] .sd-element__title--collapsed .sd-element__title-expandable-svg,
[style*="direction:rtl"] .sd-element__title--collapsed .sd-element__title-expandable-svg,
[style*="direction: rtl"] .sd-element__title--collapsed .sd-element__title-expandable-svg {
  transform: rotate(180deg);
}

.sd-element__title--num-inline .sd-element__num {
  float: none;
  margin-inline-start: 0;
  width: auto;
  padding-inline-start: 0;
  padding-inline-end: 0;
}
.sd-element__title--num-inline .sd-element__num + span {
  float: none;
  width: auto;
}

.sd-element__title--expandable.sd-element__title--expandable {
  position: relative;
  display: block;
}

.sd-element__title-expandable-svg {
  display: inline-block;
  width: var(--lbr-question-panel-expand-button-icon-width, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  height: var(--lbr-question-panel-expand-button-icon-height, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  position: absolute;
  inset-inline-start: calc(-3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  top: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-element__title-expandable-svg use {
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sd-element--with-frame {
  border-radius: var(--sjs-questionpanel-cornerRadius, var(--sjs-corner-radius, 4px));
  box-sizing: border-box;
  padding-top: var(--sd-base-padding);
  padding-left: calc(var(--sd-base-padding) + var(--sv-element-add-padding-left, 0px));
  padding-right: calc(var(--sd-base-padding) + var(--sv-element-add-padding-right, 0px));
  padding-bottom: var(--sd-base-padding);
  background: var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));
  box-shadow: var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15));
}

.sd-element--with-frame.sd-element--compact {
  border: 1px solid var(--sjs-border-default, var(--border, #d6d6d6));
  border-radius: var(--sjs-questionpanel-cornerRadius, var(--sjs-corner-radius, 4px));
  box-shadow: none;
  background-color: transparent;
}

@keyframes elementMoveIn {
  from {
    flex-basis: 0;
    flex-grow: 0;
    max-width: 0;
    min-width: 0;
    width: 0;
    height: 0;
    padding-left: 0;
    overflow: hidden;
  }
  to {
    height: var(--animation-height);
    flex-basis: var(--animation-width);
    width: var(--animation-width);
    min-width: var(--animation-width);
    padding-left: var(--animation-padding-left);
    overflow: visible;
  }
}
.sd-element-wrapper--enter {
  animation-name: elementMoveIn, fadeIn;
  animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
  animation-fill-mode: forwards;
  animation-duration: var(--sjs-element-move-in-duration, 250ms), var(--sjs-element-fade-in-duration, 500ms);
  animation-delay: 0s, var(--sjs-element-fade-in-delay, 100ms);
  opacity: 0;
}

.sd-element-wrapper--leave {
  animation-name: elementMoveIn, fadeIn;
  animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
  animation-fill-mode: forwards;
  animation-direction: reverse;
  animation-duration: var(--sjs-element-move-out-duration, 250ms), var(--sjs-element-fade-out-duration, 150ms);
  animation-delay: var(--sjs-element-move-out-delay, 0ms), 0s;
}

.sd-element__content {
  box-sizing: border-box;
}

.sd-element__content--enter,
.sd-element__content--leave {
  --animation-padding-top: 0;
  --animation-padding-bottom: 0;
}

.sd-element__content--enter {
  animation-name: fadeIn, moveInWithOverflow;
  min-height: 0 !important;
  opacity: 0;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
  animation-duration: var(--sjs-expand-fade-in-duration, 500ms), var(--sjs-expand-move-in-duration, 150ms);
  animation-delay: var(--sjs-expand-fade-in-delay, 150ms), 0s, 0s;
}

.sd-element__content--leave {
  animation-name: fadeIn, moveInWithOverflow;
  min-height: 0 !important;
  animation-direction: reverse;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
  animation-duration: var(--sjs-collapse-fade-out-duration, 150ms), var(--sjs-collapse-move-out-duration, 250ms);
  animation-delay: 0s, var(--sjs-collapse-move-out-delay, 100ms), var(--sjs-collapse-move-out-delay, 100ms);
}

.sd-element--expandable.sd-elemenet--expandable--animating > .sd-element__header:focus-within, .sd-element--expandable.sd-elemenet--expandable--animating > .sd-element__header:hover {
  background-color: transparent;
}

.sd-elemenet--expandable--animating.sd-element--expandable {
  transition-property: padding-top, padding-bottom;
}
.sd-elemenet--expandable--animating.sd-element--expandable > .sd-element__header {
  transition-property: padding-top, padding-bottom;
}
.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--expanded {
  transition-timing-function: cubic-bezier(0, 0, 0.58, 1);
  transition-duration: var(--sjs-expand-move-in-duration, 150ms);
}
.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--expanded > .sd-element__header {
  transition-timing-function: cubic-bezier(0, 0, 0.58, 1);
  transition-duration: var(--sjs-expand-move-in-duration, 150ms);
}
.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--expanded > .sd-element__header .sd-element__title:before {
  transition-duration: var(--sjs-expand-move-in-duration, 150ms);
}
.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--collapsed {
  transition-timing-function: cubic-bezier(0, 0, 0.58, 1);
  transition-duration: var(--sjs-collapse-move-out-duration, 250ms);
  transition-delay: var(--sjs-collapse-move-out-delay, 100ms);
}
.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--collapsed > .sd-element__header {
  transition-timing-function: cubic-bezier(0, 0, 0.58, 1);
  transition-duration: var(--sjs-collapse-move-out-duration, 250ms);
  transition-delay: var(--sjs-collapse-move-out-delay, 100ms);
}
.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--collapsed > .sd-element__header .sd-element__title:before {
  transition-duration: var(--sjs-collapse-move-out-duration, 250ms);
  transition-delay: var(--sjs-collapse-move-out-delay, 100ms);
}
.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--complex:not(.sd-question--empty) > .sd-element__header--location-top:after {
  display: block;
  opacity: 0;
  height: 0;
  --animation-height: 1px;
  animation-name: fadeIn, moveIn;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
  animation-delay: var(--sjs-expand-fade-in-delay, 150ms), 0s;
  animation-duration: var(--sjs-expand-fade-in-duration, 500ms), var(--sjs-expand-move-in-duration, 150ms);
}
.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--complex:not(.sd-question--empty).sd-element--collapsed .sd-element__header--location-top:after {
  animation-direction: reverse;
  opacity: 1;
  height: 1px;
  animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
  animation-delay: 0s, var(--sjs-collapse-move-out-delay, 100ms);
  animation-duration: var(--sjs-collapse-fade-out-duration, 150ms), var(--sjs-collapse-move-out-duration, 250ms);
}

.sd-question {
  position: relative;
}

.sd-question--no-pointer-events .sd-selectbase label,
.sd-question--no-pointer-events .sd-rating label {
  pointer-events: none;
}

.sd-element__erbox--above-element {
  margin-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-question__erbox--below-question {
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-question__content--support-container-queries {
  container-type: inline-size;
}

.sd-question--title-top > .sd-question__erbox--above-question {
  margin-bottom: calc(0.5 * var(--sd-base-vertical-padding));
}

.sd-question--description-under-input > .sd-question__erbox--below-question,
.sd-question--title-bottom > .sd-question__erbox--below-question {
  margin-top: calc(0.25 * var(--sd-base-vertical-padding) + 0.5 * var(--sjs-base-unit, var(--base-unit, 8px)));
}

.sd-element--with-frame > .sd-element__erbox--above-element {
  margin-bottom: var(--sd-base-padding);
  border-radius: var(--sjs-corner-radius, 4px) var(--sjs-corner-radius, 4px) 0 0;
}

.sd-question--left > .sd-element__erbox--above-element {
  margin-bottom: 0;
}

.sd-element--with-frame.sd-question--left > .sd-element__erbox--above-element {
  margin-bottom: calc(1 * var(--sd-base-vertical-padding));
}

.sd-element--with-frame > .sd-question__erbox--below-question {
  margin-top: auto;
  border-radius: 0 0 var(--sjs-corner-radius, 4px) var(--sjs-corner-radius, 4px);
}

.sd-element--with-frame.sd-question--title-top > .sd-question__erbox--above-question {
  margin-bottom: calc(0.5 * var(--sd-base-vertical-padding) + var(--sjs-base-unit, var(--base-unit, 8px)));
}

.sd-element--with-frame.sd-question--description-under-input > .sd-question__erbox--below-question,
.sd-element--with-frame.sd-question--title-bottom > .sd-question__erbox--below-question {
  margin-top: calc(0.5 * var(--sd-base-vertical-padding) + var(--sjs-base-unit, var(--base-unit, 8px)));
}

.sd-question__header {
  width: 100%;
}

.sd-question__header--location-top {
  padding-bottom: calc(0.5 * var(--sd-base-vertical-padding));
}

.sd-question__header--location--bottom {
  padding-top: calc(0.375 * var(--sd-base-vertical-padding));
}

.sd-element--with-frame.sd-question--title-top {
  padding-top: var(--sd-base-vertical-padding);
}
.sd-element--with-frame.sd-question--error-top {
  padding-top: 0;
}
.sd-element--with-frame.sd-question--error-bottom {
  padding-bottom: 0;
  display: flex;
  flex-direction: column;
}
.sd-element--with-frame.sd-question--error-bottom > .sd-question__content {
  margin-bottom: var(--sd-base-padding);
}
.sd-element--with-frame > .sd-element__erbox {
  margin-left: calc(-1 * var(--sd-base-padding));
  margin-right: calc(-1 * var(--sd-base-padding));
  width: calc(100% + 2 * var(--sd-base-padding));
  position: sticky;
  left: calc(-1 * var(--sd-base-padding));
}

.sd-scrollable .sd-question__content {
  overflow-x: auto;
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
}

.sd-question__header--location--left {
  display: inline-block;
  width: auto;
  vertical-align: top;
  margin-top: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-question--left {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  -moz-column-gap: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
       column-gap: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  row-gap: calc(0.25 * var(--sd-base-vertical-padding));
}

.sd-question__content--left {
  display: inline-block;
  flex: 1;
  margin-top: calc(0.25 * var(--sd-base-vertical-padding)) 0;
  max-width: 100%;
}

.sd-element--with-frame > .sd-question__content--left {
  margin: 0;
}

.sd-question__required-text {
  color: var(--sjs-special-red, var(--red, #e60a3e));
  vertical-align: top;
}

.sd-question__comment-area {
  font-size: var(--sjs-font-size, 16px);
  margin-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: flex;
  flex-direction: column;
  gap: var(--sjs-base-unit, var(--base-unit, 8px));
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  white-space: normal;
}

.sd-question__placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  justify-content: center;
  min-height: calc(24 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  color: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
}
.sd-question__placeholder > div .sv-string-viewer, .sd-question__placeholder > span .sv-string-viewer {
  white-space: pre-line;
}

.sd-scrollable-container:not(.sd-scrollable-container--compact) {
  width: -moz-max-content;
  width: max-content;
  overflow: visible;
  max-width: 100%;
}

.sd-question__title--empty .sv-string-viewer {
  display: inline-block;
  height: calc(1.5 * (var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));
}

.sd-question__content {
  box-sizing: border-box;
}

.sd-singleinput__title {
  font-family: var(--sjs-font-pagetitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-pagetitle-weight, 700);
  font-size: var(--page-title-font-size);
  color: var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)));
  position: static;
  line-height: calc(1.33 * (var(--page-title-font-size)));
  margin: 0 0 calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0px;
}

.sd-error {
  display: block;
  padding: var(--sjs-base-unit, var(--base-unit, 8px)) calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-radius: var(--sjs-corner-radius, 4px);
  line-height: var(--sjs-font-size, 16px);
  font-size: calc(0.75 * (var(--sjs-font-size, 16px)));
  font-weight: 600;
  text-align: left;
  color: var(--sjs-special-red, var(--red, #e60a3e));
  white-space: normal;
  width: 100%;
  background-color: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
  box-sizing: border-box;
}

.sd-element--expanded > .sd-element__header,
.sd-element--collapsed > .sd-element__header {
  cursor: pointer;
}

.sd-element--collapsed > .sd-element__header {
  padding: calc(0 * (var(--sjs-base-unit, var(--base-unit, 8px)))) var(--sd-base-padding);
  box-sizing: border-box;
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
  margin-inline-start: calc(-1 * var(--sd-base-padding));
  width: calc(100% + 2 * var(--sd-base-padding));
}
.sd-element--collapsed.sd-element--with-frame {
  padding-top: 0;
  padding-bottom: 0;
}
.sd-element--collapsed.sd-element--with-frame > .sd-element__header {
  padding-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-bottom: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-radius: var(--sjs-questionpanel-cornerRadius, var(--sjs-corner-radius, 4px));
}
.sd-element--collapsed > .sd-element__header:focus-within, .sd-element--collapsed > .sd-element__header:hover {
  background-color: var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9));
}
.sd-element--collapsed.sd-element--nested > .sd-element__header:hover, .sd-element--collapsed.sd-element--nested > .sd-element__header:focus-within {
  box-shadow: 0 calc(-2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0 0 var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9)), 0 calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0 var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9));
}

.sd-element--complex.sd-element--with-frame {
  padding-top: 0;
}

.sd-element--complex.sd-element--nested-with-borders > .sd-element__erbox,
.sd-element--complex.sd-element--with-frame > .sd-element__erbox {
  margin-top: 0;
  margin-bottom: 0;
}

.sd-element--complex > .sd-element__header:after {
  content: " ";
  display: block;
  height: 1px;
  position: relative;
  background: var(--sjs-border-light, var(--border-light, #eaeaea));
  bottom: 0;
}

.sd-element--complex.sd-element--with-frame > .sd-element__header {
  padding-top: var(--sd-base-vertical-padding);
  padding-bottom: var(--sd-base-vertical-padding);
}

.sd-element--collapsed.sd-element--complex > .sd-element__header {
  padding-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-bottom: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-element--nested.sd-element--complex > .sd-element__header--location-top:after {
  bottom: calc(-0.5 * var(--sd-base-vertical-padding));
}

.sd-element--nested-with-borders {
  border: 1px solid var(--sjs-border-light, var(--border-light, #eaeaea));
  border-radius: calc(var(--sjs-corner-radius, 4px) - 4px);
  box-sizing: border-box;
  padding-left: var(--sd-base-padding);
  padding-right: var(--sd-base-padding);
}
.sd-element--nested-with-borders > .sd-element__header--location-top {
  padding-top: calc(0.5 * var(--sd-base-vertical-padding));
  padding-bottom: calc(0.5 * var(--sd-base-vertical-padding));
}
.sd-element--nested-with-borders > .sd-element__erbox {
  margin-left: calc(-1 * var(--sd-base-padding));
  margin-right: calc(-1 * var(--sd-base-padding));
  width: calc(100% + 2 * var(--sd-base-padding));
}
.sd-element--nested-with-borders > .sd-question__erbox--below-question {
  bottom: 0;
  margin-top: 0;
}
.sd-element--nested-with-borders.sd-element--collapsed > .sd-element__header--location-top:hover, .sd-element--nested-with-borders.sd-element--collapsed > .sd-element__header--location-top:focus-within {
  box-shadow: none;
}

.sd-element--nested-with-borders > .sd-element__header--location-top:after,
.sd-element--complex.sd-element--with-frame > .sd-element__header--location-top:after {
  bottom: calc(-1 * var(--sd-base-vertical-padding));
  inset-inline-start: calc(-1 * var(--sd-base-padding));
  width: calc(100% + 2 * var(--sd-base-padding));
}

.sd-element--collapsed.sd-element--complex > .sd-element__header--location-top:after {
  display: none;
}

.sd-question--empty.sd-question--complex > .sd-question__content {
  padding-top: 0;
  padding-bottom: 0;
}
.sd-question--empty.sd-question--complex > .sd-question__content:first-of-type {
  padding-top: var(--sd-base-padding);
}
.sd-question--empty.sd-question--complex > .sd-question__header--location-top {
  padding-bottom: calc(0.5 * var(--sd-base-vertical-padding));
}
.sd-question--empty.sd-question--complex > .sd-question__header--location-top:after {
  display: none;
}

.sd-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: static;
  width: 100%;
  box-sizing: border-box;
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  font-family: var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-editorfont-weight, 400);
  color: var(--sjs-font-editorfont-color, var(--sjs-general-forecolor, rgba(0, 0, 0, 0.91)));
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  background-color: var(--sjs-editorpanel-backcolor, var(--sjs-editor-background, var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))));
  border: none;
  border-radius: var(--sjs-editorpanel-cornerRadius, var(--sjs-corner-radius, 4px));
  text-align: start;
  box-shadow: var(--sjs-shadow-inner, inset 0px 1px 2px 0px rgba(0, 0, 0, 0.15)), 0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));
  transition: box-shadow var(--sjs-transition-duration, 150ms);
  display: block;
}

.sd-input:focus {
  box-shadow: var(--sjs-shadow-inner-reset, inset 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-input.sd-input:focus {
  outline: none;
}

input.sd-input:disabled:not(.sd-input--disabled),
textarea.sd-input:disabled:not(.sd-input--disabled) {
  opacity: 1;
}

.sd-input--disabled {
  background-color: var(--sjs-editorpanel-backcolor, var(--sjs-editor-background, var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))));
}

.sd-input--readonly {
  background-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
}

.sd-input.sd-input--preview {
  background: none;
  box-shadow: none;
  transition: none;
  border-bottom: 1px solid var(--sjs-general-forecolor, var(--foreground, #161616));
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
}

.sd-input::-moz-placeholder {
  color: var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.sd-input::placeholder {
  color: var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.sd-input.sd-input--disabled::-moz-placeholder {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  opacity: 0.25;
}

.sd-input.sd-input--disabled,
.sd-input.sd-input--disabled::placeholder {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  opacity: 0.25;
}

.sd-input.sd-input--readonly {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  box-shadow: none;
  transition: none;
}

.sd-input.sd-input--readonly::-moz-placeholder {
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sd-input.sd-input--readonly::placeholder {
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sd-root--readonly .sd-input--disabled::-moz-placeholder {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-root--readonly .sd-input--disabled,
.sd-root--readonly .sd-input--disabled::placeholder {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-input--error {
  background-color: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
}

.sd-text__content {
  position: relative;
}

.sd-text__character-counter {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sd-text__character-counter:focus-within {
  padding-inline-end: calc(8 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-text__character-counter.sd-text__character-counter--big:focus-within {
  padding-inline-end: calc(11 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-remaining-character-counter {
  display: none;
  flex-direction: row;
  justify-content: flex-end;
  align-items: flex-end;
  padding: 0px;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  font-size: var(--sjs-font-size, 16px);
  color: var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
  position: absolute;
  inset-inline-end: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  inset-block-end: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-text__content:focus-within .sd-remaining-character-counter,
.sd-comment__content:focus-within .sd-remaining-character-counter,
.sd-multipletext__content:focus-within .sd-remaining-character-counter,
.sd-matrix__question-wrapper:focus-within .sd-remaining-character-counter {
  display: flex;
}

.sd-input[type=time],
.sd-input[type=date],
.sd-input[type=datetime-local],
.sd-input[type=week],
.sd-input[type=month],
.sd-input[type=tel],
.sd-input[type=password],
.sd-input[type=url],
.sd-input[type=email],
.sd-input[type=color],
.sd-input[type=range] {
  box-sizing: content-box;
  width: calc(100% - 4 * var(--sjs-base-unit, var(--base-unit, 8px)));
  height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
}
.sd-input[type=time].sd-text__character-counter:focus-within,
.sd-input[type=date].sd-text__character-counter:focus-within,
.sd-input[type=datetime-local].sd-text__character-counter:focus-within,
.sd-input[type=week].sd-text__character-counter:focus-within,
.sd-input[type=month].sd-text__character-counter:focus-within,
.sd-input[type=tel].sd-text__character-counter:focus-within,
.sd-input[type=password].sd-text__character-counter:focus-within,
.sd-input[type=url].sd-text__character-counter:focus-within,
.sd-input[type=email].sd-text__character-counter:focus-within,
.sd-input[type=color].sd-text__character-counter:focus-within,
.sd-input[type=range].sd-text__character-counter:focus-within {
  width: calc(100% - 10 * var(--sjs-base-unit, var(--base-unit, 8px)));
}

.sd-input[type=range]::-webkit-slider-runnable-track {
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  border-radius: var(--sjs-base-unit, var(--base-unit, 8px));
  height: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  margin-top: calc(-0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-radius: 100%;
  border: 2px solid var(--sjs-primary-backcolor, var(--primary, #19b394));
  box-shadow: inset 0 0 0 2px var(--background, #fff);
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-input[type=range]::-moz-range-track {
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  border-radius: var(--sjs-base-unit, var(--base-unit, 8px));
  height: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-input[type=range]::-moz-range-thumb {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  margin-top: calc(-0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-radius: 100%;
  border: 2px solid var(--sjs-primary-backcolor, var(--primary, #19b394));
  box-shadow: inset 0 0 0 2px var(--background, #fff);
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-comment {
  display: block;
  height: auto;
  min-width: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  min-height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  max-width: 100%;
}

.sd-comment__content {
  position: relative;
}

.sd-panel {
  position: relative;
}

.sd-panel.sd-panel--as-page > .sd-panel__header.sd-panel__header {
  padding-top: 0;
  padding-bottom: calc(0.5 * var(--sd-base-vertical-padding) + var(--sjs-base-unit, var(--base-unit, 8px)));
}
.sd-panel.sd-panel--as-page > .sd-panel__header.sd-panel__header:after {
  content: none;
}
.sd-panel.sd-panel--as-page > .sd-panel__header.sd-panel__header .sd-panel__title {
  --page-title-font-size: var(--sjs-font-pagetitle-size, calc(1.5 * (var(--sjs-font-size, 16px))));
  font-family: var(--sjs-font-pagetitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-pagetitle-weight, 700);
  font-size: var(--page-title-font-size);
  color: var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)));
  position: static;
  line-height: calc(1.33 * (var(--page-title-font-size)));
  margin: 0 0 calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0px;
}
.sd-panel.sd-panel--as-page > .sd-panel__header.sd-panel__header .sd-panel__title span {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
}
.sd-panel.sd-panel--as-page > .sd-panel__header.sd-panel__header .sd-element__num {
  padding: initial;
  margin: initial;
  float: initial;
  width: initial;
}
.sd-panel.sd-panel--as-page > .sd-panel__header.sd-panel__header .sd-panel__description {
  font-family: var(--sjs-font-pagedescription-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-pagedescription-weight, 400);
  font-size: var(--sjs-font-pagedescription-size, var(--sjs-font-size, 16px));
  color: var(--sjs-font-pagedescription-color, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45)));
  position: static;
  line-height: calc(1.5 * (var(--sjs-font-pagedescription-size, var(--sjs-font-size, 16px))));
  margin: 0 0 calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
}
.sd-panel.sd-panel--as-page > .sd-panel__header.sd-panel__header .sd-panel__required-text {
  display: none;
}
.sd-panel.sd-panel--as-page > .sd-panel__errbox {
  margin: 0 0 calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
  padding: calc(0.5 * var(--sd-base-vertical-padding) + var(--sjs-base-unit, var(--base-unit, 8px))) var(--sd-base-padding);
}
.sd-panel.sd-panel--as-page > .sd-panel__content {
  padding-top: 0;
}

.sd-root--compact .sd-panel--as-page > .sd-panel__errbox {
  margin: 0 0 var(--sd-base-vertical-padding) 0;
}

.sd-row ~ .sd-row .sd-panel--as-page {
  padding-top: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-panel__required-text {
  color: var(--sjs-special-red, var(--red, #e60a3e));
}

.sd-panel__footer {
  box-sizing: border-box;
  padding-left: calc(var(--sd-base-padding) - 3 * var(--sjs-base-unit, var(--base-unit, 8px)));
  margin-left: calc(-1 * var(--sd-base-padding));
  width: calc(100% + 2 * var(--sd-base-padding));
  margin-bottom: calc(-1 * var(--sd-base-padding) + 0.5 * var(--sd-base-vertical-padding));
  margin-top: calc(0.5 * var(--sd-base-vertical-padding));
  border-top: 1px solid var(--sjs-border-light, var(--border-light, #eaeaea));
  padding-top: calc(0.5 * var(--sd-base-vertical-padding));
}

.sd-panel--as-page .sd-panel__footer {
  padding: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0 0;
  margin: 0;
  border: none;
  width: initial;
}

.sd-panel__content {
  padding-top: var(--sd-base-padding);
}

.sd-panel.sd-element--nested > .sd-panel__content {
  padding-bottom: var(--sd-base-padding);
  --animation-padding-top: var(--sd-base-padding);
}

.sd-panel__content {
  --animation-padding-top: var(--sd-base-padding);
}

.sjs_sp_placeholder {
  color: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  width: 100%;
  height: 100%;
}

.sjs_sp_container {
  position: relative;
  max-width: 100%;
  border: 1px dashed var(--sjs-border-default, var(--border, #d6d6d6));
  box-sizing: content-box;
}
.sjs_sp_container > div > canvas:focus {
  outline: none;
}

.sd-question--readonly .sjs_sp_container,
.sd-question--preview .sjs_sp_container {
  border: none;
}
.sd-question--readonly .sjs_sp_placeholder,
.sd-question--preview .sjs_sp_placeholder {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sjs_sp_controls {
  position: absolute;
  left: 0;
  bottom: 0;
}
.sjs_sp_controls > button {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.sjs_sp_controls.sd-signaturepad__controls {
  right: var(--sjs-base-unit, var(--base-unit, 8px));
  top: var(--sjs-base-unit, var(--base-unit, 8px));
  left: auto;
  bottom: auto;
}

.sd-question--signature.sd-question--error .sjs_sp_placeholder {
  background-color: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
}

.sd-signaturepad__background-image {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.sd-signaturepad__loading-indicator {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.sd-signaturepad__loading-indicator .sd-loading-indicator {
  position: absolute;
  right: var(--sjs-base-unit, var(--base-unit, 8px));
  top: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sjs_sp_canvas {
  position: relative;
  max-width: 100%;
  display: block;
}

.sjs_sp__background-image {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 100%;
  width: 100%;
  height: 100%;
}

.sd-checkbox__decorator {
  border-radius: calc(0.5 * (var(--sjs-corner-radius, 4px)));
}

.sd-checkbox__svg {
  display: block;
  width: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-checkbox__svg use {
  fill: transparent;
  transition: fill var(--sjs-transition-duration, 150ms);
}

.sd-checkbox--checked .sd-checkbox__svg use {
  fill: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
}

.sd-checkbox--checked.sd-checkbox--disabled .sd-checkbox__svg use {
  fill: var(--sjs-border-default, var(--border, #d6d6d6));
}

.sd-checkbox--checked .sd-checkbox__control:focus + .sd-checkbox__decorator .sd-checkbox__svg use {
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-checkbox--checked.sd-checkbox--readonly .sd-checkbox__svg use {
  fill: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-checkbox--checked.sd-checkbox--preview .sd-checkbox__svg use {
  fill: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-matrixdynamic__btn.sd-matrixdynamic__add-btn {
  position: sticky;
  left: calc(-3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-left: calc(-3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  z-index: 12;
}

.sd-question--mobile .sd-matrixdynamic__footer::before {
  content: " ";
  display: block;
  position: relative;
  height: 1px;
  background-color: var(--sjs-border-light, var(--border-light, #eaeaea));
  left: calc(-3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  top: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(100% + 6 * var(--sjs-base-unit, var(--base-unit, 8px)));
  z-index: 12;
}

.sd-matrixdynamic__footer:first-child {
  padding-bottom: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-matrixdynamic__footer:first-child::before {
  display: none;
}

.sd-matrixdynamic__footer {
  padding-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-action.sd-matrixdynamic__remove-btn {
  opacity: 0.5;
}

.sd-action.sd-matrixdynamic__remove-btn .sd-action__icon {
  width: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
}

.sd-matrixdynamic__btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  font-size: var(--sjs-font-size, 16px);
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: 600;
  padding: var(--sjs-base-unit, var(--base-unit, 8px)) 0;
}

.sd-matrixdynamic__drag-element {
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-matrixdynamic__drag-element:hover {
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
}
.sd-matrixdynamic__drag-element:after {
  content: " ";
  display: block;
  height: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border: 1px solid var(--sjs-border-default, var(--border, #d6d6d6));
  box-sizing: border-box;
  border-radius: calc(1.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-matrixdynamic__placeholder .sd-matrixdynamic__add-btn {
  margin-left: 0;
}

.sd-table__row:hover .sd-drag-element__svg {
  visibility: visible;
}

.sd-table__cell.sd-table__cell--drag > div {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-left: calc(-4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  background-color: var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));
  min-height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-drag-element__svg {
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: block;
  cursor: pointer;
  visibility: hidden;
}
.sd-drag-element__svg use {
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

@keyframes borderAnimation {
  from {
    border-width: 0px;
  }
  to {
    border-width: 8px;
  }
}
@keyframes paddingAnimation {
  from {
    padding-top: 0;
    padding-bottom: 0;
  }
  to {
    padding-top: 24px;
    padding-bottom: 32px;
  }
}
@keyframes empty {}
.sd-table__row--leave,
.sd-table__row--enter {
  animation-name: empty;
  --move-whole-animation-duration: calc(var(--move-animation-duration) + var(--move-animation-delay));
  --fade-whole-animation-duration: calc(var(--fade-animation-duration) + var(--fade-animation-delay));
  animation-duration: max(var(--fade-whole-animation-duration), var(--move-whole-animation-duration));
}
.sd-table__row--leave > td,
.sd-table__row--enter > td {
  animation-name: borderAnimation;
  animation-direction: var(--animation-direction);
  animation-timing-function: var(--animation-timing-function);
  animation-duration: var(--move-animation-duration);
  animation-fill-mode: forwards;
  animation-delay: var(--move-animation-delay);
}
.sd-table__row--leave > td > div,
.sd-table__row--enter > td > div {
  animation-name: fadeIn, moveInWithOverflow;
  opacity: 0;
  animation-direction: var(--animation-direction);
  animation-timing-function: var(--animation-timing-function);
  animation-fill-mode: forwards;
  animation-duration: var(--fade-animation-duration), var(--move-animation-duration);
  animation-delay: var(--fade-animation-delay), var(--move-animation-delay);
}

.sd-table__row--enter {
  --move-animation-delay: 0s;
  --move-animation-duration: var(--sjs-matrix-row-move-in-duration, 150ms);
  --fade-animation-duration: var(--sjs-matrix-row-fade-in-duration, 250ms);
  --fade-animation-delay: var(--sjs-matrix-row-fade-in-delay, 150ms);
  --animation-direction: normal;
  --animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
}

.sd-table__row--leave {
  --move-animation-delay: var(--sjs-matrix-row-move-out-delay, 100ms);
  --move-animation-duration: var(--sjs-matrix-row-move-out-duration, 250ms);
  --fade-animation-duration: var(--sjs-matrix-row-fade-out-duration, 100ms);
  --fade-animation-delay: 0s;
  --animation-direction: reverse;
  --animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
}

.sd-table__row--detail.sd-table__row--enter > td, .sd-table__row--detail.sd-table__row--leave > td {
  animation-name: borderAnimation, paddingAnimation;
  animation-duration: var(--move-animation-duration);
  animation-fill-mode: forwards;
  animation-direction: var(--animation-direction);
  animation-timing-function: var(--animation-timing-function);
}
.sd-table__row--detail.sd-table__row--enter {
  --move-animation-delay: 0s;
  --move-animation-duration: var(--sjs-matrix-detail-row-move-in-duration, 150ms);
  --fade-animation-duration: var(--sjs-matrix-detail-row-fade-in-duration, 500ms);
  --fade-animation-delay: var(--sjs-matrix-detail-row-fade-in-delay, 150ms);
  --animation-direction: normal;
  --animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
}
.sd-table__row--detail.sd-table__row--leave {
  --move-animation-delay: var(--sjs-matrix-detail-row-move-out-delay, 100ms);
  --move-animation-duration: var(--sjs-matrix-detail-row-move-out-duration, 250ms);
  --fade-animation-duration: var(--sjs-matrix-detail-row-fade-out-duration, 150ms);
  --fade-animation-delay: 0s;
  --animation-direction: reverse;
  --animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
}

.sd-table {
  width: 100%;
  background: var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));
  border-collapse: separate;
  border-spacing: 0;
  white-space: normal;
}
.sd-table > thead > tr > th {
  border-top: 0;
  border-bottom: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid transparent;
}

.sd-table__cell {
  border-top: var(--sjs-base-unit, var(--base-unit, 8px)) solid transparent;
  border-bottom: var(--sjs-base-unit, var(--base-unit, 8px)) solid transparent;
  border-left: none;
  border-right: none;
  background-clip: padding-box;
  box-sizing: content-box;
}

.sd-table.sd-table--columnsautowidth .sd-table__cell:not(.sd-table__cell--actions):not(.sd-table__cell--action):not(.sd-table__cell--empty.sd-table__cell--error) {
  width: 10000px;
}

.sd-table__row:first-of-type > .sd-table__cell {
  border-top: 0;
}

.sd-table__row:last-of-type > .sd-table__cell {
  border-bottom: 0;
}

.sd-table--align-top .sd-table__cell {
  vertical-align: top;
}

.sd-table--no-header {
  padding-top: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-panel:not(.sd-panel--as-page) > .sd-panel__content .sd-table--no-header {
  padding-top: 0;
}
.sd-panel:not(.sd-panel--as-page) > .sd-panel__content .sd-question--table .sd-question__content {
  padding-bottom: calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-bottom: calc(-0.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-top: var(--sjs-base-unit, var(--base-unit, 8px));
  margin-top: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-panel:not(.sd-panel--as-page) > .sd-panel__content .sd-question--table > .sd-question__header ~ .sd-question__content {
  padding-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  --animation-padding-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-panel:not(.sd-panel--as-page) > .sd-panel__content .sd-question--table > .sd-question__header ~ .sd-question__content .sd-table--no-header {
  padding-top: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-panel:not(.sd-panel--as-page) > .sd-panel__content .sd-question--table > .sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header) {
  margin-top: calc(-3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-panel:not(.sd-panel--as-page) > .sd-panel__content .sd-question--table.sd-question--error-top > .sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header) {
  margin-top: 0;
}
.sd-panel:not(.sd-panel--as-page) > .sd-panel__content > .sd-row:not(:first-of-type) .sd-question--table > .sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header) {
  margin-top: calc(-2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-panel:not(.sd-panel--as-page) > .sd-panel__content > .sd-row:not(:first-of-type) .sd-question--table.sd-question--error-top > .sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header) {
  margin-top: calc(0 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-panel:not(.sd-panel--as-page) > .sd-panel__content .sd-question--table > .sd-question__header ~ .sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header) {
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-panel:not(.sd-panel--as-page) > .sd-panel__content > .sd-row:not(:first-of-type) .sd-question--table > .sd-question__header ~ .sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header) {
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows {
  margin-left: var(--sjs-base-unit, var(--base-unit, 8px));
  margin-right: var(--sjs-base-unit, var(--base-unit, 8px));
  width: calc(100% - 2 * var(--sjs-base-unit, var(--base-unit, 8px)));
}
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__cell:not(.sd-table__cell--header):first-of-type {
  padding-left: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__cell:last-of-type {
  padding-right: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:first-of-type > .sd-table__cell {
  border-top: var(--sjs-base-unit, var(--base-unit, 8px)) solid transparent;
}
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:last-of-type > .sd-table__cell {
  border-bottom: var(--sjs-base-unit, var(--base-unit, 8px)) solid transparent;
}
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) > td.sd-table__cell:not(.sd-table__cell--actions),
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type {
  border-top-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
  border-bottom-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
  background-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
}
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) > td.sd-table__cell:not(.sd-table__cell--actions).sd-matrix__text--checked,
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type.sd-matrix__text--checked {
  background-color: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
}
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) > td.sd-table__cell:not(.sd-table__cell--actions) .sd-input,
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-input {
  background-color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
}
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) > td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error) .sd-item__decorator,
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error) .sd-item__decorator {
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
}
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) > td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error).sd-item--checked .sd-item__decorator,
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error).sd-item--checked .sd-item__decorator {
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) > td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error).sd-item--checked .sd-item__control:focus + .sd-item__decorator,
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error).sd-item--checked .sd-item__control:focus + .sd-item__decorator {
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
}
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) > td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error).sd-item--readonly.sd-item--checked .sd-item__decorator,
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error).sd-item--readonly.sd-item--checked .sd-item__decorator {
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
}
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) > td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error).sd-item--preview.sd-item--preview .sd-item__decorator,
.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error).sd-item--preview.sd-item--preview .sd-item__decorator {
  background-color: transparent;
}

.sd-table__cell {
  font-weight: normal;
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  padding: 0 var(--sjs-base-unit, var(--base-unit, 8px));
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  text-align: center;
}
.sd-table__cell:not(.sd-table__cell--empty):not(.sd-table__cell--actions):not(:empty) {
  min-width: calc(15 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-table__cell .sd-item {
  text-align: initial;
}

.sd-table__cell--error {
  border: none;
  padding: 0 var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-table__cell--error .sd-question__erbox {
  margin: 0;
}

.sd-table__cell--error-top {
  vertical-align: bottom;
  padding-top: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-table__cell--error-bottom {
  vertical-align: top;
  padding-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-table__cell--item .sd-selectbase__item {
  text-align: center;
  justify-content: center;
}
.sd-table__cell--item .sd-selectbase__label {
  justify-content: center;
}

.sd-question--disabled .sd-table__cell {
  opacity: 0.25;
}

.sd-root--readonly .sd-question--disabled .sd-table__cell {
  opacity: 1;
}

.sd-table__cell--header .sv-vue-title-additional-div,
.sd-table__cell--header {
  font-size: 0;
  line-height: 0;
}

.sd-table__cell--header span {
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  font-weight: var(--sjs-font-questiontitle-weight, 600);
}

.sd-table__cell--header {
  font-weight: 600;
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  vertical-align: top;
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-table__cell--header:not(.sd-table__cell--empty) {
  min-width: calc(15 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-matrixdropdown .sd-table__cell--header.sd-table__cell--empty {
  min-width: calc(15 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-matrixdropdown .sd-table__cell--header.sd-table__cell--action {
  min-width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-matrixdropdown .sd-table__cell--header:not(.sd-table__cell--empty) {
  min-width: calc(15 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-matrixdropdown .sd-table__cell--header:not(.sd-table__cell--empty).sd-table__cell--dropdown, .sd-matrixdropdown .sd-table__cell--header:not(.sd-table__cell--empty).sd-table__cell--rating {
  min-width: calc(22 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-matrixdropdown .sd-table__cell--header:not(.sd-table__cell--empty).sd-table__cell--boolean {
  min-width: calc(18 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-table__cell--footer {
  text-align: end;
  padding-top: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-table__cell--footer-total {
  font-weight: 600;
  text-align: start;
}

.sd-table__cell--detail-panel {
  border-top: var(--sjs-base-unit, var(--base-unit, 8px)) solid transparent;
  padding: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px)))) var(--sjs-base-unit, var(--base-unit, 8px)) calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-bottom: var(--sjs-base-unit, var(--base-unit, 8px)) solid transparent;
}

.sd-table__cell--actions .sv-action-bar,
.sd-matrixdynamic__add-btn .sv-action-bar {
  overflow: visible;
}

.sd-table__cell--actions:not(.sd-table__cell--vertical) {
  width: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-table__cell--actions:not(.sd-table__cell--vertical):not(.sd-table__cell--drag):first-of-type {
  padding-left: 0;
  width: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  min-width: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-table__cell--detail-button {
  border: none;
  background: transparent;
  border-radius: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding: var(--sjs-base-unit, var(--base-unit, 8px));
  transition: background var(--sjs-transition-duration, 150ms);
}
.sd-table__cell--detail-button svg {
  display: block;
  width: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  height: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  fill: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
  transition: fill var(--sjs-transition-duration, 150ms);
}
.sd-table__cell--detail-button:hover, .sd-table__cell--detail-button:focus {
  background: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
  outline: none;
}
.sd-table__cell--detail-button:hover svg, .sd-table__cell--detail-button:focus svg {
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-table__cell--actions {
  white-space: nowrap;
}
.sd-table__cell--actions.sd-table__cell--vertical .sd-action-bar {
  justify-content: center;
}

.sd-table__cell--row-text {
  font-weight: var(--sjs-font-questiontitle-weight, 600);
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  text-align: start;
  min-width: calc(12 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-matrix__question-wrapper {
  position: relative;
}

.sd-table__question-wrapper:not(:focus-within):hover {
  position: relative;
}

.sd-table__cell--actions:not(.sd-table__cell--vertical),
.sd-table__cell--empty,
.sd-table__cell--row-text,
.sd-table__cell--footer-total,
.sd-matrix__cell:first-of-type,
.sd-matrix tr > td:first-of-type {
  position: sticky;
  background-color: var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));
  z-index: 12;
}
.sd-table__cell--actions:not(.sd-table__cell--vertical):first-of-type,
.sd-table__cell--empty:first-of-type,
.sd-table__cell--row-text:first-of-type,
.sd-table__cell--footer-total:first-of-type,
.sd-matrix__cell:first-of-type:first-of-type,
.sd-matrix tr > td:first-of-type:first-of-type {
  left: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-table__cell--actions:not(.sd-table__cell--vertical):last-of-type,
.sd-table__cell--empty:last-of-type,
.sd-table__cell--row-text:last-of-type,
.sd-table__cell--footer-total:last-of-type,
.sd-matrix__cell:first-of-type:last-of-type,
.sd-matrix tr > td:first-of-type:last-of-type {
  right: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-table__cell--actions:not(.sd-table__cell--vertical):last-child .sd-action-bar {
  margin-right: calc(-3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  justify-content: flex-end;
  background: var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));
}

.sd-question.sd-question--table {
  position: relative;
  overflow-x: auto;
}

.sd-question--table.sd-element--collapsed,
.sd-question--table.sd-element--nested {
  overflow-x: visible;
}

.sd-question--table .sd-question__header--location--left {
  z-index: 12;
}

.sd-table-wrapper {
  display: flex;
  margin: 0 calc(-1 * var(--sd-base-padding));
  width: -moz-fit-content;
  width: fit-content;
  min-width: calc(100% + 2 * var(--sd-base-padding));
}
.sd-table-wrapper:before, .sd-table-wrapper:after {
  content: "";
  display: block;
  position: sticky;
  min-height: 100%;
  width: calc(var(--sd-base-padding) - var(--sjs-base-unit, var(--base-unit, 8px)));
  flex-shrink: 0;
  background: var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));
  z-index: 11;
}
.sd-table-wrapper::before {
  left: calc(-1 * var(--sd-base-padding));
}
.sd-table-wrapper:after {
  right: calc(-1 * var(--sd-base-padding));
}
.sd-table-wrapper > * {
  flex-basis: 100%;
}

.sd-element--with-frame.sd-element--compact .sd-table {
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
}
.sd-element--with-frame.sd-element--compact .sd-table-wrapper:before, .sd-element--with-frame.sd-element--compact .sd-table-wrapper:after {
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
}
.sd-element--with-frame.sd-element--compact .sd-table__cell--actions:not(.sd-table__cell--vertical):last-child .sd-action-bar {
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
}
.sd-element--with-frame.sd-element--compact .sd-table__cell--actions:not(.sd-table__cell--vertical),
.sd-element--with-frame.sd-element--compact .sd-table__cell--empty,
.sd-element--with-frame.sd-element--compact .sd-table__cell--row-text,
.sd-element--with-frame.sd-element--compact .sd-table__cell--footer-total,
.sd-element--with-frame.sd-element--compact .sd-matrix__cell:first-of-type,
.sd-element--with-frame.sd-element--compact .sd-matrix tr > td:first-of-type {
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
}

.sd-question--table > .sd-question__header,
.sd-question--table .sd-question__description--under-input .sv-string-viewer {
  position: sticky;
  left: 0;
}
.sd-question--table > .sd-question__content {
  padding-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  --animation-padding-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  min-width: -moz-min-content;
  min-width: min-content;
}
.sd-question--table.sd-element--nested > .sd-question__content {
  min-width: auto;
  overflow-x: auto;
}
.sd-question--table.sd-element--nested > .sd-question__content, .sd-question--table:not(.sd-element--with-frame):not(.sd-element--nested) {
  padding-right: var(--sd-base-padding);
  margin-right: calc(-1 * var(--sd-base-padding));
  padding-left: var(--sd-base-padding);
  margin-left: calc(-1 * var(--sd-base-padding));
  box-sizing: content-box;
}

.sd-row--multiple .sd-question--table.sd-element--nested > .sd-question__content {
  padding-right: calc(var(--sd-base-padding) + 2px);
}

.sd-question--scroll {
  overflow-x: scroll;
}

.sd-table__row-disabled > .sd-table__cell {
  opacity: 0.25;
}

.sd-question--mobile.sd-question.sd-question--table > .sd-question__content {
  padding-top: 0;
  --animation-padding-top: 0;
}
.sd-question--mobile.sd-question--table, .sd-question--mobile.sd-question--scroll {
  overflow-x: visible;
}
.sd-question--mobile > .sd-question__content {
  min-width: auto;
}
.sd-question--mobile .sd-table-wrapper {
  width: auto;
}
.sd-question--mobile .sd-table {
  display: block;
  width: calc(100% - 2 * var(--sd-base-padding) + 2 * var(--sjs-base-unit, var(--base-unit, 8px)));
}
.sd-question--mobile .sd-table > tbody {
  display: block;
}
.sd-question--mobile .sd-table > tfoot {
  display: block;
}
.sd-question--mobile .sd-table__cell.sd-matrix__cell {
  display: flex;
  align-items: flex-start;
  border-top: none;
  border-bottom: none;
}
.sd-question--mobile .sd-table__cell.sd-matrix__cell .sd-matrix__responsive-title {
  margin-left: var(--sjs-base-unit, var(--base-unit, 8px));
  text-align: start;
}
.sd-question--mobile .sd-table__cell.sd-matrix__cell:first-of-type {
  padding-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-question--mobile .sd-table thead {
  display: none;
}
.sd-question--mobile .sd-table tr {
  display: flex;
  flex-direction: column;
}
.sd-question--mobile .sd-matrix__table .sd-table__row {
  padding-top: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-question--mobile .sd-table__row {
  padding-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-table__row--expanded .sd-table__cell-action--show-detail-mobile {
  display: none;
}
.sd-question--mobile .sd-table:not(.sd-matrix__table) .sd-table__row {
  padding-bottom: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-table:not(.sd-matrix__table) .sd-table__row.sd-table__row--has-end-actions {
  padding-bottom: calc(0 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--has-end-actions) {
  padding-bottom: calc(0 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--has-end-actions):not(:last-of-type) {
  padding-bottom: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--has-end-actions):not(:last-of-type)::after {
  bottom: calc(-3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-table:not(.sd-matrix__table) tfoot tr::before,
.sd-question--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--expanded)::after {
  content: " ";
  display: block;
  position: relative;
  height: 1px;
  background-color: var(--sjs-border-light, var(--border-light, #eaeaea));
  left: calc(-2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(100% + 4 * var(--sjs-base-unit, var(--base-unit, 8px)));
  z-index: 12;
}
.sd-question--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--expanded)::after {
  bottom: 0;
}
.sd-question--mobile .sd-table:not(.sd-matrix__table) tr:last-of-type::after {
  display: none;
}
.sd-question--mobile .sd-table:not(.sd-matrix__table) tfoot tr {
  padding-top: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-table:not(.sd-matrix__table) tfoot tr::before {
  background-color: transparent;
}
.sd-question--mobile .sd-table:not(.sd-table--has-footer) .sd-table__row:last-of-type .sd-table__cell-action--show-detail-mobile,
.sd-question--mobile .sd-table:not(.sd-table--has-footer) .sd-table__row:last-of-type .sd-table__cell-action--remove-row {
  margin-bottom: calc(-2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-matrix__label {
  justify-content: flex-start;
}
.sd-question--mobile .sd-table__cell {
  border-top: none;
  border-bottom: none;
  display: block;
  padding-top: 0;
  padding-bottom: 0;
  text-align: start;
  margin-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-table__cell--error {
  margin-top: calc(0 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-table__cell--error.sd-table__cell--error-bottom .sd-question__erbox {
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-question--mobile .sd-table__cell:first-of-type,
.sd-question--mobile .sd-matrix__cell {
  margin-top: 0;
}
.sd-question--mobile .sd-table__cell--footer:not(.sd-question--answered) {
  display: none;
}
.sd-question--mobile .sd-table__responsive-title {
  padding-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
  font-weight: 600;
  display: block;
  text-align: start;
}
.sd-question--mobile .sd-table__responsive-title .sv-string-viewer {
  white-space: normal;
}
.sd-question--mobile .sd-table--no-header {
  padding-top: 0;
}
.sd-question--mobile .sd-table--no-header .sd-table__responsive-title {
  display: none;
}
.sd-question--mobile .sd-table__cell--detail-panel {
  padding-top: 0;
  padding-bottom: 0;
  border-top: 0;
  border-bottom: 0;
}
.sd-question--mobile .sd-table__cell--detail-panel .sd-panel__content {
  padding-top: 0;
}
.sd-question--mobile .sd-table__cell.sd-table__cell--actions {
  width: auto;
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
  margin-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-question--mobile .sd-table__cell.sd-table__cell--actions .sd-action-bar {
  margin-right: calc(-3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-left: calc(-3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  background: var(--sjs-general-backcolor, var(--background, #fff));
}
.sd-question--mobile .sd-table__cell.sd-table__cell--actions #show-detail-mobile {
  flex-grow: 1;
}
.sd-question--mobile .sd-action.sd-action.sd-matrixdynamic__remove-btn {
  opacity: 1;
  padding: var(--sjs-base-unit, var(--base-unit, 8px)) calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-action.sd-action.sd-matrixdynamic__remove-btn .sd-action__icon {
  display: none;
}
.sd-question--mobile .sd-action.sd-action.sd-matrixdynamic__remove-btn:after {
  content: attr(title);
}
.sd-question--mobile .sd-matrixdynamic__footer {
  padding-top: var(--sjs-base-unit, var(--base-unit, 8px));
  margin-bottom: calc(-2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-table__cell--footer-total:not(.sd-matrix__cell),
.sd-question--mobile .sd-table__cell--row-text:not(.sd-matrix__cell) {
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}
.sd-question--mobile .sd-matrixdropdown.sd-table tr::after {
  bottom: calc(-2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-matrixdropdown.sd-table tr:last-child:after {
  content: none;
}
.sd-question--mobile .sd-table__cell.sd-table__cell--error-top {
  margin-top: 0;
}
.sd-question--mobile .sd-table__cell--error-top:first-of-type ~ .sd-table__cell:nth-of-type(2) {
  margin-top: 0;
}
.sd-question--mobile .sd-table__cell--error-top .sd-question__erbox {
  margin-top: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-bottom: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-question--mobile .sd-table__cell--error-top:first-of-type .sd-question__erbox {
  margin-top: calc(0 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-question--mobile .sd-table__question-wrapper .sd-boolean-root {
  margin: initial;
}

.sd-table__cell--detail-panel .sd-panel__content {
  padding-top: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-table__question-wrapper .sd-boolean-root {
  margin: auto;
}

.sd-table__cell--footer .sd-table__question-wrapper--expression .sd-expression {
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-bottom: 1px solid var(--sjs-border-light, var(--border-light, #eaeaea));
  font-size: var(--sjs-font-size, 16px);
  font-weight: 600;
  line-height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-table__cell--footer .sd-table__question-wrapper--left {
  text-align: start;
}
.sd-table__cell--footer .sd-table__question-wrapper--center {
  text-align: center;
}
.sd-table__cell--footer .sd-table__question-wrapper--right {
  text-align: end;
}

.sd-table.sd-matrixdynamic {
  table-layout: auto;
}

.sd-page {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0 calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: 100%;
  box-sizing: border-box;
}

.sd-root-modern--mobile .sd-page {
  padding: 0;
}

.sd-page .sd-page__title {
  --page-title-font-size: var(--sjs-font-pagetitle-size, calc(1.5 * (var(--sjs-font-size, 16px))));
  font-family: var(--sjs-font-pagetitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-pagetitle-weight, 700);
  font-size: var(--page-title-font-size);
  color: var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)));
  position: static;
  line-height: calc(1.33 * (var(--page-title-font-size)));
  margin: 0 0 calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0px;
}

.sd-page .sd-page__description {
  font-family: var(--sjs-font-pagedescription-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-pagedescription-weight, 400);
  font-size: var(--sjs-font-pagedescription-size, var(--sjs-font-size, 16px));
  color: var(--sjs-font-pagedescription-color, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45)));
  position: static;
  line-height: calc(1.5 * (var(--sjs-font-pagedescription-size, var(--sjs-font-size, 16px))));
  margin: 0 0 calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
}

.sd-page__errbox {
  padding: calc(0.5 * var(--sd-base-vertical-padding) + var(--sjs-base-unit, var(--base-unit, 8px))) var(--sd-base-padding);
}

.sd-page__title ~ .sd-page__errbox,
.sd-page__description ~ .sd-page__errbox {
  margin-top: calc(0.5 * var(--sd-base-vertical-padding) + var(--sjs-base-unit, var(--base-unit, 8px)));
  margin-bottom: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-root--compact .sd-page__title ~ .sd-page__errbox,
.sd-root--compact .sd-page__description ~ .sd-page__errbox {
  margin-bottom: 0;
}

.sd-row {
  display: flex;
  flex-direction: row;
  width: 100%;
  box-sizing: border-box;
  margin-top: var(--sd-base-vertical-padding);
}

.sd-row.sd-page__row {
  margin-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-page__row.sd-row--compact {
  margin-top: var(--sd-base-vertical-padding);
}

.sd-row:first-of-type {
  margin-top: 0;
}

.sd-page__title ~ .sd-row.sd-page__row:not(.sd-row--compact),
.sd-page__description ~ .sd-row.sd-page__row:not(.sd-row--compact) {
  margin-top: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-page__title ~ .sd-page__row.sd-row--compact,
.sd-page__description ~ .sd-page__row.sd-row--compact {
  margin-top: var(--sd-base-vertical-padding);
}
.sd-page__title ~ .sd-page__row.sd-row.sd-row--enter.sd-row-delayed-enter,
.sd-page__description ~ .sd-page__row.sd-row.sd-row--enter.sd-row-delayed-enter {
  margin-top: 0;
}

.sd-row.sd-page__row:not(.sd-row--compact) ~ .sd-row.sd-page__row:not(.sd-row--compact) {
  margin-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-row.sd-page__row:not(.sd-row--compact) ~ .sd-page__row.sd-row.sd-row--enter.sd-row-delayed-enter {
  margin-top: 0;
}

.sd-row--multiple {
  row-gap: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-left: calc(-1 * var(--sd-base-padding));
  width: calc(100% + var(--sd-base-padding));
  flex-wrap: wrap;
}
.sd-row--multiple > div {
  box-sizing: border-box;
  --animation-padding-left: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-left: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: flex;
  align-items: stretch;
}

.sd-panel.sd-panel--as-page > .sd-panel__content > .sd-row--multiple:not(.sd-row--compact) {
  margin-left: calc(-2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(100% + var(--base-unit) * 2);
}

.sd-panel:not(.sd-panel--as-page) .sd-row--multiple {
  row-gap: var(--sd-base-vertical-padding);
}
.sd-panel:not(.sd-panel--as-page) .sd-row--multiple > div {
  --animation-padding-left: var(--sd-base-padding);
  padding-left: var(--sd-base-padding);
}

.sd-row--multiple.sd-row--compact > div {
  --animation-padding-left: var(--sd-base-padding);
  padding-left: var(--sd-base-padding);
}

.sd-page__row.sd-row--multiple {
  margin-left: calc(-2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(100% + 2 * var(--sjs-base-unit, var(--base-unit, 8px)));
}
.sd-page__row.sd-row--multiple.sd-row--compact {
  padding: 0;
  row-gap: var(--sd-base-vertical-padding);
  margin-left: calc(-1 * var(--sd-base-padding));
  width: calc(100% + var(--sd-base-padding));
}

.sd-row__panel {
  box-sizing: border-box;
  width: 100%;
}

.sd-row__question {
  box-sizing: border-box;
  width: 100%;
  white-space: nowrap;
}

.sd-row.sd-row--enter {
  margin-top: 0;
}

.sd-row--enter {
  animation-fill-mode: forwards;
  animation-name: fadeIn, moveInWithOverflow;
  min-height: 0 !important;
  opacity: 0;
  height: 0;
  animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
  animation-delay: var(--sjs-row-fade-in-delay, 150ms), 0s, 0s;
  animation-duration: var(--sjs-row-fade-in-duration, 500ms), var(--sjs-row-move-in-duration, 150ms), var(--sjs-row-move-in-duration, 150ms);
}

.sd-row--delayed-enter {
  animation-delay: calc(var(--sjs-row-fade-in-delay, 150ms) + var(--sjs-row-fade-in-animation-delay, 400ms)), var(--sjs-row-fade-in-animation-delay, 400ms), var(--sjs-row-fade-in-animation-delay, 400ms);
}

.sd-row--leave {
  animation-name: fadeIn, moveInWithOverflow;
  animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
  animation-fill-mode: forwards;
  animation-direction: reverse;
  min-height: 0 !important;
  animation-delay: 0s, var(--sjs-row-move-out-delay, 100ms), var(--sjs-row-move-out-delay, 100ms);
  animation-duration: var(--sjs-row-fade-out-duration, 150ms), var(--sjs-row-move-out-duration, 250ms), var(--sjs-row-move-out-duration, 250ms);
}

.sd-row--enter .sd-element-wrapper--enter {
  animation: none;
}

.sd-row--leave .sd-element-wrapper--leave {
  animation: none;
}

.sd-title {
  display: block;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-style: normal;
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  flex-direction: row;
  white-space: normal;
}

.sd-title.sd-container-modern__title {
  display: flex;
  align-items: center;
  padding: var(--sd-page-vertical-padding) var(--sd-page-vertical-padding);
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  gap: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-shadow: 0px 2px 0px var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-title.sd-container-modern__title .sd-logo.sv-logo--right {
  margin-left: auto;
}
.sd-title.sd-container-modern__title .sd-logo__image {
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-header__text {
  display: flex;
  flex-direction: column;
  gap: var(--sjs-base-unit, var(--base-unit, 8px));
  flex-grow: 1;
}
.sd-header__text .sd-title {
  --survey-title-font-size: var(--sjs-font-surveytitle-size, calc(2 * (var(--sjs-font-size, 16px))));
  font-size: var(--survey-title-font-size);
  line-height: calc(1.25 * (var(--survey-title-font-size)));
  color: var(--sjs-font-surveytitle-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));
  font-family: var(--sjs-font-surveytitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-surveytitle-weight, 700);
}
.sd-header__text h3 {
  line-height: calc(2.5 * (var(--sjs-font-size, 16px)));
}
.sd-header__text h5 {
  font-size: var(--sjs-font-size, 16px);
  font-weight: 400;
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
}
.sd-header__text .sd-description {
  --survey-description-font-size: var(--sjs-font-surveydescription-size, var(--sjs-font-size, 16px));
  font-size: var(--survey-description-font-size);
  line-height: calc(1.5 * (var(--survey-description-font-size)));
  color: var(--sjs-font-surveydescription-color, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
  font-family: var(--sjs-font-surveydescription-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-surveydescription-weight, 400);
}

.sd-title .sv-title-actions {
  width: 100%;
  justify-content: space-between;
}

.sd-root-modern .sd-container-modern__title {
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
}

.sd-root-modern .sd-container-modern__title .sd-header__text h3 {
  margin: 0;
}
.sd-root-modern .sd-container-modern__title .sd-description {
  margin: 0;
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sd-title .sv-title-actions {
  align-items: flex-start;
  width: calc(100% + 3 * var(--sjs-base-unit, var(--base-unit, 8px)));
}
.sd-title .sv-title-actions .sv-title-actions__title {
  flex-wrap: wrap;
  flex: 0 1 auto;
  max-width: calc(100% - 3 * var(--sjs-base-unit, var(--base-unit, 8px)));
  white-space: initial;
  min-width: unset;
}

.sd-root--compact .sd-title .sv-title-actions {
  width: 100%;
}

.sd-action-title-bar {
  flex: 1 9 auto;
  min-width: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  justify-content: flex-end;
  margin: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
}
.sd-action-title-bar .sv-action {
  flex: 0 0 auto;
}

.sd-action-title-bar.sd-action-bar--empty {
  min-width: 0;
}

.sd-description {
  font-style: normal;
  font-family: var(--sjs-font-questiondescription-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-questiondescription-weight, 400);
  color: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
  font-size: var(--sjs-font-questiondescription-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-questiondescription-size, var(--sjs-font-size, 16px))));
  white-space: normal;
}

.sd-description.sd-question__description--under-input {
  padding-top: calc(0.375 * var(--sd-base-vertical-padding));
}

.sd-element__header .sd-description {
  margin-top: calc(0.25 * var(--sd-base-vertical-padding) - 0.5 * var(--sjs-base-unit, var(--base-unit, 8px)));
}

.sd-item {
  display: flex;
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
}

.sd-item--disabled.sd-item--disabled .sd-item__decorator,
.sd-item__decorator {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: border-box;
  background-color: var(--sjs-editorpanel-backcolor, var(--sjs-editor-background, var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))));
  border: none;
  flex-shrink: 0;
  margin-top: calc((1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))) - 3 * (var(--sjs-base-unit, var(--base-unit, 8px)))) / 2);
  box-shadow: var(--sjs-shadow-inner, inset 0px 1px 2px 0px rgba(0, 0, 0, 0.15)), 0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));
  transition: box-shadow var(--sjs-transition-duration, 150ms), background var(--sjs-transition-duration, 150ms);
}

.sd-item--readonly.sd-item--readonly .sd-item__decorator {
  background-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
  box-shadow: none;
  transition: none;
}

.sd-item--preview.sd-item--preview .sd-item__decorator {
  background-color: transparent;
  box-shadow: none;
  transition: none;
}

.sd-item--checked .sd-item__decorator {
  box-shadow: none;
}

.sd-item__control:focus + .sd-item__decorator {
  background: var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));
  outline: none;
  box-shadow: var(--sjs-shadow-inner-reset, inset 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-item--allowhover:not(.sd-item--readonly) .sd-selectbase__label:hover .sd-item__decorator {
  background: var(--sjs-editorpanel-hovercolor, var(--sjs-general-backcolor-dim-dark, rgb(243, 243, 243)));
  outline: none;
}

.sd-item--checked .sd-item__decorator {
  background: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-item__control-label {
  font-family: var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-style: normal;
  font-weight: var(--sjs-font-editorfont-weight, 400);
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  white-space: normal;
  width: 100%;
  text-align: start;
  min-width: 0;
}
.sd-item__control-label .sv-string-viewer {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.sd-item--disabled .sd-item__control-label {
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  opacity: 0.25;
}

.sd-root--readonly .sd-item--disabled .sd-item__control-label {
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
}

.sd-item--error .sd-item__decorator {
  background: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
}

.sd-selectbase {
  border: none;
  margin: 0;
  padding: 0;
  min-inline-size: 0;
  min-width: 0;
}

.sd-selectbase--row {
  border: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
       column-gap: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-selectbase--multi-column {
  display: flex;
  flex: 1 1 0px;
  flex-wrap: nowrap;
  overflow: auto;
  padding: 0 2px;
  margin: 0 -2px;
}

.sd-selectbase__label {
  display: inline-flex;
  position: relative;
  gap: var(--sjs-base-unit, var(--base-unit, 8px));
  vertical-align: top;
  max-width: 100%;
}

.sd-selectbase__column {
  vertical-align: top;
  display: block;
  box-sizing: border-box;
  flex: 1 1 0px;
  max-width: 100%;
}

.sd-selectbase__column:not(:last-child) {
  padding-right: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-selectbase__column.sv-q-column-1 {
  width: 100%;
}

.sd-item--enter,
.sd-item--leave {
  animation-name: moveInWithOverflow, fadeIn;
  opacity: 0;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
  animation-direction: var(--animation-direction);
  animation-duration: var(--move-animation-duration), var(--fade-animation-duration);
  animation-delay: var(--move-animation-delay), var(--fade-animation-delay);
}

.sd-item--enter {
  --animation-direction: normal;
  --move-animation-duration: var(--sjs-ranking-move-in-duration, 150ms);
  --move-animation-delay: 0s;
  --fade-animation-duration: var(--sjs-ranking-fade-in-duration, 100ms);
  --fade-animation-delay: var(--sjs-ranking-fade-in-delay, 150ms);
}

.sd-item--leave {
  --animation-direction: reverse;
  --move-animation-duration: var(--sjs-ranking-move-out-duration, 150ms);
  --move-animation-delay: var(--sjs-ranking-move-out-delay, 0ms);
  --fade-animation-duration: var(--sjs-ranking-fade-out-duration, 100ms);
  --fade-animation-delay: 0s;
}

div[class*=sv-q-column-]:not(:first-of-type) .sd-item--enter {
  --move-animation-duration: 0s;
  --fade-animation-delay: 0s;
}

.sd-radio__decorator {
  border-radius: 50%;
}
.sd-radio__decorator:after {
  content: " ";
  display: block;
  width: var(--sjs-base-unit, var(--base-unit, 8px));
  height: var(--sjs-base-unit, var(--base-unit, 8px));
  border-radius: 50%;
  background-color: transparent;
  transition: background-color var(--sjs-transition-duration, 150ms);
}

.sd-radio--checked .sd-radio__decorator:after {
  content: " ";
  display: block;
  width: var(--sjs-base-unit, var(--base-unit, 8px));
  height: var(--sjs-base-unit, var(--base-unit, 8px));
  border-radius: 50%;
  background-color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
}

.sd-radio--checked.sd-radio--disabled .sd-radio__decorator:after {
  background-color: var(--sjs-border-default, var(--border, #d6d6d6));
}

.sd-radio--checked.sd-radio--readonly .sd-radio__decorator:after {
  background-color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-radio--checked.sd-radio--preview .sd-radio__decorator:after {
  display: none;
}
.sd-radio--checked.sd-radio--preview .sd-radio__decorator .sd-radio__svg {
  fill: var(--sjs-general-forecolor, var(--foreground, #161616));
  display: block;
  width: calc(2.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(2.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-radio--checked .sd-radio__control:focus + .sd-radio__decorator:after {
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-radio__svg {
  display: none;
}

.sd-visuallyhidden {
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
}

.sd-matrix fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

.sd-matrix__label {
  display: flex;
  position: relative;
  justify-content: center;
}

.sd-matrix__text {
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-matrix__text--checked {
  background-color: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-matrix__cell:first-of-type {
  font-weight: var(--sjs-font-questiontitle-weight, 600);
  text-align: start;
}

:root {
  --sd-rating-bad-color: var(--sjs-special-red, var(--red, #e60a3e));
  --sd-rating-normal-color: var(--sjs-special-yellow, var(--yellow, #ff9814));
  --sd-rating-good-color: var(--sjs-special-green, var(--green, #19b394));
  --sd-rating-bad-color-light: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
  --sd-rating-normal-color-light: var(--sjs-special-yellow-light, var(--yellow-light, rgba(255, 152, 20, 0.1)));
  --sd-rating-good-color-light: var(--sjs-special-green-light, var(--green-light, rgba(25, 179, 148, 0.1)));
}

.sd-rating {
  overflow-x: auto;
  min-height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-rating fieldset {
  display: flex;
  border: none;
  padding: 0 0 2px 0;
  flex-wrap: nowrap;
  gap: var(--sjs-base-unit, var(--base-unit, 8px));
  margin-inline-start: 0;
  align-items: center;
}
.sd-rating.sd-rating--wrappable fieldset {
  flex-wrap: wrap;
  min-width: 0;
}
.sd-rating.sd-rating--labels-top fieldset {
  padding-top: calc(4.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  position: relative;
}
.sd-rating.sd-rating--labels-top fieldset .sd-rating__min-text {
  position: absolute;
  margin: 0;
  left: 0;
  top: 0;
  border: 0;
}
.sd-rating.sd-rating--labels-top fieldset .sd-rating__max-text {
  position: absolute;
  margin: 0;
  right: 0;
  top: 0;
  border: 0;
}
.sd-rating.sd-rating--labels-bottom fieldset {
  padding-bottom: calc(4.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  position: relative;
}
.sd-rating.sd-rating--labels-bottom fieldset .sd-rating__min-text {
  position: absolute;
  margin: 0;
  left: 0;
  bottom: 0;
  border: 0;
}
.sd-rating.sd-rating--labels-bottom fieldset .sd-rating__max-text {
  position: absolute;
  margin: 0;
  right: 0;
  bottom: 0;
  border: 0;
}
.sd-rating.sd-rating--labels-diagonal fieldset {
  padding-top: calc(4.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-bottom: calc(4.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  position: relative;
}
.sd-rating.sd-rating--labels-diagonal fieldset .sd-rating__min-text {
  position: absolute;
  margin: 0;
  left: 0;
  top: 0;
  border: 0;
}
.sd-rating.sd-rating--labels-diagonal fieldset .sd-rating__max-text {
  position: absolute;
  margin: 0;
  right: 0;
  bottom: 0;
  border: 0;
}

.sd-rating--small {
  min-height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin: auto;
}
.sd-rating--small fieldset {
  padding: 0;
  gap: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-rating__item {
  position: relative;
  background: var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));
  border-radius: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  white-space: nowrap;
  padding: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  min-width: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  text-align: center;
  border: 0px solid transparent;
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  fill: var(--sjs-general-forecolor, var(--foreground, #161616));
  font-size: var(--sjs-font-size, 16px);
  box-shadow: var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15)), inset 0 0 0 0px var(--sjs-general-backcolor, var(--background, #fff));
  transition: box-shadow var(--sjs-transition-duration, 150ms), background-color var(--sjs-transition-duration, 150ms);
}

.sd-rating__item--fixed-size {
  width: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding: 0;
}

legend + .sd-rating__item,
legend + sv-ng-rating-item-smiley + .sd-rating__item-smiley,
legend + sv-ng-rating-item + .sd-rating__item {
  margin-inline-start: 2px;
}

.sd-rating__item--error {
  background-color: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
  box-shadow: 0px 1px 2px transparent;
  border: none;
}

.sd-rating__item.sd-rating__item--disabled {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  fill: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-rating__item.sd-rating__item--selected.sd-rating__item--disabled {
  color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
  fill: var(--sjs-general-forecolor, var(--foreground, #161616));
  background-color: var(--lbr-dialog-screen-color, var(--background-semitransparent, rgba(144, 144, 144, 0.5)));
  border: none;
}

.sd-rating__item.sd-rating__item--readonly {
  fill: transparent;
  background-color: transparent;
  border: 2px solid var(--sjs-border-inside, var(--border-inside, rgba(0, 0, 0, 0.16)));
  box-shadow: none;
  transform: none;
}
.sd-rating__item.sd-rating__item--readonly .sd-rating__item-text.sd-rating__item-text {
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sd-rating__item.sd-rating__item--selected.sd-rating__item--readonly {
  border-color: var(--sjs-general-forecolor, var(--foreground, #161616));
}
.sd-rating__item.sd-rating__item--selected.sd-rating__item--readonly .sd-rating__item-text.sd-rating__item-text {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-rating__item.sd-rating__item--preview {
  fill: transparent;
  background-color: transparent;
  border: 1px solid transparent;
  box-shadow: none;
  transform: none;
}
.sd-rating__item.sd-rating__item--preview:focus-within {
  box-shadow: none;
}
.sd-rating__item.sd-rating__item--preview .sd-rating__item-text.sd-rating__item-text {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-rating__item.sd-rating__item--selected.sd-rating__item--preview {
  border-color: var(--sjs-general-forecolor, var(--foreground, #161616));
  border-width: 1px;
}
.sd-rating__item.sd-rating__item--selected.sd-rating__item--preview .sd-rating__item-text.sd-rating__item-text {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-question--disabled .sd-rating__item-text {
  opacity: 0.25;
}

.sd-rating__item--allowhover:hover {
  background-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
}

.sd-rating__item:focus-within {
  box-shadow: 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-rating__item--selected {
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
  font-weight: 600;
  box-shadow: 0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-rating__item--selected:focus-within {
  box-shadow: var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), inset 0 0 0 4px var(--sjs-general-backcolor, var(--background, #fff)), 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-rating__item-smiley {
  position: relative;
  border-radius: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  white-space: nowrap;
  padding: calc(1.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: border-box;
  min-width: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  min-height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border: 2px solid var(--sjs-border-default, var(--border, #d6d6d6));
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  fill: var(--sjs-border-default, var(--border, #d6d6d6));
  box-shadow: var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), inset 0 0 0 0px var(--sjs-general-backcolor, var(--background, #fff));
  transition: box-shadow var(--sjs-transition-duration, 150ms), background-color var(--sjs-transition-duration, 150ms);
}
.sd-rating__item-smiley svg {
  display: block;
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-rating__item-smiley--small {
  padding: calc(0.625 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  min-width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  min-height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-width: 1px;
}
.sd-rating__item-smiley--small svg {
  width: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-rating__item-smiley--small:not(.sd-rating__item-smiley--selected):focus-within {
  box-shadow: 0 0 0 1px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-rating__item-smiley--colored.sd-rating__item-smiley--small:not(.sd-rating__item-smiley--selected):focus-within {
  box-shadow: 0 0 0 1px var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));
}

.sd-rating__item-smiley--small.sd-rating__item-smiley--selected:focus-within {
  box-shadow: inset 0 0 0 2px var(--sjs-general-backcolor, var(--background, #fff)), 0 0 0 1px var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));
}

legend + .sd-rating__item-smiley,
legend + sv-ng-rating-item + .sd-rating__item-smiley {
  margin-inline-start: 2px;
}

.sd-rating__item-smiley--scale-colored {
  border-color: var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));
  fill: var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));
  transition: box-shadow var(--sjs-transition-duration, 150ms), opacity var(--sjs-transition-duration, 150ms), background-color var(--sjs-transition-duration, 150ms);
}

.sd-rating__item-smiley--error {
  background-color: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
  border-color: transparent;
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}
.sd-rating__item-smiley--error.sd-rating__item-smiley--scale-colored:hover {
  fill: var(--sd-rating-item-color, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
}
.sd-rating__item-smiley--error.sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected) {
  opacity: initial;
}

.sd-rating__item-smiley.sd-rating__item-smiley--disabled {
  opacity: 0.5;
}

.sd-rating__item-smiley.sd-rating__item-smiley--selected.sd-rating__item-smiley--disabled {
  opacity: initial;
  fill: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
}

.sd-rating__item-smiley.sd-rating__item-smiley--readonly {
  fill: var(--sjs-border-default, var(--border, #d6d6d6));
  border-color: var(--sjs-border-default, var(--border, #d6d6d6));
}

.sd-rating__item-smiley.sd-rating__item-smiley--selected.sd-rating__item-smiley--readonly {
  fill: var(--sjs-general-forecolor, var(--foreground, #161616));
  border-color: var(--sjs-general-forecolor, var(--foreground, #161616));
  background-color: unset;
}

.sd-rating__item-smiley.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview {
  border: 1px solid var(--sjs-general-forecolor, var(--foreground, #161616));
  fill: var(--sjs-general-forecolor, var(--foreground, #161616));
}
.sd-rating__item-smiley.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview:focus-within {
  box-shadow: none;
}
.sd-rating__item-smiley.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview svg {
  margin: 1px;
}

.sd-rating__item-smiley.sd-rating__item-smiley--selected.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview {
  fill: var(--sjs-general-backcolor, var(--background, #fff));
  background-color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-rating__item-smiley--allowhover:hover {
  background-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
  border-color: var(--sjs-border-default, var(--border, #d6d6d6));
}

.sd-rating__item-smiley:focus-within {
  border: none;
  box-shadow: var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-rating__item-smiley--selected {
  background-color: var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));
  border-color: var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));
  fill: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
  font-weight: 600;
}

.sd-rating__item-smiley--selected:focus-within {
  border: 0px solid var(--sjs-general-backcolor, var(--background, #fff));
  box-shadow: var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), inset 0 0 0 4px var(--sjs-general-backcolor, var(--background, #fff)), 0 0 0 2px var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));
}

.sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected) {
  opacity: 0.25;
}
.sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected).sd-rating__item-smiley--allowhover:hover {
  background-color: var(--sd-rating-item-color-light, var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248))));
  border-color: var(--sd-rating-item-color, var(--sjs-border-default, var(--border, #d6d6d6)));
  opacity: 0.5;
}

.sd-rating__item-smiley--rate-colored:not(.sd-rating__item-smiley--selected).sd-rating__item-smiley--allowhover:hover {
  opacity: 0.5;
}

.sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected):focus-within {
  opacity: 1;
  box-shadow: var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 2px var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));
}

.sd-rating__item-smiley--scale-colored.sd-rating__item-smiley--small:not(.sd-rating__item-smiley--selected):focus-within {
  opacity: 1;
  box-shadow: var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 1px var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));
}

.sd-rating__item-smiley--scale-colored.sd-rating__item-smiley--selected, .sd-rating__item-smiley--scale-colored.sd-rating__item-smiley--readonly, .sd-rating__item-smiley--scale-colored.sd-rating__item-smiley--preview {
  opacity: 1;
}

.sd-rating__item-star {
  position: relative;
  width: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: content-box;
}
.sd-rating__item-star:not(:first-of-type) {
  padding-left: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-left: calc(-0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-rating__item-star:not(:last-of-type) {
  padding-right: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-right: calc(-0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-rating__item-star svg {
  stroke: var(--sjs-border-default, var(--border, #d6d6d6));
  stroke-width: 2px;
  fill: transparent;
  width: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: block;
  position: absolute;
  transition: stroke var(--sjs-transition-duration, 150ms), opacity var(--sjs-transition-duration, 150ms), fill var(--sjs-transition-duration, 150ms);
}
.sd-rating__item-star .sv-star {
  opacity: 1;
}
.sd-rating__item-star .sv-star-2 {
  opacity: 0;
}

.sd-rating__item-star--small {
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-rating__item-star--small svg {
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-rating__item-star--small.sd-rating__item-star--selected svg {
  stroke-width: 1px;
}

.sd-rating__item-star--selected svg {
  stroke: transparent;
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-rating__item-star--selected:nth-child(1) svg {
  transition-delay: 0ms;
}
.sd-rating__item-star--selected:nth-child(2) svg {
  transition-delay: 25ms;
}
.sd-rating__item-star--selected:nth-child(3) svg {
  transition-delay: 50ms;
}
.sd-rating__item-star--selected:nth-child(4) svg {
  transition-delay: 75ms;
}
.sd-rating__item-star--selected:nth-child(5) svg {
  transition-delay: 100ms;
}
.sd-rating__item-star--selected:nth-child(6) svg {
  transition-delay: 125ms;
}
.sd-rating__item-star--selected:nth-child(7) svg {
  transition-delay: 150ms;
}
.sd-rating__item-star--selected:nth-child(8) svg {
  transition-delay: 175ms;
}
.sd-rating__item-star--selected:nth-child(9) svg {
  transition-delay: 200ms;
}
.sd-rating__item-star--selected:nth-child(10) svg {
  transition-delay: 225ms;
}
.sd-rating__item-star--selected:nth-child(11) svg {
  transition-delay: 250ms;
}
.sd-rating__item-star--selected:nth-child(12) svg {
  transition-delay: 275ms;
}
.sd-rating__item-star--selected:nth-child(13) svg {
  transition-delay: 300ms;
}
.sd-rating__item-star--selected:nth-child(14) svg {
  transition-delay: 325ms;
}
.sd-rating__item-star--selected:nth-child(15) svg {
  transition-delay: 350ms;
}
.sd-rating__item-star--selected:nth-child(16) svg {
  transition-delay: 375ms;
}
.sd-rating__item-star--selected:nth-child(17) svg {
  transition-delay: 400ms;
}
.sd-rating__item-star--selected:nth-child(18) svg {
  transition-delay: 425ms;
}
.sd-rating__item-star--selected:nth-child(19) svg {
  transition-delay: 450ms;
}
.sd-rating__item-star--selected:nth-child(20) svg {
  transition-delay: 475ms;
}
.sd-rating__item-star--selected:nth-child(21) svg {
  transition-delay: 500ms;
}
.sd-rating__item-star--selected:nth-child(22) svg {
  transition-delay: 525ms;
}
.sd-rating__item-star--selected:nth-child(23) svg {
  transition-delay: 550ms;
}
.sd-rating__item-star--selected:nth-child(24) svg {
  transition-delay: 575ms;
}
.sd-rating__item-star--selected:nth-child(25) svg {
  transition-delay: 600ms;
}

.sd-rating__item-star--error svg {
  stroke: none;
  fill: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
}

.sd-rating__item-star--disabled {
  opacity: 0.5;
}
.sd-rating__item-star--disabled svg {
  stroke: var(--sjs-border-default, var(--border, #d6d6d6));
  fill: none;
}

.sd-rating__item-star--selected.sd-rating__item-star--disabled svg {
  stroke: none;
  fill: var(--sjs-border-default, var(--border, #d6d6d6));
}

.sd-rating__item-star--readonly svg {
  stroke: var(--sjs-border-default, var(--border, #d6d6d6));
  fill: none;
}

.sd-rating__item-star--selected.sd-rating__item-star--readonly svg {
  stroke: none;
  fill: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-rating__item-star--preview svg {
  stroke: var(--sjs-general-forecolor, var(--foreground, #161616));
  stroke-width: 1px;
  fill: none;
}

.sd-rating__item-star--selected.sd-rating__item-star--preview svg {
  stroke: none;
  fill: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-rating__item-star:not(.sd-rating__item-star--preview):focus-within svg {
  stroke: var(--sjs-primary-backcolor, var(--primary, #19b394));
  fill: transparent;
}

.sd-rating__item-star--unhighlighted svg {
  stroke: transparent;
  fill: var(--sjs-border-default, var(--border, #d6d6d6));
}

.sd-rating__item-star--highlighted svg {
  stroke: var(--sjs-border-default, var(--border, #d6d6d6));
  fill: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
}

.sd-rating__item-star--selected:not(.sd-rating__item-star--preview).sd-rating__item-star--unhighlighted:focus-within svg {
  stroke: var(--sjs-border-default, var(--border, #d6d6d6));
  fill: var(--sjs-border-default, var(--border, #d6d6d6));
}

.sd-rating__item-star--selected:not(.sd-rating__item-star--preview):focus-within svg {
  stroke: var(--sjs-primary-backcolor, var(--primary, #19b394));
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-rating__item-star--selected:not(.sd-rating__item-star--preview):focus-within .sv-star {
  opacity: 0;
}
.sd-rating__item-star--selected:not(.sd-rating__item-star--preview):focus-within .sv-star-2 {
  opacity: 1;
}

.sd-rating__item-text.sd-rating__item-text {
  font-family: var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-editorfont-weight, 400);
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  display: inline-block;
  box-sizing: border-box;
  transition: color var(--sjs-transition-duration, 150ms);
}
.sd-rating__item-text.sd-rating__item-text.sd-rating__min-text, .sd-rating__item-text.sd-rating__item-text.sd-rating__max-text {
  margin-top: calc(1.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-bottom: calc(1.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  color: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
  border: 2px solid rgba(0, 0, 0, 0);
}
.sd-rating__item-text.sd-rating__item-text.sd-rating__min-text {
  margin-right: var(--sjs-base-unit, var(--base-unit, 8px));
  border-left: 0px;
}
.sd-rating__item-text.sd-rating__item-text.sd-rating__max-text {
  margin-right: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-left: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-rating__item-text.sd-rating__item-text .sv-string-editor {
  white-space: nowrap;
}
.sd-rating__item-text.sd-rating__item-text.sd-rating__item--fixed-size {
  min-width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-rating__item-text.sd-rating__item-text::after {
  display: block;
  content: attr(data-text);
  font-weight: 600;
  height: 0;
  color: transparent;
  overflow: hidden;
  visibility: hidden;
}

.sd-rating--wrappable .sd-rating__item-text {
  max-width: 100%;
}
.sd-rating--wrappable .sd-rating__item-text .sv-string-viewer {
  max-width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  display: block;
}

.sd-rating__item:focus-within .sd-rating__item-text.sd-rating__item-text {
  border: none;
}

.sd-rating__item--selected .sd-rating__item-text.sd-rating__item-text {
  color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
  font-weight: inherit;
  border: none;
}

.sd-rating-dropdown-item {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  gap: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-rating-dropdown-item_description {
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-style: normal;
  font-weight: normal;
  font-size: calc(0.75 * (var(--sjs-font-size, 16px)));
  line-height: var(--sjs-font-size, 16px);
}

.sv-list__item.sv-list__item--selected .sd-rating-dropdown-item_description {
  color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
}

.sv-ranking-item--error .sv-ranking-item__index {
  background-color: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
  box-shadow: 0px 1px 2px transparent;
  border-color: transparent;
}

.sd-element--with-frame .sv-ranking-item {
  left: calc(-3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-ranking.sd-ranking--readonly {
  -moz-user-select: initial;
       user-select: initial;
  -webkit-user-select: initial;
}
.sv-ranking.sd-ranking--readonly.sv-ranking--select-to-rank-empty-value .sv-ranking__containers-divider {
  visibility: hidden;
}
.sv-ranking.sd-ranking--readonly .sv-ranking__container--empty {
  visibility: hidden;
}

.sv-ranking.sd-ranking--preview {
  -moz-user-select: initial;
       user-select: initial;
  -webkit-user-select: initial;
}
.sv-ranking.sd-ranking--preview.sv-ranking--select-to-rank-empty-value .sv-ranking__containers-divider {
  visibility: hidden;
}
.sv-ranking.sd-ranking--preview .sv-ranking__container--empty {
  visibility: hidden;
}

@container (max-width: 496px) {
  .sv-ranking--select-to-rank-horizontal {
    flex-direction: column-reverse;
  }
  .sv-ranking--select-to-rank-horizontal .sv-ranking__containers-divider {
    margin: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
    height: 1px;
    width: initial;
  }
  .sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty {
    padding-top: var(--sjs-base-unit, var(--base-unit, 8px));
    padding-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .sv-ranking--select-to-rank-horizontal .sv-ranking__container {
    max-width: initial;
  }
  .sv-ranking--select-to-rank-horizontal .sv-ranking__container--to .sv-ranking-item {
    left: initial;
  }
  .sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking-item {
    left: initial;
  }
  .sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking__container-placeholder {
    padding-left: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
    padding-right: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  }
  .sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--from .sv-ranking__container-placeholder {
    padding-right: initial;
  }
}
@container (max-width: 176px) {
  .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking__container-placeholder {
    margin-left: calc(-5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
    margin-right: calc(-5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  }
}
.sd-element--with-frame .sv-ranking--mobile .sv-ranking-item__icon-container {
  margin-left: 0;
  margin-right: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-element--with-frame .sv-ranking--mobile .sv-ranking-item {
  left: 0;
}

.sv-ranking-item__content.sd-ranking-item__content {
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
}

.sv-dragdrop-movedown {
  transform: translate(0, 0);
  animation: svdragdropmovedown 0.1s;
  animation-timing-function: ease-in-out;
}

@keyframes svdragdropmovedown {
  0% {
    transform: translate(0, -50px);
  }
  100% {
    transform: translate(0, 0);
  }
}
.sv-dragdrop-moveup {
  transform: translate(0, 0);
  animation: svdragdropmoveup 0.1s;
  animation-timing-function: ease-in-out;
}

@keyframes svdragdropmoveup {
  0% {
    transform: translate(0, 50px);
  }
  100% {
    transform: translate(0, 0);
  }
}
.sv-dropdown_select-wrapper {
  position: relative;
}

.sv-dropdown_select-wrapper use {
  fill: var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
}

.sd-dropdown {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-inline-end: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-inline-start: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  opacity: 1;
  display: flex;
  justify-content: space-between;
  word-spacing: normal;
}

.sd-dropdown[disabled] {
  pointer-events: none;
}

.sd-dropdown--empty:not(.sd-input--disabled),
.sd-dropdown--empty:not(.sd-input--disabled) .sd-dropdown__value {
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sd-dropdown__input-field-component {
  height: auto;
}

.sd-dropdown option {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-size: var(--sjs-font-size, 16px);
}

.sd-dropdown input[readonly] {
  pointer-events: none;
}

.sd-dropdown__value {
  width: 100%;
  min-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  font-family: var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-editorfont-weight, 400);
  color: var(--sjs-font-editorfont-color, var(--sjs-general-forecolor, rgba(0, 0, 0, 0.91)));
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  position: relative;
}

.sd-dropdown_clean-button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 var(--sjs-base-unit, var(--base-unit, 8px));
  margin: auto 0;
  cursor: pointer;
}

.sd-dropdown_chevron-button {
  position: absolute;
  width: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  top: 0;
  bottom: 0;
  inset-inline-end: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-inline-end: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: content-box;
  cursor: pointer;
}

.sd-dropdown_chevron-button-svg,
.sd-dropdown_clean-button-svg {
  width: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
}
.sd-dropdown_chevron-button-svg use,
.sd-dropdown_clean-button-svg use {
  pointer-events: none;
}

.sd-input.sd-dropdown:focus-within {
  box-shadow: var(--sjs-shadow-inner-reset, inset 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-input.sd-dropdown.sd-input--readonly {
  box-shadow: none;
  transition: none;
}

.sd-dropdown__filter-string-input {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  max-width: 100%;
  border: none;
  outline: none;
  padding: 0;
  font-family: var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-editorfont-weight, 400);
  color: var(--sjs-font-editorfont-color, var(--sjs-general-forecolor, rgba(0, 0, 0, 0.91)));
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  background-color: transparent;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.sd-dropdown--empty:not(.sd-input--disabled) .sd-dropdown__filter-string-input::-moz-placeholder {
  color: var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
}

.sd-dropdown--empty:not(.sd-input--disabled) .sd-dropdown__filter-string-input::placeholder {
  color: var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
}

.sd-dropdown--empty > * {
  min-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
}

.sd-dropdown__filter-string-input::-moz-placeholder {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  -moz-appearance: none;
       appearance: none;
}

.sd-dropdown__filter-string-input::placeholder {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.sd-dropdown__hint-prefix {
  color: var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
}
.sd-dropdown__hint-prefix span {
  white-space: pre;
}

.sd-dropdown__hint-suffix {
  display: flex;
  color: var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
}
.sd-dropdown__hint-suffix span {
  white-space: pre;
}

.sd-dropdown.sd-input--disabled *,
.sd-dropdown.sd-input--readonly *,
.sd-dropdown.sd-input--preview * {
  width: 100%;
  display: block;
}
.sd-dropdown.sd-input--disabled .sv-string-viewer,
.sd-dropdown.sd-input--readonly .sv-string-viewer,
.sd-dropdown.sd-input--preview .sv-string-viewer {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sd-question--readonly .sd-dropdown_chevron-button use {
  opacity: 0.24;
}

.sd-question--preview .sd-dropdown_chevron-button {
  display: none;
}

.sv-dropdown-popup .sd-list__item-body {
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  font-weight: var(--sjs-font-editorfont-weight, 400);
  font-family: var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  padding-inline-end: calc(1.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-block: calc(1.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-inline-start: calc(1.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border: calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid transparent;
  border-radius: var(--sjs-corner-radius, 4px);
  transition: border-color var(--sjs-transition-duration, 150ms);
}
.sv-dropdown-popup .sv-list__item.sv-list__item--focused:not(.sv-list__item--selected) .sv-list__item-body {
  border: calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-border-light, var(--border-light, #eaeaea));
  padding-inline-end: calc(1.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-block: calc(1.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-inline-start: calc(1.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-dropdown-popup.sv-popup--menu-tablet .sd-list__item-body,
.sv-dropdown-popup.sv-popup--menu-phone .sd-list__item-body {
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  font-weight: 400;
}

.sv-dropdown-popup.sv-single-select-list.sv-popup--leave .sd-list__item.sv-list__item--selected .sv-list__item-body {
  font-weight: normal;
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  background-color: transparent;
}

.sv-dropdown-popup.sv-popup--menu-popup.sv-popup--top .sv-popup__container {
  transform: translateY(-2px);
}

.sv-dropdown-popup.sv-popup--menu-popup.sv-popup--bottom .sv-popup__container {
  transform: translateY(2px);
}

[dir=rtl] .sd-dropdown,
[style*="direction:rtl"] .sd-dropdown,
[style*="direction: rtl"] .sd-dropdown {
  background-position: left calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) top 50%, 0 0;
}

.sv-list-item--custom-value .sv-list__item-body {
  font-weight: bold;
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-input.sd-tagbox:not(.sd-tagbox--empty).sd-input--editable {
  height: auto;
  padding: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-inline-end: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-inline-start: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-tagbox.sd-input--disabled, .sd-tagbox.sd-input--readonly, .sd-tagbox.sd-input--preview {
  white-space: normal;
}

.sd-tagbox_clean-button {
  height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  padding: calc(0.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  margin: auto 0;
}

.sd-input.sd-tagbox:focus-within {
  box-shadow: var(--sjs-shadow-inner-reset, inset 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sv-tagbox__item {
  position: relative;
  display: flex;
  align-items: center;
  padding: var(--sjs-base-unit, var(--base-unit, 8px)) calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  border-radius: calc(0.5 * (var(--sjs-corner-radius, 4px)));
  max-width: calc(100% - var(--sjs-base-unit, var(--base-unit, 8px)));
  box-sizing: border-box;
}

.sv-tagbox__item-text {
  color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
  min-width: calc(5.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  text-align: center;
  font-weight: 600;
}
.sv-tagbox__item-text span {
  display: block;
  text-overflow: ellipsis;
  overflow: hidden;
}

.sv-tagbox__item:hover .sd-tagbox-item_clean-button,
.sv-tagbox__item:focus .sd-tagbox-item_clean-button,
.sv-tagbox__item:focus-within .sd-tagbox-item_clean-button {
  align-self: center;
  opacity: 1;
}

.sd-tagbox-item_clean-button {
  display: flex;
  position: absolute;
  inset-inline-end: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding: 0;
  padding-inline-start: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  background: linear-gradient(270deg, var(--sjs-primary-backcolor, var(--primary, #19b394)) 53.12%, rgba(25, 179, 148, 0) 100%);
  opacity: 0;
  transition: opacity var(--sjs-transition-duration, 150ms);
}

.sd-tagbox-item_clean-button-svg {
  display: block;
  padding: calc(0.25 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  width: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  height: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  box-sizing: content-box;
}

.sd-tagbox-item_clean-button-svg:hover {
  border-radius: 100px;
  background: var(--sjs-primary-forecolor-light, var(--primary-foreground-disabled, rgba(255, 255, 255, 0.25)));
}

.sd-tagbox-item_clean-button-svg use {
  fill: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
}

.sd-tagbox__value.sd-dropdown__value {
  position: relative;
  gap: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: flex;
  flex-wrap: wrap;
  flex-grow: 1;
  padding-inline: unset;
  margin-inline: unset;
  margin-block: unset;
}

.sd-tagbox__filter-string-input {
  width: 100%;
  display: flex;
  flex-grow: 1;
}

.sd-tagbox__placeholder {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 100%;
  width: auto;
  height: 100%;
  text-align: start;
  cursor: text;
  pointer-events: none;
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

[dir=rtl] .sd-tagbox-item_clean-button,
[style*="direction:rtl"] .sd-tagbox-item_clean-button,
[style*="direction: rtl"] .sd-tagbox-item_clean-button {
  background: linear-gradient(90deg, var(--sjs-primary-backcolor, var(--primary, #19b394)) 53.12%, rgba(25, 179, 148, 0) 100%);
}

.sd-tagbox.sd-tagbox--empty .sd-tagbox__hint,
.sd-tagbox.sd-tagbox--empty .sd-tagbox__hint-suffix-wrapper,
.sd-tagbox.sd-tagbox--empty .sd-tagbox__filter-string-input {
  width: 100%;
}

.sd-tagbox__hint {
  display: flex;
  flex-grow: 1;
  max-width: 100%;
}

.sd-tagbox__hint-suffix-wrapper {
  position: relative;
  width: 100%;
}

.sd-dropdown__hint-suffix.sd-tagbox__hint-suffix {
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  height: 100%;
  display: flex;
  align-items: center;
}

.sd-dropdown__hint-prefix.sd-tagbox__hint-prefix {
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  height: 100%;
  display: flex;
  align-items: center;
  max-width: 50%;
  justify-content: flex-end;
}

.sd-imagepicker {
  padding: 0;
  border: none;
  gap: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: 100%;
  margin: 0;
}

.sd-imagepicker--static {
  display: flex;
  flex-wrap: wrap;
}

.sd-imagepicker--responsive {
  display: grid;
}

.sd-imagepicker--column {
  align-items: flex-start;
  flex-direction: column;
}

@supports not (aspect-ratio: 1/1) {
  .sd-imagepicker > div {
    margin-right: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  }
}
.sd-imagepicker__item img,
.sd-imagepicker__item .sd-imagepicker__image-container > div {
  border-radius: var(--sjs-corner-radius, 4px);
  background-color: var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9));
}

.sd-imagepicker__item-decorator {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sd-imagepicker__label {
  position: relative;
}
.sd-imagepicker__label .sd-visuallyhidden {
  height: 100%;
  margin: 0;
}

.sd-imagepicker__image-container {
  position: relative;
}

.sd-imagepicker__check-decorator {
  display: block;
  opacity: 0;
  position: absolute;
  top: var(--sjs-base-unit, var(--base-unit, 8px));
  right: var(--sjs-base-unit, var(--base-unit, 8px));
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: border-box;
  border-radius: 100%;
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
  z-index: 1;
  transition: opacity var(--sjs-transition-duration, 150ms);
}

.sd-imagepicker__check-icon {
  display: block;
  width: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-imagepicker__item--checked .sd-imagepicker__check-decorator {
  opacity: 1;
}

.sd-imagepicker__item--error .sd-imagepicker__image-container::before {
  display: block;
  position: absolute;
  content: " ";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
  border-radius: var(--sjs-corner-radius, 4px);
  background: linear-gradient(0deg, var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1))), var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1))));
}

.sd-imagepicker__item:focus-within .sd-imagepicker__image .sd-imagepicker__image:hover,
.sd-imagepicker__item--allowhover:not(.sd-imagepicker__item--readonly, .sd-imagepicker__item--preview) .sd-imagepicker__image:hover {
  opacity: 0.5;
}

.sd-imagepicker__image {
  display: block;
  box-sizing: border-box;
  max-width: 100%;
  transition: opacity var(--sjs-transition-duration, 150ms);
}

.sd-imagepicker__text {
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
}

.sd-imagepicker__no-image {
  display: flex;
  background-color: var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9));
  inset-block-start: 0;
}

.sd-imagepicker__no-image-svg {
  height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin: auto;
}
.sd-imagepicker__no-image-svg use {
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
  opacity: 0.5;
}

.sd-imagepicker__column {
  display: flex;
  flex-direction: column;
  gap: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  align-items: flex-start;
  padding-right: 0;
}
.sd-imagepicker__column.sd-selectbase__column {
  min-width: 0;
}
.sd-imagepicker__column .sd-imagepicker__item {
  width: 100%;
}
.sd-imagepicker__column .sd-imagepicker__text {
  width: 100%;
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}

.sd-selectbase__column.sd-imagepicker__column:not(:last-child) {
  padding-right: 0;
}

.sd-imagepicker__item--readonly .sd-imagepicker__check-icon {
  fill: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-imagepicker__item--preview .sd-imagepicker__check-decorator {
  display: none;
}
.sd-imagepicker__item--preview .sd-imagepicker__image {
  /* Safari 6.0 - 9.0 */
  filter: grayscale(100%);
  opacity: 0.25;
}
.sd-imagepicker__item--preview.sd-imagepicker__item--checked .sd-imagepicker__image {
  /* Safari 6.0 - 9.0 */
  filter: grayscale(0%);
  opacity: 1;
}

.sd-image__image {
  display: block;
  max-width: 100%;
  border-radius: var(--sjs-corner-radius, 4px);
}

.sd-image__image--adaptive {
  width: 100%;
  height: auto;
  max-width: calc(80 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-image__no-image {
  background: var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9));
  min-width: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  min-height: calc(27.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sd-image__no-image use {
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
  opacity: 0.5;
}

.sd-question--image {
  width: 100%;
}

.sd-html {
  white-space: initial;
  font-size: var(--sjs-article-font-default-fontSize, var(--sjs-font-size, 16px));
  -webkit-text-decoration: var(--sjs-article-font-default-textDecoration, "none");
          text-decoration: var(--sjs-article-font-default-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-default-fontWeight, 400);
  font-style: var(--sjs-article-font-default-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-default-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-default-letterSpacing, 0);
  line-height: var(--sjs-article-font-default-lineHeight, 28px);
  text-indent: var(--sjs-article-font-default-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-default-textCase, "none");
  color: var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)));
}
.sd-html h1 {
  font-size: var(--sjs-article-font-xx-large-fontSize, calc(4 * (var(--sjs-font-size, 16px))));
  -webkit-text-decoration: var(--sjs-article-font-xx-large-textDecoration, "none");
          text-decoration: var(--sjs-article-font-xx-large-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-xx-large-fontWeight, 700);
  font-style: var(--sjs-article-font-xx-large-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-xx-large-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-xx-large-letterSpacing, 0);
  line-height: var(--sjs-article-font-xx-large-lineHeight, 64px);
  text-indent: var(--sjs-article-font-xx-large-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-xx-large-textCase, "none");
}
.sd-html h2 {
  font-size: var(--sjs-article-font-x-large-fontSize, calc(3 * (var(--sjs-font-size, 16px))));
  -webkit-text-decoration: var(--sjs-article-font-x-large-textDecoration, "none");
          text-decoration: var(--sjs-article-font-x-large-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-x-large-fontWeight, 700);
  font-style: var(--sjs-article-font-x-large-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-x-large-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-x-large-letterSpacing, 0);
  line-height: var(--sjs-article-font-x-large-lineHeight, 56px);
  text-indent: var(--sjs-article-font-x-large-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-x-large-textCase, "none");
}
.sd-html h3 {
  font-size: var(--sjs-article-font-large-fontSize, calc(2 * (var(--sjs-font-size, 16px))));
  -webkit-text-decoration: var(--sjs-article-font-large-textDecoration, "none");
          text-decoration: var(--sjs-article-font-large-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-large-fontWeight, 700);
  font-style: var(--sjs-article-font-large-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-large-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-large-letterSpacing, 0);
  line-height: var(--sjs-article-font-large-lineHeight, 40px);
  text-indent: var(--sjs-article-font-large-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-large-textCase, "none");
}
.sd-html h4,
.sd-html h5,
.sd-html h6 {
  font-size: var(--sjs-article-font-medium-fontSize, calc(1.5 * (var(--sjs-font-size, 16px))));
  -webkit-text-decoration: var(--sjs-article-font-medium-textDecoration, "none");
          text-decoration: var(--sjs-article-font-medium-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-medium-fontWeight, 700);
  font-style: var(--sjs-article-font-medium-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-medium-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-medium-letterSpacing, 0);
  line-height: var(--sjs-article-font-medium-lineHeight, 32px);
  text-indent: var(--sjs-article-font-medium-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-medium-textCase, "none");
}
.sd-html td,
.sd-html span,
.sd-html div,
.sd-html p {
  font-size: var(--sjs-article-font-default-fontSize, var(--sjs-font-size, 16px));
  -webkit-text-decoration: var(--sjs-article-font-default-textDecoration, "none");
          text-decoration: var(--sjs-article-font-default-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-default-fontWeight, 400);
  font-style: var(--sjs-article-font-default-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-default-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-default-letterSpacing, 0);
  line-height: var(--sjs-article-font-default-lineHeight, 28px);
  text-indent: var(--sjs-article-font-default-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-default-textCase, "none");
}
.sd-html a {
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-html button {
  display: flex;
  align-items: center;
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  vertical-align: baseline;
  text-align: center;
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
  border: none;
  border-radius: var(--sjs-corner-radius, 4px);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: solid calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px)))) transparent;
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  font-weight: 600;
  font-style: normal;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-size: var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));
  box-shadow: var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15)), 0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));
  transition: box-shadow var(--sjs-transition-duration, 150ms);
}
.sd-html button:hover {
  background-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
}
.sd-html button:focus {
  box-shadow: var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-html button span {
  display: flex;
  align-items: center;
  flex-grow: 1;
  justify-content: center;
}

.sd-html--nested {
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
}

.sd-expression {
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  font-size: var(--sjs-font-size, 16px);
  white-space: break-spaces;
}

.sd-question__content--left .sd-expression {
  line-height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
}

.sd-progress {
  height: 2px;
  background-color: var(--sjs-border-light, var(--border-light, #eaeaea));
  position: relative;
}

.sd-progress__bar {
  position: relative;
  height: 100%;
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  overflow: hidden;
}

.sd-progress__text {
  position: absolute;
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
  padding: var(--sjs-base-unit, var(--base-unit, 8px)) calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  right: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  color: var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45));
  font-size: calc(0.75 * (var(--sjs-font-size, 16px)));
  line-height: var(--sjs-font-size, 16px);
  font-weight: 600;
}
@media only screen and (min-width: 1000px) {
  .sd-progress__text {
    margin-left: 5%;
  }
}
@media only screen and (max-width: 1000px) {
  .sd-progress__text {
    margin-left: 10px;
  }
}

.sd-body__progress--top {
  margin-bottom: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  position: sticky;
  top: 0;
  z-index: 50;
}

.sd-body__progress--bottom .sd-progress__text {
  margin-top: calc(-3.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-root--sticky-top .sd-progress__text {
  border-radius: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  color: var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91));
  opacity: 0.75;
  background: var(--sjs-general-backcolor, var(--background, #fff));
  box-shadow: var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15));
}

.sd-boolean {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  position: relative;
  gap: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  background-color: var(--sjs-editorpanel-backcolor, var(--sjs-editor-background, var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))));
  border-radius: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-shadow: var(--sjs-shadow-inner, inset 0px 1px 2px 0px rgba(0, 0, 0, 0.15)), 0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));
  transition: box-shadow var(--sjs-transition-duration, 150ms);
}
.sd-boolean.sd-boolean--allowhover:focus-within {
  box-shadow: var(--sjs-shadow-inner-reset, inset 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-boolean__thumb,
.sd-boolean__label {
  display: block;
  font-family: var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-editorfont-weight, 400);
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  color: var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  padding: var(--sjs-base-unit, var(--base-unit, 8px)) calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-boolean__switch {
  display: flex;
  padding: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-radius: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  overflow: hidden;
}

.sd-boolean.sd-boolean--checked .sd-boolean__label--true,
.sd-boolean:not(.sd-boolean--checked):not(sd-boolean--indeterminate) .sd-boolean__label--false {
  color: transparent;
  transition-duration: 0.15s;
  transition-property: color;
  transition-timing-function: linear;
}

.sd-boolean.sd-boolean--indeterminate .sd-boolean__switch {
  display: none;
}

.sd-boolean--indeterminate .sd-boolean__thumb {
  display: none;
}

.sd-boolean__thumb {
  position: absolute;
  left: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  transform: translateX(0);
  background-color: var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));
  box-shadow: var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15));
  border-radius: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  transition-duration: 0.2s;
  transition-property: transform, left;
  transition-timing-function: linear;
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  font-weight: 600;
  z-index: 2;
}
.sd-boolean__thumb .sv-string-viewer.sv-string-viewer--multiline {
  white-space: nowrap;
}

.sd-boolean--checked:not(.sd-boolean--exchanged) .sd-boolean__thumb,
.sd-boolean--exchanged:not(.sd-boolean--checked) .sd-boolean__thumb {
  left: calc(100% - 0.5 * var(--sjs-base-unit, var(--base-unit, 8px)));
  transform: translateX(-100%);
}

[dir=rtl] .sd-boolean__thumb,
[style*="direction:rtl"] .sd-boolean__thumb,
[style*="direction: rtl"] .sd-boolean__thumb {
  left: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  right: unset;
  transform: translateX(100%);
}
[dir=rtl] .sd-boolean--checked:not(.sd-boolean--exchanged) .sd-boolean__thumb,
[dir=rtl] .sd-boolean--exchanged:not(.sd-boolean--checked) .sd-boolean__thumb,
[style*="direction:rtl"] .sd-boolean--checked:not(.sd-boolean--exchanged) .sd-boolean__thumb,
[style*="direction:rtl"] .sd-boolean--exchanged:not(.sd-boolean--checked) .sd-boolean__thumb,
[style*="direction: rtl"] .sd-boolean--checked:not(.sd-boolean--exchanged) .sd-boolean__thumb,
[style*="direction: rtl"] .sd-boolean--exchanged:not(.sd-boolean--checked) .sd-boolean__thumb {
  left: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  right: unset;
  transform: translateX(0);
}

.sd-boolean--exchanged.sd-boolean:not(.sd-boolean--checked):not(sd-boolean--indeterminate) .sd-boolean__label--false, .sd-boolean--exchanged.sd-boolean.sd-boolean--checked .sd-boolean__label--true {
  color: var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
}

.sd-boolean--disabled {
  pointer-events: none;
}
.sd-boolean--disabled .sd-boolean__thumb,
.sd-boolean--disabled .sd-boolean__label {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  opacity: 0.25;
}

.sd-boolean--readonly {
  pointer-events: none;
  box-shadow: none;
  transition: none;
  background: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
}
.sd-boolean--readonly .sd-boolean__thumb {
  box-shadow: inset 0px 0px 0px 2px var(--sjs-general-forecolor, var(--foreground, #161616));
  transition: none;
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-boolean--preview {
  pointer-events: none;
  box-shadow: none;
  transition: none;
  background: transparent;
}
.sd-boolean--preview .sd-boolean__thumb {
  border: 1px solid var(--sjs-general-forecolor, var(--foreground, #161616));
  box-shadow: none;
  transition: none;
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}
.sd-boolean--preview.sd-boolean--checked .sd-boolean__thumb, .sd-boolean--preview.sd-boolean--indeterminate .sd-boolean__thumb {
  margin-left: auto;
}
.sd-boolean--preview .sd-checkbox__label--preview {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-boolean__thumb-ghost {
  z-index: 1;
  border-radius: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  background-color: transparent;
  transition: background-color var(--sjs-transition-duration, 150ms);
}

.sd-boolean.sd-boolean--allowhover .sd-boolean__thumb-ghost:hover {
  background-color: var(--sjs-editorpanel-hovercolor, var(--sjs-general-backcolor-dim-dark, rgb(243, 243, 243)));
}

.sd-boolean--error {
  background-color: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
}

:root {
  --sjs-postcss-fix-slider-path-height: var(--lbr-slider-path-height, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  --sjs-postcss-fix-slider-path-color: var(--lbr-slider-path-color, var(--sjs-border-light, var(--border-light, #eaeaea)));
  --sjs-postcss-fix-slider-path-color-filled: var(--lbr-slider-path-color-filled, var(--sjs-primary-backcolor, var(--primary, #19b394)));
  --sjs-postcss-fix-slider-thumb-width: var(--lbr-slider-thumb-width, calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  --sjs-postcss-fix-slider-thumb-height: var(--lbr-slider-thumb-height, calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  --sjs-postcss-fix-slider-thumb-color: var(--lbr-slider-thumb-color, var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))));
  --sjs-postcss-fix-slider-tooltip-pointer-width: var(--lbr-tooltip-pointer-width, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  --sjs-postcss-fix-slider-tooltip-pointer-height: var(--lbr-tooltip-pointer-height, calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  --sjs-postcss-fix-slider-path-height-preview: var(--lbr-slider-path-height-preview, calc(0.125 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
}

.sd-slider {
  position: relative;
  display: flex;
  width: 100%;
  margin-top: var(--lbr-slider-margin-top, var(--sjs-base-unit, var(--base-unit, 8px)));
  flex-direction: column;
  gap: var(--lbr-slider-gap, var(--sjs-base-unit, var(--base-unit, 8px)));
}

.sd-slider-container {
  position: relative;
  min-height: var(--sjs-postcss-fix-slider-thumb-height);
  cursor: pointer;
  margin-left: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-right: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-slider-container__slider {
  position: relative;
}

.sd-slider__track {
  position: absolute;
  height: var(--sjs-postcss-fix-slider-path-height);
  top: calc(var(--sjs-postcss-fix-slider-thumb-height) / 2 - var(--sjs-postcss-fix-slider-path-height) / 2);
}

.sd-slider__inverse-track {
  background: var(--sjs-postcss-fix-slider-path-color);
}
.sd-slider__inverse-track::after, .sd-slider__inverse-track::before {
  background: var(--sjs-postcss-fix-slider-path-color);
}

.sd-slider__inverse-track--left {
  left: 0;
}
.sd-slider__inverse-track--left::before {
  position: absolute;
  content: "";
  height: var(--sjs-postcss-fix-slider-path-height);
  width: var(--sjs-base-unit, var(--base-unit, 8px));
  left: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

.sd-slider__inverse-track--right {
  right: 0;
}
.sd-slider__inverse-track--right::after {
  position: absolute;
  content: "";
  height: var(--sjs-postcss-fix-slider-path-height);
  width: var(--sjs-base-unit, var(--base-unit, 8px));
  right: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

.sd-slider__range-track {
  left: 0;
  background: var(--sjs-postcss-fix-slider-path-color-filled);
}
.sd-slider__range-track::before {
  position: absolute;
  content: "";
  height: var(--sjs-postcss-fix-slider-path-height);
  width: var(--sjs-base-unit, var(--base-unit, 8px));
  left: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  background: var(--sjs-postcss-fix-slider-path-color-filled);
}
.sd-slider__range-track::after {
  position: absolute;
  content: "";
  height: var(--sjs-postcss-fix-slider-path-height);
  width: var(--sjs-base-unit, var(--base-unit, 8px));
  right: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  background: var(--sjs-postcss-fix-slider-path-color-filled);
}

.sd-slider__thumb-container {
  position: absolute;
  margin-left: calc(var(--sjs-postcss-fix-slider-thumb-width) / -2);
  z-index: 2;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: var(--sjs-postcss-fix-slider-thumb-width);
  height: var(--sjs-postcss-fix-slider-thumb-height);
  border-radius: var(--lbr-slider-thumb-corner-radius, 1024px);
}

.sd-slider__input:hover + .sd-slider__thumb-container .sd-slider__tooltip--on-hover {
  opacity: 1;
}
.sd-slider__input:hover + .sd-slider__thumb-container .sd-slider__thumb-dot {
  width: var(--lbr-slider-thumb-dot-width-hovering, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  height: var(--lbr-slider-thumb-dot-height-hovering, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
}

.sd-slider__thumb-container--indeterminate .sd-slider__thumb-dot {
  background: var(--lbr-slider-thumb-dot-color-undefined, transparent);
}

.sd-slider__thumb-container--focused .sd-slider__thumb {
  box-shadow: none;
  border: var(--lbr-slider-thumb-border-width-focused, 2px) solid var(--lbr-slider-thumb-border-color-focused, var(--sjs-primary-backcolor, var(--primary, #19b394)));
}
.sd-slider__thumb-container--focused .sd-slider__tooltip--on-hover {
  opacity: 1;
}

.sd-slider__thumb {
  display: flex;
  padding: var(--lbr-slider-thumb-padding-top, calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-slider-thumb-padding-right, calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-slider-thumb-padding-bottom, calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-slider-thumb-padding-left, calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  justify-content: center;
  align-items: center;
  border-radius: var(--lbr-slider-thumb-corner-radius, 1024px);
  background: var(--sjs-postcss-fix-slider-thumb-color);
  box-shadow: var(--lbr-slider-thumb-shadow-offset-x, 0px) var(--lbr-slider-thumb-shadow-offset-y, 1px) var(--lbr-slider-thumb-shadow-blur, 2px) var(--lbr-slider-thumb-shadow-spread, 0px) var(--lbr-slider-thumb-shadow-color, rgba(0, 0, 0, 0.15));
}

.sd-slider__thumb-dot {
  display: flex;
  border-radius: var(--lbr-slider-thumb-dot-corner-radius, 1024px);
  background: var(--lbr-slider-thumb-dot-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));
  width: var(--lbr-slider-thumb-dot-width, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  height: var(--lbr-slider-thumb-dot-height, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  transition: width var(--sjs-transition-duration, 150ms), height var(--sjs-transition-duration, 150ms);
}

.sd-slider__tooltip {
  opacity: 1;
  position: absolute;
  bottom: calc(100% + var(--sjs-postcss-fix-slider-tooltip-pointer-height));
  box-shadow: var(--lbr-tooltip-shadow-2-offset-x, 0px) var(--lbr-tooltip-shadow-2-offset-y, 1px) var(--lbr-tooltip-shadow-2-blur, 2px) var(--lbr-tooltip-shadow-2-spread, 0px) var(--lbr-tooltip-shadow-2-color, rgba(0, 0, 0, 0.15)), var(--lbr-tooltip-shadow-1-offset-x, 0px) var(--lbr-tooltip-shadow-1-offset-y, 2px) var(--lbr-tooltip-shadow-1-blur, 6px) var(--lbr-tooltip-shadow-1-spread, 0px) var(--lbr-tooltip-shadow-1-color, rgba(0, 0, 0, 0.1));
  display: flex;
  flex-direction: column;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border-radius: var(--lbr-tooltip-corder-radius, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  transition: opacity var(--sjs-transition-duration, 150ms);
}

.sd-slider__tooltip-panel {
  padding: var(--lbr-tooltip-padding-top, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-tooltip-padding-right, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-tooltip-padding-bottom, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-tooltip-padding-left, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  border-radius: var(--lbr-tooltip-corder-radius, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  background: var(--lbr-tooltip-background-color, var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))));
  display: flex;
  justify-content: center;
  align-items: center;
}
.sd-slider__tooltip-panel::after {
  content: " ";
  width: calc(var(--sjs-postcss-fix-slider-tooltip-pointer-height) * 1.41);
  height: calc(var(--sjs-postcss-fix-slider-tooltip-pointer-height) * 1.41);
  background: var(--lbr-tooltip-background-color, var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))));
  position: absolute;
  box-shadow: var(--ctr-tooltip-shadow-1-offset-x, 0px) var(--ctr-tooltip-shadow-1-offset-y, 2px) var(--ctr-tooltip-shadow-1-blur, 8px) var(--ctr-tooltip-shadow-1-spread, 0px) var(--ctr-tooltip-shadow-1-color, var(--sjs-special-glow, rgba(0, 76, 68, 0.1019607843))), var(--ctr-tooltip-shadow-2-offset-x, 0px) var(--ctr-tooltip-shadow-2-offset-y, 1px) var(--ctr-tooltip-shadow-2-blur, 2px) var(--ctr-tooltip-shadow-2-spread, 0px) var(--ctr-tooltip-shadow-2-color, var(--sjs-special-shadow, rgba(0, 0, 0, 0.2509803922)));
  bottom: calc(var(--sjs-postcss-fix-slider-tooltip-pointer-height) * 1.41 / -1);
  left: calc(50% - var(--sjs-postcss-fix-slider-tooltip-pointer-height) * 1.41);
  clip-path: polygon(-100% -100%, -100% 200%, 200% 200%);
  transform: translate(calc(var(--sjs-postcss-fix-slider-tooltip-pointer-height) / 1.41), calc(var(--sjs-postcss-fix-slider-tooltip-pointer-height) / -1.41)) rotate(-45deg);
}

.sd-slider__tooltip-value {
  font-family: var(--lbr-font-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-size: var(--lbr-font-small-size, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  font-weight: 600;
  line-height: var(--lbr-font-small-line-height, size(2));
  color: var(--lbr-tooltip-text-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));
}

.sd-slider__tooltip--on-hover {
  opacity: 0;
}

.sd-slider-labels-container {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin-left: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-right: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-slider-labels-container > div {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  display: flex;
  align-items: center;
  min-height: var(--sjs-postcss-fix-slider-thumb-height);
}

.sd-slider__label {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  position: absolute;
  width: var(--sjs-postcss-fix-slider-thumb-width);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--lbr-slider-label-gap, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  margin-left: calc(var(--sjs-postcss-fix-slider-thumb-width) / -2);
}

.sd-slider__label--long:first-child {
  align-items: flex-start;
}

.sd-slider__label--long:last-child {
  align-items: flex-end;
}

.sd-slider__label-tick {
  display: flex;
  width: var(--lbr-slider-label-tick-width, calc(0.125 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  height: var(--lbr-slider-label-tick-height, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  flex-direction: column;
  align-items: flex-start;
  background: var(--lbr-slider-label-tick-color, var(--sjs-border-default, var(--border, #d6d6d6)));
}

.sd-slider__label-text {
  color: var(--lbr-slider-label-text-color, var(--sjs-font-editorfont-color, var(--sjs-general-forecolor, rgba(0, 0, 0, 0.91))));
  text-align: center;
  font-family: var(--lbr-font-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-size: var(--lbr-font-default-size, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  font-style: normal;
  font-weight: 400;
  line-height: var(--lbr-font-default-line-height, calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
}

input[type=range].sd-slider__input {
  position: absolute;
  pointer-events: none;
  -webkit-appearance: none;
  z-index: 4;
  height: var(--sjs-postcss-fix-slider-thumb-height);
  top: 0;
  width: 100%;
  opacity: 0;
  margin: 0;
}

input[type=range][name=range-input].sd-slider__input {
  z-index: 3;
}
input[type=range][name=range-input].sd-slider__input:hover + .sd-slider-container .sd-slider__tooltip--on-hover {
  opacity: 1;
}

input[type=range].sd-slider__input:focus::-webkit-slider-runnable-track {
  background: transparent;
  border: transparent;
}

input[type=range].sd-slider__input::-webkit-slider-runnable-track {
  margin: 0 calc(var(--sjs-postcss-fix-slider-thumb-width) / -2);
  height: var(--sjs-postcss-fix-slider-path-height);
}

input[type=range].sd-slider__input::-moz-range-track {
  margin: 0 calc(var(--sjs-postcss-fix-slider-thumb-width) / -2);
  height: var(--sjs-postcss-fix-slider-path-height);
}

input[type=range].sd-slider__input:focus {
  outline: none;
}

input[type=range].sd-slider__input::-webkit-slider-thumb {
  pointer-events: all;
  height: 67px;
  width: var(--sjs-postcss-fix-slider-thumb-width);
  border-radius: 0px;
  border: 0 none;
  background: var(--sjs-primary-backcolor, var(--primary, #19b394));
  -webkit-appearance: none;
  cursor: pointer;
  top: -50px;
  position: relative;
}

input[type=range][name=range-input].sd-slider__input::-webkit-slider-thumb {
  height: var(--sjs-postcss-fix-slider-thumb-height);
  top: 0;
}

input[type=range].sd-slider__input::-moz-range-thumb {
  pointer-events: all;
  height: 75px;
  width: var(--sjs-postcss-fix-slider-thumb-width);
  border-radius: 0px;
  border: 0 none;
  background: var(--sjs-primary-backcolor, var(--primary, #19b394));
  -webkit-appearance: none;
  cursor: pointer;
  top: -20px;
  position: relative;
}

input[type=range][name=range-input].sd-slider__input::-moz-range-thumb {
  height: var(--sjs-postcss-fix-slider-thumb-height);
  top: 0;
}

input[type=range].sd-slider__input::-ms-fill-lower {
  background: transparent;
  border: 0 none;
}

input[type=range].sd-slider__input::-ms-fill-upper {
  background: transparent;
  border: 0 none;
}

input[type=range].sd-slider__input::-ms-tooltip {
  display: none;
}

:root {
  --sjs-range-slider-range-input-thumb-width: 0px;
  --sjs-range-slider-range-input-thumb-left: 0;
  --sjs-range-slider-range-input-thumb-position: absolute;
}

input[type=range][name=range-input].sd-slider__input::-webkit-slider-thumb {
  width: var(--sjs-range-slider-range-input-thumb-width, 0px);
  left: var(--sjs-range-slider-range-input-thumb-left, 0);
  position: var(--sjs-range-slider-range-input-thumb-position, relative);
}

input[type=range][name=range-input].sd-slider__input::-moz-range-thumb {
  width: var(--sjs-range-slider-range-input-thumb-width, 0px);
  left: var(--sjs-range-slider-range-input-thumb-left, 0);
  position: var(--sjs-range-slider-range-input-thumb-position, relative);
}

.sd-question--readonly .sd-slider__tooltip,
.sd-question--preview .sd-slider__tooltip {
  display: none;
}

.sd-question--readonly .sd-slider__input,
.sd-question--readonly .sd-slider-container,
.sd-question--readonly .sd-slider__thumb-container,
.sd-question--readonly .sd-slider__label {
  cursor: default;
}
.sd-question--readonly input[type=range].sd-slider__input::-webkit-slider-thumb {
  cursor: default;
}
.sd-question--readonly input[type=range].sd-slider__input::-moz-range-thumb {
  cursor: default;
}
.sd-question--readonly .sd-slider__input:hover + .sd-slider__thumb-container .sd-slider__thumb-dot {
  width: var(--lbr-slider-thumb-dot-width, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  height: var(--lbr-slider-thumb-dot-height, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
}
.sd-question--readonly .sd-slider__thumb-container--focused .sd-slider__thumb {
  box-shadow: none;
  border: var(--lbr-slider-thumb-border-width-read-only, 2px) solid var(--lbr-slider-thumb-border-color-read-only, var(--sjs-general-forecolor, var(--foreground, #161616)));
}
.sd-question--readonly .sd-slider__thumb {
  box-shadow: none;
  border: var(--lbr-slider-thumb-border-width-read-only, 2px) solid var(--lbr-slider-thumb-border-color-read-only, var(--sjs-general-forecolor, var(--foreground, #161616)));
}
.sd-question--readonly .sd-slider__thumb .sd-slider__thumb-dot {
  background: transparent;
}
.sd-question--readonly .sd-slider__inverse-track {
  background: var(--lbr-slider-path-color-read-only, var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248))));
}
.sd-question--readonly .sd-slider__inverse-track::after, .sd-question--readonly .sd-slider__inverse-track::before {
  background: var(--lbr-slider-path-color-read-only, var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248))));
}
.sd-question--readonly .sd-slider__range-track {
  background: var(--lbr-slider-path-color-filled-read-only, var(--sjs-general-forecolor, var(--foreground, #161616)));
}
.sd-question--readonly .sd-slider__range-track::before {
  background: var(--lbr-slider-path-color-filled-read-only, var(--sjs-general-forecolor, var(--foreground, #161616)));
}
.sd-question--readonly .sd-slider__range-track::after {
  background: var(--lbr-slider-path-color-filled-read-only, var(--sjs-general-forecolor, var(--foreground, #161616)));
}
.sd-question--readonly .sd-slider__label-tick {
  background: var(--lbr-slider-label-tick-color, var(--sjs-border-light, var(--border-light, #eaeaea)));
}

.sd-question--preview .sd-slider--single .sd-slider__inverse-track--left::before {
  background: var(--lbr-slider-path-color-filled-preview, var(--sjs-general-forecolor, var(--foreground, #161616)));
}
.sd-question--preview .sd-slider__track {
  top: calc(var(--sjs-postcss-fix-slider-thumb-height) / 2 - var(--sjs-postcss-fix-slider-path-height-preview) / 2);
}
.sd-question--preview .sd-slider__input:hover + .sd-slider__thumb-container .sd-slider__thumb-dot {
  width: var(--lbr-slider-thumb-dot-width-preivew, calc(0.125 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  height: var(--lbr-slider-thumb-dot-height-preview, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
}
.sd-question--preview .sd-slider__thumb-container--focused .sd-slider__thumb {
  box-shadow: none;
  border: none;
}
.sd-question--preview .sd-slider__thumb {
  box-shadow: none;
  padding: 0;
}
.sd-question--preview .sd-slider__thumb .sd-slider__thumb-dot {
  width: var(--lbr-slider-thumb-dot-width-preivew, calc(0.125 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  height: var(--lbr-slider-thumb-dot-height-preview, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  background: var(--lbr-slider-thumb-dot-color-preview, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)));
}
.sd-question--preview .sd-slider__inverse-track {
  height: var(--sjs-postcss-fix-slider-path-height-preview);
  background: var(--lbr-slider-path-color-preview, var(--sjs-border-light, var(--border-light, #eaeaea)));
}
.sd-question--preview .sd-slider__inverse-track::after, .sd-question--preview .sd-slider__inverse-track::before {
  height: var(--sjs-postcss-fix-slider-path-height-preview);
  background: var(--lbr-slider-path-color-preview, var(--sjs-border-light, var(--border-light, #eaeaea)));
}
.sd-question--preview .sd-slider__range-track {
  height: var(--sjs-postcss-fix-slider-path-height-preview);
  background: var(--lbr-slider-path-color-filled-preview, var(--sjs-general-forecolor, var(--foreground, #161616)));
}
.sd-question--preview .sd-slider__range-track::before {
  height: var(--sjs-postcss-fix-slider-path-height-preview);
  display: none;
}
.sd-question--preview .sd-slider__range-track::after {
  height: var(--sjs-postcss-fix-slider-path-height-preview);
  display: none;
}
.sd-question--preview .sd-slider--negative-scale .sd-slider__inverse-track--left::before {
  background: var(--lbr-slider-path-color-preview, var(--sjs-border-light, var(--border-light, #eaeaea)));
}
.sd-question--preview .sd-slider__label-tick {
  background: var(--lbr-slider-label-tick-color-preview, var(--sjs-general-forecolor, var(--foreground, #161616)));
}

.sd-question--error .sd-slider__inverse-track {
  background: var(--lbr-slider-path-color-error, var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1))));
}
.sd-question--error .sd-slider__inverse-track::after, .sd-question--error .sd-slider__inverse-track::before {
  background: var(--lbr-slider-path-color-error, var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1))));
}
.sd-question--error .sd-slider__range-track {
  background: var(--lbr-slider-path-color-filled-error, var(--sjs-special-red, var(--red, #e60a3e)));
}
.sd-question--error .sd-slider__range-track::before {
  background: var(--lbr-slider-path-color-filled-error, var(--sjs-special-red, var(--red, #e60a3e)));
}
.sd-question--error .sd-slider__range-track::after {
  background: var(--lbr-slider-path-color-filled-error, var(--sjs-special-red, var(--red, #e60a3e)));
}
.sd-question--error .sd-slider__thumb-dot {
  background: var(--lbr-slider-thumb-dot-color-error, var(--sjs-special-red, var(--red, #e60a3e)));
}

.sd-slider--design-mode .sd-slider__input,
.sd-slider--design-mode .sd-slider-container,
.sd-slider--design-mode .sd-slider__thumb-container,
.sd-slider--design-mode .sd-slider__label {
  cursor: default;
}
.sd-slider--design-mode input[type=range].sd-slider__input::-webkit-slider-thumb {
  cursor: default;
}
.sd-slider--design-mode input[type=range].sd-slider__input::-moz-range-thumb {
  cursor: default;
}
.sd-slider--design-mode .sd-slider__input:hover + .sd-slider__thumb-container .sd-slider__tooltip--on-hover {
  opacity: 0;
}
.sd-slider--design-mode .sd-slider__input:hover + .sd-slider__thumb-container .sd-slider__thumb-dot {
  width: var(--lbr-slider-thumb-dot-width-hovering, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  height: var(--lbr-slider-thumb-dot-height-hovering, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
}
.sd-slider--design-mode input[type=range][name=range-input].sd-slider__input:hover + .sd-slider-container .sd-slider__tooltip--on-hover {
  opacity: 0;
}

.sd-slider--negative-scale .sd-slider__range-track::before {
  display: none;
}
.sd-slider--negative-scale .sd-slider__range-track::after {
  display: none;
}

.sd-slider--animated-thumb-mode .sd-slider__thumb-container {
  transition: left var(--sjs-transition-duration, 150ms);
}
.sd-slider--animated-thumb-mode .sd-slider__track {
  transition: left var(--sjs-transition-duration, 150ms), right var(--sjs-transition-duration, 150ms), width var(--sjs-transition-duration, 150ms);
}

[dir=rtl] .sd-slider,
[dir=rtl] .sd-slider__label-text,
[dir=rtl] .sd-slider__input,
[dir=rtl] .sd-slider__tooltip-value,
[style*="direction:rtl"] .sd-slider,
[style*="direction:rtl"] .sd-slider__label-text,
[style*="direction:rtl"] .sd-slider__input,
[style*="direction:rtl"] .sd-slider__tooltip-value,
[style*="direction: rtl"] .sd-slider,
[style*="direction: rtl"] .sd-slider__label-text,
[style*="direction: rtl"] .sd-slider__input,
[style*="direction: rtl"] .sd-slider__tooltip-value {
  transform: scale(-1, 1);
}
[dir=rtl] .sd-slider__label-text,
[dir=rtl] .sd-slider__tooltip-value,
[style*="direction:rtl"] .sd-slider__label-text,
[style*="direction:rtl"] .sd-slider__tooltip-value,
[style*="direction: rtl"] .sd-slider__label-text,
[style*="direction: rtl"] .sd-slider__tooltip-value {
  direction: ltr;
}

.sd-paneldynamic .sd-progress {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  z-index: 2;
  transform: translateY(-1px);
}
.sd-paneldynamic > .sd-panel {
  padding-top: 1px;
  padding-bottom: calc(0.5 * var(--sd-base-vertical-padding));
}
.sd-paneldynamic .sd-paneldynamic__panel-wrapper > .sd-panel > .sd-panel__header {
  padding-top: var(--sd-base-vertical-padding);
  padding-bottom: 0;
}
.sd-paneldynamic .sd-paneldynamic__panel-wrapper > .sd-panel > .sd-panel__header:after {
  display: none;
}
.sd-paneldynamic .sd-paneldynamic__panel-wrapper > .sd-panel > .sd-panel__header > .sd-panel__title {
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sd-question--readonly .sd-paneldynamic .sd-question__placeholder,
.sd-question--preview .sd-paneldynamic .sd-question__placeholder {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-paneldynamic__separator {
  display: none;
}

.sd-paneldynamic__panel-wrapper {
  box-sizing: border-box;
  padding-bottom: calc(1 * var(--sd-base-padding));
}

.sd-paneldynamic__panel-wrapper:after {
  display: table;
  clear: both;
  content: " ";
}

.sd-paneldynamic__footer .sd-paneldynamic__separator,
.sd-paneldynamic__panel-wrapper--list ~ .sd-paneldynamic__panel-wrapper--list:before {
  content: " ";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0;
  border-color: var(--sjs-border-light, var(--border-light, #eaeaea));
  background: var(--sjs-border-light, var(--border-light, #eaeaea));
  height: 1px;
  border: none;
}

.sd-paneldynamic__separator:only-child {
  display: none;
}

.sd-paneldynamic__panel-wrapper--in-row {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.sd-paneldynamic__footer {
  clear: both;
}
.sd-paneldynamic__footer .sd-paneldynamic__prev-btn,
.sd-paneldynamic__footer .sd-paneldynamic__next-btn {
  display: block;
}
.sd-paneldynamic__footer .sd-paneldynamic__prev-btn svg,
.sd-paneldynamic__footer .sd-paneldynamic__next-btn svg {
  width: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-paneldynamic__footer .sd-paneldynamic__add-btn,
.sd-paneldynamic__footer .sd-paneldynamic__progress-text,
.sd-paneldynamic__footer .sd-paneldynamic__progress--bottom {
  display: initial;
}

.sd-paneldynamic__buttons-container {
  display: flex;
  align-items: center;
  padding: calc(var(--sd-base-vertical-padding) - var(--sjs-base-unit, var(--base-unit, 8px))) 0;
}

.sd-paneldynamic__progress-container {
  display: flex;
  align-items: center;
  margin-left: auto;
  margin-right: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-paneldynamic__progress-text {
  font-size: var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));
  color: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
  margin: 0;
  margin-right: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-paneldynamic__prev-btn,
.sd-paneldynamic__next-btn {
  width: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-paneldynamic__prev-btn .sv-svg-icon,
.sd-paneldynamic__next-btn .sv-svg-icon {
  display: block;
}

.sd-paneldynamic__prev-btn {
  margin-right: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-paneldynamic__next-btn {
  margin-left: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-right: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  transform: rotate(180deg);
}

.sd-paneldynamic__placeholder .sd-paneldynamic__add-btn {
  display: initial;
  margin-left: 0;
}

.sd-question--empty.sd-question--paneldynamic > .sd-question__content {
  padding-bottom: var(--sd-base-padding);
  --animation-padding-bottom: var(--sd-base-padding);
}

.sd-question--paneldynamic:not(.sd-question--empty) > .sd-question__content > .sd-question__comment-area {
  padding-bottom: var(--sd-base-padding);
}

.sd-paneldynamic__buttons-container .sd-action-bar {
  width: 100%;
  margin: 0 calc(-3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(100% + 6 * var(--sjs-base-unit, var(--base-unit, 8px)));
}

.sd-paneldynamic__panel-footer {
  border-top: none;
  position: relative;
  top: calc(0.5 * var(--sd-base-vertical-padding));
  margin-right: calc(-3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  justify-content: flex-end;
}

.sd-paneldynamic__panel-footer .sv-action:not(.sv-action--hidden) {
  margin-bottom: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-paneldynamic__tabs-container {
  padding-top: var(--sd-base-padding);
}
.sd-paneldynamic__tabs-container .sd-tabs-toolbar {
  margin: 0 0 -1px calc(-2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(100% + 4 * var(--sjs-base-unit, var(--base-unit, 8px)));
}
.sd-paneldynamic__tabs-container:after {
  content: " ";
  display: block;
  height: 1px;
  position: relative;
  background: var(--sjs-border-light, var(--border-light, #eaeaea));
  bottom: 0;
  inset-inline-start: calc(-1 * var(--sd-base-padding));
  width: calc(100% + 2 * var(--sd-base-padding));
}

.sd-paneldynamic__tabs-container--with-header {
  padding-top: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-tabs-toolbar.sv-action-bar {
  align-items: flex-start;
  z-index: 1;
}

.sd-tabs-toolbar.sd-tabs-toolbar--left {
  justify-content: flex-start;
}

.sd-tabs-toolbar.sd-tabs-toolbar--right {
  justify-content: flex-end;
}

.sd-tabs-toolbar.sd-tabs-toolbar--center {
  justify-content: center;
}

.sd-tab-item {
  margin: 0 calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding: var(--sjs-base-unit, var(--base-unit, 8px)) 0 calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: flex;
  box-sizing: border-box;
  border: none;
  background-color: transparent;
  cursor: pointer;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  color: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
  overflow-x: hidden;
  white-space: nowrap;
  box-shadow: inset 0px 0px 0px var(--sjs-primary-backcolor, var(--primary, #19b394));
  transition: box-shadow var(--sjs-transition-duration, 150ms);
}
.sd-tab-item:hover, .sd-tab-item:focus-visible {
  outline: none;
  box-shadow: inset 0px -2px 0px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-tab-item.sd-tab-item--pressed {
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  box-shadow: inset 0px -2px 0px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-tab-item--icon {
  padding: var(--sjs-base-unit, var(--base-unit, 8px));
  width: auto;
  border-radius: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-tab-item--icon use {
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
  opacity: 0.5;
}

.sd-tab-item--icon:hover,
.sd-tab-item--icon.sd-tab-item--pressed {
  background-color: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
  box-shadow: none;
}
.sd-tab-item--icon:hover use,
.sd-tab-item--icon.sd-tab-item--pressed use {
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-tab-item--icon:hover use {
  opacity: 1;
}

.sd-tabs-toolbar .sv-dots {
  width: auto;
}

.sd-tabs-toolbar .sv-dots.sv-action--hidden {
  width: 0;
}

.sd-tab-item__title {
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: flex;
  align-items: center;
}

.sd-question__title ~ .sd-tabs-toolbar {
  margin-top: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-paneldynamic__header.sd-element__header.sd-paneldynamic__header-tab {
  padding-bottom: 0;
}

.sd-element--collapsed .sd-paneldynamic__header.sd-element__header.sd-paneldynamic__header-tab {
  padding-bottom: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-paneldynamic__header.sd-element__header.sd-paneldynamic__header-tab::after {
  content: none;
}

.sd-question--paneldynamic.sd-element--with-frame {
  padding-bottom: 0;
}

.sd-paneldynamic__panels-container {
  position: relative;
  overflow: hidden;
  margin-left: calc(-1 * var(--sd-base-padding));
  padding-left: var(--sd-base-padding);
  margin-right: calc(-1 * var(--sd-base-padding));
  padding-right: var(--sd-base-padding);
}

.sd-paneldynamic__panel-wrapper {
  box-sizing: border-box;
}

@keyframes movePanel {
  from {
    transform: translateX(var(--sjs-pd-tab-move-margin));
  }
  to {
    transform: translateX(0);
  }
}
.sd-paneldynamic__panel-wrapper--enter.sv-pd-animation-left,
.sd-paneldynamic__panel-wrapper--enter.sv-pd-animation-right {
  --sjs-pd-tab-animation-delay: 0ms;
  animation-name: movePanel, changeHeight, paddingFadeIn, fadeIn;
  animation-duration: var(--sjs-pd-tab-move-in-duration, 250ms), var(--sjs-pd-tab-height-change-duration, 250ms), var(--sjs-pd-tab-height-change-duration, 250ms), var(--sjs-pd-tab-fade-in-duration, 250ms);
  animation-delay: calc(var(--sjs-pd-tab-move-in-delay, 100ms) + var(--sjs-pd-tab-animation-delay)), calc(var(--sjs-pd-tab-height-change-delay, 0ms) + var(--sjs-pd-tab-animation-delay)), calc(var(--sjs-pd-tab-height-change-delay, 0ms) + var(--sjs-pd-tab-animation-delay)), calc(var(--sjs-pd-tab-fade-in-delay, 100ms) + var(--sjs-pd-tab-animation-delay));
  animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
  animation-fill-mode: forwards;
  opacity: 0;
  padding-bottom: 0;
  transform: translateX(var(--sjs-pd-tab-move-margin));
  height: var(--animation-height-from);
  --animation-padding-top: 0;
  --animation-padding-bottom: calc(1 * var(--sd-base-padding));
}

.sd-paneldynamic__panel-wrapper--enter.sv-pd-animation-left {
  --sjs-pd-tab-move-margin: calc(1 * var(--sjs-pd-tab-move-in-margin, 50%));
}

.sd-paneldynamic__panel-wrapper--enter.sv-pd-animation-right {
  --sjs-pd-tab-move-margin: calc(-1 * var(--sjs-pd-tab-move-in-margin, 50%));
}

.sd-paneldynamic__panel-wrapper--leave.sv-pd-animation-left,
.sd-paneldynamic__panel-wrapper--leave.sv-pd-animation-right {
  animation-name: fadeIn, movePanel;
  animation-duration: var(--sjs-pd-tab-fade-out-duration, 250ms), var(--sjs-pd-tab-move-out-duration, 250ms);
  animation-delay: var(--sjs-pd-tab-fade-out-delay, 0ms), var(--sjs-pd-tab-move-out-delay, 0ms);
  animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
  animation-direction: reverse;
  animation-fill-mode: forwards;
  position: absolute;
  left: var(--sd-base-padding);
  top: 0;
  width: calc(100% - 2 * var(--sd-base-padding));
}

.sd-paneldynamic__panel-wrapper--leave.sv-pd-animation-left {
  --sjs-pd-tab-move-margin: calc(-1 * var(--sjs-pd-tab-move-out-margin, 50%));
}

.sd-paneldynamic__panel-wrapper--leave.sv-pd-animation-right {
  --sjs-pd-tab-move-margin: calc(1 * var(--sjs-pd-tab-move-out-margin, 50%));
}

.sd-paneldynamic__panel-wrapper--enter.sv-pd-animation-adding {
  animation-name: fadeIn, changeHeight, paddingFadeIn;
  animation-duration: var(--sjs-pd-tab-add-fade-in-duration, 500ms), var(--sjs-pd-tab-height-change-duration, 250ms), var(--sjs-pd-tab-height-change-duration, 250ms);
  animation-delay: calc(var(--sjs-pd-tab-add-fade-in-delay, 250ms) + var(--sjs-pd-tab-animation-delay)), calc(var(--sjs-pd-tab-height-change-delay, 0ms) + var(--sjs-pd-tab-animation-delay)), calc(var(--sjs-pd-tab-height-change-delay, 0ms) + var(--sjs-pd-tab-animation-delay));
  animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
  animation-fill-mode: forwards;
  transform: translateX(0);
}

.sd-paneldynamic__panel-wrapper--enter.sv-pd-animation-removing {
  --sjs-pd-tab-animation-delay: var(--sjs-pd-tab-remove-fade-in-delay, 150ms);
}

.sd-paneldynamic__panel-wrapper--leave.sv-pd-animation-removing {
  animation-name: fadeIn;
  animation-duration: var(--sjs-pd-tab-remove-fade-out-duration, 150ms);
  animation-delay: var(--sjs-pd-tab-remove-fade-out-delay, 0ms);
  animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
  animation-direction: reverse;
  animation-fill-mode: forwards;
  position: absolute;
  left: var(--sd-base-padding);
  top: 0;
  width: calc(100% - 2 * var(--sd-base-padding));
}

.sd-paneldynamic__panel-wrapper--enter,
.sd-paneldynamic__panel-wrapper--leave {
  animation-name: fadeIn, moveInWithOverflow;
  animation-fill-mode: forwards;
  --animation-padding-top: 0;
  --animation-padding-bottom: calc(1 * var(--sd-base-padding));
  min-height: 0 !important;
}

.sd-paneldynamic__panel-wrapper--enter {
  opacity: 0;
  animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
  animation-duration: var(--sjs-pd-list-fade-in-duration, 500ms), var(--sjs-pd-list-move-in-duration, 250ms), var(--sjs-pd-list-move-in-duration, 250ms);
  animation-delay: var(--sjs-pd-list-fade-in-delay, 250ms), 0s, 0s;
}

.sd-paneldynamic__panel-wrapper--leave {
  animation-direction: reverse;
  animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
  animation-duration: var(--sjs-pd-list-fade-out-duration, 150ms), var(--sjs-pd-list-move-out-duration, 250ms), var(--sjs-pd-list-move-out-duration, 250ms);
  animation-delay: 0s, var(--sjs-pd-list-move-out-delay, 100ms), var(--sjs-pd-list-move-out-delay, 100ms);
  --animation-padding-bottom: calc(1 * var(--sd-base-padding));
}

.sd-file {
  position: relative;
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  min-height: calc(36 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: border-box;
  padding: 0 calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-file .sv-action-bar {
  padding: var(--sjs-base-unit, var(--base-unit, 8px)) 0;
  justify-content: center;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
}
.sd-file .sv-action-bar .sv-action-bar-item {
  height: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  color: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
  border-radius: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-file .sv-action-bar #fileIndex .sv-action-bar-item {
  padding: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
  font-weight: 600;
}
.sd-file .sv-action-bar #fileIndex .sv-action-bar-item:hover {
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
}
.sd-file .sv-action-bar #fileIndex .sv-action-bar-item:disabled {
  opacity: initial;
}

.sd-file__decorator {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: calc(0 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
  border: 1px dashed var(--sjs-border-default, var(--border, #d6d6d6));
  container-type: inline-size;
}

.sd-file--answered .sd-file__decorator {
  container-type: unset;
}

.sd-file__decorator--drag {
  z-index: 1;
  border: 1px solid var(--sjs-primary-backcolor, var(--primary, #19b394));
  background: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
  box-shadow: inset 0 0 0 1px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-file__drag-area-placeholder {
  text-align: center;
  white-space: normal;
  color: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  padding: 0 calc(8 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

@container (max-width: 496px) {
  .sd-file__drag-area-placeholder {
    padding: 0 var(--sjs-base-unit, var(--base-unit, 8px));
  }
}
@container (max-width: 176px) {
  .sd-file__drag-area-placeholder {
    display: none;
  }
  .sd-file__decorator .sd-action {
    padding: var(--sjs-base-unit, var(--base-unit, 8px));
  }
  .sd-file__decorator .sd-action .sv-svg-icon {
    margin-left: 0;
  }
  .sd-file__decorator .sd-file__actions-container {
    flex-direction: column;
  }
  .sd-file__decorator .sd-file__actions-container span {
    display: none;
  }
}
.sd-root-modern--mobile .sd-file__decorator {
  padding: 0 calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-file__choose-btn--text {
  display: block;
  font-weight: 600;
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  cursor: pointer;
}
.sd-file__choose-btn--text .sv-svg-icon {
  margin-left: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-file__choose-btn--icon > span {
  display: none;
}

.sd-file__wrapper {
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
}

.sd-file__actions-container {
  margin-top: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  flex-wrap: wrap;
  justify-content: center;
}
.sd-file__actions-container .sv-action--hidden {
  display: none;
}

.sd-file--answered .sd-file__actions-container {
  z-index: 2;
  margin-top: 0;
  gap: var(--sjs-base-unit, var(--base-unit, 8px));
  top: var(--sjs-base-unit, var(--base-unit, 8px));
  right: var(--sjs-base-unit, var(--base-unit, 8px));
  position: absolute;
}

.sd-file--chose-btn--as .sd-file--answered .sd-file__actions-container {
  inset-inline-end: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))) + 5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-file__list {
  display: flex;
  position: relative;
  overflow: hidden;
  box-sizing: content-box;
  flex-direction: row;
  padding: calc(10.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
  min-height: calc(15 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  max-height: calc(15 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: 100%;
}

.sd-file__page {
  display: flex;
  left: 0;
  align-items: stretch;
  justify-content: center;
  gap: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(100% - 21 * var(--sjs-base-unit, var(--base-unit, 8px)));
  width: 100%;
  position: absolute;
}

@keyframes file-page-to-right {
  from {
    opacity: 1;
    left: 0;
  }
  to {
    opacity: 0;
    left: 100%;
  }
}
@keyframes file-page-from-right {
  from {
    opacity: 0;
    left: 100%;
  }
  to {
    opacity: 1;
    left: 0;
  }
}
@keyframes file-page-from-left {
  from {
    opacity: 0;
    left: -100%;
  }
  to {
    opacity: 1;
    left: 0;
  }
}
@keyframes file-page-to-left {
  from {
    opacity: 1;
    left: 0;
  }
  to {
    opacity: 0;
    left: -100%;
  }
}
.sd-file__page--leave-to-right,
.sd-file__page--enter-from-right,
.sd-file__page--leave-to-left,
.sd-file__page--enter-from-left {
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}

.sd-file__page--leave-to-right {
  animation-name: file-page-to-right;
}

.sd-file__page--enter-from-right {
  animation-name: file-page-from-right;
}

.sd-file__page--leave-to-left {
  animation-name: file-page-to-left;
}

.sd-file__page--enter-from-left {
  animation-name: file-page-from-left;
}

.sd-file__preview-item {
  position: relative;
  display: flex;
  align-items: stretch;
  flex-direction: column;
  min-height: 100%;
  width: calc(12 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin: 0;
  cursor: pointer;
}
.sd-file__preview-item .sd-file__default-image {
  width: calc(9 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(9 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-file__preview-item .sd-file__default-image use {
  fill: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
}
.sd-file__preview-item:hover .sd-file__remove-file-button {
  opacity: 1;
}
.sd-file__preview-item:hover .sd-file__sign a {
  text-decoration: underline;
}

.sd-file__sign {
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
  text-align: center;
  font-size: calc(0.75 * (var(--sjs-font-size, 16px)));
  line-height: var(--sjs-font-size, 16px);
}
.sd-file__sign a {
  display: block;
  text-decoration: none;
  color: var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));
  white-space: normal;
  word-break: break-all;
  width: calc(12 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  min-width: 100%;
  max-width: 100%;
  overflow: hidden;
  max-height: calc(3 * (var(--sjs-font-size, 16px)));
  text-overflow: ellipsis;
  line-height: var(--sjs-font-size, 16px);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.sd-file__remove-file-button {
  display: block;
  opacity: 0;
  position: absolute;
  left: 100%;
  top: 0;
  transform: translate(-50%, -50%);
  transition: opacity var(--sjs-transition-duration, 150ms);
}

.sd-file__image-wrapper--default-image .sd-file__remove-file-button {
  left: 50%;
  top: 50%;
  transform: translate(calc(3.5 * var(--sjs-base-unit, var(--base-unit, 8px)) - 50% - 1.5px), calc(-4.25 * var(--sjs-base-unit, var(--base-unit, 8px)) - 50% + 1.5px));
}

.sd-file__decorator--error {
  background-color: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
}

.sd-file__image-wrapper {
  position: relative;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(12 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  min-height: calc(12 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(12 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  background: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
}
.sd-file__image-wrapper img:not(.sd-file__default-image) {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: calc(12 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(12 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  -o-object-fit: contain;
     object-fit: contain;
}

.sd-file__image-wrapper--default-image {
  background: transparent;
}

.sd-file--single .sd-file__preview-item .sd-file__remove-file-button {
  display: none;
}

.sd-file--single-image {
  height: calc(36 * var(--sjs-base-unit, var(--base-unit, 8px)));
}
.sd-file--single-image .sd-file__page {
  height: 100%;
}
.sd-file--single-image .sd-file__preview-item {
  width: 100%;
  margin: 0;
}
.sd-file--single-image .sd-file__list {
  position: absolute;
  left: 0;
  padding: 0;
  height: 100%;
  max-height: 100%;
  width: 100%;
}
.sd-file--single-image .sd-file__image-wrapper {
  background-color: var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9));
  min-height: 100%;
  min-width: 100%;
}
.sd-file--single-image .sd-file__image-wrapper img {
  width: 100%;
  height: 100%;
}
.sd-file--single-image .sd-file__sign {
  position: absolute;
  margin: 0;
  width: 100%;
  min-height: 100%;
}
.sd-file--single-image .sd-file__sign a {
  color: transparent;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  height: 100%;
  outline: none;
}

.sd-file__image-wrapper.sd-file__image-wrapper--default-image {
  background: transparent;
}

.sd-file > input:focus + .sd-file__decorator .sd-file__choose-btn.sd-file__choose-btn--icon use {
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-file > input:focus + .sd-file__decorator .sd-file__choose-btn:not(.sd-file__choose-btn--icon) {
  background-color: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
}

.sd-file__drag-area {
  position: static;
  width: 100%;
}

.sd-file__change-camera-button {
  position: absolute;
  z-index: 2;
  left: var(--sjs-base-unit, var(--base-unit, 8px));
  top: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-file__close-camera-button {
  position: absolute;
  z-index: 2;
  right: var(--sjs-base-unit, var(--base-unit, 8px));
  top: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-context-btn.sd-file__take-picture-button {
  background-color: var(--sjs-special-red, var(--red, #e60a3e));
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-context-btn.sd-file__take-picture-button:hover, .sd-context-btn.sd-file__take-picture-button:focus {
  box-shadow: 0 0 0 2px var(--sjs-special-red, var(--red, #e60a3e));
}
.sd-context-btn.sd-file__take-picture-button .sv-svg-icon {
  height: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-context-btn.sd-file__take-picture-button .sv-svg-icon use {
  fill: var(--sjs-general-backcolor, var(--background, #fff));
}

.sd-file__video-container {
  background-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sd-file__loading-indicator {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  position: absolute;
  border: 1px dashed var(--sjs-border-default, var(--border, #d6d6d6));
  left: 0;
}
.sd-file__loading-indicator .sd-loading-indicator {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.sd-file__choose-file-btn--disabled {
  opacity: 0.25;
  cursor: default;
}

.sd-file--readonly .sd-context-btn {
  display: none;
}
.sd-file--readonly .sd-file__decorator {
  border-color: transparent;
}
.sd-file--readonly .sd-file__actions-container {
  display: none;
}
.sd-file--readonly .sd-file__image-wrapper {
  background: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
}
.sd-file--readonly .sd-file__drag-area-placeholder {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-file--preview .sd-context-btn {
  display: none;
}
.sd-file--preview .sd-file__decorator {
  border-color: transparent;
}
.sd-file--preview .sd-file__image-wrapper {
  background: transparent;
}
.sd-file--preview .sd-file__actions-container {
  display: none;
}
.sd-file--preview .sd-file__drag-area-placeholder {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
}

.sd-hidden {
  display: none !important;
}

.sd-body__navigation .sd-btn {
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(8 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  font-size: var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));
}

.sd-root--compact .sd-body__navigation .sd-btn:not(.sd-btn--action) {
  background-color: var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9));
}
.sd-root--compact .sd-body__navigation .sd-btn:not(.sd-btn--action):hover {
  background-color: var(--sjs-editorpanel-hovercolor, var(--sjs-general-backcolor-dim-dark, rgb(243, 243, 243)));
}

.sd-root-modern--mobile .sd-body__navigation .sv-action:not(.sv-action--hidden),
.sd-root-modern--mobile .sd-body__navigation .sd-btn {
  flex-grow: 1;
}
.sd-root-modern--mobile .sd-body__navigation .sd-btn {
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-body__navigation .sv-action--hidden {
  display: none;
}

.sd-btn {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  background: var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));
  border-radius: var(--sjs-corner-radius, 4px);
  cursor: pointer;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-style: normal;
  font-weight: 600;
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
  text-align: center;
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  border: none;
  outline: none;
  box-shadow: var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15)), 0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));
  transition: box-shadow var(--sjs-transition-duration, 150ms), background var(--sjs-transition-duration, 150ms);
}

.sd-btn--small {
  flex-grow: 1;
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-btn:hover {
  background-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
}

.sd-btn:focus-visible {
  box-shadow: var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-btn:disabled {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  opacity: 0.25;
  pointer-events: none;
}

.sd-btn--action {
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
}

.sd-btn--action:hover {
  color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
  background-color: var(--sjs-primary-backcolor-dark, rgb(20, 164, 139));
}

.sd-btn--action:disabled {
  color: var(--sjs-primary-forecolor-light, var(--primary-foreground-disabled, rgba(255, 255, 255, 0.25)));
  pointer-events: none;
}

.sd-btn--danger {
  background-color: var(--sjs-special-red, var(--red, #e60a3e));
  color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
}

.sd-btn--danger:hover {
  background-color: var(--sjs-special-red, var(--red, #e60a3e));
  color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
}

.sd-btn--danger:disabled {
  color: var(--sjs-special-red-forecolor, #ffffff);
  pointer-events: none;
}

.sd-body {
  width: 100%;
  box-sizing: border-box;
}
.sd-body .sd-body__page {
  min-width: min(100%, 300px);
}
.sd-body .sd-body__timer {
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
  box-sizing: border-box;
}
.sd-body.sd-body--static {
  max-width: calc(90 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-left: auto;
  margin-right: auto;
  padding-top: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-bottom: calc(10 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-body.sd-body--static .sd-body__timer,
.sd-body.sd-body--static .sd-body__navigation,
.sd-body.sd-body--static .sd-body__page {
  margin-left: 0;
  margin-right: 0;
}
.sd-body.sd-body--static .sd-body__navigation {
  padding-top: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-body.sd-body--static .sd-body__navigation.sd-action-bar {
  padding-left: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-right: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-body.sd-body--responsive {
  max-width: initial;
  padding: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: border-box;
}
.sd-body.sd-body--responsive .sd-page {
  padding: 0;
}
.sd-body.sd-body--responsive .sd-body__timer,
.sd-body.sd-body--responsive .sd-body__navigation {
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) 0;
}
.sd-body.sd-body--responsive .sd-body__navigation {
  padding-top: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-body.sd-body--responsive.sd-body--with-timer {
  max-width: calc(100% + var(--sd-timer-size) * -1.4444444444 + 6 * var(--sjs-base-unit, var(--base-unit, 8px)));
  margin-left: auto;
  margin-right: auto;
}

.sd-root-modern--mobile .sd-body.sd-body--with-timer.sd-body--responsive {
  max-width: initial;
  margin-left: 0;
  margin-right: 0;
}
.sd-root-modern--mobile .sd-body.sd-body--responsive, .sd-root-modern--mobile .sd-body.sd-body--static {
  padding: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-root-modern--mobile .sd-body.sd-body--responsive .sd-body__navigation, .sd-root-modern--mobile .sd-body.sd-body--static .sd-body__navigation {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

.sd-root--compact .sd-body.sd-body--responsive .sd-body__navigation, .sd-root--compact .sd-body.sd-body--static .sd-body__navigation {
  padding-top: calc(7 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-body__navigation.sd-action-bar {
  box-sizing: border-box;
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  flex-wrap: wrap;
  gap: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-body--empty {
  min-height: 400px;
  text-align: center;
  padding-top: 180px;
  box-sizing: border-box;
}

.sd-body--empty,
.sd-body--loading {
  font-size: var(--sjs-article-font-default-fontSize, var(--sjs-font-size, 16px));
  -webkit-text-decoration: var(--sjs-article-font-default-textDecoration, "none");
          text-decoration: var(--sjs-article-font-default-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-default-fontWeight, 400);
  font-style: var(--sjs-article-font-default-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-default-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-default-letterSpacing, 0);
  line-height: var(--sjs-article-font-default-lineHeight, 28px);
  text-indent: var(--sjs-article-font-default-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-default-textCase, "none");
  color: var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)));
}
.sd-body--empty h1,
.sd-body--loading h1 {
  font-size: var(--sjs-article-font-xx-large-fontSize, calc(4 * (var(--sjs-font-size, 16px))));
  -webkit-text-decoration: var(--sjs-article-font-xx-large-textDecoration, "none");
          text-decoration: var(--sjs-article-font-xx-large-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-xx-large-fontWeight, 700);
  font-style: var(--sjs-article-font-xx-large-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-xx-large-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-xx-large-letterSpacing, 0);
  line-height: var(--sjs-article-font-xx-large-lineHeight, 64px);
  text-indent: var(--sjs-article-font-xx-large-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-xx-large-textCase, "none");
}
.sd-body--empty h2,
.sd-body--loading h2 {
  font-size: var(--sjs-article-font-x-large-fontSize, calc(3 * (var(--sjs-font-size, 16px))));
  -webkit-text-decoration: var(--sjs-article-font-x-large-textDecoration, "none");
          text-decoration: var(--sjs-article-font-x-large-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-x-large-fontWeight, 700);
  font-style: var(--sjs-article-font-x-large-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-x-large-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-x-large-letterSpacing, 0);
  line-height: var(--sjs-article-font-x-large-lineHeight, 56px);
  text-indent: var(--sjs-article-font-x-large-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-x-large-textCase, "none");
}
.sd-body--empty h3,
.sd-body--loading h3 {
  font-size: var(--sjs-article-font-large-fontSize, calc(2 * (var(--sjs-font-size, 16px))));
  -webkit-text-decoration: var(--sjs-article-font-large-textDecoration, "none");
          text-decoration: var(--sjs-article-font-large-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-large-fontWeight, 700);
  font-style: var(--sjs-article-font-large-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-large-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-large-letterSpacing, 0);
  line-height: var(--sjs-article-font-large-lineHeight, 40px);
  text-indent: var(--sjs-article-font-large-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-large-textCase, "none");
}
.sd-body--empty h4,
.sd-body--empty h5,
.sd-body--empty h6,
.sd-body--loading h4,
.sd-body--loading h5,
.sd-body--loading h6 {
  font-size: var(--sjs-article-font-medium-fontSize, calc(1.5 * (var(--sjs-font-size, 16px))));
  -webkit-text-decoration: var(--sjs-article-font-medium-textDecoration, "none");
          text-decoration: var(--sjs-article-font-medium-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-medium-fontWeight, 700);
  font-style: var(--sjs-article-font-medium-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-medium-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-medium-letterSpacing, 0);
  line-height: var(--sjs-article-font-medium-lineHeight, 32px);
  text-indent: var(--sjs-article-font-medium-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-medium-textCase, "none");
}
.sd-body--empty td,
.sd-body--empty span,
.sd-body--empty div,
.sd-body--empty p,
.sd-body--loading td,
.sd-body--loading span,
.sd-body--loading div,
.sd-body--loading p {
  font-size: var(--sjs-article-font-default-fontSize, var(--sjs-font-size, 16px));
  -webkit-text-decoration: var(--sjs-article-font-default-textDecoration, "none");
          text-decoration: var(--sjs-article-font-default-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-default-fontWeight, 400);
  font-style: var(--sjs-article-font-default-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-default-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-default-letterSpacing, 0);
  line-height: var(--sjs-article-font-default-lineHeight, 28px);
  text-indent: var(--sjs-article-font-default-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-default-textCase, "none");
}
.sd-body--empty a,
.sd-body--loading a {
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-body--empty button,
.sd-body--loading button {
  display: flex;
  align-items: center;
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  vertical-align: baseline;
  text-align: center;
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
  border: none;
  border-radius: var(--sjs-corner-radius, 4px);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: solid calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px)))) transparent;
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  font-weight: 600;
  font-style: normal;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-size: var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));
  box-shadow: var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15)), 0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));
  transition: box-shadow var(--sjs-transition-duration, 150ms);
}
.sd-body--empty button:hover,
.sd-body--loading button:hover {
  background-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
}
.sd-body--empty button:focus,
.sd-body--loading button:focus {
  box-shadow: var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-body--empty button span,
.sd-body--loading button span {
  display: flex;
  align-items: center;
  flex-grow: 1;
  justify-content: center;
}

.sd-root_background-image {
  background-position-x: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.sd-multipletext {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  height: 1px;
}

.sd-multipletext__cell {
  height: 100%;
}

.sd-multipletext__cell:not(:first-of-type) {
  padding-left: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-multipletext__item-container.sd-input:focus-within {
  box-shadow: var(--sjs-shadow-inner-reset, inset 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-multipletext__item-container {
  display: flex;
  align-items: flex-start;
  height: 100%;
  padding-top: 0;
  padding-bottom: 0;
}
.sd-multipletext__item-container .sd-input {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  border: none;
  box-shadow: none;
}

.sd-multipletext__item-container .sd-input,
.sd-multipletext__item-title {
  margin-top: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-bottom: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-multipletext__item-title {
  font-size: 0;
  line-height: 0;
}
.sd-multipletext__item-title span {
  font-size: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
}

.sd-multipletext__item-title {
  height: calc(100% - var(--sjs-base-unit, var(--base-unit, 8px)) * 3);
  max-width: 30%;
  padding-right: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-right: 1px solid var(--sjs-border-default, var(--border, #d6d6d6));
  white-space: normal;
  color: var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));
  box-sizing: content-box;
}

.sd-question--preview .sd-multipletext__item-title {
  border: none;
}

.sd-multipletext__item {
  flex-grow: 1;
}

.sd-multipletext__content .sd-multipletext__item-container {
  position: relative;
}

.sd-multipletext__item-container--error {
  background-color: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
}
.sd-multipletext__item-container--error .sd-input--error {
  background-color: transparent;
}

.sd-multipletext-item__character-counter {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sd-question__content:focus-within .sd-multipletext-item__character-counter {
  padding-inline-end: calc(8 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-multipletext__cell {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
  padding-top: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-multipletext__cell--error-bottom,
.sd-multipletext__row:first-of-type .sd-multipletext__cell {
  padding-top: 0;
}

.sd-multipletext__cell--error-top,
.sd-multipletext__row:last-of-type .sd-multipletext__cell {
  padding-bottom: 0;
}

.sd-multipletext__cell--error .sd-question__erbox {
  margin: 0;
}

.sd-multipletext .sd-input .sd-input {
  background: transparent;
}

.sd-action {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  display: flex;
  align-items: center;
  gap: var(--sjs-base-unit, var(--base-unit, 8px));
  background: transparent;
  padding: var(--sjs-base-unit, var(--base-unit, 8px)) calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  border-radius: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  font-weight: 600;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-style: normal;
  font-size: var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));
  outline: none;
  transition: background-color var(--sjs-transition-duration, 150ms);
  box-sizing: content-box;
}

.sd-action--negative {
  color: var(--sjs-special-red, var(--red, #e60a3e));
}

.sd-action--icon {
  padding: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-action__icon {
  margin-left: calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-action__icon use {
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}

.sd-action--icon .sd-action__icon {
  margin-left: 0;
}
.sd-action--icon use {
  fill: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
  transition: fill var(--sjs-transition-duration, 150ms);
}

svg.sd-action--icon {
  fill: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
}

.sd-action:disabled,
.sd-action--disabled {
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  cursor: default;
  opacity: 0.25;
  pointer-events: none;
}
.sd-action:disabled use,
.sd-action--disabled use {
  fill: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
}

.sd-action:not(.sd-action--pressed):hover,
.sd-action:not(.sd-action--pressed):focus {
  outline: none;
  background-color: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
  cursor: pointer;
  opacity: 1;
}
.sd-action:not(.sd-action--pressed):hover.sd-action--icon,
.sd-action:not(.sd-action--pressed):focus.sd-action--icon {
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
}
.sd-action:not(.sd-action--pressed):hover.sd-action--negative,
.sd-action:not(.sd-action--pressed):focus.sd-action--negative {
  background-color: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));
}
.sd-action:not(.sd-action--pressed):hover.sd-action--negative.sd-action--icon use,
.sd-action:not(.sd-action--pressed):focus.sd-action--negative.sd-action--icon use {
  fill: var(--sjs-special-red, var(--red, #e60a3e));
}
.sd-action:not(.sd-action--pressed):hover:active,
.sd-action:not(.sd-action--pressed):focus:active {
  opacity: 0.5;
}

.sd-action__icon {
  display: block;
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-action--pressed:not(.sd-action--active) {
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
  opacity: 0.5;
}

.sd-action-bar > .sv-dots {
  width: auto;
}
.sd-action-bar > .sv-action--hidden {
  width: 0;
}

.sd-action.sv-dots__item {
  width: auto;
}

.sd-action-bar {
  display: flex;
  align-items: center;
}
.sd-action-bar .sv-action:not(:last-child) .sv-action__content {
  padding-right: 0;
}

.sd-context-btn {
  background-color: var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-radius: calc(12.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border: none;
  outline: none;
  cursor: pointer;
}
.sd-context-btn .sv-svg-icon {
  margin: 0;
}
.sd-context-btn svg {
  display: block;
  width: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
  height: calc(1.5 * (var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));
}
.sd-context-btn use {
  fill: var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));
  transition: fill var(--sjs-transition-duration, 150ms);
}

.sd-context-btn:hover use,
.sd-context-btn:focus use {
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-context-btn:hover.sd-context-btn--negative use,
.sd-context-btn:focus.sd-context-btn--negative use {
  fill: var(--sjs-special-red, var(--red, #e60a3e));
}

.sd-context-btn:disabled {
  opacity: 0.25;
}

.sd-context-btn--small {
  padding: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-context-btn--small svg {
  width: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
  height: var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));
}

.sd-context-btn--with-border {
  --box-shadow-color: var(--sjs-border-default, var(--border, #d6d6d6));
  box-shadow: 0 0 0 1px var(--box-shadow-color);
}

.sd-context-btn--colorful use {
  fill: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-context-btn--colorful.sd-context-btn--negative use {
  fill: var(--sjs-special-red, var(--red, #e60a3e));
}

.sd-context-btn--colorful:focus,
.sd-context-btn--colorful:hover {
  background: linear-gradient(var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1))), var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)))), linear-gradient(var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))), var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))));
}
.sd-context-btn--colorful:focus.sd-context-btn--negative,
.sd-context-btn--colorful:hover.sd-context-btn--negative {
  background: linear-gradient(var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1))), var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)))), linear-gradient(var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))), var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))));
}
.sd-context-btn--colorful:focus.sd-context-btn--with-border,
.sd-context-btn--colorful:hover.sd-context-btn--with-border {
  --box-shadow-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-context-btn--colorful:focus.sd-context-btn--with-border.sd-context-btn--negative,
.sd-context-btn--colorful:hover.sd-context-btn--with-border.sd-context-btn--negative {
  --box-shadow-color: var(--sjs-special-red, var(--red, #e60a3e));
}

.sd-completedpage,
.sd-completed-before-page {
  align-items: center;
  font-weight: bold;
  box-sizing: border-box;
  text-align: center;
  height: auto;
  font-size: var(--sjs-article-font-default-fontSize, var(--sjs-font-size, 16px));
  -webkit-text-decoration: var(--sjs-article-font-default-textDecoration, "none");
          text-decoration: var(--sjs-article-font-default-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-default-fontWeight, 400);
  font-style: var(--sjs-article-font-default-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-default-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-default-letterSpacing, 0);
  line-height: var(--sjs-article-font-default-lineHeight, 28px);
  text-indent: var(--sjs-article-font-default-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-default-textCase, "none");
  color: var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)));
}
.sd-completedpage h1,
.sd-completed-before-page h1 {
  font-size: var(--sjs-article-font-xx-large-fontSize, calc(4 * (var(--sjs-font-size, 16px))));
  -webkit-text-decoration: var(--sjs-article-font-xx-large-textDecoration, "none");
          text-decoration: var(--sjs-article-font-xx-large-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-xx-large-fontWeight, 700);
  font-style: var(--sjs-article-font-xx-large-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-xx-large-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-xx-large-letterSpacing, 0);
  line-height: var(--sjs-article-font-xx-large-lineHeight, 64px);
  text-indent: var(--sjs-article-font-xx-large-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-xx-large-textCase, "none");
}
.sd-completedpage h2,
.sd-completed-before-page h2 {
  font-size: var(--sjs-article-font-x-large-fontSize, calc(3 * (var(--sjs-font-size, 16px))));
  -webkit-text-decoration: var(--sjs-article-font-x-large-textDecoration, "none");
          text-decoration: var(--sjs-article-font-x-large-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-x-large-fontWeight, 700);
  font-style: var(--sjs-article-font-x-large-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-x-large-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-x-large-letterSpacing, 0);
  line-height: var(--sjs-article-font-x-large-lineHeight, 56px);
  text-indent: var(--sjs-article-font-x-large-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-x-large-textCase, "none");
}
.sd-completedpage h3,
.sd-completed-before-page h3 {
  font-size: var(--sjs-article-font-large-fontSize, calc(2 * (var(--sjs-font-size, 16px))));
  -webkit-text-decoration: var(--sjs-article-font-large-textDecoration, "none");
          text-decoration: var(--sjs-article-font-large-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-large-fontWeight, 700);
  font-style: var(--sjs-article-font-large-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-large-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-large-letterSpacing, 0);
  line-height: var(--sjs-article-font-large-lineHeight, 40px);
  text-indent: var(--sjs-article-font-large-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-large-textCase, "none");
}
.sd-completedpage h4,
.sd-completedpage h5,
.sd-completedpage h6,
.sd-completed-before-page h4,
.sd-completed-before-page h5,
.sd-completed-before-page h6 {
  font-size: var(--sjs-article-font-medium-fontSize, calc(1.5 * (var(--sjs-font-size, 16px))));
  -webkit-text-decoration: var(--sjs-article-font-medium-textDecoration, "none");
          text-decoration: var(--sjs-article-font-medium-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-medium-fontWeight, 700);
  font-style: var(--sjs-article-font-medium-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-medium-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-medium-letterSpacing, 0);
  line-height: var(--sjs-article-font-medium-lineHeight, 32px);
  text-indent: var(--sjs-article-font-medium-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-medium-textCase, "none");
}
.sd-completedpage td,
.sd-completedpage span,
.sd-completedpage div,
.sd-completedpage p,
.sd-completed-before-page td,
.sd-completed-before-page span,
.sd-completed-before-page div,
.sd-completed-before-page p {
  font-size: var(--sjs-article-font-default-fontSize, var(--sjs-font-size, 16px));
  -webkit-text-decoration: var(--sjs-article-font-default-textDecoration, "none");
          text-decoration: var(--sjs-article-font-default-textDecoration, "none");
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-weight: var(--sjs-article-font-default-fontWeight, 400);
  font-style: var(--sjs-article-font-default-fontStyle, "normal");
  font-stretch: var(--sjs-article-font-default-fontStretch, "normal");
  letter-spacing: var(--sjs-article-font-default-letterSpacing, 0);
  line-height: var(--sjs-article-font-default-lineHeight, 28px);
  text-indent: var(--sjs-article-font-default-paragraphIndent, 0px);
  text-transform: var(--sjs-article-font-default-textCase, "none");
}
.sd-completedpage a,
.sd-completed-before-page a {
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-completedpage button,
.sd-completed-before-page button {
  display: flex;
  align-items: center;
  padding: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  vertical-align: baseline;
  text-align: center;
  background-color: var(--sjs-general-backcolor, var(--background, #fff));
  border: none;
  border-radius: var(--sjs-corner-radius, 4px);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: solid calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px)))) transparent;
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  font-weight: 600;
  font-style: normal;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-size: var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));
  line-height: calc(1.5 * (var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));
  box-shadow: var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15)), 0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));
  transition: box-shadow var(--sjs-transition-duration, 150ms);
}
.sd-completedpage button:hover,
.sd-completed-before-page button:hover {
  background-color: var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));
}
.sd-completedpage button:focus,
.sd-completed-before-page button:focus {
  box-shadow: var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)), 0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-completedpage button span,
.sd-completed-before-page button span {
  display: flex;
  align-items: center;
  flex-grow: 1;
  justify-content: center;
}

.sd-completedpage:before,
.sd-completedpage:after {
  display: block;
  width: calc(9 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-left: calc(50% - 4.5 * var(--sjs-base-unit, var(--base-unit, 8px)));
  content: "";
}

.sd-completedpage:before {
  height: calc(13 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-completedpage:after {
  height: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-progress-buttons__image-button-left {
  display: none;
}

.sd-progress-buttons__image-button-right {
  display: none;
}

.sd-progress-buttons__image-button--hidden {
  visibility: hidden;
}

.sd-progress-buttons__page-description {
  display: none;
}

.sd-progress-buttons {
  padding: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  display: flex;
  flex-direction: column;
}

.sd-progress-buttons__list-container {
  display: flex;
  overflow: hidden;
  margin: 0 calc(-0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-progress-buttons__connector {
  display: none;
}

.sd-progress-buttons__list {
  display: inline-flex;
  flex-direction: row;
  flex-grow: 1;
  margin: 0 auto;
  padding: 0;
}
.sd-progress-buttons__list li {
  display: flex;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0;
  position: relative;
  flex-wrap: nowrap;
  text-align: center;
  flex-direction: column;
  cursor: pointer;
}
.sd-progress-buttons__list li:not(:first-child) > .sd-progress-buttons__connector {
  display: block;
  content: "";
  height: calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  background-color: var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45));
  opacity: 0.5;
  position: absolute;
  bottom: calc(1.125 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  right: calc(50% + 10px);
  width: calc(100% - 20px);
  pointer-events: none;
}
.sd-progress-buttons__list li .sd-progress-buttons__button {
  position: relative;
  display: flex;
  content: attr(data-page-number);
  width: calc(0 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(0 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin: calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid transparent;
  border-radius: 50%;
  align-self: center;
  z-index: 1;
  font-size: calc(0.75 * (var(--sjs-font-size, 16px)));
  font-weight: 600;
  line-height: var(--sjs-font-size, 16px);
  justify-content: center;
  color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
  box-sizing: content-box;
}
.sd-progress-buttons__list li .sd-progress-buttons__button .sd-progress-buttons__button-background {
  position: absolute;
  width: calc(2.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  top: calc(-0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  left: calc(-1.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  z-index: -2;
}
.sd-progress-buttons__list li .sd-progress-buttons__button .sd-progress-buttons__button-content {
  position: absolute;
  width: 100%;
  height: 100%;
  top: calc(-0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  left: calc(-0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  background-color: var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45));
  opacity: 0.5;
  z-index: -1;
  border: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid transparent;
  border-radius: 50%;
  box-sizing: content-box;
}
.sd-progress-buttons__list li:hover .sd-progress-buttons__button {
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  padding: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin: calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-primary-backcolor, var(--primary, #19b394));
  background-color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
}
.sd-progress-buttons__list li:hover .sd-progress-buttons__button .sd-progress-buttons__button-background {
  left: calc(-0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-progress-buttons__list li:hover .sd-progress-buttons__button .sd-progress-buttons__button-content {
  top: calc(-0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  left: calc(-0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border: calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-primary-backcolor, var(--primary, #19b394));
  background-color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
  opacity: 1;
}
.sd-progress-buttons__list .sd-progress-buttons__list-element--passed:not(:first-child) > .sd-progress-buttons__connector {
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  opacity: 1;
}
.sd-progress-buttons__list .sd-progress-buttons__list-element--passed .sd-progress-buttons__button {
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
}
.sd-progress-buttons__list .sd-progress-buttons__list-element--passed .sd-progress-buttons__button .sd-progress-buttons__button-content {
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  opacity: 1;
}
.sd-progress-buttons__list .sd-progress-buttons__list-element--current:not(:first-child) > .sd-progress-buttons__connector {
  background-color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  opacity: 1;
}
.sd-progress-buttons__list .sd-progress-buttons__list-element--current .sd-progress-buttons__button {
  border: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-primary-backcolor, var(--primary, #19b394));
  background-color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  padding: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin: calc(0.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-progress-buttons__list .sd-progress-buttons__list-element--current .sd-progress-buttons__button .sd-progress-buttons__button-background {
  left: calc(-0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-progress-buttons__list .sd-progress-buttons__list-element--current .sd-progress-buttons__button .sd-progress-buttons__button-content {
  border: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-primary-backcolor, var(--primary, #19b394));
  background-color: var(--sjs-primary-forecolor, var(--primary-foreground, #fff));
  opacity: 1;
}

.sd-progress-buttons__page-title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: calc(0.75 * (var(--sjs-font-size, 16px)));
  font-weight: 600;
  line-height: var(--sjs-font-size, 16px);
  flex-grow: 1;
  text-align: center;
  padding: 0 calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-bottom: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  color: var(--lbr-step-progress-bar-step-title-text-color, var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91))));
}

.sd-progress-buttons__header .sd-progress-buttons__page-title {
  margin-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-progress-buttons__footer .sd-progress-buttons__page-title {
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
  margin-bottom: 0;
  justify-content: flex-end;
  padding: 0;
  color: var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45));
}

.sd-progress-buttons--bottom {
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  flex-direction: column-reverse;
}
.sd-progress-buttons--bottom .sd-progress-buttons__list li {
  flex-direction: column-reverse;
}
.sd-progress-buttons--bottom .sd-progress-buttons__list li:not(:first-child) > .sd-progress-buttons__connector {
  top: calc(1.125 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-progress-buttons--bottom .sd-progress-buttons__page-title {
  margin-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-bottom: 0;
}
.sd-progress-buttons--bottom .sd-progress-buttons__header .sd-progress-buttons__page-title {
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
  margin-bottom: 0;
}
.sd-progress-buttons--bottom .sd-progress-buttons__footer .sd-progress-buttons__page-title {
  margin-top: 0;
  margin-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sd-progress-buttons--numbered .sd-progress-buttons__list-container {
  margin: 0 calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child) > .sd-progress-buttons__connector {
  bottom: calc(2.175 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  right: calc(50% + 18px);
  width: calc(100% - 36px);
}
.sd-progress-buttons--numbered .sd-progress-buttons__list li .sd-progress-buttons__button {
  width: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-progress-buttons--numbered .sd-progress-buttons__list li .sd-progress-buttons__button .sd-progress-buttons__button-background {
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(4.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-progress-buttons--numbered .sd-progress-buttons__list li:hover .sd-progress-buttons__button {
  padding: calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-progress-buttons--with-titles .sd-progress-buttons__list-container {
  margin: 0;
}

.sd-root-modern--mobile .sd-progress-buttons__list,
.sd-progress-buttons--no-titles .sd-progress-buttons__list {
  justify-content: space-between;
  width: 100%;
}
.sd-root-modern--mobile .sd-progress-buttons__list li,
.sd-progress-buttons--no-titles .sd-progress-buttons__list li {
  flex-grow: 0;
}

.sd-progress-buttons--bottom.sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child) > .sd-progress-buttons__connector {
  top: calc(2.175 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-root-modern--mobile .sd-progress-buttons {
  padding: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))) calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-progress-buttons--fit-survey-width {
  max-width: calc(90 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: border-box;
  width: 100%;
  margin: auto;
}

[dir=rtl] .sd-progress-buttons__list li:not(:first-child) > .sd-progress-buttons__connector,
[style*="direction:rtl"] .sd-progress-buttons__list li:not(:first-child) > .sd-progress-buttons__connector,
[style*="direction: rtl"] .sd-progress-buttons__list li:not(:first-child) > .sd-progress-buttons__connector {
  right: unset;
  left: calc(50% + 10px);
}
[dir=rtl] .sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child) > .sd-progress-buttons__connector,
[style*="direction:rtl"] .sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child) > .sd-progress-buttons__connector,
[style*="direction: rtl"] .sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child) > .sd-progress-buttons__connector {
  right: unset;
  left: calc(50% + 20px);
}

.sv_progress-toc {
  padding: var(--lbr-toc-padding-top, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-toc-padding-right, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-toc-padding-bottom, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-toc-padding-left, var(--sjs-base-unit, var(--base-unit, 8px)));
  background: var(--lbr-toc-background-color, var(--sjs-general-backcolor, var(--background, #fff)));
  min-width: calc(32 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  max-width: calc(42 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: 100%;
  box-sizing: border-box;
}
.sv_progress-toc .sv-list {
  padding: 0;
}
.sv_progress-toc .sv-list__item.sv-list__item--selected .sv-list__item-body {
  background: var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));
  color: var(--sjs-general-forecolor, var(--foreground, #161616));
  font-weight: 400;
}
.sv_progress-toc .sv-list__item span {
  white-space: break-spaces;
}
.sv_progress-toc .sv-list__item-body {
  padding-inline-start: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-inline-end: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-radius: var(--sjs-corner-radius, 4px);
  padding-top: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  padding-bottom: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv_progress-toc use {
  fill: var(--sjs-general-forecolor-light, var(--foreground-light, #909090));
}

.sv_progress-toc--left {
  border-right: var(--lbr-toc-border-width-right, 1px) solid var(--lbr-toc-border-color, var(--sjs-border-default, var(--border, #d6d6d6)));
}

.sv_progress-toc--right {
  border-left: var(--lbr-toc-border-width-right, 1px) solid var(--lbr-toc-border-color, var(--sjs-border-default, var(--border, #d6d6d6)));
}

.sv_progress-toc--mobile {
  position: fixed;
  top: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  right: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: auto;
  min-width: auto;
  height: auto;
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
  z-index: 15;
  border-radius: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv_progress-toc--mobile > div {
  width: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sv_progress-toc--mobile:hover {
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
}

.sd-title + .sv-components-row > .sv-components-column .sv_progress-toc:not(.sv_progress-toc--mobile),
.sd-title ~ .sv-components-row > .sv-components-column .sv_progress-toc:not(.sv_progress-toc--mobile) {
  margin-top: 2px;
}

.sv_progress-toc.sv_progress-toc--sticky {
  position: sticky;
  height: auto;
  overflow-y: auto;
  top: 0;
}

.sd-list__item-body {
  padding-block: calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  border-radius: var(--sjs-corner-radius, 4px);
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
}

.sd-list__item.sd-list__item--focused:not(.sd-list__item--selected) {
  outline: none;
}
.sd-list__item.sd-list__item--focused:not(.sd-list__item--selected) .sd-list__item-body {
  padding-block: calc(1.25 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-timer {
  z-index: 2;
  position: fixed;
  bottom: calc(var(--sd-timer-size) / 144 * 32);
  right: var(--sjs-base-unit, var(--base-unit, 8px));
  background: white;
  width: var(--sd-timer-size);
  height: var(--sd-timer-size);
  margin-right: calc(var(--sd-timer-size) / 144 * 32);
  display: flex;
  border-radius: 100%;
  padding: calc(var(--sd-timer-size) / 144 * 8);
  box-shadow: var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));
  box-sizing: border-box;
}

.sd-timer--top {
  top: calc(var(--sd-timer-size) / 144 * 32);
  margin-top: calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-bottom: calc(-1 * var(--sd-timer-size));
}

.sd-timer--bottom {
  bottom: calc(var(--sd-timer-size) / 144 * 32);
  margin-top: calc(var(--sd-timer-size) * -1.2222222222);
}

.sd-timer__progress {
  --sd-timer-stroke-background-color: var(--background-dim, #f3f3f3);
  --sd-timer-stroke-background-width: 2px;
  stroke-linecap: round;
  height: 100%;
  width: 100%;
  transform: rotate(-90deg);
  stroke: var(--sjs-primary-backcolor, var(--primary, #19b394));
  stroke-dashoffset: 0;
  fill: none;
  stroke-width: 4px;
}

.sd-timer__progress--animation {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 1s linear;
}

.sd-timer__text-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: var(--sjs-base-unit, var(--base-unit, 8px));
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  font-weight: 700;
  font-size: calc(var(--sd-timer-size) / 144 * 32);
}

.sd-timer__text--major {
  color: var(--sjs-primary-backcolor, var(--primary, #19b394));
  font-weight: 700;
  font-size: calc(var(--sd-timer-size) / 144 * 32);
}

.sd-timer__text--minor {
  color: var(--lbr-timer-text-color-secondary, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45)));
  font-size: var(--lbr-font-default-size, var(--sjs-font-size, 16px));
  font-style: normal;
  font-weight: 600;
  line-height: var(--lbr-font-default-line-height, calc(1.5 * (var(--sjs-font-size, 16px))));
  margin-top: calc(-0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-header {
  position: relative;
  background-color: var(--sjs-header-backcolor, transparent);
}

.sv-header__background-color--accent {
  background-color: var(--sjs-header-backcolor, var(--sjs-primary-backcolor, var(--primary, #19b394)));
}

.sv-header__overlap {
  padding-bottom: calc(8 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: content-box;
}
.sv-header__overlap ~ div .sd-body,
.sv-header__overlap ~ div .sv-body {
  margin-top: calc(-14 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-root-modern--mobile .sv-header__overlap {
  padding-bottom: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-root-modern--mobile .sv-header__overlap ~ div .sd-body,
.sd-root-modern--mobile .sv-header__overlap ~ div .sv-body {
  margin-top: calc(-5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-header__overlap.sv-header__without-background {
  margin-bottom: 0;
  padding-bottom: 0;
}
.sv-header__overlap.sv-header__without-background ~ div .sd-body,
.sv-header__overlap.sv-header__without-background ~ div .sv-body {
  margin-top: 0;
}

.sv-header__without-background .sv-header--mobile,
.sv-header__without-background .sv-header__content {
  padding-bottom: 0;
}

.sd-body .sv-header__content {
  padding-top: 0;
  padding-bottom: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-header__content {
  padding: calc(5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  box-sizing: border-box;
  height: 100%;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  row-gap: var(--lbr-cover-row-gap, var(--lbr-spacing-x150, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))))));
  -moz-column-gap: var(--lbr-cover-column-gap, var(--lbr-spacing-x6, calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))))));
       column-gap: var(--lbr-cover-column-gap, var(--lbr-spacing-x6, calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))))));
}

.sv-header--height-auto .sv-header__content {
  grid-template-rows: auto;
  height: auto;
}
.sv-header--height-auto .sv-header__cell:not(.sv-header__cell--empty) .sv-header__cell-content {
  position: relative;
  min-height: 100%;
  min-width: 100%;
}
.sv-header--height-auto .sv-header__cell--right .sv-header__cell-content {
  left: 100%;
  transform: translateX(-100%);
}

.sv-header__content--static {
  max-width: calc(90 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  margin-left: auto;
  margin-right: auto;
}

.sv-header__background-image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  border: 0;
  background-position-x: center;
}

.sv-header__background-image--contain {
  background-repeat: no-repeat;
}

.sv-header__cell {
  position: relative;
}

.sv-header__cell-content {
  display: flex;
  flex-direction: column;
  position: absolute;
  width: -moz-max-content;
  width: max-content;
  max-width: 300%;
  top: 0;
  bottom: 0;
}

.sv-header__cell--left .sv-header__cell-content {
  left: 0;
}

.sv-header__cell--center .sv-header__cell-content {
  min-width: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.sv-header__cell--right .sv-header__cell-content {
  right: 0;
}

.sv-header__logo {
  display: flex;
}
.sv-header__logo img {
  display: block;
}

.sv-header__title {
  display: flex;
}

.sv-header__title .sd-title {
  --header-title-font-size: var(--sjs-font-headertitle-size, calc(2 * (var(--sjs-font-size, 16px))));
  font-size: var(--header-title-font-size);
  line-height: calc(1.25 * (var(--header-title-font-size)));
  color: var(--sjs-font-headertitle-color, var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91))));
  font-family: var(--sjs-font-headertitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-headertitle-weight, 700);
  margin: 0;
}

.sv-header__logo ~ .sv-header__title {
  margin-top: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-header__logo ~ .sv-header__description {
  margin-top: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sv-header__title ~ .sv-header__description {
  margin-top: var(--sjs-base-unit, var(--base-unit, 8px));
}

.sv-header__description {
  display: flex;
}

.sv-header__description .sd-description {
  --header-description-font-size: var(--sjs-font-headerdescription-size, 20px);
  font-size: var(--header-description-font-size);
  line-height: calc(1.5 * (var(--header-description-font-size)));
  color: var(--sjs-font-headerdescription-color, var(--sjs-font-pagedescription-color, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45))));
  font-family: var(--sjs-font-headerdescription-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));
  font-weight: var(--sjs-font-headerdescription-weight, 400);
  margin: 0;
}

.sv-header__background-color--accent .sv-header__title .sd-title {
  color: var(--sjs-font-headertitle-color, var(--sjs-primary-forecolor, var(--primary-foreground, #fff)));
}
.sv-header__background-color--accent .sv-header__description .sd-description {
  color: var(--sjs-font-headerdescription-color, var(--sjs-primary-forecolor, var(--primary-foreground, #fff)));
}

.sv-header__content .sd-header__text h3 {
  margin: 0;
}

.sv-header--mobile {
  padding: calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  position: relative;
  z-index: 1;
}
.sv-header--mobile .sv-header__logo img {
  max-width: 100%;
}

@keyframes rotationAnimation {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}
.sd-loading-indicator {
  height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-loading-indicator .sv-svg-icon {
  height: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  width: calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  animation-name: rotationAnimation;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-duration: 1s;
}
.sd-loading-indicator .sv-svg-icon use {
  fill: var(--lbr-placeholder-loading-circle-color-spin, var(--sjs-primary-backcolor, var(--primary, #19b394)));
}

sv-components-container,
.sd-components-container {
  display: flex;
}

.sv-components-row {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.sv-components-column {
  display: flex;
  flex-direction: column;
}

.sv-components-column--expandable {
  flex-grow: 1;
}

.sv-components-row > .sv-components-column--expandable {
  width: 1px;
}

.sd-breadcrumbs {
  display: flex;
  align-items: center;
  align-content: center;
  gap: var(--lbr-breadcrumbs-gap, var(--sjs-base-unit, var(--base-unit, 8px)));
  align-self: stretch;
  flex-wrap: wrap;
  padding-bottom: var(--lbr-page-header-breadcrumbs-margin-bottom, 20px);
}

.sd-breadcrumbs-item {
  color: var(--lbr-breadcrumbs-item-text-color, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45)));
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-style: normal;
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
}

.sd-breadcrumbs-item__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: flex;
  padding: 0;
  box-sizing: border-box;
  border: none;
  background-color: transparent;
  cursor: pointer;
  color: unset;
  font-size: unset;
  font-family: unset;
  overflow-x: hidden;
  white-space: nowrap;
}

.sd-breadcrumbs-separator {
  display: flex;
  width: var(--lbr-breadcrumbs-item-separator-icon-width, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  height: var(--lbr-breadcrumbs-item-separator-icon-height, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  justify-content: center;
  align-items: center;
}
.sd-breadcrumbs-separator use {
  fill: var(--lbr-breadcrumbs-item-separator-color, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45)));
}

.sd-summary {
  border-radius: var(--lbr-data-table-corner-radius, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  background: var(--lbr-data-table-background-color, var(--sjs-general-backcolor, var(--background, #fff)));
  box-shadow: var(--lbr-data-table-shadow-offset-x, 0px) var(--lbr-data-table-shadow-offset-y, 1px) var(--lbr-data-table-shadow-blur, 2px) var(--lbr-data-table-shadow-spread, 0px) var(--lbr-data-table-shadow-color, rgba(0, 0, 0, 0.15));
  overflow: hidden;
}

.sd-summary-row {
  display: flex;
  padding: var(--lbr-data-table-row-padding-top, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-data-table-row-padding-right, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-data-table-row-padding-bottom, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-data-table-row-padding-left, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  align-items: flex-start;
  gap: var(--lbr-data-table-row-gap, calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  flex: 1 0 0;
  align-self: stretch;
  border-bottom: var(--lbr-data-table-row-border-width-bottom, 1px) solid var(--lbr-data-table-row-border-color, var(--sjs-border-light, var(--border-light, #eaeaea)));
  background: var(--lbr-data-table-row-background-color, var(--sjs-general-backcolor, var(--background, #fff)));
}

.sd-summary-row__content {
  display: flex;
  padding: var(--lbr-data-table-row-text-margin-top, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))))) 0px var(--lbr-data-table-row-text-margin-bottom, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))))) 0px;
  align-items: flex-start;
  gap: var(--lbr-data-table-row-gap, calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px)))));
  flex: 1 0 0;
  color: var(--lbr-data-table-row-text-color-title, var(--sjs-general-forecolor, var(--foreground, #161616)));
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  font-style: normal;
  font-size: var(--sjs-font-size, 16px);
  line-height: calc(1.5 * (var(--sjs-font-size, 16px)));
}

.sd-summary-row__actions {
  display: flex;
  align-items: flex-start;
  gap: var(--lbr-data-table-actions-gap, var(--sjs-base-unit, var(--base-unit, 8px)));
  opacity: 0;
  transition: opacity var(--sjs-transition-duration, 150ms);
}

.sd-summary-row:hover .sd-summary-row__actions,
.sd-question--mobile .sd-summary-row__actions {
  opacity: 1;
}

.sd-summary-row-action {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  box-sizing: border-box;
  border: none;
  background-color: transparent;
  cursor: pointer;
  color: unset;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  overflow-x: hidden;
  white-space: nowrap;
  display: flex;
  padding: var(--lbr-action-button-padding-top, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-action-button-padding-right-icon-only, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-action-button-padding-bottom, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-action-button-padding-left-icon-only, var(--sjs-base-unit, var(--base-unit, 8px)));
  justify-content: center;
  align-items: center;
  gap: var(--lbr-action-button-gap, var(--sjs-base-unit, var(--base-unit, 8px)));
  border-radius: var(--lbr-action-button-corner-radius, 1024px);
  transition: background-color var(--sjs-transition-duration, 150ms);
}
.sd-summary-row-action:hover, .sd-summary-row-action:focus {
  outline: none;
  background-color: var(--lbr-action-button-background-color-hovered-positive, var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1))));
}
.sd-summary-row-action:active, .sd-summary-row-action.svc-toolbar__item--pressed {
  opacity: 0.5;
}
.sd-summary-row-action.svc-toolbar__item--active {
  outline: none;
}
.sd-summary-row-action:disabled {
  opacity: 0.25;
  cursor: default;
}
.sd-summary-row-action .sv-svg-icon {
  width: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
  height: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}

.sd-summary-row-action--edit use {
  fill: var(--lbr-action-button-icon-color-positive, var(--sjs-primary-backcolor, var(--primary, #19b394)));
}

.sd-summary-row-action--delete:hover, .sd-summary-row-action--delete:focus {
  outline: none;
  background-color: var(--lbr-action-button-background-color-hovered-negative, var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1))));
}
.sd-summary-row-action--delete use {
  fill: var(--lbr-action-button-icon-color-negative, var(--sjs-special-red, var(--red, #e60a3e)));
}

.sd-root-modern,
.sd-container-modern {
  --sd-base-padding: calc(5 * var(--sjs-base-unit, var(--base-unit, 8px)));
  --sd-base-vertical-padding: calc(4 * var(--sjs-base-unit, var(--base-unit, 8px)));
  --sd-page-vertical-padding: calc(3 * var(--sjs-base-unit, var(--base-unit, 8px)));
}

.sd-root-modern.sd-root-modern--mobile,
.sd-root-modern--mobile .sd-container-modern {
  --sd-base-padding: calc(3 * var(--sjs-base-unit, var(--base-unit, 8px)));
  --sd-base-vertical-padding: calc(2 * var(--sjs-base-unit, var(--base-unit, 8px)));
  --sd-page-vertical-padding: calc(2 * var(--sjs-base-unit, var(--base-unit, 8px)));
}

.sd-root-modern.sd-root-modern--mobile .sd-element__num {
  float: none;
  margin-inline-start: 0;
  width: auto;
  padding-inline-start: 0;
  padding-inline-end: 0;
}
.sd-root-modern.sd-root-modern--mobile .sd-element__num + span {
  float: none;
  width: auto;
}
.sd-root-modern.sd-root-modern--mobile .sd-element__title-expandable-svg {
  inset-inline-start: calc(-2.5 * (var(--sjs-base-unit, var(--base-unit, 8px))));
}
.sd-root-modern.sd-root-modern--mobile .sd-title.sd-container-modern__title {
  flex-direction: column;
}
.sd-root-modern.sd-root-modern--mobile .sd-header__text {
  min-width: 100%;
}

.sd-multipletext--mobile .sd-multipletext__cell {
  display: block;
}
.sd-multipletext--mobile .sd-multipletext__cell:not(:first-of-type) {
  padding-left: 0;
  padding-top: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-multipletext--mobile .sd-multipletext__cell :not(:last-of-type) {
  padding-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-multipletext--mobile .sd-multipletext__item-container {
  padding-top: var(--sjs-base-unit, var(--base-unit, 8px));
  padding-bottom: var(--sjs-base-unit, var(--base-unit, 8px));
}
.sd-multipletext--mobile .sd-multipletext__item-title {
  max-width: none;
  border-right: none;
  width: 100%;
  padding: var(--sjs-base-unit, var(--base-unit, 8px)) 0;
  margin: 0;
}
.sd-multipletext--mobile .sd-multipletext__item {
  flex-basis: 0;
  min-width: 0;
}
.sd-multipletext--mobile .sd-multipletext__item .sd-input {
  padding: 0;
  margin: 0;
}
.sd-multipletext--mobile .sd-multipletext__item-container--answered,
.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within {
  flex-direction: column;
}
.sd-multipletext--mobile .sd-multipletext__item-container--answered .sd-multipletext__item-title,
.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within .sd-multipletext__item-title {
  padding: 0;
}
.sd-multipletext--mobile .sd-multipletext__item-container--answered .sd-multipletext__item-title span,
.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within .sd-multipletext__item-title span {
  font-size: calc(0.75 * (var(--sjs-font-size, 16px)));
  line-height: var(--sjs-font-size, 16px);
}
.sd-multipletext--mobile .sd-multipletext__item-container--answered .sd-multipletext__item,
.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within .sd-multipletext__item {
  flex-basis: auto;
  min-width: auto;
  width: 100%;
}
.sd-multipletext--mobile .sd-multipletext__item-container--answered .sd-multipletext__item .sd-input,
.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within .sd-multipletext__item .sd-input {
  width: 100%;
}

.sd-selectbase--mobile .sd-selectbase--multi-column {
  flex-direction: column;
}
.sd-selectbase--mobile .sd-selectbase--multi-column .sd-selectbase__column:not(:last-child) {
  padding-right: 0;
}

body {
  --sv-defaultV2-mark: true;
}

.sd-root-modern {
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  --sd-mobile-width: 600px;
  --sd-timer-size: calc(18 * var(--sjs-base-unit, var(--base-unit, 8px)));
  width: 100%;
  font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
  position: relative;
}
@-moz-document url-prefix() {
  .sd-root-modern,
  .sd-root-modern * {
    scrollbar-width: thin;
    scrollbar-color: var(--sjs-border-default, var(--border, #d6d6d6)) transparent;
  }
}
.sd-root-modern::-webkit-scrollbar,
.sd-root-modern *::-webkit-scrollbar {
  width: 12px;
  height: 12px;
  background-color: transparent;
}
.sd-root-modern::-webkit-scrollbar-thumb,
.sd-root-modern *::-webkit-scrollbar-thumb {
  border: 4px solid rgba(0, 0, 0, 0);
  background-clip: padding-box;
  border-radius: 32px;
  background-color: var(--sjs-border-default, var(--border, #d6d6d6));
}
.sd-root-modern::-webkit-scrollbar-track,
.sd-root-modern *::-webkit-scrollbar-track {
  background: transparent;
}
.sd-root-modern::-webkit-scrollbar-thumb:hover,
.sd-root-modern *::-webkit-scrollbar-thumb:hover {
  border: 2px solid rgba(0, 0, 0, 0);
  background-color: var(--sjs-border-default, var(--border, #d6d6d6));
}
.sd-root-modern form {
  position: relative;
}

.sd-root-modern--animation-disabled * {
  transition: none !important;
}

.sd-root-modern.sd-root-modern--full-container {
  width: 100%;
  height: 100%;
  overflow: auto;
  position: relative;
}

.sd-root-modern--mobile {
  --sd-timer-size: calc(9 * var(--sjs-base-unit, var(--base-unit, 8px)));
}

.sd-root-modern__wrapper {
  position: relative;
}

.sd-root-modern__wrapper--has-image {
  min-height: 100%;
}

.sd-root-modern--full-container .sd-root-modern__wrapper--fixed {
  position: static;
  width: 100%;
  height: 100%;
}
.sd-root-modern--full-container .sd-root-modern__wrapper--fixed form {
  width: 100%;
  height: 100%;
  max-height: 100%;
}

.sv-popup .sv-popup__scrolling-content {
  box-sizing: content-box;
}
@-moz-document url-prefix() {
  .sv-popup .sv-popup__scrolling-content,
  .sv-popup .sv-popup__scrolling-content * {
    scrollbar-width: thin;
    scrollbar-color: var(--sjs-border-default, var(--border, #d6d6d6)) transparent;
  }
}
.sv-popup .sv-popup__scrolling-content::-webkit-scrollbar,
.sv-popup .sv-popup__scrolling-content *::-webkit-scrollbar {
  width: 12px;
  height: 12px;
  background-color: transparent;
}
.sv-popup .sv-popup__scrolling-content::-webkit-scrollbar-thumb,
.sv-popup .sv-popup__scrolling-content *::-webkit-scrollbar-thumb {
  border: 4px solid rgba(0, 0, 0, 0);
  background-clip: padding-box;
  border-radius: 32px;
  background-color: var(--sjs-border-default, var(--border, #d6d6d6));
}
.sv-popup .sv-popup__scrolling-content::-webkit-scrollbar-track,
.sv-popup .sv-popup__scrolling-content *::-webkit-scrollbar-track {
  background: transparent;
}
.sv-popup .sv-popup__scrolling-content::-webkit-scrollbar-thumb:hover,
.sv-popup .sv-popup__scrolling-content *::-webkit-scrollbar-thumb:hover {
  border: 2px solid rgba(0, 0, 0, 0);
  background-color: var(--sjs-border-default, var(--border, #d6d6d6));
}

.sv-components-container-center {
  position: sticky;
  top: 0;
}

.sv-root--sticky-top .sv-components-container-center {
  z-index: 15;
}

.sv-root--sticky-top.sd-progress--pages .sv-components-container-center,
.sv-root--sticky-top.sd-progress--buttons .sv-components-container-center {
  background-color: var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));
  box-shadow: var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15));
}

.sv-components-container-right,
.sv-components-container-left {
  width: -moz-fit-content;
  width: fit-content;
}
/*# sourceMappingURL=survey-core.css.map *//* Survey page layout styles for $surveyId route */

.survey-page-root {
  display: flex;        /* flex */
  min-height: 100vh;    /* min-h-screen */
  flex-direction: column; /* flex-col */
}
/* Styling for Sales Data Table (headless + tokens)
   Targets data-ui="sales-data-table" hooks in sales-data-table.tsx. */

/* Root layout */
[data-ui="sales-data-table"][data-slot="root"] {
  width: 100%;
}

/* Toolbar */
[data-ui="sales-data-table"][data-slot="toolbar"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 1rem; /* py-4 */
}

[data-ui="sales-data-table"][data-slot="toolbar-left"] {
  display: flex;
  align-items: center;
  gap: 0.5rem; /* compact gap, buttons have own spacing hooks below */
}

[data-ui="sales-data-table"][data-slot="filter-input"] {
  max-width: 24rem; /* ~ max-w-sm */
}

.sales-data-table-collapse-all,
.sales-data-table-expand-all {
  margin-left: 0.5rem;
}

/* Columns dropdown */
.sales-data-table-columns-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

[data-ui="sales-data-table"][data-slot="columns-icon"] {
  width: 1rem; /* h-4 */
  height: 1rem; /* w-4 */
}

/* Table wrapper */
[data-ui="sales-data-table"][data-slot="table-wrap"] {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
}

/* Header cell align hooks */
[data-ui="sales-data-table"][data-slot="th"][data-align="right"] {
  text-align: right;
}
[data-ui="sales-data-table"][data-slot="th"][data-align="center"] {
  text-align: center;
}
[data-ui="sales-data-table"][data-slot="th"][data-align="left"] {
  text-align: left;
}

/* Emphasis cells */
[data-ui="sales-data-table"][data-slot="cell-emphasis"] {
  font-weight: 600; /* font-medium */
}
[data-ui="sales-data-table"][data-slot="cell-right-emphasis"] {
  text-align: right;
  font-weight: 600;
}

/* Expander button + icon */
.sales-data-table-expander {
  height: 1.5rem; /* h-6 */
  width: 1.5rem;  /* w-6 */
  padding: 0;      /* p-0 */
}

[data-ui="sales-data-table"][data-slot="expander-icon"] {
  width: 1rem; /* h-4 */
  height: 1rem; /* w-4 */
}

/* Percent coloring */
[data-ui="sales-data-table"][data-slot="pct"][data-pct="pos"],
[data-ui="sales-data-table"][data-slot="subrows-td"][data-pct="pos"] {
  color: hsl(142 71% 45%); /* green-500 */
  text-align: right;
  font-weight: 600;
}
[data-ui="sales-data-table"][data-slot="pct"][data-pct="neg"],
[data-ui="sales-data-table"][data-slot="subrows-td"][data-pct="neg"] {
  color: hsl(0 84% 60%); /* red-500 */
  text-align: right;
  font-weight: 600;
}
[data-ui="sales-data-table"][data-slot="pct"][data-pct="zero"] {
  text-align: right;
  font-weight: 600;
}

/* Subrows area */
[data-ui="sales-data-table"][data-slot="subrows"] {
  margin: 1rem; /* m-4 */
  padding: 0.5rem; /* p-2 */
}

[data-ui="sales-data-table"][data-slot="subrows-title"] {
  margin-bottom: 0.5rem; /* mb-2 */
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  font-weight: 600; /* font-semibold */
}

[data-ui="sales-data-table"][data-slot="subrows-table"] {
  width: 100%;
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
}

[data-ui="sales-data-table"][data-slot="subrows-head-row"] {
  border-bottom: 1px solid hsl(var(--border));
}

[data-ui="sales-data-table"][data-slot="subrows-th"][data-align="right"],
[data-ui="sales-data-table"][data-slot="subrows-td"][data-align="right"] {
  text-align: right;
}

[data-ui="sales-data-table"][data-slot="subrows-row"] {
  border-bottom: 1px solid hsl(var(--border));
}

/* Subrows table cell */
[data-ui="sales-data-table"][data-slot="subrows-td"] {
  padding-block: 0.5rem; /* py-2 */
}

/* No results cell */
[data-ui="sales-data-table"][data-slot="no-results"] {
  height: 6rem; /* h-24 */
  text-align: center;
  color: hsl(var(--muted-foreground));
}

/* Subrows wrapper cell */
[data-ui="sales-data-table"][data-slot="subrows-cell"] {
  padding: 0; /* p-0 */
}

/* Row actions */
[data-ui="sales-data-table"][data-slot="row-actions"] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem; /* space-x-1 equivalent for children */
  justify-self: center;
}

/* Analyze dialog content */
[data-ui="sales-data-table"][data-slot="analyze-title"] {
  border-bottom: 1px solid hsl(var(--border));
  padding-bottom: 1rem; /* pb-4 */
  font-weight: 600; /* font-semibold */
  font-size: 1.125rem; /* ~text-lg */
}
[data-ui="sales-data-table"][data-slot="analyze-paragraph"] {
  padding-block: 1rem; /* py-4 */
}
[data-ui="sales-data-table"][data-slot="analyze-list"] {
  list-style: disc;
  padding-left: 1rem;
}
[data-ui="sales-data-table"][data-slot="analyze-li"] {
  margin-left: 1rem;
}
[data-ui="sales-data-table"][data-slot="analyze-reco-title"] {
  padding-block: 1rem; /* py-4 */
  font-size: 1.25rem; /* text-xl */
  font-weight: 600;
}

/* Pagination */
[data-ui="sales-data-table"][data-slot="pagination"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding-block: 1rem; /* py-4 */
}
[data-ui="sales-data-table"][data-slot="pagination-status"] {
  color: hsl(var(--muted-foreground));
  font-size: 0.875rem; /* text-sm */
}
[data-ui="sales-data-table"][data-slot="pagination-controls"] {
  display: inline-flex;
  gap: 0.5rem;
}

/* Assign dialog: sent state */
[data-ui="sales-data-table"][data-slot="assign-sent"] {
  padding: 1.5rem; /* p-6 */
  text-align: center;
}
[data-ui="sales-data-table"][data-slot="assign-sent-text"] {
  font-size: 1.125rem; /* text-lg */
  font-weight: 500; /* font-medium */
}

/* Assign dialog: body */
[data-ui="sales-data-table"][data-slot="assign-body"] {
  display: grid;
  gap: 1rem; /* space-y-4 */
}
[data-ui="sales-data-table"][data-slot="assign-sku"] {
  padding-bottom: 0.5rem; /* pb-2 */
  font-size: 0.9375rem;
}
[data-ui="sales-data-table"][data-slot="assign-heading"] {
  margin-bottom: 0.5rem; /* mb-2 */
  font-weight: 600; /* font-semibold */
}

[data-ui="sales-data-table"][data-slot="assign-table-wrap"] {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
}
[data-ui="sales-data-table"][data-slot="assign-table"] {
  width: 100%;
  font-size: 0.875rem;
}
[data-ui="sales-data-table"][data-slot="assign-thead-row"] {
  border-bottom: 1px solid hsl(var(--border));
}
[data-ui="sales-data-table"][data-slot="assign-th"] {
  text-align: left;
  padding: 0.5rem; /* p-2 */
}
[data-ui="sales-data-table"][data-slot="assign-th"][data-align="left"] { text-align: left; }
[data-ui="sales-data-table"][data-slot="assign-th"][data-align="right"] { text-align: right; }
[data-ui="sales-data-table"][data-slot="assign-th-checkbox"] { width: 2.5rem; padding: 0.5rem; }

[data-ui="sales-data-table"][data-slot="assign-row"] {
  border-bottom: 1px solid hsl(var(--border));
}
[data-ui="sales-data-table"][data-slot="assign-td"] {
  padding: 0.5rem; /* p-2 */
}
[data-ui="sales-data-table"][data-slot="assign-empty"] {
  padding: 1rem; /* p-4 */
  text-align: center;
  color: hsl(var(--muted-foreground));
}

[data-ui="sales-data-table"][data-slot="assign-summary"] {
  margin-top: 1rem; /* mt-4 */
}
[data-ui="sales-data-table"][data-slot="assign-list"] {
  margin-top: 0.5rem; /* mt-2 */
  list-style: disc;
  padding-left: 1.5rem; /* pl-6 */
}
[data-ui="sales-data-table"][data-slot="assign-none"] { font-style: italic; }

[data-ui="sales-data-table"][data-slot="assign-notify"] { margin-top: 1rem; }
[data-ui="sales-data-table"][data-slot="assign-notify-title"] { margin-bottom: 0.5rem; font-weight: 600; }
[data-ui="sales-data-table"][data-slot="assign-notify-list"] { display: grid; gap: 0.5rem; }
[data-ui="sales-data-table"][data-slot="assign-notify-item"] { display: flex; align-items: center; }
[data-ui="sales-data-table"][data-slot="assign-notify-checkbox"] { margin-right: 0.5rem; }
[data-ui="sales-data-table"][data-slot="assign-notify-label"] { font-size: 0.875rem; line-height: 1.25rem; }
[data-ui="sales-data-table"][data-slot="assign-warning"] { margin-top: 0.5rem; color: hsl(0 84% 60%); }

[data-ui="sales-data-table"][data-slot="assign-footer"] {
  display: flex;
  gap: 0.5rem;
}
/* Styling layer for headless Alert component */

.alert {
    position: relative;
    width: 100%;
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius);
    padding: 1rem; /* p-4 */
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
}

/* Icon placement and content offset (mirrors original utility behavior) */
.alert > svg {
    position: absolute;
    left: 1rem; /* left-4 */
    top: 1rem; /* top-4 */
    color: hsl(var(--foreground));
}

.alert > svg ~ * {
    padding-left: 1.75rem; /* pl-7 */
}

.alert > svg + div {
    transform: translateY(-3px);
}

/* Variants */
[data-ui="alert"][data-slot="root"][data-variant="default"] {
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
}

[data-ui="alert"][data-slot="root"][data-variant="destructive"] {
    color: hsl(var(--destructive));
    border-color: hsl(var(--destructive));
    background-color: hsl(var(--background));
}
[data-ui="alert"][data-slot="root"][data-variant="destructive"] > svg {
    color: hsl(var(--destructive));
}

.alert-title {
    margin-bottom: 0.25rem; /* mb-1 */
    font-weight: 500; /* font-medium */
    line-height: 1; /* leading-none */
    letter-spacing: -0.015em; /* tracking-tight-ish */
}

.alert-description {
    font-size: 0.875rem; /* text-sm */
}

.alert-description p {
    line-height: 1.625; /* leading-relaxed */
}
/* Document Submission page styles */

.document-submission-root {
    /* container mx-auto px-4 py-8 */
    width: 100%;                 /* Ensure it expands to full available width */
    max-width: 72rem;            /* typical container max-w-6xl; adjust if needed */
    margin-left: auto;           /* mx-auto */
    margin-right: auto;
    padding-left: 1rem;          /* px-4 */
    padding-right: 1rem;
    padding-top: 2rem;           /* py-8 */
    padding-bottom: 2rem;
    box-sizing: border-box;      /* Optional: include padding within width */
}

.document-submission-root h1.page-title {
    margin-bottom: 0.5rem; /* mb-2 */
    font-size: 1.875rem; /* text-3xl */
    line-height: 2.25rem;
    font-weight: 700; /* font-bold */
}

/* Confirmation dialog header row */
.document-submission-title-row {
    display: flex; /* flex */
    align-items: center; /* items-center */
}

.document-submission-title-row .icon-warning {
    margin-right: 0.5rem; /* mr-2 */
    width: 1.25rem; /* h-5 w-5 */
    height: 1.25rem;
    color: rgb(245 158 11); /* text-amber-500 */
}

.document-submission-dialog-desc {
    padding-top: 1rem; /* pt-4 */
}

.document-submission-info {
    padding-top: 0.5rem; /* py-2 -> only need spacing above */
    padding-bottom: 0.5rem;
}

.document-submission-info .font-medium {
    font-weight: 500;
}

.document-submission-info .capitalize {
    text-transform: capitalize;
}

.document-submission-info .mt-2 {
    margin-top: 0.5rem;
}

/* Loading/Success dialog shared */
.docsub-center-stack {
    display: flex;
    flex-direction: column; /* flex-col */
    align-items: center; /* items-center */
    justify-content: center; /* justify-center */
    padding-top: 2rem; /* py-8 */
    padding-bottom: 2rem;
}

.docsub-spinner {
    margin-bottom: 1rem; /* mb-4 */
    width: 3rem;
    height: 3rem;
    color: hsl(var(--primary));
    animation: docsub-spin 1s linear infinite;
}

@keyframes docsub-spin {
    to {
        transform: rotate(360deg);
    }
}

.docsub-title {
    margin-bottom: 0.5rem;
    font-size: 1.25rem;
    font-weight: 600;
}

.docsub-subtext {
    text-align: center;
    color: rgb(107 114 128); /* text-gray-500 */
}

.docsub-success-iconwrap {
    margin-bottom: 1rem; /* mb-4 */
    width: 3rem;
    height: 3rem; /* h-12 w-12 */
    display: flex;
    align-items: center;
    justify-content: center; /* center */
    border-radius: 9999px; /* rounded-full */
    background-color: rgb(220 252 231); /* bg-green-100 */
}

.docsub-success-icon {
    width: 2rem;
    height: 2rem;
    color: rgb(22 163 74); /* text-green-600 */
}

/* Form spacing */
.docsub-form-item {
    margin-bottom: 1.5rem; /* mb-6 */
}

.docsub-label {
    font-size: 1.125rem;
    font-weight: 500;
}

.docsub-block {
    display: block;
}

.docsub-fieldlabel {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 1.125rem;
    font-weight: 500;
}

/* Select triggers full width */
.docsub-w-full {
    width: 100%;
}

/* Utility spacing */
.docsub-space-6 {
    margin-bottom: 1.5rem;
}

/* Dialog content responsive max-width */
@media (min-width: 640px) {
    .docsub-dialog-sm {
        max-width: 28rem; /* sm:max-w-md */
    }
}

/* Uploaded documents section */
.docsub-section {
    margin-bottom: 2rem; /* mb-8 */
}

.docsub-section h2 {
    margin-bottom: 1rem;
    font-size: 1.25rem;
    font-weight: 600;
}

.docsub-card {
    border-radius: 0.5rem;
    border: 1px solid hsl(var(--border));
    padding: 1rem;
}

.docsub-empty {
    text-align: center;
    color: rgb(107 114 128);
}

.docsub-list {
}

.docsub-list > li + li {
    border-top: 1px solid hsl(var(--border));
}

.docsub-listitem {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.docsub-listitem .left {
    display: flex;
    align-items: center;
}

.docsub-check {
    margin-right: 0.5rem;
    width: 1.25rem;
    height: 1.25rem;
    color: rgb(34 197 94); /* text-green-500 */
}

.docsub-filename {
    font-weight: 500;
}

.docsub-filesub {
    font-size: 0.875rem;
    color: rgb(107 114 128);
}

/* Alert block for missing documents */
.doc-sub-alert .doc-sub-alert-title {
    font-weight: 500;
}

.doc-sub-alert-list {
    margin-top: 0.5rem;
    list-style: disc;
    padding-left: 1.25rem;
}

.docsub-alert-icon {
    width: 1rem;
    height: 1rem;
}

/* Action row */
.docsub-actions {
    margin-top: 1.5rem;
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
}

.docsub-actions .leading-icon {
    margin-right: 0.5rem;
    width: 1rem;
    height: 1rem;
}
/* Styling for the Shop Registry temp screen */

[data-ui="shop-registry"][data-slot="root"] {
  background-color: hsl(var(--muted));
  padding: 1.25rem; /* p-5 */
}

[data-ui="shop-registry"][data-slot="title"] {
  margin-bottom: 1.25rem; /* mb-5 */
  font-size: 1.5rem;      /* text-2xl */
  line-height: 2rem;
  font-weight: 700;       /* font-bold */
}

/* Stats row */
[data-ui="shop-registry"][data-slot="stats"] {
  margin-bottom: 2rem; /* mb-8 */
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem; /* gap-5 */
}

[data-ui="shop-registry"][data-slot="stat-card"] {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  gap: 0.75rem;      /* gap-3 */
  background: hsl(var(--card), 1);
  color: hsl(var(--card-foreground));
  border-radius: var(--radius);
  padding: 1rem;     /* p-4 */
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.06); /* shadow */
}

[data-ui="shop-registry"][data-slot="stat-icon"] {
  font-size: 1.5rem; /* text-2xl */
}
[data-ui="shop-registry"][data-slot="stat-meta"] {
  display: grid;
}
[data-ui="shop-registry"][data-slot="stat-label"] {
  font-weight: 700;  /* font-bold */
}
[data-ui="shop-registry"][data-slot="stat-value"] {
  color: hsl(var(--muted-foreground));
}

/* Card container */
[data-ui="shop-registry"][data-slot="card"] {
  background: hsl(var(--background));
  border-radius: var(--radius);
  padding: 1.25rem; /* p-5 */
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.06);
}

/* Filters */
[data-ui="shop-registry"][data-slot="filters"] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem; /* gap-3 */
  margin-bottom: 1.25rem; /* mb-5 */
}
@media (min-width: 768px) {
  [data-ui="shop-registry"][data-slot="filters"] {
    grid-template-columns: repeat(5, minmax(0, 1fr)); /* md:grid-cols-5 */
  }
}

[data-ui="shop-registry"][data-slot="filter-input"] {
  border: 1px solid hsl(var(--input));
  border-radius: var(--radius);
  padding: 0.5rem; /* p-2 */
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  outline: none;
}
[data-ui="shop-registry"][data-slot="filter-input"]::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}
[data-ui="shop-registry"][data-slot="filter-input"]::placeholder {
  color: hsl(var(--muted-foreground));
}

/* Primary and danger buttons for this temp screen */
[data-ui="shop-registry"][data-slot="btn-primary"],
[data-ui="shop-registry"][data-slot="btn-danger"] {
  border-radius: var(--radius);
  padding: 0.375rem 0.75rem; /* py-1.5 px-3 */
  color: white;
  transition: background-color 150ms ease-in-out;
  border: none;
  cursor: pointer;
}

[data-ui="shop-registry"][data-slot="btn-primary"] {
  background-color: hsl(217 91% 60%); /* approx blue-500 */
}
[data-ui="shop-registry"][data-slot="btn-primary"]:hover {
  background-color: hsl(217 90% 56%); /* blue-600 */
}

[data-ui="shop-registry"][data-slot="btn-danger"] {
  background-color: hsl(0 72% 51%); /* red-600 */
}
[data-ui="shop-registry"][data-slot="btn-danger"]:hover {
  background-color: hsl(0 74% 45%); /* red-700 */
}

/* Table */
[data-ui="shop-registry"][data-slot="table-scroll"] {
  overflow-x: auto;
}

[data-ui="shop-registry"][data-slot="table"] {
  width: 100%;
  font-size: 0.875rem; /* text-sm */
  border-collapse: collapse;
}

[data-ui="shop-registry"][data-slot="table"] thead tr {
  background: hsl(var(--muted), 1);
}
[data-ui="shop-registry"][data-slot="table"] th,
[data-ui="shop-registry"][data-slot="table"] td {
  text-align: left;
  padding: 0.75rem; /* p-3 */
  border-bottom: 1px solid hsl(var(--border));
}

[data-ui="shop-registry"][data-slot="row"]:hover {
  background: hsl(var(--muted));
}

/* Status coloring */
[data-ui="shop-registry"][data-slot="status"][data-status="activated"] {
  color: hsl(142 76% 36%); /* emerald-600-ish */
  font-weight: 700;
}
[data-ui="shop-registry"][data-slot="status"][data-status="no-response"],
[data-ui="shop-registry"][data-slot="status"][data-status="needs-approval"],
[data-ui="shop-registry"][data-slot="status"][data-status="needs-attention"] {
  color: hsl(0 65% 40%); /* red-700-ish */
  font-weight: 700;
}

/* Action buttons row */
[data-ui="shop-registry"][data-slot="actions"] {
  display: flex;
  gap: 0.5rem; /* gap-2 */
}

/* Empty state */
[data-ui="shop-registry"][data-slot="empty"] {
  padding: 1rem; /* p-4 */
  text-align: center;
  color: hsl(var(--muted-foreground));
}
/* Styling for Store Details Page using headless + tokens pattern.
   Targets data-ui="store-details" hooks in store-details.page.tsx. */

/* Root layout and spacing */
[data-ui="store-details"][data-slot="root"] {
  padding: 1rem; /* p-4 */
  display: grid;
  gap: 1.5rem; /* space-y-6 */
}

/* Campaign header card content spacing */
.store-details-campaign-card-content {
  padding: 1.5rem; /* p-6 */
}

/* Campaign header: layout left + fund tracker right */
[data-ui="store-details"][data-slot="campaign-header"] {
  display: flex;
  align-items: flex-start; /* items-start */
  justify-content: space-between;
  gap: 1rem;
}

/* Campaign left: spacing for title/meta */
[data-ui="store-details"][data-slot="campaign-left"] {
  display: grid;
  gap: 0.5rem; /* space-y-2 */
}

[data-ui="store-details"][data-slot="campaign-title"] {
  font-size: 1.5rem; /* text-2xl */
  line-height: 2rem;
  font-weight: 700; /* font-bold */
}

/* Meta grid 2 cols */
[data-ui="store-details"][data-slot="campaign-meta-grid"] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem; /* gap-4 */
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}
[data-ui="store-details"][data-slot="campaign-meta-grid"] [data-span="full"] {
  grid-column: 1 / -1; /* col-span-2 */
}

/* Right column with fund tracker */
[data-ui="store-details"][data-slot="fund-right"] {
  display: grid;
  gap: 1rem; /* space-y-4 */
  justify-items: end;
}

[data-ui="store-details"][data-slot="fund-tracker"] { display: grid; gap: 0.5rem; }
[data-ui="store-details"][data-slot="fund-title"] { font-weight: 600; }

/* Fund tracker 3-column grid: labels, bars, milestones */
[data-ui="store-details"][data-slot="fund-grid"] {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem; /* gap-4 */
  font-size: 0.75rem; /* text-xs */
  line-height: 1rem;
}
[data-ui="store-details"][data-slot="fund-labels"] { text-align: center; }
[data-ui="store-details"][data-slot="fund-bars"] { display: grid; gap: 0.25rem; }
[data-ui="store-details"][data-slot="fund-progress"] { height: 0.5rem; /* h-2 */ }
[data-ui="store-details"][data-slot="fund-milestones"] { text-align: center; display: grid; gap: 0.25rem; }

/* Metrics grid */
[data-ui="store-details"][data-slot="metrics-grid"] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem; /* gap-6 */
}
[data-ui="store-details"][data-slot="metric"] { text-align: center; }
[data-ui="store-details"][data-slot="metric-label"] {
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}
[data-ui="store-details"][data-slot="metric-value"] {
  font-size: 1.5rem; /* text-2xl */
  line-height: 2rem;
  font-weight: 700; /* font-bold */
}

/* Leaderboard */
[data-ui="store-details"][data-slot="leaderboard"] { display: grid; gap: 1rem; }
[data-ui="store-details"][data-slot="leaderboard-row"] {
  display: flex;
  align-items: center;
  gap: 1rem; /* gap-4 */
}
[data-ui="store-details"][data-slot="leaderboard-name"] { width: 4rem; font-size: 0.875rem; }
[data-ui="store-details"][data-slot="leaderboard-progress"] { flex: 1 1 auto; }
[data-ui="store-details"][data-slot="leaderboard-percent"] { width: 3rem; text-align: right; font-size: 0.875rem; }

/* Filters row */
[data-ui="store-details"][data-slot="filters"] {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem; /* gap-4 */
}
[data-ui="store-details"][data-slot="filter-trigger"] { width: 11.25rem; /* 180px */ }

/* Search input with icon */
[data-ui="store-details"][data-slot="search"] { position: relative; }
[data-ui="store-details"][data-slot="search-icon"] {
  position: absolute;
  left: 0.75rem; /* left-3 */
  top: 50%;
  transform: translateY(-50%);
  width: 1rem; height: 1rem; /* h-4 w-4 */
  color: hsl(var(--muted-foreground));
}
[data-ui="store-details"][data-slot="search-input"] { width: 15.625rem; /* 250px */ padding-left: 2.5rem; /* pl-10 */ }
[data-ui="store-details"][data-slot="date-input"] { width: 9.375rem; /* 150px */ }

/* Emphasis cell */
[data-ui="store-details"][data-slot="emphasis"] { font-weight: 600; }

/* Status coloring for badges within this page */
[data-ui="store-details"] [data-ui="badge"][data-status="pending"],
[data-ui="store-details"] [data-ui="badge"][data-status="awaiting"] {
  background-color: hsl(38 92% 90%);
  color: hsl(22 78% 27%);
  border-color: hsl(38 92% 85%);
}
[data-ui="store-details"] [data-ui="badge"][data-status="in progress"],
[data-ui="store-details"] [data-ui="badge"][data-status="active"] {
  background-color: hsl(213 94% 93%);
  color: hsl(217 91% 35%);
  border-color: hsl(213 94% 88%);
}
[data-ui="store-details"] [data-ui="badge"][data-status="completed"] {
  background-color: hsl(152 76% 90%);
  color: hsl(160 84% 20%);
  border-color: hsl(152 76% 85%);
}
[data-ui="store-details"] [data-ui="badge"][data-status="paused"] {
  background-color: hsl(351 94% 90%);
  color: hsl(343 80% 35%);
  border-color: hsl(351 94% 85%);
}
[data-ui="store-details"] [data-ui="badge"][data-status="default"] {
  background-color: hsl(210 17% 95%);
  color: hsl(215 19% 35%);
  border-color: hsl(214 32% 91%);
}

/* Activity log */
[data-ui="store-details"][data-slot="activity-header"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
[data-ui="store-details"][data-slot="activity-actions"] { display: flex; gap: 0.5rem; }

[data-ui="store-details"][data-slot="activity-list"] { display: grid; gap: 1rem; }
[data-ui="store-details"][data-slot="activity-item"] {
  border-bottom: 1px solid hsl(var(--border)); /* border-b */
  padding-bottom: 0.5rem; /* pb-2 */
}
[data-ui="store-details"][data-slot="activity-item-title"] {
  font-weight: 500; /* font-medium */
}
[data-ui="store-details"][data-slot="activity-item-details"] {
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}
/* Styling for Campaign Dashboard (headless + tokens)
   Targets data-ui="campaign-dashboard" hooks from campaign-dashboard.tsx. */

[data-ui="campaign-dashboard"][data-slot="root"] {
    max-width: 80rem; /* ~ max-w-7xl */
    margin-inline: auto; /* mx-auto */
    padding: 1.5rem; /* p-6 */
    display: grid;
    gap: 1.5rem; /* space-y-6 */
}

/* Page title */
[data-ui="campaign-dashboard"][data-slot="title"] {
    font-size: 1.5rem; /* text-2xl */
    line-height: 2rem;
    font-weight: 700; /* font-bold */
}

/* Summary cards grid */
[data-ui="campaign-dashboard"][data-slot="summary"] {
    display: grid;
    grid-template-columns: 1fr; /* grid-cols-1 */
    gap: 1rem; /* gap-4 */
}

@media (min-width: 768px) {
    /* md */
    [data-ui="campaign-dashboard"][data-slot="summary"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    /* lg */
    [data-ui="campaign-dashboard"][data-slot="summary"] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

[data-ui="campaign-dashboard"][data-slot="summary-card"] {
    display: grid;
    gap: 0.5rem; /* space-y-2 */
    padding: 1.5rem; /* p-6 */
}

[data-ui="campaign-dashboard"][data-slot="summary-label"] {
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem;
    font-weight: 500; /* font-medium */
    color: hsl(var(--muted-foreground));
}

[data-ui="campaign-dashboard"][data-slot="summary-value"] {
    font-size: 1.875rem; /* text-3xl */
    line-height: 2.25rem;
    font-weight: 700; /* font-bold */
}

/* Planner */
[data-ui="campaign-dashboard"][data-slot="planner"] {
    display: grid;
    gap: 1rem; /* space-y-4 */
}

[data-ui="campaign-dashboard"][data-slot="planner-title"] {
    font-size: 1.25rem; /* text-xl */
    line-height: 1.75rem;
    font-weight: 600; /* font-semibold */
}

/* Filters */
[data-ui="campaign-dashboard"][data-slot="filters"] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem; /* gap-4 */
    padding-block: 1rem; /* py-4 */
}

[data-ui="campaign-dashboard"][data-slot="search"] {
    position: relative;
    min-width: 12.5rem; /* 200px */
    flex: 1 1 200px; /* flex-1 with min width */
}

[data-ui="campaign-dashboard"][data-slot="search-icon"] {
    position: absolute;
    left: 0.75rem; /* left-3 */
    top: 50%;
    transform: translateY(-50%);
    width: 1rem; /* h-4 */
    height: 1rem; /* w-4 */
    color: hsl(var(--muted-foreground));
}

[data-ui="campaign-dashboard"][data-slot="search-input"] {
    padding-left: 2.5rem; /* pl-10 */
}

[data-ui="campaign-dashboard"][data-slot="date-input"] {
    width: 12.5rem; /* 200px */
}

[data-ui="campaign-dashboard"][data-slot="select-trigger"] {
    width: 12.5rem; /* 200px */
}

.campaign-dashboard-add {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem; /* gap-2 */
}

[data-ui="campaign-dashboard"][data-slot="add-icon"] {
    width: 1rem; /* h-4 */
    height: 1rem; /* w-4 */
}

/* Table tweaks */
[data-ui="campaign-dashboard"][data-slot="table"] {
    width: 100%;
}

[data-ui="campaign-dashboard"][data-slot="name"] {
    font-weight: 600; /* font-medium */
}

[data-ui="campaign-dashboard"][data-slot="budget"] {
    display: grid;
    gap: 0.5rem; /* space-y-2 */
}

[data-ui="campaign-dashboard"][data-slot="budget-amount"] {
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem;
}

[data-ui="campaign-dashboard"][data-slot="budget-progress"] {
    width: 5rem; /* w-20 */
}

/* Badge status coloring specific to this page */
[data-ui="campaign-dashboard"] [data-ui="badge"][data-status="pending"] {
    background-color: hsl(38 92% 90%);
    color: hsl(22 78% 27%);
    border-color: hsl(38 92% 85%);
}

[data-ui="campaign-dashboard"] [data-ui="badge"][data-status="ongoing"] {
    background-color: hsl(213 94% 93%); /* approx blue-100 */
    color: hsl(217 91% 35%); /* blue-700 */
    border-color: hsl(213 94% 88%);
}

[data-ui="campaign-dashboard"] [data-ui="badge"][data-status="completed"] {
    background-color: hsl(152 76% 90%);
    color: hsl(160 84% 20%);
    border-color: hsl(152 76% 85%);
}

/* Schedule */
[data-ui="campaign-dashboard"][data-slot="schedule"] {
    display: grid;
    gap: 1rem; /* space-y-4 */
}

[data-ui="campaign-dashboard"][data-slot="schedule-header"] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

[data-ui="campaign-dashboard"][data-slot="schedule-title"] {
    font-size: 1.25rem; /* text-xl */
    line-height: 1.75rem;
    font-weight: 600; /* font-semibold */
}

[data-ui="campaign-dashboard"][data-slot="schedule-meta"] {
    display: flex;
    align-items: center;
    gap: 0.5rem; /* gap-2 */
}

[data-ui="campaign-dashboard"][data-slot="schedule-month"] {
    font-size: 1.125rem; /* text-lg */
    line-height: 1.75rem;
    font-weight: 500; /* font-medium */
}

[data-ui="campaign-dashboard"][data-slot="schedule-range"] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem; /* gap-1 */
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem;
    color: hsl(var(--muted-foreground));
}

[data-ui="campaign-dashboard"][data-slot="schedule-icon"] {
    width: 1rem; /* h-4 */
    height: 1rem; /* w-4 */
}

[data-ui="campaign-dashboard"][data-slot="calendar-grid"] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 1rem; /* gap-4 */
}

[data-ui="campaign-dashboard"][data-slot="day"] {
    position: relative;
    aspect-ratio: 1 / 1; /* aspect-square */
    border: 1px solid hsl(var(--border));
    border-radius: calc(var(--radius) - 2px);
    padding: 0.5rem; /* p-2 */
}

[data-ui="campaign-dashboard"][data-slot="day-number"] {
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem;
    font-weight: 600; /* font-medium */
}

[data-ui="campaign-dashboard"][data-slot="day-program"] {
    position: absolute;
    inset: 0.5rem; /* inset-2 */
    top: 1.5rem; /* top-6 */
    border-radius: calc(var(--radius) - 4px);
    border: 1px solid hsl(213 94% 87%); /* blue-200 */
    background-color: hsl(213 100% 97%); /* blue-50 */
    padding: 0.25rem; /* p-1 */
}

.campaign-dashboard-day-program {
    margin-bottom: 0.25rem; /* mb-1 */
    height: 1.5rem; /* h-6 */
    width: 100%;
    font-size: 0.75rem; /* text-xs */
    line-height: 1rem;
}

[data-ui="campaign-dashboard"][data-slot="day-program-details"] {
    white-space: pre-line; /* whitespace-pre-line */
    font-size: 0.75rem; /* text-xs */
    line-height: 1rem;
    color: hsl(var(--muted-foreground));
}

/* Dialog sizing adjustment for this page */
.campaign-dashboard-dialog-content {
    max-width: 95vw;
    max-height: 95vh;
    overflow: hidden;
}

[data-ui="campaign-dashboard"][data-slot="store-dialog-scroll"] {
    max-height: 85vh;
    overflow-y: auto;
}

/* Extracted styles for temp CampaignDashboard component */

.campaign-dash-root {
    padding: 1.25rem;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, Helvetica Neue, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

/* Spacing helpers */
.cdash-mb-8 {
    margin-bottom: 2rem;
}

.cdash-title {
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    font-size: 1.25rem;
    font-weight: 700;
}

/* Table */
.cdash-table-wrap {
    overflow-x: auto;
}

.cdash-table {
    width: 100%;
    border-collapse: collapse;
}

.cdash-thead {
    background-color: rgb(243 244 246);
}

.cdash-th, .cdash-td {
    border: 1px solid rgb(209 213 219);
    padding: 0.5rem;
    text-align: left;
}

/* Buttons */
.cdash-btn {
    border-radius: 0.25rem;
    padding: 0.375rem 0.75rem;
    color: #fff;
}

.cdash-btn-red {
    background-color: rgb(220 38 38);
}

.cdash-btn-blue {
    background-color: rgb(30 58 138);
}

.cdash-btn-green {
    background-color: rgb(22 163 74);
}

.cdash-btn-sky {
    background-color: rgb(14 165 233);
}

.cdash-btn + .cdash-btn {
    margin-left: 0.5rem;
}

/* Inputs */
.cdash-input {
    border: 1px solid rgb(209 213 219);
    border-radius: 0.25rem;
    padding: 0.5rem;
}

.cdash-input + .cdash-btn {
    margin-left: 0.5rem;
}
/* Campaign Management (CampaignRegistration) styles extracted from Tailwind */

.campaign-mgmt-root {
  background-color: rgb(243 244 246); /* bg-gray-100 */
  padding: 1.25rem; /* p-5 */
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto,
    Noto Sans, Ubuntu, Cantarell, Helvetica Neue, Arial, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol";
  color: rgb(31 41 55); /* text-gray-800 */
}

/* Card blocks */
.campaign-mgmt-card {
  margin-bottom: 1.5rem; /* mb-6 */
  border-radius: 0.5rem; /* rounded-lg */
  background-color: rgb(209 213 219); /* bg-gray-300 (info card) */
  padding: 1.25rem; /* p-5 */
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.05); /* shadow */
}
.campaign-mgmt-card.white {
  background-color: #fff; /* bg-white */
}

.campaign-mgmt-title-xl {
  font-size: 1.25rem; /* text-xl */
  font-weight: 700; /* font-bold */
}
.campaign-mgmt-title-lg {
  font-size: 1.125rem; /* text-lg */
  font-weight: 700; /* font-bold */
}
.campaign-mgmt-link {
  color: rgb(29 78 216); /* text-blue-700 */
  text-decoration: none;
}
.campaign-mgmt-link:hover { text-decoration: underline; }

/* grid two columns on md */
.campaign-mgmt-grid-2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem; /* gap-5 */
}
@media (min-width: 768px) {
  .campaign-mgmt-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.campaign-mgmt-hr {
  margin-top: 1rem; margin-bottom: 1rem; /* my-4 simplified */
  border: 0; height: 1px; background-color: rgb(156 163 175); /* border-gray-400 */
}

.campaign-mgmt-edit-link { margin-left: 0.5rem; font-size: 0.875rem; }

.campaign-mgmt-strong { font-weight: 700; }
.campaign-mgmt-mt2 { margin-top: 0.5rem; }
.campaign-mgmt-bold { font-weight: 700; }

/* Insights list and image */
.campaign-mgmt-insights-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .campaign-mgmt-insights-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.campaign-mgmt-insight-item { margin-bottom: 0.75rem; font-size: 0.875rem; }
.campaign-mgmt-insights-side { display: flex; align-items: center; gap: 1.25rem; }
.campaign-mgmt-img-rounded { border-radius: 0.25rem; }
.campaign-mgmt-ul { list-style: disc; padding-left: 1.25rem; font-size: 0.875rem; }

/* Filters */
.campaign-mgmt-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.campaign-mgmt-input { border-radius: 0.25rem; border: 1px solid rgb(209 213 219); padding: 0.5rem; }
.campaign-mgmt-select { border-radius: 0.25rem; border: 1px solid rgb(209 213 219); padding: 0.5rem; }
.campaign-mgmt-btn-primary {
  border-radius: 0.25rem;
  background-color: rgb(29 78 216); /* bg-blue-700 */
  padding: 0.5rem 1rem; /* py-2 px-4 */
  color: #fff;
}
.campaign-mgmt-btn-primary:hover { background-color: rgb(30 64 175); /* hover:bg-blue-800 */ }
.campaign-mgmt-ml-auto { margin-left: auto; }

/* Table */
.campaign-mgmt-table-wrap { overflow-x: auto; background-color: #fff; border-radius: 0.5rem; box-shadow: 0 1px 2px rgb(0 0 0 / 0.05); }
.campaign-mgmt-table { width: 100%; font-size: 0.875rem; border-collapse: collapse; }
.campaign-mgmt-thead-row { background-color: rgb(243 244 246); }
.campaign-mgmt-th, .campaign-mgmt-td { padding: 0.75rem; text-align: left; }
.campaign-mgmt-th.center, .campaign-mgmt-td.center { text-align: center; }
.campaign-mgmt-row { border-bottom: 1px solid rgb(229 231 235); }
.campaign-mgmt-checkbox { cursor: pointer; }
.campaign-mgmt-mail-link { color: rgb(29 78 216); text-decoration: none; }
.campaign-mgmt-mail-link:hover { text-decoration: underline; }

.campaign-mgmt-status { display: inline-block; border-radius: 0.25rem; padding: 0.25rem 0.5rem; font-weight: 700; }
.campaign-mgmt-status.pending { background-color: rgb(254 243 199); color: rgb(133 77 14); }
.campaign-mgmt-status.accepted { background-color: rgb(220 252 231); color: rgb(22 101 52); }
.campaign-mgmt-status.declined { background-color: rgb(254 226 226); color: rgb(153 27 27); }

.campaign-mgmt-btn-secondary { border-radius: 0.25rem; background-color: rgb(59 130 246); padding: 0.25rem 0.75rem; color: #fff; }
.campaign-mgmt-btn-secondary:hover { background-color: rgb(37 99 235); }

/* Pagination */
.campaign-mgmt-pagination { margin-top: 0.5rem; text-align: right; font-size: 0.75rem; color: rgb(75 85 99); }

/* Insight icons */
.campaign-mgmt-icon { margin-right: 0.5rem; }
/* Styling for Campaign Form Modal */

.campaign-form-modal-content {
  max-height: 90vh;
  max-width: 64rem; /* ~ max-w-4xl */
  overflow-y: auto;
}

.campaign-form-modal-title {
  font-size: 1.5rem; /* text-2xl */
  line-height: 2rem;
  font-weight: 700; /* font-bold */
}

[data-ui="campaign-form-modal"][data-slot="subtitle-row"] {
  display: flex; /* flex */
  align-items: center; /* items-center */
  gap: 0.5rem; /* gap-2 */
  font-size: 0.875rem; /* text-sm */
  color: hsl(var(--muted-foreground));
}

[data-ui="campaign-form-modal"][data-slot="subtitle-icon"] {
  width: 1rem; /* w-4 */
  height: 1rem; /* h-4 */
}

[data-ui="campaign-form-modal"][data-slot="body"] {
  display: grid;
  gap: 1.5rem; /* space-y-6 → gap between sections */
}

[data-ui="campaign-form-modal"][data-slot="section"] {
  display: grid;
  gap: 1rem;       /* space-y-4 */
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  padding: 1.5rem; /* p-6 */
  background: hsl(var(--background));
}

[data-ui="campaign-form-modal"][data-slot="section-header"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

[data-ui="campaign-form-modal"][data-slot="section-title"] {
  font-size: 1.125rem; /* text-lg */
  font-weight: 600;    /* font-semibold */
}

[data-ui="campaign-form-modal"][data-slot="section-caption"] {
  font-size: 0.875rem; /* text-sm */
  color: hsl(var(--muted-foreground));
  text-align: right;
}

[data-ui="campaign-form-modal"][data-slot="grid-3"] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem; /* gap-4 */
}

@media (min-width: 768px) {
  [data-ui="campaign-form-modal"][data-slot="grid-3"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* md:grid-cols-2 */
  }
}
@media (min-width: 1024px) {
  [data-ui="campaign-form-modal"][data-slot="grid-3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)); /* lg:grid-cols-3 */
  }
}

[data-ui="campaign-form-modal"][data-slot="field"] {
  display: grid;
  gap: 0.5rem; /* space-y-2 */
}

@media (min-width: 768px) {
  [data-ui="campaign-form-modal"][data-slot="field"][data-colspan="2"] {
    grid-column: span 2 / span 2;
  }
}

[data-ui="campaign-form-modal"][data-slot="label-with-icon"] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem; /* gap-1 */
}

[data-ui="campaign-form-modal"][data-slot="label-icon"] {
  width: 1rem;  /* w-4 */
  height: 1rem; /* h-4 */
}

[data-ui="campaign-form-modal"][data-slot="grid-2"] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem; /* gap-6 */
}
@media (min-width: 768px) {
  [data-ui="campaign-form-modal"][data-slot="grid-2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* md:grid-cols-2 */
  }
}
[data-ui="campaign-form-modal"][data-slot="column"] {
  display: grid;
  gap: 1rem; /* space-y-4 */
}

[data-ui="campaign-form-modal"][data-slot="help-text"] {
  font-size: 0.75rem; /* text-xs */
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}

[data-ui="campaign-form-modal"][data-slot="checkbox-group"] {
  display: grid;
  gap: 0.5rem; /* space-y-2 */
}

[data-ui="campaign-form-modal"][data-slot="checkbox-row"] {
  display: flex;
  align-items: center;
  gap: 0.5rem; /* space-x-2 */
}

[data-ui="campaign-form-modal"][data-slot="checkbox-label"] {
  font-size: 0.875rem; /* text-sm */
}

/* Step shared */
[data-ui="campaign-form-modal"][data-slot="step"] {
  display: grid;
  gap: 1.5rem; /* space-y-6 */
}

[data-ui="campaign-form-modal"][data-slot="step-title-row"] {
  display: flex;
  align-items: center;
  gap: 0.5rem; /* gap-2 */
}

[data-ui="campaign-form-modal"][data-slot="step-title-icon"] {
  width: 1.25rem; /* w-5 */
  height: 1.25rem; /* h-5 */
}

[data-ui="campaign-form-modal"][data-slot="step-title"] {
  font-size: 1.25rem; /* text-xl */
  font-weight: 600;   /* font-semibold */
}

[data-ui="campaign-form-modal"][data-slot="muted"] {
  color: hsl(var(--muted-foreground));
}

/* Upload section */
[data-ui="campaign-form-modal"][data-slot="upload-section"] {
  display: grid;
  gap: 1rem; /* space-y-4 */
}

[data-ui="campaign-form-modal"][data-slot="upload-section-title"] {
  font-weight: 500;
}

[data-ui="campaign-form-modal"][data-slot="dropzone"] {
  display: grid;
  justify-items: center;
  gap: 1rem; /* space-y-4 */
  border: 2px dashed hsl(var(--border));
  border-radius: var(--radius);
  padding: 3rem; /* p-12 */
  text-align: center;
  background: hsl(var(--background));
}

[data-ui="campaign-form-modal"][data-slot="dropzone-icon"] {
  width: 3rem;  /* w-12 */
  height: 3rem; /* h-12 */
  color: hsl(var(--muted-foreground));
  margin-inline: auto;
}

input[data-ui="campaign-form-modal"][data-slot="file-input"] {
  display: none; /* hidden */
}

[data-ui="campaign-form-modal"][data-slot="upload-actions"] {
  display: flex;
  justify-content: center;
}

[data-ui="campaign-form-modal"][data-slot="upload-status"] {
  font-size: 0.875rem; /* text-sm */
  color: hsl(var(--muted-foreground));
}

[data-ui="campaign-form-modal"][data-slot="file-list"] {
  display: grid;
  gap: 0.5rem; /* space-y-2 */
}

[data-ui="campaign-form-modal"][data-slot="file-item"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: hsl(var(--muted));
  color: hsl(var(--muted-foreground));
  border-radius: calc(var(--radius) - 2px);
  padding: 0.5rem; /* p-2 */
}

[data-ui="campaign-form-modal"][data-slot="file-name"] {
  font-size: 0.875rem; /* text-sm */
  color: inherit;
}

/* Review section (step 3) */
[data-ui="campaign-form-modal"][data-slot="section-stack"] {
  display: grid;
  gap: 1.5rem; /* space-y-6 */
}

[data-ui="campaign-form-modal"][data-slot="subsection"] {
  display: grid;
  gap: 1rem; /* space-y-4 */
}

[data-ui="campaign-form-modal"][data-slot="subsection-title"] {
  font-size: 1.125rem; /* text-lg */
  font-weight: 600;    /* font-semibold */
}

[data-ui="campaign-form-modal"][data-slot="grid-2-text"] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem; /* gap-4 */
  font-size: 0.875rem; /* text-sm */
}
@media (min-width: 768px) {
  [data-ui="campaign-form-modal"][data-slot="grid-2-text"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* md:grid-cols-2 */
  }
}

[data-ui="campaign-form-modal"][data-slot="row"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

[data-ui="campaign-form-modal"][data-slot="label-strong"] {
  font-weight: 500; /* font-medium */
}

[data-ui="campaign-form-modal"][data-slot="link"] {
  color: hsl(var(--primary));
  text-decoration: underline;
}

/* Tiny stacks */
[data-ui="campaign-form-modal"][data-slot="stack-sm"] {
  display: grid;
  gap: 0.75rem; /* space-y-3 */
}
[data-ui="campaign-form-modal"][data-slot="stack-xs"] {
  display: grid;
  gap: 0.5rem; /* space-y-2 */
}
[data-ui="campaign-form-modal"][data-slot="chip-row"] {
  display: flex;
  gap: 0.5rem; /* gap-2 */
}

/* Thank you step (step 4) */
[data-ui="campaign-form-modal"][data-slot="thankyou"] {
  display: grid;
  gap: 1.5rem;  /* space-y-6 */
  padding-block: 3rem; /* py-12 */
  text-align: center;
}

[data-ui="campaign-form-modal"][data-slot="thankyou-title"] {
  font-size: 1.5rem; /* text-2xl */
  line-height: 2rem;
  font-weight: 600; /* font-semibold */
}

[data-ui="campaign-form-modal"][data-slot="thankyou-text"] {
  margin-inline: auto;
  max-width: 42rem; /* max-w-2xl */
  display: grid;
  gap: 1rem; /* space-y-4 */
  color: hsl(var(--muted-foreground));
}

/* Actions */
[data-ui="campaign-form-modal"][data-slot="actions"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1rem; /* pt-4 */
}

[data-ui="campaign-form-modal"][data-slot="actions-right"] {
  display: flex;
  gap: 0.5rem; /* gap-2 */
}

/* Progress */
[data-ui="campaign-form-modal"][data-slot="progress-section"] {
  display: grid;
  gap: 0.5rem; /* space-y-2 */
}

[data-ui="campaign-form-modal"][data-slot="progress"] {
  width: 100%;
}

[data-ui="campaign-form-modal"][data-slot="progress-text"] {
  text-align: center;
  font-size: 0.875rem; /* text-sm */
  color: hsl(var(--muted-foreground));
}
/* Styling for Create Campaign Page (headless + tokens)
   Targets data-ui="create-campaign-page" hooks from create-campaign-page.tsx. */

[data-ui="create-campaign-page"][data-slot="root"] {
  max-width: 72rem; /* ~ max-w-6xl */
  margin-inline: auto; /* mx-auto */
  padding: 1.5rem; /* p-6 */
  display: grid;
  gap: 1.5rem; /* space-y-6 */
}

/* Header */
[data-ui="create-campaign-page"][data-slot="header"] {
  display: grid;
  gap: 0.5rem; /* space-y-2 */
}

[data-ui="create-campaign-page"][data-slot="title"] {
  font-size: 1.875rem; /* text-3xl */
  line-height: 2.25rem;
  font-weight: 700; /* font-bold */
}

[data-ui="create-campaign-page"][data-slot="subtitle"] {
  font-size: 1.25rem; /* text-xl */
  line-height: 1.75rem;
  color: hsl(var(--muted-foreground));
}

/* Grid of two cards */
[data-ui="create-campaign-page"][data-slot="grid"] {
  display: grid;
  grid-template-columns: 1fr; /* 1 col */
  align-items: stretch;
  gap: 1.5rem; /* gap-6 */
}

@media (min-width: 768px) { /* md */
  [data-ui="create-campaign-page"][data-slot="grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Card internals */
[data-ui="create-campaign-page"][data-slot="card-content"] {
  display: grid;
  grid-template-rows: 1fr auto; /* content grows, CTA at bottom */
  min-height: 12rem;
}

[data-ui="create-campaign-page"][data-slot="features"] {
  display: grid;
  gap: 1rem; /* space-y-4 */
}

[data-ui="create-campaign-page"][data-slot="feature-item"] {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem; /* gap-3 */
}

[data-ui="create-campaign-page"][data-slot="feature-icon"] [data-ui="create-campaign-page"][data-slot="icon"],
[data-ui="create-campaign-page"][data-slot="icon"] {
  width: 1.25rem; /* w-5 */
  height: 1.25rem; /* h-5 */
}

[data-ui="create-campaign-page"][data-slot="feature-text"] {
  font-size: 0.875rem; /* text-sm */
  line-height: 1.625; /* leading-relaxed */
  color: hsl(var(--muted-foreground));
}

[data-ui="create-campaign-page"][data-slot="emphasis"] {
  font-weight: 500; /* font-medium */
}

/* CTA button alignment */
.create-campaign-page-cta {
  width: 100%; /* w-full */
  margin-top: 1.5rem; /* mt-6 */
}
/* Styling for Radix Radio Group extracted from Tailwind */

/* Root layout */
.radio-group-root {
  display: grid;       /* grid */
  gap: 0.5rem;         /* gap-2 */
}

/* Radio item */
.radio-group-item {
  aspect-ratio: 1 / 1;           /* aspect-square */
  height: 1rem;                  /* h-4 */
  width: 1rem;                   /* w-4 */
  border-radius: 9999px;         /* rounded-full */
  border: 1px solid hsl(var(--primary)); /* border, border-primary */
  color: hsl(var(--primary));    /* text-primary (used by indicator fill-current) */
  outline: none;                 /* focus:outline-none */
}

/* Focus ring when keyboard focusing the radio */
.radio-group-item:focus-visible {
  box-shadow: 0 0 0 2px hsl(var(--ring)), 0 0 0 4px hsl(var(--background));
}

/* Disabled state */
.radio-group-item[disabled] {
  cursor: not-allowed;           /* disabled:cursor-not-allowed */
  opacity: 0.5;                  /* disabled:opacity-50 */
}

/* Indicator wraps the icon centered */
.radio-group-indicator {
  display: flex;                 /* flex */
  align-items: center;           /* items-center */
  justify-content: center;       /* justify-center */
}

/* Indicator icon sizing/colors */
.radio-group-icon {
  height: 0.625rem; /* h-2.5 */
  width: 0.625rem;  /* w-2.5 */
  fill: currentColor; /* fill-current */
  color: currentColor; /* text-current */
}
/* Styling for Radix Popover extracted from Tailwind */

/* Popover content panel */
.popover-content {
  z-index: 50;
  width: 18rem; /* w-72 */
  border-radius: 0.375rem; /* rounded-md */
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
  padding: 1rem; /* p-4 */
  box-shadow: var(--shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1));
  outline: none;
}

/* State animations */
.popover-content[data-state="open"] {
  animation: pop-fade-in 0.2s ease-out, pop-zoom-in 0.2s ease-out;
}
.popover-content[data-state="closed"] {
  animation: pop-fade-out 0.15s ease-in, pop-zoom-out 0.15s ease-in;
}

/* Directional slide-ins (Radix sets data-side) */
.popover-content[data-side="bottom"] { animation: pop-slide-from-top 0.2s ease-out; }
.popover-content[data-side="top"]    { animation: pop-slide-from-bottom 0.2s ease-out; }
.popover-content[data-side="left"]   { animation: pop-slide-from-right 0.2s ease-out; }
.popover-content[data-side="right"]  { animation: pop-slide-from-left 0.2s ease-out; }

/* Keyframes */
@keyframes pop-fade-in   { from { opacity: 0; } to { opacity: 1; } }
@keyframes pop-fade-out  { from { opacity: 1; } to { opacity: 0; } }
@keyframes pop-zoom-in   { from { transform: scale(0.95); } to { transform: scale(1); } }
@keyframes pop-zoom-out  { from { transform: scale(1); } to { transform: scale(0.95); } }
@keyframes pop-slide-from-top    { from { transform: translateY(-0.5rem); } to { transform: translateY(0); } }
@keyframes pop-slide-from-bottom { from { transform: translateY(0.5rem); } to { transform: translateY(0); } }
@keyframes pop-slide-from-left   { from { transform: translateX(-0.5rem); } to { transform: translateX(0); } }
@keyframes pop-slide-from-right  { from { transform: translateX(0.5rem); } to { transform: translateX(0); } }
/* Styling layer for headless Command (cmdk) components */

/* Root command surface */
.command {
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius);
  background-color: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
}

/* Dialog content wrapper around Command */
.command-dialog-content {
  overflow: hidden;
  padding: 0;
  box-shadow: var(--shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1));
}

/* Optional slot to help target nested Command inside dialog */
.command-dialog-command {
  /* no-op; styles inherit from root */
}

/* Input wrapper row */
.command-input-wrapper {
  display: flex;
  align-items: center;
  border-bottom: 1px solid hsl(var(--border));
  padding-inline: 0.75rem; /* px-3 */
}

/* Search icon in input wrapper */
.command-input-icon {
  margin-right: 0.5rem; /* mr-2 */
  width: 1rem;  /* w-4 */
  height: 1rem; /* h-4 */
  flex-shrink: 0; /* shrink-0 */
  opacity: 0.5;
}

/* Command input element */
.command-input {
  display: flex;
  height: 2.75rem;       /* h-11 */
  width: 100%;
  background: transparent;
  padding-block: 0.75rem; /* py-3 */
  font-size: 0.875rem;   /* text-sm */
  border: none;
  outline: none;
}
.command-input::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}
.command-input::placeholder {
  color: hsl(var(--muted-foreground));
}
.command-input:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* List panel */
.command-list {
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Empty state */
.command-empty {
  padding-block: 1.5rem; /* py-6 */
  text-align: center;
  font-size: 0.875rem;   /* text-sm */
}

/* Group and its heading */
.command-group {
  overflow: hidden;
  padding: 0.25rem; /* p-1 */
  color: hsl(var(--foreground));
}
/* Group heading tweaks when nested under root */
.command [cmdk-group-heading] {
  padding-inline: 0.5rem;     /* px-2 */
  padding-block: 0.375rem;    /* py-1.5 */
  font-size: 0.75rem;         /* text-xs */
  font-weight: 500;           /* font-medium */
  color: hsl(var(--muted-foreground));
}
/* Remove extra top padding for subsequent groups that are visible */
.command [cmdk-group]:not([hidden]) ~ [cmdk-group] {
  padding-top: 0;
}

/* Separator */
.command-separator {
  height: 1px;
  background-color: hsl(var(--border));
  margin-left: -0.25rem;  /* -mx-1 */
  margin-right: -0.25rem;
}

/* List item */
.command-item {
  position: relative;
  display: flex;
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.5rem;             /* gap-2 */
  border-radius: 0.125rem; /* rounded-sm */
  padding: 0.375rem 0.5rem;/* py-1.5 px-2 */
  font-size: 0.875rem;     /* text-sm */
  outline: none;
}
/* Disable interactions when data-disabled=true */
.command-item[data-disabled="true"] {
  pointer-events: none;
  opacity: 0.5;
}
/* Selected state */
.command-item[data-selected="true"] {
  background-color: hsl(var(--accent));
  color: hsl(var(--accent-foreground));
}
/* Icon sizing for any svg inside item */
.command-item svg {
  width: 1rem;  /* size-4 */
  height: 1rem;
  pointer-events: none;
  flex-shrink: 0;
}

/* Shortcut hint (right-aligned) */
.command-shortcut {
  margin-left: auto;         /* ml-auto */
  font-size: 0.75rem;        /* text-xs */
  letter-spacing: 0.1em;     /* tracking-widest-ish */
  color: hsl(var(--muted-foreground));
}
/* Styling for Organization Role Registration Dialog (headless + tokens)
   Targets data-ui="org-role-registration-dialog" hooks in the dialog component. */

/* Primary trigger button */
[data-ui="org-role-registration-dialog"][data-slot="trigger-button"] {
    background-color: hsl(215 16% 27%); /* slate-600 approx */
    color: white;
}

[data-ui="org-role-registration-dialog"][data-slot="trigger-button"]:hover {
    background-color: hsl(215 16% 23%); /* slate-700 approx */
}

/* Organization type section spacing */
[data-ui="org-role-registration-dialog"][data-slot="org-type-section"] {
    margin-bottom: 1rem; /* mb-4 */
    display: grid;
    gap: 0.75rem; /* space-y-3 */
}

/* Roles radio group layout */
[data-ui="org-role-registration-dialog"][data-slot="roles"] {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem; /* gap-x-6 */
    row-gap: 0.5rem; /* gap-y-2 */
}

/* Each role option */
[data-ui="org-role-registration-dialog"][data-slot="role-option"] {
    display: flex;
    align-items: center;
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem; /* space-x-3 */
}

/* Role label styles */
[data-ui="org-role-registration-dialog"][data-slot="role-label"] {
    font-weight: 400; /* font-normal */
}

[data-ui="org-role-registration-dialog"][data-slot="role-label"][data-disabled="true"] {
    color: hsl(var(--muted-foreground));
}

/* Certificates preview */
[data-ui="org-role-registration-dialog"][data-slot="certs"] {
    margin-bottom: 1rem; /* mb-4 */
    display: grid;
    gap: 0.5rem; /* space-y-2 */
}

[data-ui="org-role-registration-dialog"][data-slot="certs-list"] {
    list-style: disc;
    padding-left: 1.25rem; /* pl-5 */
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem;
    color: hsl(var(--muted-foreground));
}

/* Generic field block spacing */
[data-ui="org-role-registration-dialog"][data-slot="field"] {
    margin-bottom: 0.75rem; /* mb-3 */
}

[data-ui="org-role-registration-dialog"][data-slot="field"][data-size="lg"] {
    margin-bottom: 1rem; /* mb-4 */
}

/* State picker chevron */
[data-ui="org-role-registration-dialog"][data-slot="state-chevron"] {
    width: 1rem; /* h-4 */
    height: 1rem; /* w-4 */
    margin-left: 0.5rem; /* ml-2 */
    opacity: 0.5; /* opacity-50 */
}

/* Popover content sizing and padding reset */
[data-ui="org-role-registration-dialog"][data-slot="state-popover"] {
    padding: 0; /* p-0 */
}

/* Command width full */
.org-role-registration-dialog-state-command {
    width: 100%;
}

.org-role-reg-dialog-select-state {
    width: 100%;
}

.org-role-reg-dialog-button {
    width: 100%;
    margin-top: 0.5rem;
}

/* Check icon visibility depending on selection state (CommandItem uses aria-selected) */
[aria-selected="true"] [data-ui="org-role-registration-dialog"][data-slot="state-check"] {
    opacity: 1;
}

[aria-selected="false"] [data-ui="org-role-registration-dialog"][data-slot="state-check"],
[data-ui="org-role-registration-dialog"][data-slot="state-check"] {
    opacity: 0;
}

/* Notice text */
[data-ui="org-role-registration-dialog"][data-slot="notice"] {
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem;
    color: hsl(var(--muted-foreground));
}

/* Spinner animation for submit */
[data-ui="org-role-registration-dialog"][data-slot="spinner"] {
    display: inline-block;
    animation: orrd-spin 1s linear infinite;
}

@keyframes orrd-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
/* Styling for Org Settings Contact section following headless + tokens pattern.
   Targets data-ui/data-slot attributes from org-settings-contact.tsx and uses tokens from index.css. */

/* Content wrapper inside CardContent */
.org-settings-contact-content {
  display: grid;
  gap: 1.5rem; /* space-y-6 */
}

/* Title */
.org-settings-contact-title {
  font-size: 1.125rem; /* text-lg */
  line-height: 1.75rem;
  font-weight: 600; /* font-semibold */
  color: hsl(var(--foreground));
}

/* Fields stack */
.org-settings-contact-fields {
  display: grid;
  gap: 1rem; /* space-y-4 */
}

/* Single field: label + input vertical spacing */
.org-settings-contact-field {
  display: grid;
  gap: 0.5rem; /* space-y-2 */
}

/* Hours block */
.org-settings-contact-hours {
  display: grid;
  gap: 0.5rem; /* space-y-2 */
}

/* Hours inputs stacked */
.org-settings-contact-hours-fields {
  display: grid;
  gap: 0.5rem; /* space-y-2 */
}
/* Styling for Org Settings Business Certificates section (headless + tokens) */

/* Root spacing wrapper */
[data-ui="org-settings-business-certificates"][data-slot="root"] {
  display: grid;
  gap: 1rem; /* space-y-4 */
}

/* Title */
[data-ui="org-settings-business-certificates"][data-slot="title"] {
  font-size: 1.125rem; /* text-lg */
  line-height: 1.75rem;
  font-weight: 600; /* font-semibold */
  color: hsl(var(--foreground));
}

/* Table wrapper and header row */
[data-ui="org-settings-business-certificates"][data-slot="table"] {
  display: grid;
  gap: 1rem; /* space-y-4 */
}

[data-ui="org-settings-business-certificates"][data-slot="header-row"] {
  display: grid;
  grid-template-columns: 1fr 1fr auto; /* 3 columns */
  gap: 1rem; /* gap-4 */
  border-bottom: 1px solid hsl(var(--border));
  padding-block: 0.5rem; /* py-2 */
  font-weight: 500; /* font-medium */
}

[data-ui="org-settings-business-certificates"][data-slot="header-cell"] {
  color: hsl(var(--foreground));
}

/* Data rows */
[data-ui="org-settings-business-certificates"][data-slot="row"] {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: center;
  gap: 1rem; /* gap-4 */
  padding-block: 0.5rem; /* py-2 */
}

[data-ui="org-settings-business-certificates"][data-slot="cell"] {
  color: hsl(var(--foreground));
}

/* Name cell truncation */
[data-ui="org-settings-business-certificates"][data-slot="name"] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; /* truncate */
}

/* Actions cell */
[data-ui="org-settings-business-certificates"][data-slot="actions"] {
  display: flex;
  gap: 0.5rem;
}

/* Empty state */
[data-ui="org-settings-business-certificates"][data-slot="empty"] {
  padding-block: 0.5rem; /* py-2 */
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}/* Styling for Organization Settings Tab (headless + tokens)
   Targets data attributes from org-settings-settings-tab.tsx and uses tokens from index.css. */

/* Header meta (small muted text) */
[data-ui="org-settings-settings-tab"][data-slot="client-meta"] {
  margin-bottom: 1rem; /* mb-4 */
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}

/* Main title */
[data-ui="org-settings-settings-tab"][data-slot="title"] {
  margin-bottom: 2rem; /* mb-8 */
  font-size: 1.5rem; /* text-2xl */
  line-height: 2rem;
  font-weight: 700; /* font-bold */
  letter-spacing: -0.01em;
}

/* Sections vertical spacing */
[data-ui="org-settings-settings-tab"][data-slot="sections"] {
  display: grid;
  gap: 2rem; /* space-y-8 */
}

/* Generic field stack */
[data-ui="org-settings-settings-tab"][data-slot="field"] {
  display: grid;
  gap: 0.5rem; /* space-y-2 */
}

/* Roles section */
[data-ui="org-settings-settings-tab"][data-slot="roles"] {
  display: grid;
  gap: 1rem; /* space-y-4 */
}

[data-ui="org-settings-settings-tab"][data-slot="roles-header"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.org-settings-settings-tab-secondary-title {
  font-size: 1.125rem; /* text-lg */
  line-height: 1.75rem;
  font-weight: 600; /* font-semibold */
}

[data-ui="org-settings-settings-tab"][data-slot="roles-list"] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem; /* gap-2 */
}

/* Address grid */
[data-ui="org-settings-settings-tab"][data-slot="address-grid"] {
  display: grid;
  grid-template-columns: 1fr; /* grid-cols-1 */
  gap: 0.75rem; /* gap-3 */
}

@media (min-width: 768px) { /* md */
  [data-ui="org-settings-settings-tab"][data-slot="address-grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* md:grid-cols-2 */
  }
}

/* Actions row */
[data-ui="org-settings-settings-tab"][data-slot="actions"] {
  display: flex;
  gap: 0.5rem; /* gap-2 */
  padding-top: 1rem; /* pt-4 */
}

/* Dialog uploader block */
[data-ui="org-settings-settings-tab"][data-slot="uploader"] {
  display: grid;
  gap: 0.75rem; /* space-y-3 */
}

/* Selected file caption */
[data-ui="org-settings-settings-tab"][data-slot="selected"] {
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}

.address-labels {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25rem;
}/* Styling for Org Location Management tab (headless + tokens) */

/* Spacing between internal tab sections (formerly Tabs className space-y-4) */
[data-ui="org-location-management-tab"][data-slot="root"] [data-ui="tabs"][data-slot="content"] {
    margin-top: 1rem; /* mt-4 */
}

/* Card container for list/map sections */
[data-ui="org-location-management-tab"][data-slot="section-card"] {
    border: 1px solid hsl(var(--border));
    background-color: hsl(var(--card));
    color: hsl(var(--card-foreground));
    border-radius: var(--radius);
    padding: 1.25rem; /* p-5 */
    box-shadow: 0 1px 2px 0 hsl(0 0% 0% / 0.05);
}

/* Section header */
[data-ui="org-location-management-tab"][data-slot="section-header"] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem; /* mb-3 */
}

[data-ui="org-location-management-tab"][data-slot="section-title"] {
    font-size: 1rem; /* text-base */
    line-height: 1.5rem;
    font-weight: 600; /* font-semibold */
}

[data-ui="org-location-management-tab"][data-slot="section-actions"] {
    display: flex;
    gap: 0.5rem; /* gap-2 */
}

/* Status messages */
[data-ui="org-location-management-tab"][data-slot="loading"] {
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem;
    color: hsl(var(--muted-foreground));
}

[data-ui="org-location-management-tab"][data-slot="error"] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

[data-ui="org-location-management-tab"][data-slot="error-message"] {
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem;
    color: hsl(var(--destructive));
}

/* Table */
[data-ui="org-location-management-tab"][data-slot="table-wrap"] {
    overflow-x: auto;
}

[data-ui="org-location-management-tab"][data-slot="table"] {
    width: 100%;
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem;
    border-collapse: collapse;
}

[data-ui="org-location-management-tab"][data-slot="thead-row"] {
    background-color: hsl(var(--muted));
}

[data-ui="org-location-management-tab"][data-slot="th"] {
    text-align: left;
    padding: 0.75rem; /* p-3 */
    border-bottom: 1px solid hsl(var(--border));
}

[data-ui="org-location-management-tab"][data-slot="row"] {
    border-bottom: 1px solid hsl(var(--border));
}

[data-ui="org-location-management-tab"][data-slot="row"]:hover {
    background-color: hsl(var(--muted));
}

[data-ui="org-location-management-tab"][data-slot="cell"] {
    padding: 0.75rem; /* p-3 */
}

[data-ui="org-location-management-tab"][data-slot="row-actions"] {
    display: flex;
    gap: 0.5rem;
}

[data-ui="org-location-management-tab"][data-slot="empty"] {
    padding: 0.75rem;
    font-size: 0.875rem;
    color: hsl(var(--muted-foreground));
}

/* Map */
[data-ui="org-location-management-tab"][data-slot="map-container"] {
    height: 500px;
    width: 100%;
}

[data-ui="org-location-management-tab"][data-slot="map-message"] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    font-size: 0.875rem;
    color: hsl(var(--muted-foreground));
}

[data-ui="org-location-management-tab"][data-slot="map-wrap"] {
    height: 100%;
    width: 100%;
}

[data-ui="org-location-management-tab"][data-slot="map-element"] {
    height: calc(100% - 2.5rem);
    width: 100%;
    border-radius: calc(var(--radius) - 2px);
    border: 1px solid hsl(var(--border));
}

[data-ui="org-location-management-tab"][data-slot="map-caption"] {
    margin-top: 0.5rem; /* mt-2 */
    font-size: 0.75rem; /* text-xs */
    line-height: 1rem;
    color: hsl(var(--muted-foreground));
}

/* Dialog internals */
[data-ui="org-location-management-tab"][data-slot="uploader-actions"] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[data-ui="org-location-management-tab"][data-slot="uploader"] {
    margin-top: 1rem; /* mt-4 */
    display: grid;
    gap: 0.5rem; /* space-y-2 */
}

[data-ui="org-location-management-tab"][data-slot="selected-file"] {
    font-size: 0.75rem; /* text-xs */
    line-height: 1rem;
    color: hsl(var(--muted-foreground));
}

[data-ui="org-location-management-tab"][data-slot="form-grid"] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem; /* gap-3 */
}
/* Styling for Org Learning Resources tab (headless + tokens) */

[data-ui="org-learning-resources-tab"][data-slot="root"] {
  display: grid;
  gap: 2rem; /* space-y-8 equivalent */
}

[data-ui="org-learning-resources-tab"][data-slot="title"] {
  font-size: 1.5rem; /* text-2xl */
  line-height: 2rem;
  font-weight: 700; /* font-bold */
}

[data-ui="org-learning-resources-tab"][data-slot="caption"] {
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}
/* Styling layer for headless Organization Settings page.
   Targets data-ui/data-slot attributes and uses design tokens from index.css. */

/* Root layout */
[data-ui="org-settings"][data-slot="root"] {
  min-height: 100vh;
  background-color: hsl(var(--background));
}

/* Header bar */
[data-ui="org-settings"][data-slot="header"] {
  border-bottom: 1px solid hsl(var(--border));
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
}

/* Header container (centering/padding) */
[data-ui="org-settings"][data-slot="header-container"] {
  max-width: 80rem; /* ~ max-w-7xl */
  margin-inline: auto; /* mx-auto */
  padding-inline: 1.5rem; /* px-6 */
  padding-block: 1rem; /* py-4 */
}

/* Header inner (layout) */
[data-ui="org-settings"][data-slot="header-inner"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Header meta (client id text) */
[data-ui="org-settings"][data-slot="header-meta"] {
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}

/* Header actions (tabs/buttons row) */
[data-ui="org-settings"][data-slot="header-actions"] {
  display: flex;
  gap: 0.5rem; /* gap-2 */
}

/* Main content container */
[data-ui="org-settings"][data-slot="content"] {
  max-width: 80rem; /* ~ max-w-7xl */
  margin-inline: auto; /* mx-auto */
  padding-inline: 1.5rem; /* px-6 */
  padding-block: 2rem; /* py-8 */
}

/* Loading state */
[data-ui="org-settings"][data-slot="loading"] {
  padding: 1.5rem; /* p-6 */
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}

/* Error state container */
[data-ui="org-settings"][data-slot="error"] {
  padding: 1.5rem; /* p-6 */
}

/* Error message */
[data-ui="org-settings"][data-slot="error-message"] {
  margin-bottom: 0.75rem; /* mb-3 */
  font-size: 0.875rem; /* text-sm */
  line-height: 1.25rem;
  color: hsl(var(--destructive)); /* text-red */
}
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  :root {
    --background: 0 0% 100%;
    --foreground: 222.2 84% 4.9%;
    --card: 0 0% 100%;
    --card-foreground: 222.2 84% 4.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 222.2 84% 4.9%;
    --primary: 221.2 83.2% 53.3%;
    --primary-foreground: 210 40% 98%;
    --secondary: 210 40% 96.1%;
    --secondary-foreground: 222.2 47.4% 11.2%;
    --muted: 210 40% 96.1%;
    --muted-foreground: 215.4 16.3% 46.9%;
    --accent: 210 40% 96.1%;
    --accent-foreground: 222.2 47.4% 11.2%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;
    --border: 214.3 31.8% 91.4%;
    --input: 214.3 31.8% 91.4%;
    --ring: 221.2 83.2% 53.3%;
    --radius: 0.3rem;
    --chart-1: 12 76% 61%;
    --chart-2: 173 58% 39%;
    --chart-3: 197 37% 24%;
    --chart-4: 43 74% 66%;
    --chart-5: 27 87% 67%;

    --scrollbar-track: hsl(var(--muted));
    --scrollbar-thumb: hsl(var(--muted-foreground) / 0.5);
    --scrollbar-thumb-hover: hsl(var(--muted-foreground) / 0.7);
  }

  .dark {
    --background: 222.2 84% 4.9%;
    --foreground: 210 40% 98%;
    --card: 222.2 84% 4.9%;
    --card-foreground: 210 40% 98%;
    --popover: 222.2 84% 4.9%;
    --popover-foreground: 210 40% 98%;
    --primary: 217.2 91.2% 59.8%;
    --primary-foreground: 222.2 47.4% 11.2%;
    --secondary: 217.2 32.6% 17.5%;
    --secondary-foreground: 210 40% 98%;
    --muted: 217.2 32.6% 17.5%;
    --muted-foreground: 215 20.2% 65.1%;
    --accent: 217.2 32.6% 17.5%;
    --accent-foreground: 210 40% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 210 40% 98%;
    --border: 217.2 32.6% 17.5%;
    --input: 217.2 32.6% 17.5%;
    --ring: 224.3 76.3% 48%;
    --chart-1: 220 70% 50%;
    --chart-2: 160 60% 45%;
    --chart-3: 30 80% 55%;
    --chart-4: 280 65% 60%;
    --chart-5: 340 75% 55%;

    --scrollbar-track: hsl(var(--muted));
    --scrollbar-thumb: hsl(var(--muted-foreground) / 0.5);
    --scrollbar-thumb-hover: hsl(var(--muted-foreground) / 0.7);
  }
  * {
  border-color: hsl(var(--border));
}
  body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}

  /* Firefox */
  * {
    scrollbar-width: thin;
    scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
  }

  /* Chrome, Edge, and Safari */
  *::-webkit-scrollbar {
    width: 12px;
  }

  *::-webkit-scrollbar-track {
    background: var(--scrollbar-track);
  }

  *::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar-thumb);
    border-radius: 20px;
    border: 3px solid var(--scrollbar-track);
  }

  *::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar-thumb-hover);
  }
.\!container {
  width: 100% !important;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .\!container {
    max-width: 640px !important;
  }

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .\!container {
    max-width: 1024px !important;
  }

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .\!container {
    max-width: 1280px !important;
  }

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.visible {
  visibility: visible;
}
.static {
  position: static;
}
.absolute {
  position: absolute;
}
.mt-2 {
  margin-top: 0.5rem;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.\!table {
  display: table !important;
}
.table {
  display: table;
}
.table-caption {
  display: table-caption;
}
.table-cell {
  display: table-cell;
}
.table-row {
  display: table-row;
}
.grid {
  display: grid;
}
.list-item {
  display: list-item;
}
.hidden {
  display: none;
}
.h-8 {
  height: 2rem;
}
.w-8 {
  width: 2rem;
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.items-center {
  align-items: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-3 {
  gap: 0.75rem;
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.justify-self-center {
  justify-self: center;
}
.rounded-lg {
  border-radius: var(--radius);
}
.border {
  border-width: 1px;
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.p-4 {
  padding: 1rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.font-medium {
  font-weight: 500;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.capitalize {
  text-transform: capitalize;
}
.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline {
  outline-style: solid;
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
@keyframes enter {

  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}
@keyframes exit {

  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}
.running {
  animation-play-state: running;
}
.paused {
  animation-play-state: paused;
}
