/*
 * Dayalogs design foundations.
 *
 * Source: Claude Design handoff "Dayalogs Design System" fetched 2026-06-02.
 * The brand taupe is PANTONE Warm Gray 11 C: #6E6259 / RGB 110,98,89.
 */
:root {
    --dayalogs-brand: #6E6259;
    --dayalogs-brand-hover: #5e534c;
    --dayalogs-bg: #fcfaf7;
    --dayalogs-bg-public: #fbfaf7;
    --dayalogs-surface: #fffdfa;
    --dayalogs-surface-soft: #f7f2ec;
    --dayalogs-surface-active: #f4efe8;
    --dayalogs-surface-elev: #ffffff;
    --dayalogs-text-strong: #352f2b;
    --dayalogs-text: #6E6259;
    --dayalogs-muted: #8b8377;
    --dayalogs-on-brand: #f4efe8;
    --dayalogs-on-primary: #ffffff;
    --dayalogs-line: #e9e1d7;
    --dayalogs-line-soft: #f3eee8;
    --dayalogs-rule: #dfe4e2;
    --dayalogs-primary: var(--dayalogs-brand);
    --dayalogs-primary-hover: var(--dayalogs-brand-hover);
    --dayalogs-primary-soft: rgba(110, 98, 89, 0.14);
    --dayalogs-success: #afbeaa;
    --dayalogs-success-bg: #eef3ea;
    --dayalogs-success-fg: #667b61;
    --dayalogs-danger: #ee9487;
    --dayalogs-danger-bg: #fdf1ee;
    --dayalogs-danger-fg: #bd6a5e;
    --dayalogs-danger-line: #f3cbc3;
    --dayalogs-warning-bg: #fbf6dc;
    --dayalogs-warning-fg: #98864e;
    --dayalogs-warning-line: #eee2a3;
    --dayalogs-accent: #c7a15b;
    --dayalogs-warn-public: #b14d42;
    --dayalogs-focus-ring: 0 0 0 0.2rem rgba(209, 193, 179, 0.22);
    --dayalogs-focus-ring-public: 0 0 0 3px var(--dayalogs-primary-soft);

    --dayalogs-font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --dayalogs-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

    --dayalogs-radius-sm: 0.6rem;
    --dayalogs-radius: 0.8rem;
    --dayalogs-radius-md: 0.95rem;
    --dayalogs-radius-lg: 1.45rem;
    --dayalogs-radius-panel: 18px;
    --dayalogs-radius-pill: 999px;
    --dayalogs-radius-sharp: 0;

    --dayalogs-shadow-sm: 0 0.65rem 1.7rem rgba(80, 70, 58, 0.12);
    --dayalogs-shadow-menu: 0 0.8rem 1.8rem rgba(80, 70, 58, 0.16);
    --dayalogs-shadow-modal: 0 1rem 2.5rem rgba(53, 47, 43, 0.18);
    --dayalogs-shadow-panel: 0 24px 80px rgba(53, 47, 43, 0.18);

    --dayalogs-gutter: clamp(18px, 4vw, 48px);
    --dayalogs-maxw: 1180px;
    --dayalogs-maxw-narrow: 860px;

    --bs-body-font-family: var(--dayalogs-font-sans);
    --bs-body-bg: var(--dayalogs-bg);
    --bs-body-color: var(--dayalogs-text);
    --bs-primary: var(--dayalogs-primary);
    --bs-primary-rgb: 110, 98, 89;
    --bs-link-color: var(--dayalogs-primary);
    --bs-link-hover-color: var(--dayalogs-primary-hover);
    --bs-border-color: var(--dayalogs-line);
    --bs-border-radius: var(--dayalogs-radius);
}

.dayalogs-admin {
    background: var(--dayalogs-bg);
    color: var(--dayalogs-text);
    font-family: var(--dayalogs-font-sans);
}

.dayalogs-public {
    background: var(--dayalogs-bg-public);
    color: var(--dayalogs-text-strong);
    font-family: var(--dayalogs-font-sans);
}

.dayalogs-eyebrow {
    color: var(--dayalogs-primary);
    font-family: var(--dayalogs-font-mono);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

/*
 * Dayalogs scoped respondent survey theme.
 *
 * Keep survey presentation variables on .dy-survey so client-level overrides can
 * brand the renderer without leaking into the admin shell or public chrome.
 */
.dy-survey {
    --dayalogs-survey-bg: var(--dayalogs-bg-public, #fbfaf7);
    --dayalogs-survey-surface: var(--dayalogs-surface-elev, #ffffff);
    --dayalogs-survey-ink: var(--dayalogs-text-strong, #352f2b);
    --dayalogs-survey-ink-2: var(--dayalogs-text, #6E6259);
    --dayalogs-survey-muted: var(--dayalogs-muted, #8b8377);
    --dayalogs-survey-rule: var(--dayalogs-rule, #dfe4e2);
    --dayalogs-survey-primary: var(--dayalogs-primary, #6E6259);
    --dayalogs-survey-primary-hover: var(--dayalogs-text-strong, #352f2b);
    --dayalogs-survey-primary-ink: var(--dayalogs-survey-bg);
    --dayalogs-survey-primary-soft: var(--dayalogs-primary-soft, rgba(110, 98, 89, 0.14));
    --dayalogs-survey-accent: var(--dayalogs-accent, #c7a15b);
    --dayalogs-survey-warn: var(--dayalogs-warn-public, #b14d42);
    --dayalogs-survey-font: var(--dayalogs-font-sans, "Inter", ui-sans-serif, system-ui, sans-serif);
    --dayalogs-survey-font-mono: var(--dayalogs-font-mono, "SFMono-Regular", Consolas, monospace);
    --dayalogs-survey-control-radius: 0;
    --dayalogs-survey-accent-edge: 0;
    --dayalogs-survey-gutter: var(--dayalogs-gutter, clamp(18px, 4vw, 48px));
    --dayalogs-survey-maxw: var(--dayalogs-maxw, 1180px);
    --dayalogs-survey-maxw-narrow: var(--dayalogs-maxw-narrow, 860px);

    --bg: var(--dayalogs-survey-bg);
    --bg-elev: var(--dayalogs-survey-surface);
    --brand: var(--dayalogs-survey-primary);
    --ink: var(--dayalogs-survey-ink);
    --ink-2: var(--dayalogs-survey-ink-2);
    --muted: var(--dayalogs-survey-muted);
    --rule: var(--dayalogs-survey-rule);
    --primary: var(--dayalogs-survey-primary);
    --primary-soft: var(--dayalogs-survey-primary-soft);
    --accent: var(--dayalogs-survey-accent);
    --warn: var(--dayalogs-survey-warn);
    --gutter: var(--dayalogs-survey-gutter);
    --maxw: var(--dayalogs-survey-maxw);
    --maxw-narrow: var(--dayalogs-survey-maxw-narrow);
    --font-sans: var(--dayalogs-survey-font);
    --font-body: var(--dayalogs-survey-font);
    --font-mono: var(--dayalogs-survey-font-mono);

    background: var(--dayalogs-survey-bg);
    color: var(--dayalogs-survey-ink);
    font-family: var(--dayalogs-survey-font);
}

.dy-survey .btn-next,
.dy-survey .btn-back,
.dy-survey .q-text-input,
.dy-survey .q-email-input,
.dy-survey .q-textarea,
.dy-survey .q-other-text input,
.dy-survey .q-rank-other,
.dy-survey .q-scale-step,
.dy-survey .q-rank-item,
.dy-survey .q-rank-btn,
.dy-survey .q-rank-add,
.dy-survey .q-rank-remove {
    border-radius: var(--dayalogs-survey-control-radius);
}

.dy-survey .btn-next::before {
    display: none;
    width: 0;
}

.dy-survey .btn-next:hover {
    background: var(--dayalogs-survey-primary-hover);
    border-color: var(--dayalogs-survey-primary-hover);
}

.dy-survey .btn-next:active,
.dy-survey .btn-next.is-tapped {
    background: var(--dayalogs-survey-primary-hover);
    border-color: var(--dayalogs-survey-primary-hover);
}

.dy-survey .q-scale-step.selected,
.dy-survey .q-matrix-categorical .q-scale-row-cells .q-scale-step.selected {
    background: var(--dayalogs-survey-primary);
    border-color: var(--dayalogs-survey-primary);
    color: var(--dayalogs-survey-primary-ink);
}

.dy-survey .q-matrix-categorical .q-scale-cell .q-scale-step.selected {
    background: transparent;
    border-color: transparent;
    color: var(--dayalogs-survey-ink);
}


html,
body {
    font-family: var(--dayalogs-font-sans, "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

body.bg-light {
    background: var(--dayalogs-bg) !important;
    color: var(--dayalogs-text);
}

.btn-primary {
    --bs-btn-bg: var(--dayalogs-primary);
    --bs-btn-border-color: var(--dayalogs-primary);
    --bs-btn-hover-bg: var(--dayalogs-primary-hover);
    --bs-btn-hover-border-color: var(--dayalogs-primary-hover);
    --bs-btn-focus-shadow-rgb: 209, 193, 179;
    --bs-btn-active-bg: var(--dayalogs-primary-hover);
    --bs-btn-active-border-color: var(--dayalogs-primary-hover);
}

.btn-outline-secondary,
.btn-outline-primary {
    --bs-btn-color: var(--dayalogs-text-strong);
    --bs-btn-border-color: var(--dayalogs-line);
    --bs-btn-hover-color: var(--dayalogs-text-strong);
    --bs-btn-hover-bg: var(--dayalogs-surface-active);
    --bs-btn-hover-border-color: var(--dayalogs-primary);
    --bs-btn-focus-shadow-rgb: 209, 193, 179;
    --bs-btn-active-color: var(--dayalogs-text-strong);
    --bs-btn-active-bg: var(--dayalogs-surface-active);
    --bs-btn-active-border-color: var(--dayalogs-primary);
}

.card {
    --bs-card-bg: var(--dayalogs-surface);
    --bs-card-border-color: var(--dayalogs-line);
}

.text-muted {
    color: var(--dayalogs-muted) !important;
}

img.logo-dashboard {
    width: 100%;
}

img.logo-seccio {
    width: 100px;
}

.dayalogs-page-logo {
    display: block;
    height: 42px;
    max-width: min(100%, 210px);
    width: auto;
}

.dayalogs-page-brand {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.dayalogs-public-page {
    min-height: 100%;
    background: var(--dayalogs-bg);
    color: var(--dayalogs-text);
    overflow-x: hidden;
    overflow-y: auto;
    position: relative;
}

.dayalogs-public-shell {
    min-height: 100%;
    padding: clamp(1.25rem, 4vw, 3.5rem);
    position: relative;
    z-index: 2;
}

.dayalogs-login-flow-bg {
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
    z-index: 0;
}

.dayalogs-login-flow-bg::after {
    background:
        radial-gradient(circle at 62% 24%, rgba(209, 193, 179, 0.17), transparent 32%),
        radial-gradient(circle at 78% 76%, rgba(232, 217, 160, 0.11), transparent 35%);
    content: "";
    inset: 0;
    position: absolute;
}

.dayalogs-kicker {
    color: var(--dayalogs-muted);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.2;
    margin-bottom: 0.65rem;
    text-transform: uppercase;
}

.dayalogs-page-title {
    color: var(--dayalogs-text-strong);
    font-size: clamp(2rem, 4vw, 4.1rem);
    font-weight: 700;
    letter-spacing: -0.055em;
    line-height: 0.98;
    margin: 0;
}

.dayalogs-page-title-sm {
    color: var(--dayalogs-text-strong);
    font-size: clamp(1.85rem, 3vw, 2.65rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.04;
    margin: 0;
}

.dayalogs-page-copy {
    color: var(--dayalogs-muted);
    font-size: clamp(1rem, 1.45vw, 1.18rem);
    line-height: 1.55;
    margin: 0;
    max-width: 47rem;
}

.dayalogs-btn {
    align-items: center;
    border: 1px solid var(--dayalogs-line);
    border-radius: 1.45rem;
    display: inline-flex;
    font-weight: 700;
    gap: 0.45rem;
    justify-content: center;
    line-height: 1;
    min-height: 2.45rem;
    padding: 0.72rem 1.25rem;
    text-decoration: none;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.dayalogs-btn:hover {
    transform: translateY(-1px);
}

.dayalogs-btn-primary {
    background: var(--dayalogs-primary);
    border-color: var(--dayalogs-primary);
    color: #fff;
}

.dayalogs-btn-primary:hover,
.dayalogs-btn-primary:focus {
    background: var(--dayalogs-primary-hover);
    border-color: var(--dayalogs-primary-hover);
    color: #fff;
}

.dayalogs-btn-ghost {
    background: transparent;
    color: var(--dayalogs-text-strong);
}

.dayalogs-btn-ghost:hover,
.dayalogs-btn-ghost:focus {
    background: var(--dayalogs-surface-soft);
    border-color: var(--dayalogs-primary);
    color: var(--dayalogs-text-strong);
}

.dayalogs-field-label {
    color: var(--dayalogs-muted);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 0.4rem;
    text-transform: uppercase;
}

.dayalogs-form-control {
    background: #fff;
    border: 1px solid var(--dayalogs-line);
    border-radius: 0.85rem;
    color: var(--dayalogs-text-strong);
    min-height: 2.65rem;
}

.dayalogs-form-control:focus {
    background: #fff;
    border-color: var(--dayalogs-primary);
    box-shadow: var(--dayalogs-focus-ring, 0 0 0 0.2rem rgba(209, 193, 179, 0.22));
    color: var(--dayalogs-text-strong);
}

.dayalogs-alert {
    background: var(--dayalogs-danger-bg, #fdf1ee);
    border: 1px solid var(--dayalogs-danger-line, #f3cbc3);
    border-radius: 0.85rem;
    color: var(--dayalogs-danger-fg, #bd6a5e);
    margin-bottom: 1.25rem;
    padding: 0.85rem 1rem;
}

.dayalogs-login {
    align-items: center;
    display: grid;
    gap: clamp(2rem, 6vw, 5rem);
    grid-template-columns: minmax(0, 0.95fr) minmax(19rem, 25rem);
    margin: 0 auto;
    max-width: 980px;
    min-height: calc(100vh - clamp(2.5rem, 8vw, 7rem));
    position: relative;
    z-index: 2;
}

.dayalogs-login-intro {
    border-bottom: 1px solid var(--dayalogs-line);
    border-top: 1px solid var(--dayalogs-line);
    padding: clamp(2rem, 7vw, 5rem) 0;
}

.dayalogs-login-logo {
    display: block;
    height: auto;
    margin-bottom: 0.8rem;
    max-width: min(100%, 330px);
    width: 74%;
}

.dayalogs-login-intro .dayalogs-page-copy {
    margin-top: 1.15rem;
}

.dayalogs-login-form {
    border-left: 1px solid var(--dayalogs-line);
    padding-left: clamp(1.5rem, 4vw, 2.6rem);
}

.dayalogs-login-form-title {
    color: var(--dayalogs-text-strong);
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
}



@media (max-width: 767.98px) {
    .dayalogs-public-shell {
        padding: 1.25rem;
    }

    .dayalogs-login-flow-bg {
        display: none;
    }

    .dayalogs-login {
        display: block;
        min-height: auto;
    }

    .dayalogs-login-intro {
        padding: 2.75rem 0;
    }

    .dayalogs-login-form {
        border-left: 0;
        border-top: 1px solid var(--dayalogs-line);
        margin-top: 2rem;
        padding-left: 0;
        padding-top: 1.5rem;
    }
}

/* ==========================================================================
   Base topbar and account chrome
   Extracted from templates/base.html.twig
   ========================================================================== */
:root {
            --dayalogs-topbar-height: 2.55rem;
        }

        .dayalogs-topbar {
            background: var(--dayalogs-brand);
            color: var(--dayalogs-on-brand);
        }

        .dayalogs-topbar-inner {
            min-height: 2.55rem;
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 0.45rem;
            padding: 0.4rem 1.35rem;
            font-size: 0.84rem;
        }

        .dayalogs-topbar-button {
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 999px;
            color: var(--dayalogs-on-brand);
            display: inline-flex;
            gap: 0.35rem;
            line-height: 1;
            min-height: 1.8rem;
            padding: 0.35rem 0.55rem;
        }

        .dayalogs-topbar-button:hover,
        .dayalogs-topbar-button:focus,
        .dayalogs-topbar-button.show {
            background: rgba(255, 255, 255, 0.12);
            color: #ffffff;
        }

        .dayalogs-topbar-inner > a {
            color: #eee6dc;
            text-decoration: underline;
            text-underline-offset: 0.2em;
            text-decoration-thickness: 1px;
        }

        .dayalogs-topbar-inner > a:hover {
            color: #ffffff;
        }

        .dayalogs-topbar-button i {
            font-size: 0.76rem;
            line-height: 1;
        }

        .dayalogs-topbar-dropdown {
            --bs-dropdown-bg: var(--dayalogs-surface);
            --bs-dropdown-border-color: var(--dayalogs-line);
            --bs-dropdown-link-color: var(--dayalogs-text-strong);
            --bs-dropdown-link-hover-bg: var(--dayalogs-surface-active);
            --bs-dropdown-link-hover-color: var(--dayalogs-text-strong);
            border-radius: var(--dayalogs-radius);
            box-shadow: var(--dayalogs-shadow-menu);
            min-width: 13rem;
            overflow: hidden;
            padding: 0.35rem;
        }

        .dayalogs-topbar-dropdown .dropdown-item {
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 0.6rem;
            display: flex;
            gap: 0.55rem;
            min-height: 2.1rem;
            padding: 0.42rem 0.6rem;
            text-align: left;
            width: 100%;
        }

        .dayalogs-topbar-dropdown a.dropdown-item {
            text-decoration: none;
        }

        .dayalogs-topbar-dropdown .dropdown-item.is-active {
            background: var(--dayalogs-surface-active);
            font-weight: 700;
        }

        .dayalogs-topbar-dropdown .dropdown-item:disabled {
            color: #a99d91;
            opacity: 0.78;
        }

        .dayalogs-topbar-dropdown small {
            color: var(--dayalogs-muted);
            display: block;
            font-size: 0.72rem;
            font-weight: 500;
            line-height: 1.1;
        }

        .dayalogs-topbar-language-row {
            align-items: center;
            color: var(--dayalogs-muted);
            display: flex;
            gap: 0.45rem;
            justify-content: space-between;
            padding: 0.45rem 0.6rem;
        }

        .dayalogs-topbar-language-links {
            display: inline-flex;
            gap: 0.22rem;
        }

        .dayalogs-topbar-language-links a {
            border-radius: 999px;
            color: var(--dayalogs-muted);
            font-size: 0.72rem;
            font-weight: 700;
            line-height: 1;
            min-width: 1.65rem;
            padding: 0.3rem 0.4rem;
            text-align: center;
            text-decoration: none;
        }

        .dayalogs-topbar-language-links a:hover,
        .dayalogs-topbar-language-links a.is-active {
            background: var(--dayalogs-surface-active);
            color: var(--dayalogs-text-strong);
        }

        @media (max-width: 767.98px) {
            .dayalogs-topbar-inner {
                min-height: auto;
                flex-wrap: wrap;
                justify-content: flex-end;
                gap: 0.45rem;
                padding: 0.45rem 0.85rem;
                font-size: 0.74rem;
            }
        }

/* ==========================================================================
   Survey respondent base chrome
   Extracted from templates/survey_base.html.twig
   ========================================================================== */
.dy-survey *, .dy-survey *::before, .dy-survey *::after { box-sizing: border-box; }
body.dy-survey {
      margin: 0;
      min-height: 100vh;
      background: var(--bg);
      color: var(--ink);
      font-family: var(--font-sans);
      line-height: 1.5;
    }
.dy-survey a { color: inherit; }
.dy-survey h1, .dy-survey h2, .dy-survey h3, .dy-survey p { margin: 0; }
.dy-survey h1 {
      font-size: clamp(38px, 7vw, 82px);
      line-height: 0.98;
      font-weight: 650;
      letter-spacing: 0;
    }

    .dy-survey .lead {
      color: var(--ink-2);
      font-size: clamp(17px, 2vw, 22px);
      line-height: 1.55;
    }

    .dy-survey .eyebrow {
      display: inline-block;
      color: var(--primary);
      font-family: var(--font-mono);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }

    .dy-survey .survey-header {
      height: 72px;
      position: sticky;
      top: 0;
      z-index: 60;
      background: rgba(251, 250, 247, 0.94);
      border-bottom: 1px solid var(--rule);
      backdrop-filter: blur(12px);
    }

    .dy-survey .survey-header__inner {
      height: 72px;
      max-width: var(--maxw);
      margin: 0 auto;
      padding: 0 var(--gutter);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
    }

    .dy-survey .survey-brand {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      color: var(--ink);
      line-height: 1;
    }

    .dy-survey .survey-brand__logo {
      display: block;
      height: 34px;
      width: auto;
    }

    .dy-survey .survey-header__tools {
      display: flex;
      align-items: center;
      gap: 12px;
      color: var(--ink-2);
      font-size: 13px;
    }

    .dy-survey .survey-header__tools a {
      text-decoration: none;
      color: var(--ink-2);
    }

    .dy-survey .survey-header__tools a:hover { color: var(--ink); }

    .dy-survey .locale-switcher {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-wrap: wrap;
    }

    .dy-survey .locale-switcher a {
      padding: 4px 7px;
      border: 1px solid transparent;
      border-radius: 999px;
      font-family: var(--font-mono);
      font-size: 11px;
      text-decoration: none;
      text-transform: uppercase;
    }

    .dy-survey .locale-switcher a.active {
      border-color: var(--rule);
      background: var(--bg-elev);
      color: var(--ink);
    }

    @media (max-width: 720px) {
      .dy-survey .survey-header__inner { align-items: flex-start; flex-direction: column; height: auto; padding-top: 12px; padding-bottom: 12px; }
      .dy-survey .survey-header { height: auto; }
      .dy-survey .survey-progress { top: 92px !important; }
      .dy-survey .survey-brand__logo { height: 30px; }
    }

/* ==========================================================================
   Survey respondent runtime
   Extracted from templates/surveys/show.html.twig
   ========================================================================== */
.survey-shell { min-height: calc(100vh - 72px); display: flex; flex-direction: column; }

  .survey-progress {
    position: sticky; top: 72px; z-index: 40;
    background: var(--bg);
    padding: 0;
  }
  .survey-progress[hidden] { display: none; }
  .progress-track {
    height: 2px; background: var(--rule);
    position: relative; overflow: hidden;
  }
  .progress-track .bar {
    position: absolute; left: 0; top: 0; bottom: 0;
    background: var(--primary);
    transition: width .3s ease;
    width: 0;
  }

  .survey-screen {
    display: none; flex: 1;
    padding: clamp(28px, 4vh, 56px) var(--gutter) clamp(28px, 4vh, 48px);
  }
  .survey-screen.active { display: flex; flex-direction: column; }
  .survey-screen .inner {
    max-width: var(--maxw-narrow); margin: 0 auto; width: 100%;
    flex: 1; display: flex; flex-direction: column;
  }

  .intro-meta {
    display: flex; gap: 40px; flex-wrap: wrap; margin-top: 36px;
    font-family: var(--font-mono); font-size: 11px;
    letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted);
  }
  .intro-meta strong {
    display: block; font-family: var(--font-sans);
    font-size: 15px; letter-spacing: 0; text-transform: none;
    color: var(--ink); margin-top: 5px; font-weight: 500;
  }

  .survey-intro-title,
  .preview-complete-title {
    font-size: clamp(44px, 7vw, 82px);
    line-height: 0.98;
    margin-top: 20px;
    max-width: 14ch;
  }

  .survey-intro-title {
    max-width: 18ch;
  }

  .survey-intro-lead {
    margin-top: 24px;
    max-width: 52ch;
  }

  .survey-intro-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 48px;
  }

  .survey-nav-arrow {
    font-size: 16px;
  }

  .survey-intro-note {
    color: var(--muted);
    font-size: 13px;
    margin: 0;
    max-width: 36ch;
  }

  .preview-complete-lead {
    font-size: clamp(18px, 2vw, 24px);
    line-height: 1.45;
    margin-top: 22px;
    max-width: 50ch;
  }

  .q-text {
    font-size: clamp(18px, 2.2vw, 24px); font-weight: 500;
    color: var(--ink); line-height: 1.3; letter-spacing: -0.015em;
    max-width: 38ch; margin-bottom: 20px;
  }
  .q-options {
    column-count: var(--cols, 1);
    column-gap: 32px;
    margin-bottom: 24px;
  }
  @media (max-width: 720px) { .q-options { column-count: 1; } }
  .q-option {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 8px 4px; border: none; background: transparent;
    cursor: pointer; font-size: 15px; color: var(--ink-2);
    line-height: 1.35; transition: color .12s; user-select: none;
    margin-bottom: 0.42rem;
    break-inside: avoid;
  }
  .q-other-text { break-inside: avoid; }
  .q-option:hover { color: var(--ink); }
  .q-option.is-disabled {
    opacity: .45;
    cursor: not-allowed;
  }
  .q-option input { margin-top: 2px; flex-shrink: 0; accent-color: var(--primary); width: 15px; height: 15px; cursor: pointer; }
  .q-option.is-disabled input { cursor: not-allowed; }
  .q-option.selected { color: var(--ink); }
  .q-other-text { display: none; padding: 4px 0 10px 27px; }
  .q-other-text input {
    width: 100%; padding: 9px 12px;
    border: 1px solid var(--rule); background: var(--bg-elev);
    font-family: var(--font-sans); font-size: 14px; color: var(--ink); border-radius: 0;
  }
  .q-other-text input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
  .q-textarea {
    width: 100%; padding: 12px 14px;
    border: 1px solid var(--rule); background: var(--bg-elev);
    font-family: var(--font-sans); font-size: 15px; color: var(--ink);
    border-radius: 0; resize: vertical; min-height: 120px; margin-bottom: 24px;
  }
  .q-textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
  .q-text-input {
    width: 100%; max-width: 440px; padding: 12px 14px;
    border: 1px solid var(--rule); background: var(--bg-elev);
    font-family: var(--font-sans); font-size: 15px; color: var(--ink);
    border-radius: 0; margin-bottom: 24px;
  }
  .q-text-input.q-text-input-compact { max-width: 220px; }
  .q-text-input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
  .q-email-input {
    max-width: 360px; width: 100%; padding: 12px 14px;
    border: 1px solid var(--rule); background: var(--bg-elev);
    font-family: var(--font-sans); font-size: 15px; color: var(--ink);
    border-radius: 0; margin-bottom: 10px;
  }
  .q-email-input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
  .q-note { font-size: 13px; color: var(--muted); max-width: 44ch; margin-bottom: 24px; }
  .q-consent {
    display: flex; align-items: flex-start; gap: 10px;
    max-width: 48ch; margin-bottom: 24px;
  }
  .q-consent input {
    width: 16px; height: 16px; margin-top: 1px;
    accent-color: var(--primary); flex-shrink: 0;
  }
  .q-consent span {
    font-size: 13px; line-height: 1.45; color: var(--muted);
  }
  .q-consent a {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .q-consent .privacy-inline-button {
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
  }
  .intro-privacy {
    flex-basis: 100%;
    margin-top: 6px;
  }
  .intro-privacy .q-consent {
    margin-bottom: 0;
  }

  .survey-nav {
    display: flex; align-items: center; gap: 14px;
    margin-top: 8px; padding-top: 16px;
  }
  .survey-nav.auto-advance-single .btn-next { display: none; }
  .survey-nav.auto-advance-single.needs-manual-next .btn-next { display: inline-flex; }
  .btn-back {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 13px 20px; font-size: 14px;
    border: 1px solid var(--rule); background: transparent; color: var(--ink-2);
    cursor: pointer; font-family: inherit; transition: border-color .15s, color .15s, background-color .15s, transform .12s;
    touch-action: manipulation; -webkit-tap-highlight-color: transparent;
  }
  .btn-back:hover { border-color: var(--ink); color: var(--ink); }
  .btn-back:active,
  .btn-back.is-tapped {
    border-color: var(--ink);
    color: var(--ink);
    background: rgba(13, 42, 58, 0.08);
    transform: translateY(1px);
  }
  .btn-next {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 26px; font-size: 14px; letter-spacing: 0.02em;
    border: 1px solid var(--primary); background: var(--primary); color: var(--bg);
    cursor: pointer; font-family: inherit; transition: background .15s, border-color .15s, transform .12s, filter .12s;
    position: relative;
    touch-action: manipulation; -webkit-tap-highlight-color: transparent;
  }
  .btn-next::before {
    content: none; display: none; width: 0;
  }
  .btn-next:hover { background: var(--ink); border-color: var(--ink); }
  .btn-next:disabled,
  .btn-next:disabled:hover {
    background: var(--muted);
    border-color: var(--muted);
    color: var(--bg);
    cursor: not-allowed;
    filter: none;
    transform: none;
    opacity: 0.62;
  }
  .btn-next:active,
  .btn-next.is-tapped {
    background: #2a657f;
    border-color: #2a657f;
    filter: brightness(1.04);
    transform: translateY(1px);
  }
  .q-error {
    display: none;
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em;
    text-transform: uppercase; color: var(--warn); margin-bottom: 12px;
  }
  .q-error.visible { display: block; }

  .q-page-header {
    margin-bottom: 28px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--rule);
  }
  .q-page-header.has-media {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 18px;
    align-items: start;
  }
  .q-block-media {
    grid-row: 1 / span 4;
    width: var(--media-size, 84px);
    height: var(--media-size, 84px);
    border: 1px solid var(--rule);
    background: var(--bg-elev);
    object-fit: cover;
    flex-shrink: 0;
  }
  .q-block-title {
    margin: 0;
    max-width: 42ch;
    color: var(--ink);
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.25;
    font-weight: 600;
    white-space: pre-line;
  }
  .q-block-description {
    max-width: 58ch;
    margin: 8px 0 0;
    color: var(--ink-2);
    font-size: 14px;
    line-height: 1.45;
  }
  @media (max-width: 520px) {
    .q-page-header.has-media {
      grid-template-columns: 64px minmax(0, 1fr);
      column-gap: 14px;
    }
    .q-block-media {
      --media-size: 64px;
    }
  }
  .q-page-label {
    margin: 0;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .q-block-title + .q-page-label,
  .q-block-description + .q-page-label {
    margin-top: 14px;
  }
  .q-page-description {
    max-width: 58ch;
    margin: 8px 0 0;
    color: var(--ink-2);
    font-size: 14px;
    line-height: 1.45;
  }
  .q-group { margin-bottom: 28px; }
  .q-group + .q-group {
    padding-top: 28px;
    border-top: 1px solid var(--rule);
  }
  .q-group[hidden] { display: none; }

  .q-scale {
    display: flex;
    flex-direction: column;
    margin-bottom: 24px;
    overflow: visible;
  }
  .q-choice-scroll-frame {
    position: relative;
    width: 100%;
    max-width: 100%;
  }
  .q-choice-scroll {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .q-choice-scroll::-webkit-scrollbar { display: none; }
  .q-choice-scroll-content {
    min-width: 100%;
    width: max-content;
  }
  .q-choice-scroll .q-scale-ladder {
    flex-wrap: nowrap;
    min-width: 100%;
    width: max-content;
  }
  .q-choice-scroll-arrow {
    align-items: center;
    background: var(--bg);
    border: 1px solid var(--rule);
    color: var(--ink-2);
    cursor: pointer;
    display: none;
    font-family: var(--font-mono);
    font-size: 18px;
    height: 30px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    z-index: 2;
  }
  .q-choice-scroll-arrow-left { left: -40px; }
  .q-choice-scroll-arrow-right { right: -40px; }
  .q-choice-scroll-frame.has-overflow .q-choice-scroll-arrow { display: flex; }
  .q-choice-scroll-frame.at-start .q-choice-scroll-arrow-left,
  .q-choice-scroll-frame.at-end .q-choice-scroll-arrow-right {
    opacity: .25;
    pointer-events: none;
  }
  .q-scale-ladder {
    display: flex; flex-wrap: wrap; gap: 6px;
  }
  .q-scale-step {
    flex: 1 0 54px; min-width: 54px;
    display: flex; align-items: center; justify-content: center;
    padding: 10px 6px;
    border: 1px solid var(--rule); background: var(--bg-elev);
    cursor: pointer; user-select: none;
    font-family: var(--font-mono); font-size: 13px; color: var(--ink-2);
    transition: border-color .12s, color .12s, background .12s;
    white-space: nowrap;
  }
  .q-scale-step input { position: absolute; opacity: 0; pointer-events: none; }
  .q-scale-step:hover { border-color: var(--ink); color: var(--ink); }
  .q-scale-step.is-disabled {
    opacity: .45;
    cursor: not-allowed;
  }
  .q-scale-step.is-disabled input { cursor: not-allowed; }
  .q-scale-step.selected {
    background: var(--primary); border-color: var(--primary); color: var(--bg);
  }
  .q-scale-step-special {
    font-family: var(--font-body);
    flex: 0 0 auto;
    min-width: max-content;
    padding-left: 12px;
    padding-right: 12px;
  }
  .q-scale-endpoints {
    display: flex; justify-content: space-between;
    font-family: var(--font-mono); font-size: 11px;
    letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted);
    margin-top: 8px;
  }

  /* Scale battery as a matrix: label column + small button per scale step */
  .q-scale-matrix {
    display: grid;
    grid-template-columns: var(--scale-columns, minmax(136px, 200px) repeat(var(--steps, 5), minmax(42px, 1fr)));
    width: 100%;
    min-width: 0;
    margin-bottom: 8px;
    border-top: 1px solid var(--rule);
  }
  .q-scale-matrix-row, .q-scale-row-cells { display: contents; }
  .q-scale-mh, .q-scale-mh-empty {
    border-bottom: 1px solid var(--rule);
    padding: 8px 2px;
  }
  .q-scale-mh {
    font-family: var(--font-mono); font-size: 11px;
    color: var(--muted); text-align: center; letter-spacing: 0.06em;
    white-space: nowrap;
  }
  .q-scale-rh {
    font-size: 14px; color: var(--ink); line-height: 1.35;
    padding: 11px 10px 11px 0;
    display: flex; align-items: center;
    border-bottom: 1px solid var(--rule);
    min-height: 48px;
  }
  .q-scale-cell {
    padding: 5px 2px;
    border-bottom: 1px solid var(--rule);
    display: flex; align-items: center; justify-content: center;
    min-height: 48px;
  }
  .q-scale-cell .q-scale-step {
    flex: none;
    width: auto; max-width: none; min-width: 42px;
    height: 30px;
    min-height: 30px;
    padding: 5px 0;
    font-size: 12px;
  }
  .q-scale-cell .q-scale-step-special {
    min-width: max-content;
    padding-left: 6px;
    padding-right: 6px;
  }
  .q-scale-table {
    min-width: 100%;
    width: max-content;
  }
  .q-scale-table .q-scale-matrix,
  .q-scale-table .q-scale-foot,
  .q-choice-scroll-content > .q-scale-matrix {
    min-width: 100%;
    width: max-content;
  }
  .q-matrix-categorical .q-scale-mh,
  .q-matrix-categorical .q-scale-step {
    font-family: var(--font-body);
    letter-spacing: 0;
    line-height: 1.2;
  }
  .q-matrix-categorical .q-scale-cell .q-scale-step {
    width: 36px;
    max-width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    border-color: transparent;
    background: transparent;
    border-radius: 999px;
    white-space: normal;
  }
  .q-matrix-categorical .q-scale-cell .q-scale-step:hover {
    background: var(--primary-soft);
    border-color: transparent;
  }
  .q-matrix-categorical .q-scale-cell .q-scale-step.selected {
    background: transparent;
    border-color: transparent;
    color: var(--ink);
  }
  .q-matrix-categorical .q-scale-step input {
    position: static;
    width: 17px;
    height: 17px;
    margin: 0;
    opacity: 1;
    pointer-events: auto;
    accent-color: var(--primary);
  }
  .q-matrix-categorical .q-scale-step .q-matrix-choice-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .q-scale-foot {
    display: grid;
    grid-template-columns: var(--scale-columns, minmax(136px, 200px) repeat(var(--steps, 5), minmax(42px, 1fr)));
    width: 100%;
    min-width: 0;
    margin-top: 8px;
    font-family: var(--font-mono); font-size: 11px;
    letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted);
  }
  .q-scale-foot-min,
  .q-scale-foot-max {
    min-width: 0;
    padding: 0 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .q-scale-foot-min { grid-column: 2 / span var(--foot-left-span, 1); text-align: left; }
  .q-scale-foot-max { grid-column: var(--foot-right-start, 3) / span var(--foot-right-span, 1); text-align: right; }

  @media (max-width: 720px) {
    .q-choice-scroll {
      overflow: visible;
    }
    .q-choice-scroll-content,
    .q-scale-table,
    .q-scale-table .q-scale-matrix,
    .q-scale-table .q-scale-foot,
    .q-choice-scroll-content > .q-scale-matrix {
      min-width: 0;
      width: 100%;
    }
    .q-choice-scroll .q-scale-ladder {
      flex-wrap: wrap;
      min-width: 0;
      width: 100%;
    }
    .q-choice-scroll-arrow {
      display: none !important;
    }
    .q-scale-matrix {
      grid-template-columns: 1fr;
      width: 100%;
      min-width: 0;
      border-top: none;
    }
    .q-scale-matrix-row { display: block; padding: 14px 0; }
    .q-scale-matrix-row.q-scale-matrix-head { display: none; }
    .q-scale-matrix-row.q-scale-matrix-data { border-top: 1px solid var(--rule); }
    .q-scale-matrix-head + .q-scale-matrix-data { border-top: none; padding-top: 4px; }
    .q-scale-rh, .q-scale-cell, .q-scale-mh, .q-scale-mh-empty { border-bottom: none; padding: 0; }
    .q-scale-rh { padding: 0 0 8px; }
    .q-scale-row-cells { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
    .q-scale-row-cells .q-scale-step { flex: 1 1 44px; max-width: none; min-width: 44px; padding: 10px 6px; font-size: 13px; }
    .q-scale-row-cells .q-scale-step-special { flex-basis: 86px; }
    .q-matrix-categorical .q-scale-row-cells { gap: 8px; }
    .q-matrix-categorical .q-scale-row-cells .q-scale-step {
      flex: 1 1 min(140px, 48%);
      width: auto;
      max-width: none;
      min-width: 0;
      height: auto;
      min-height: 0;
      justify-content: flex-start;
      gap: 8px;
      padding: 10px;
      border-color: var(--rule);
      background: var(--bg-elev);
      border-radius: 0;
    }
    .q-matrix-categorical .q-scale-row-cells .q-scale-step.selected {
      background: var(--primary-soft);
      border-color: var(--primary);
    }
    .q-matrix-categorical .q-scale-step .q-matrix-choice-label {
      position: static;
      width: auto;
      height: auto;
      overflow: visible;
      clip: auto;
      clip-path: none;
      white-space: normal;
    }
    .q-scale-foot { grid-template-columns: 1fr 1fr; width: 100%; min-width: 0; margin-top: 12px; }
    .q-scale-foot-min { grid-column: 1; text-align: left; padding: 0; }
    .q-scale-foot-max { grid-column: 2; text-align: right; padding: 0; }
  }

  /* Rank as a transfer list: pool (left) → picked (right) */
  .q-rank { margin-bottom: 24px; }
  .q-rank-hint {
    font-size: 13px; color: var(--muted);
    max-width: 56ch; margin: 0 0 16px;
  }
  .q-rank-transfer {
    display: grid; gap: 24px;
    grid-template-columns: 1fr 1fr;
  }
  @media (max-width: 720px) { .q-rank-transfer { grid-template-columns: 1fr; gap: 18px; } }

  .q-rank-col-head {
    display: flex; justify-content: space-between; align-items: baseline;
    font-family: var(--font-mono); font-size: 11px;
    color: var(--muted); font-weight: 500;
    text-transform: uppercase; letter-spacing: 0.14em;
    padding: 0 0 10px; margin: 0 0 10px;
    border-bottom: 1px solid var(--rule);
  }
  .q-rank-count { color: var(--ink-2); font-size: 11px; }

  .q-rank-list {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 6px;
    min-height: 60px;
  }
  .q-rank-list.q-rank-picked.empty {
    align-items: center; justify-content: center;
    border: 1px dashed var(--rule);
    padding: 18px;
  }
  .q-rank-list.q-rank-picked.empty::before {
    content: attr(data-empty);
    font-size: 13px; color: var(--muted); text-align: center;
  }

  .q-rank-item {
    display: grid; align-items: center; gap: 10px;
    padding: 10px 12px;
    background: var(--bg-elev); border: 1px solid var(--rule);
    user-select: none;
    transition: border-color .12s, background .12s, opacity .12s;
  }
  .q-rank-item-pool {
    grid-template-columns: 1fr auto;
    cursor: pointer;
  }
  .q-rank-item-pool:hover { border-color: var(--ink-2); background: var(--bg); }
  .q-rank-item-pool.disabled { opacity: 0.4; cursor: not-allowed; }
  .q-rank-item-pool.disabled:hover { border-color: var(--rule); background: var(--bg-elev); }

  .q-rank-item-picked {
    grid-template-columns: 26px 1fr auto;
    cursor: grab;
  }
  .q-rank-item-picked.has-other-text {
    grid-template-columns: 26px 1fr auto;
  }
  .q-rank-other {
    grid-column: 2 / -1;
    width: 100%; padding: 9px 12px;
    border: 1px solid var(--rule); background: var(--bg);
    font-family: var(--font-sans); font-size: 14px; color: var(--ink); border-radius: 0;
    cursor: text; user-select: text;
  }
  .q-rank-other:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
  .q-rank-item-picked.dragging { opacity: .4; cursor: grabbing; }
  .q-rank-pos {
    font-family: var(--font-mono); font-size: 13px;
    color: var(--primary); font-weight: 600; text-align: center;
  }
  .q-rank-label { font-size: 14px; color: var(--ink); line-height: 1.35; }

  .q-rank-btns { display: inline-flex; gap: 4px; }
  .q-rank-btn, .q-rank-add, .q-rank-remove {
    width: 28px; height: 28px;
    border: 1px solid var(--rule); background: transparent; color: var(--ink-2);
    cursor: pointer; font-family: inherit; font-size: 14px; line-height: 1;
    transition: border-color .12s, color .12s, background .12s;
  }
  .q-rank-btn:hover, .q-rank-add:hover, .q-rank-remove:hover { border-color: var(--ink); color: var(--ink); }
  .q-rank-add { color: var(--primary); border-color: var(--rule); font-size: 16px; }
  .q-rank-add:disabled { color: var(--muted); cursor: not-allowed; border-color: var(--rule); }
  .q-rank-remove { color: var(--ink-2); font-size: 16px; }

  .preview-banner {
    position: sticky; top: 72px; z-index: 50;
    background: #fff4d6; color: #4a3a00;
    border-bottom: 1px solid #d9bf65;
  }
  .preview-banner-inner {
    max-width: var(--maxw, 1200px); margin: 0 auto;
    padding: 10px var(--gutter);
    display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap;
    font-family: var(--font-mono); font-size: 12px;
    letter-spacing: 0.08em; text-transform: uppercase;
  }
  .preview-banner-inner strong {
    background: #4a3a00; color: #fff4d6;
    padding: 3px 8px; letter-spacing: 0.12em;
    border-radius: 999px;
  }
  .preview-flash {
    background: var(--bg-elev); border-bottom: 1px solid var(--rule);
    padding: 10px var(--gutter);
    font-size: 13px; color: var(--ink);
    text-align: center;
  }
  .preview-meta {
    border-top: 1px dashed var(--rule);
    padding: 14px var(--gutter);
    display: flex; gap: 28px; flex-wrap: wrap;
    font-family: var(--font-mono); font-size: 11px;
    letter-spacing: 0.08em; color: var(--muted);
  }
  .preview-meta .k {
    color: var(--ink-2); margin-right: 6px;
    text-transform: uppercase; letter-spacing: 0.14em;
  }
  .preview-banner-actions {
    display: inline-flex; align-items: center; gap: 8px; margin-left: auto;
  }
  .preview-theme-switcher {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.42);
    border: 1px solid rgba(74, 58, 0, 0.24);
    border-radius: 999px;
    gap: 2px;
    padding: 3px;
    white-space: nowrap;
  }
  .preview-theme-label {
    color: rgba(74, 58, 0, 0.72);
    padding: 0 7px;
  }
  .preview-theme-option {
    border-radius: 999px;
    color: #4a3a00;
    padding: 4px 8px;
    text-decoration: none;
  }
  .preview-theme-option:hover {
    background: rgba(255, 255, 255, 0.78);
    color: #4a3a00;
  }
  .preview-theme-option.is-active {
    background: #4a3a00;
    color: #fff4d6;
  }
  .preview-restrictions-toggle {
    display: inline-flex; align-items: center; gap: 7px;
    border: 1px solid rgba(74, 58, 0, 0.24);
    background: rgba(255, 255, 255, 0.42);
    color: #4a3a00;
    padding: 6px 10px;
    border-radius: 999px;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
  }
  .preview-restrictions-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }
  .preview-restrictions-track {
    position: relative;
    width: 28px;
    height: 16px;
    border: 1px solid rgba(74, 58, 0, 0.38);
    background: rgba(255, 255, 255, 0.72);
    border-radius: 999px;
    flex: 0 0 auto;
    transition: background .12s, border-color .12s;
  }
  .preview-restrictions-track::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 10px;
    height: 10px;
    background: #4a3a00;
    border-radius: 50%;
    transition: transform .12s, background .12s;
  }
  .preview-restrictions-toggle input:checked + .preview-restrictions-track {
    background: #4a3a00;
    border-color: #4a3a00;
  }
  .preview-restrictions-toggle input:checked + .preview-restrictions-track::after {
    transform: translateX(12px);
    background: #fff4d6;
  }
  .preview-action {
    border: 1px solid rgba(74, 58, 0, 0.24);
    background: rgba(255, 255, 255, 0.42);
    color: #4a3a00;
    padding: 6px 10px;
    font: inherit;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 999px;
    cursor: pointer;
  }
  .preview-action:hover { background: rgba(255, 255, 255, 0.78); }
  .preview-action [data-preview-review-count] {
    display: inline-flex;
    min-width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    margin-left: 4px;
    padding: 0 5px;
    border-radius: 999px;
    background: rgba(74, 58, 0, 0.14);
  }
  .preview-review-panel {
    position: fixed;
    right: 18px;
    top: 118px;
    bottom: 18px;
    z-index: 95;
    width: min(360px, calc(100vw - 36px));
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 16px 0 16px 16px;
    background: var(--bg-elev);
    border: 1px solid var(--rule);
    border-radius: 18px;
    box-shadow: 0 24px 80px rgba(53, 47, 43, 0.18);
  }
  .preview-review-panel[hidden] { display: none; }
  @media (max-width: 760px) {
    .preview-review-panel {
      left: 14px;
      right: 14px;
      top: 112px;
      bottom: auto;
      width: auto;
      max-height: min(58vh, 520px);
    }
  }
  .preview-review-header {
    display: flex; justify-content: space-between; gap: 12px; align-items: flex-start;
    padding-bottom: 12px; border-bottom: 1px solid var(--rule);
    margin-right: 16px;
  }
  .preview-review-kicker {
    font-family: var(--font-mono); font-size: 11px; font-weight: 700;
    letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted);
  }
  .preview-review-title { margin-top: 2px; font-size: 18px; font-weight: 650; color: var(--ink); }
  .preview-review-close {
    width: 32px; height: 32px; border: 1px solid var(--rule); background: var(--bg);
    color: var(--ink); cursor: pointer; font-size: 20px; line-height: 1;
    border-radius: 50%;
  }
  .preview-review-selected {
    padding: 12px; border: 1px solid var(--rule); background: var(--bg);
    border-radius: 14px;
    margin-right: 16px;
  }
  .preview-review-selected-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
  }
  .preview-review-label {
    font-family: var(--font-mono); font-size: 11px; font-weight: 700;
    letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted);
  }
  .preview-review-clear {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border: 0;
    background: var(--bg-elev);
    color: var(--ink-2);
    cursor: pointer;
    border-radius: 50%;
    font: inherit;
    font-size: 18px;
    line-height: 1;
  }
  .preview-review-clear:hover {
    background: var(--primary-soft);
    color: var(--ink);
  }
  .preview-review-target { margin-top: 3px; font-size: 13px; color: var(--ink); line-height: 1.35; }
  .preview-review-text {
    width: 100%; min-height: 88px; margin-top: 10px; padding: 10px 12px;
    border: 1px solid var(--rule); background: var(--bg-elev);
    color: var(--ink); font: inherit; font-size: 14px; resize: vertical;
    border-radius: 12px;
  }
  .preview-review-text:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
  .preview-review-add,
  .preview-review-submit {
    border: 1px solid var(--primary); background: var(--primary); color: var(--bg);
    padding: 10px 12px; font: inherit; font-size: 13px; cursor: pointer;
    border-radius: 999px;
  }
  .preview-review-add { margin-top: 10px; width: 100%; }
  .preview-review-submit { width: 100%; }
  .preview-review-submit,
  .preview-review-status,
  .preview-review-empty {
    margin-right: 16px;
  }
  .preview-review-add:disabled,
  .preview-review-submit:disabled { opacity: .56; cursor: not-allowed; }
  .preview-review-list {
    min-height: 0;
    overflow: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    padding-right: 24px;
    scrollbar-width: thin;
    scrollbar-color: rgba(110, 98, 89, 0.34) transparent;
  }
  .preview-review-list .ps__rail-y {
    right: 5px !important;
    width: 7px;
    opacity: 1;
    background: transparent !important;
  }
  .preview-review-list .ps__thumb-y {
    right: 1px;
    width: 5px;
    border-radius: 999px;
    background: rgba(110, 98, 89, 0.38);
  }
  .preview-review-list .ps__rail-y:hover .ps__thumb-y,
  .preview-review-list .ps__rail-y:focus .ps__thumb-y,
  .preview-review-list .ps__rail-y.ps--clicking .ps__thumb-y {
    width: 5px;
    background: rgba(110, 98, 89, 0.56);
  }
  .preview-review-empty { color: var(--muted); font-size: 13px; line-height: 1.45; }
  .preview-review-item {
    border: 0;
    background: rgba(126, 112, 100, 0.08);
    padding: 10px 12px;
    border-radius: 14px;
    transition: background-color .18s ease;
  }
  .preview-review-item.is-preview-review-focus {
    background: rgba(154, 122, 71, 0.16);
  }
  .preview-review-item.is-reply {
    margin-left: 18px;
    background: rgba(126, 112, 100, 0.05);
  }
  .preview-review-item-head {
    display: flex; align-items: center; flex-wrap: wrap; gap: 7px;
    font-family: var(--font-mono); font-size: 10px; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted);
  }
  .preview-review-author-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 18px;
    padding: 0;
    background: transparent;
    color: var(--ink);
    letter-spacing: 0.08em;
  }
  .preview-review-author-badge::before {
    content: '';
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 999px;
    background: var(--preview-review-author-color, var(--primary));
  }
  .preview-review-target-meta {
    min-width: 0;
    color: var(--muted);
  }
  .preview-review-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 7px;
  }
  .preview-review-reply-editor {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--rule);
  }
  .preview-review-reply-editor textarea {
    width: 100%;
    min-height: 70px;
    padding: 9px 11px;
    border: 1px solid var(--rule);
    background: var(--bg-elev);
    color: var(--ink);
    font: inherit;
    font-size: 13px;
    resize: vertical;
    border-radius: 12px;
  }
  .preview-review-reply-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
  }
  .preview-review-chip,
  .preview-review-mini-button {
    border-radius: 999px;
    font-size: 11px;
    line-height: 1.1;
    padding: 5px 8px;
  }
  .preview-review-chip {
    background: var(--bg-elev);
    color: var(--muted);
  }
  .preview-review-chip.is-approved,
  .preview-review-chip.is-applied {
    background: #e4eadf;
    color: #61765c;
  }
  .preview-review-chip.is-rejected {
    background: #f5dfdb;
    color: #955548;
  }
  .preview-review-mini-button {
    border: 1px solid var(--rule);
    background: var(--bg-elev);
    color: var(--ink);
    cursor: pointer;
  }
  .preview-review-mini-button:hover {
    border-color: var(--primary);
  }
  .preview-review-item-body { margin-top: 5px; font-size: 13px; color: var(--ink); line-height: 1.4; }
  .preview-review-remove {
    border: 0; background: transparent; color: var(--ink-2); cursor: pointer;
    font: inherit; font-size: 16px; line-height: 1;
  }
  .preview-review-status { min-height: 18px; font-size: 12px; color: var(--muted); line-height: 1.35; }
  .preview-review-active [data-preview-review-target] {
    outline: 0;
    cursor: crosshair;
    position: relative;
  }
  [data-preview-review-target].is-preview-review-hover,
  [data-preview-review-target].is-preview-review-selected {
    outline: 2px dotted rgba(199, 161, 91, 0.9);
    outline-offset: 8px;
    border-radius: 10px;
  }
  .preview-review-badge-layer {
    position: fixed;
    inset: 0;
    z-index: 160;
    pointer-events: none;
  }
  .preview-review-badge-layer[hidden] { display: none; }
  .preview-review-badge {
    position: absolute;
    top: -13px;
    right: -13px;
    z-index: 6;
    width: 26px;
    min-width: 26px;
    max-height: 26px;
    height: 26px;
    padding: 2px 0 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--bg);
    border-radius: 999px;
    background: var(--preview-review-badge-bg, var(--primary));
    color: var(--bg);
    box-shadow: 0 6px 18px rgba(53, 47, 43, 0.18);
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: 0;
    cursor: pointer;
    pointer-events: auto;
    transform-origin: center;
  }
  .preview-review-badge:hover {
    box-shadow: 0 7px 19px rgba(53, 47, 43, 0.19);
  }
  .preview-review-badge:active {
    transform: scale(1.08);
  }
  .preview-review-badge.is-active {
    filter: saturate(1.12) brightness(1.03);
    box-shadow: 0 7px 20px rgba(53, 47, 43, 0.24);
  }
  .preview-review-badge.is-pressed {
    animation: previewReviewBadgePress 180ms ease-out;
  }
  .preview-review-badge.is-preview-review-badge-more {
    width: 26px;
    min-width: 26px;
    padding: 0;
    border-style: dashed;
    background: rgba(126, 112, 100, 0.08);
    color: var(--ink);
  }
  .q-scale-cell > .preview-review-badge {
    z-index: 7;
  }
  .preview-review-filter-bar {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    justify-content: flex-end;
    margin: 0 0 6px;
    padding: 0 2px 2px;
    background: rgba(255, 255, 255, 0.92);
  }
  .preview-review-filter-clear {
    border: 0;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 0;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .preview-review-filter-clear:hover {
    color: var(--ink);
  }
  @keyframes previewReviewBadgePress {
    0%, 100% { transform: scale(1); }
    46% { transform: scale(1.1); }
  }
  .preview-complete-screen .inner {
    justify-content: center;
  }
  .preview-complete-card {
    box-sizing: border-box;
    max-width: min(760px, 100%);
    padding: clamp(28px, 5vw, 52px);
  }
  .preview-complete-review {
    margin-top: 28px;
    padding: 18px 20px;
    border: 1px solid var(--rule);
    background: var(--bg-elev);
  }
  .preview-complete-review[hidden] { display: none; }
  .preview-complete-review strong {
    display: block;
    color: var(--ink);
    font-size: 15px;
    margin-bottom: 5px;
  }
  .preview-complete-review p {
    margin: 0 0 16px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.45;
  }
  .preview-complete-status {
    min-height: 18px;
    margin-top: 10px;
    color: var(--muted);
    font-size: 13px;
  }
  .preview-complete-actions {
    align-items: center;
    flex-wrap: wrap;
    margin-top: 30px;
  }
  .preview-complete-actions a.btn-back {
    text-decoration: none;
  }
  @media (max-width: 720px) {
    .preview-banner-inner { align-items: flex-start; }
    .preview-banner-actions { width: 100%; margin-left: 0; }
    .preview-action { flex: 1; text-align: center; }
    .preview-review-panel { left: 12px; right: 12px; top: 104px; bottom: 12px; width: auto; }
  }
  .privacy-modal {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(13, 42, 58, 0.36);
  }
  .privacy-modal.open {
    display: flex;
  }
  .privacy-modal-panel {
    width: min(720px, 100%);
    max-height: min(78vh, 760px);
    overflow: auto;
    background: var(--bg);
    color: var(--ink);
    border: 1px solid var(--rule);
    box-shadow: 0 24px 80px rgba(13, 42, 58, 0.22);
    padding: clamp(22px, 4vw, 36px);
    position: relative;
  }
  .privacy-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    border: 1px solid var(--rule);
    background: var(--bg-elev);
    color: var(--ink);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
  }
  .privacy-modal-title {
    margin: 0 42px 18px 0;
    font-size: clamp(20px, 3vw, 28px);
    line-height: 1.2;
  }
  .privacy-markdown {
    color: var(--ink-2);
    font-size: 14px;
    line-height: 1.58;
  }
  .privacy-markdown h2,
  .privacy-markdown h3 {
    color: var(--ink);
    margin: 22px 0 8px;
    font-size: 17px;
    line-height: 1.25;
  }
  .privacy-markdown h2:first-child,
  .privacy-markdown h3:first-child,
  .privacy-markdown p:first-child {
    margin-top: 0;
  }
  .privacy-markdown p,
  .privacy-markdown ul {
    margin: 0 0 14px;
  }
  .privacy-markdown ul {
    padding-left: 20px;
  }
  .privacy-markdown a {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 2px;
  }

/* ==========================================================================
   Survey thank-you screen
   Extracted from templates/surveys/thank-you.html.twig
   ========================================================================== */
.thanks-screen {
    min-height: calc(100vh - 72px);
    padding: clamp(48px, 8vw, 96px) var(--gutter);
    display: flex;
    align-items: center;
  }
  .thanks-inner {
    width: 100%;
    max-width: var(--maxw-narrow);
    margin: 0 auto;
  }
  .thanks-title {
    margin-top: 20px;
  }
  .thanks-lead {
    margin-top: 24px;
    max-width: 54ch;
  }
  .thanks-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 36px;
  }
  .thanks-actions a {
    display: inline-flex;
    align-items: center;
    padding: 12px 18px;
    border: 1px solid var(--rule);
    color: var(--ink);
    text-decoration: none;
    background: var(--bg-elev);
  }
  .thanks-actions a.primary {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--bg);
  }

/* ==========================================================================
   Survey status screen
   Extracted from templates/surveys/status.html.twig
   ========================================================================== */
.survey-status {
      min-height: calc(100vh - 72px);
      display: flex;
      align-items: center;
      padding: clamp(3rem, 8vw, 6.5rem) var(--gutter);
    }

    .survey-status__inner {
      width: min(100%, 720px);
      margin: 0 auto;
    }

    .survey-status__marker {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      margin-bottom: 1.1rem;
      color: var(--primary);
    }

    .survey-status__code {
      display: inline-flex;
      align-items: center;
      min-height: 2.15rem;
      padding: 0 0.72rem;
      border-radius: 999px;
      background: var(--primary-soft);
      color: var(--primary);
      font-family: var(--font-mono);
      font-size: 0.82rem;
      font-weight: 700;
      line-height: 1;
    }

    .survey-status h1 {
      max-width: 13ch;
      font-size: clamp(2.65rem, 7vw, 5.6rem);
      line-height: 0.98;
    }

    .survey-status__message {
      max-width: 44rem;
      margin-top: 1.15rem;
      color: var(--ink-2);
      font-size: clamp(1.05rem, 1.5vw, 1.22rem);
      line-height: 1.58;
    }

    .survey-status__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      margin-top: 2rem;
    }

    .survey-status__button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 2.75rem;
      padding: 0 1.05rem;
      border: 1px solid var(--rule);
      border-radius: 999px;
      background: var(--bg-elev);
      color: var(--ink);
      font-size: 0.95rem;
      font-weight: 650;
      text-decoration: none;
      transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
    }

    .survey-status__button:hover {
      border-color: rgba(110, 98, 89, 0.32);
      background: #f2ede6;
    }

    .survey-status__button.primary {
      border-color: var(--primary);
      background: var(--primary);
      color: #fffaf4;
    }

    .survey-status__button.primary:hover {
      border-color: #5e534b;
      background: #5e534b;
    }

    @media (max-width: 720px) {
      .survey-status {
        min-height: calc(100vh - 105px);
        align-items: flex-start;
        padding-top: 3rem;
      }

      .survey-status h1 {
        max-width: 100%;
      }
    }

/* ==========================================================================
   Survey admin shell and shared components
   Extracted from templates/survey_admin/layout.html.twig
   ========================================================================== */
.survey-admin-page-frame {
            box-sizing: border-box;
            height: calc(100vh - var(--dayalogs-topbar-height, 0px));
            padding-top: 1rem;
            padding-bottom: 1rem;
            overflow: hidden;
        }

        .survey-admin-shell {
            --dayalogs-admin-bg: var(--dayalogs-bg);
            --dayalogs-admin-bg-soft: var(--dayalogs-surface-soft);
            --dayalogs-admin-surface: var(--dayalogs-surface);
            --dayalogs-admin-brand: var(--dayalogs-brand);
            --dayalogs-admin-ink: var(--dayalogs-text-strong);
            --dayalogs-admin-text: var(--dayalogs-text);
            --dayalogs-admin-text-strong: var(--dayalogs-text-strong);
            --dayalogs-admin-muted: var(--dayalogs-muted);
            --dayalogs-admin-line: var(--dayalogs-line);
            --dayalogs-admin-line-soft: var(--dayalogs-line-soft);
            --dayalogs-admin-primary: var(--dayalogs-primary);
            --dayalogs-admin-primary-hover: var(--dayalogs-primary-hover);
            --dayalogs-admin-success: var(--dayalogs-success);
            --dayalogs-admin-danger: var(--dayalogs-danger);
            height: 100%;
            min-height: 0;
            color: var(--dayalogs-admin-text);
            font-family: var(--dayalogs-font-sans);
            font-size: 0.9rem;
        }

        .survey-admin-shell > .row {
            height: 100%;
            min-height: 0;
        }

        @media (min-width: 992px) {
            .survey-admin-shell > .row {
                display: grid;
                grid-template-columns: minmax(14rem, 17rem) minmax(0, 1fr);
            }

            .survey-admin-shell > .row > .survey-admin-sidebar-column,
            .survey-admin-shell > .row > .survey-admin-main-column {
                max-width: none;
                width: auto;
            }

            .survey-admin-shell.is-sidebar-collapsed > .row {
                grid-template-columns: 3.6rem minmax(0, 1fr);
            }
        }

        .survey-admin-shell h1,
        .survey-admin-shell .h1 {
            font-size: 1.9rem;
            line-height: 1.12;
        }

        .survey-admin-shell h2,
        .survey-admin-shell .h2 {
            font-size: 1.72rem;
            line-height: 1.16;
        }

        .survey-admin-shell h3,
        .survey-admin-shell .h3 {
            font-size: 1.38rem;
            line-height: 1.18;
        }

        .survey-admin-shell h4,
        .survey-admin-shell .h4 {
            font-size: 1.16rem;
            line-height: 1.22;
        }

        .survey-admin-shell,
        .survey-admin-shell .table,
        .survey-admin-shell .card,
        .survey-admin-shell .card-body {
            background: transparent;
        }

        .survey-admin-shell h1,
        .survey-admin-shell h2,
        .survey-admin-shell h3,
        .survey-admin-shell h4,
        .survey-admin-shell h5,
        .survey-admin-shell h6,
        .survey-admin-shell strong,
        .survey-admin-shell .fw-semibold,
        .survey-admin-shell .fw-bold {
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-admin-shell .text-muted {
            color: var(--dayalogs-admin-muted) !important;
        }

        .survey-admin-sidebar-card {
            border: 0;
            border-radius: 0;
            box-shadow: none;
            min-height: 100%;
            display: flex;
            flex-direction: column;
        }

        .survey-admin-sidebar-column {
            position: relative;
            height: 100%;
            min-height: 0;
        }

        .survey-admin-sidebar-column .offcanvas-lg,
        .survey-admin-sidebar-column .offcanvas-body {
            height: 100%;
            min-height: 0;
        }

        .survey-admin-sidebar-column::after {
            content: "";
            position: absolute;
            top: 0.95rem;
            bottom: 0.95rem;
            right: calc(var(--bs-gutter-x) * 0.5);
            width: 1px;
            background: var(--dayalogs-admin-line);
            pointer-events: none;
        }

        .survey-admin-sidebar-card .brand {
            align-items: flex-start;
            background: transparent;
            color: var(--dayalogs-admin-text-strong);
            display: flex;
            gap: 0.75rem;
            justify-content: space-between;
            padding: 1rem 1.5rem 1.35rem;
        }

        .survey-admin-brand {
            display: inline-flex;
            line-height: 1;
            text-decoration: none;
        }

        .survey-admin-brand-logo {
            display: block;
            height: 92px;
            width: auto;
        }

        .survey-admin-brand-logo-symbol {
            display: none;
            height: 2.45rem;
            width: 2.45rem;
        }

        .survey-admin-sidebar-toggle {
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 0;
            color: var(--dayalogs-admin-text-strong);
            display: inline-flex;
            flex: 0 0 auto;
            height: 2rem;
            justify-content: center;
            padding: 0;
            position: absolute;
            right: calc(var(--bs-gutter-x) * 0.5 + 0.15rem);
            top: 4.9rem;
            width: 1.55rem;
            z-index: 3;
        }

        .survey-admin-sidebar-toggle:hover,
        .survey-admin-sidebar-toggle:focus {
            background: transparent;
            color: var(--dayalogs-admin-text);
        }

        .survey-admin-sidebar-toggle i {
            font-size: 0.92rem;
            line-height: 1;
        }

        .survey-admin-sidebar-card .nav-link {
            border-radius: 0.75rem;
            color: var(--dayalogs-admin-text);
            font-size: 0.93rem;
            font-weight: 600;
            padding: 0.85rem 1rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            transition: background-color 0.2s ease, color 0.2s ease;
        }

        .survey-admin-sidebar-card .nav-link:hover {
            background: var(--dayalogs-admin-line-soft);
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-admin-sidebar-card .nav-link.active {
            background: #f4efe8;
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-admin-toast-container {
            top: calc(var(--dayalogs-topbar-height, 0px) + 1rem);
            right: 1rem;
            z-index: 1090;
        }

        .survey-admin-toast {
            border: 1px solid var(--dayalogs-admin-line);
            border-radius: 0.85rem;
            background: #fffdfa;
            color: var(--dayalogs-admin-text-strong);
            box-shadow: 0 0.65rem 1.7rem rgba(80, 70, 58, 0.12);
        }

        .survey-admin-toast.text-bg-success {
            background: #eef3ea !important;
            color: #667b61 !important;
            border-color: #d5dfce;
        }

        .survey-admin-toast.text-bg-danger {
            background: #fdf1ee !important;
            color: #bd6a5e !important;
            border-color: #f3cbc3;
        }

        .survey-admin-toast.text-bg-warning,
        .survey-admin-toast.text-bg-info {
            background: #fbf6dc !important;
            color: #98864e !important;
            border-color: #eee2a3;
        }

        .survey-admin-toast .btn-close {
            filter: none;
            opacity: 0.55;
        }

        .survey-admin-main-column {
            height: 100%;
            min-height: 0;
            display: flex;
            flex-direction: column;
        }

        .survey-admin-main-fixed {
            flex: 0 0 auto;
        }

        .survey-admin-main-scroll {
            flex: 1 1 auto;
            min-height: 0;
            overflow: auto;
            padding-right: 1rem;
            position: relative;
        }

        [data-perfect-scrollbar] {
            position: relative;
        }

        .survey-admin-content-stack {
            padding-right: 0.65rem;
            padding-bottom: 0.75rem;
        }

        .survey-admin-content-stack > * + * {
            margin-top: 1.5rem;
        }

        .survey-admin-header-card,
        .survey-admin-surface,
        .survey-admin-table-card {
            border: 0;
            border-bottom: 1px solid var(--dayalogs-admin-line);
            border-radius: 0;
            box-shadow: none;
            background: transparent;
        }

        .survey-admin-header-card {
            padding: 0.9rem 0 1.5rem;
        }

        .survey-admin-page-label,
        .survey-admin-section-label,
        .survey-admin-field-label {
            color: var(--dayalogs-admin-muted);
            font-weight: 700;
            text-transform: uppercase;
        }

        .survey-admin-page-label {
            font-size: 0.84rem;
            letter-spacing: 0.1em;
        }

        .survey-admin-section-label {
            font-size: 0.82rem;
            letter-spacing: 0.08em;
            line-height: 1.1;
        }

        .survey-admin-field-label {
            display: block;
            font-size: 0.75rem;
            letter-spacing: 0.04em;
            line-height: 1.1;
            margin: 0 0 0.5rem;
        }

        .survey-admin-table-card {
            overflow: hidden;
        }

        .survey-admin-table-heading {
            padding: 0 0 0.85rem;
        }

        .survey-admin-section-surveys .survey-admin-table-card {
            border-bottom: 0;
        }

        .survey-admin-section-surveys .survey-admin-soft-table > :not(caption) > * > * {
            border-bottom-color: rgba(110, 98, 89, 0.12);
        }

        .survey-admin-section-surveys .survey-admin-soft-table tbody tr:last-child > * {
            border-bottom-color: transparent !important;
        }

        .survey-admin-table-card.has-floating-menu {
            overflow: visible;
        }

        .survey-admin-table-card.has-floating-menu .card-body {
            overflow: visible;
        }

        .survey-admin-export-dropdown .dropdown-menu {
            min-width: 12rem;
            z-index: 1085;
        }

        .survey-admin-export-dropdown .dropdown-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            white-space: nowrap;
        }

        .survey-admin-table-action-form {
            margin: 0;
        }

        .survey-admin-actions-column {
            min-width: 11.2rem;
            white-space: nowrap;
            width: 11.2rem;
        }

        .survey-admin-table-actions {
            align-items: center;
            display: inline-flex;
            flex-direction: row;
            flex-wrap: nowrap;
            gap: 0.45rem;
            justify-content: flex-end;
            white-space: nowrap;
        }

        .survey-admin-upload-dropzone {
            border: 1px dashed var(--dayalogs-admin-line);
            border-radius: 0.95rem;
            background: rgba(255, 255, 255, 0.62);
            min-height: 8.2rem;
            padding: 1.25rem;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: border-color 0.2s ease, background-color 0.2s ease;
        }

        .survey-admin-upload-dropzone:hover,
        .survey-admin-upload-dropzone.dz-drag-hover {
            border-color: #b9aa98;
            background: #fffdfa;
        }

        .survey-admin-upload-dropzone .dz-message {
            margin: 0;
            width: 100%;
            color: var(--dayalogs-admin-text);
        }

        .survey-admin-upload-dropzone .dz-preview {
            margin: 0.85rem 0 0;
            min-height: 0;
        }

        .survey-admin-upload-dropzone .dz-progress {
            display: none;
        }

        .survey-admin-dropzone-previews {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            margin-top: 0.75rem;
        }

        .survey-admin-dropzone-previews:empty {
            display: none;
        }

        .survey-admin-dropzone-previews .dz-preview {
            align-items: center;
            background: #f4efe8;
            border-radius: 999px;
            color: var(--dayalogs-admin-text-strong);
            display: inline-flex;
            gap: 0.65rem;
            margin: 0;
            max-width: min(100%, 34rem);
            min-height: 0;
            padding: 0.55rem 0.65rem 0.55rem 0.85rem;
        }

        .survey-admin-dropzone-previews .dz-preview::before {
            align-items: center;
            background: #fffdfa;
            border-radius: 999px;
            color: var(--dayalogs-admin-muted);
            content: "\F3C2";
            display: inline-flex;
            flex: 0 0 auto;
            font-family: "bootstrap-icons";
            height: 1.6rem;
            justify-content: center;
            width: 1.6rem;
        }

        .survey-admin-dropzone-previews .dz-image,
        .survey-admin-dropzone-previews .dz-progress,
        .survey-admin-dropzone-previews .dz-success-mark,
        .survey-admin-dropzone-previews .dz-error-mark,
        .survey-admin-dropzone-previews .dz-error-message {
            display: none !important;
        }

        .survey-admin-dropzone-previews .dz-details {
            align-items: baseline;
            display: flex;
            flex: 1 1 auto;
            gap: 0.55rem;
            max-width: none;
            min-width: 0;
            opacity: 1;
            padding: 0;
            position: static;
            text-align: left;
        }

        .survey-admin-dropzone-previews .dz-filename {
            min-width: 0;
            order: 1;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .survey-admin-dropzone-previews .dz-filename span {
            background: transparent;
            border: 0;
            padding: 0;
        }

        .survey-admin-dropzone-previews .dz-size {
            color: var(--dayalogs-admin-muted);
            flex: 0 0 auto;
            font-size: 0.78rem;
            order: 2;
        }

        .survey-admin-dropzone-previews .dz-size span {
            background: transparent;
            border: 0;
            padding: 0;
        }

        .survey-admin-dropzone-previews .dz-remove {
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 999px;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            flex: 0 0 auto;
            font-size: 0;
            height: 1.5rem;
            justify-content: center;
            text-decoration: none;
            width: 1.5rem;
        }

        .survey-admin-dropzone-previews .dz-remove::before {
            content: "\F62A";
            font-family: "bootstrap-icons";
            font-size: 1rem;
            line-height: 1;
        }

        .survey-admin-dropzone-previews .dz-remove:hover,
        .survey-admin-dropzone-previews .dz-remove:focus {
            background: rgba(58, 53, 47, 0.08);
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-admin-dropzone-icon {
            width: 2.4rem;
            height: 2.4rem;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #f4efe8;
            color: var(--dayalogs-admin-text-strong);
            font-size: 1.15rem;
        }

        .survey-admin-title-link {
            color: var(--dayalogs-admin-text-strong);
            text-decoration: none;
        }

        .survey-admin-title-link:hover,
        .survey-admin-title-link:focus {
            color: var(--dayalogs-admin-text-strong);
            text-decoration: underline;
            text-underline-offset: 0.18em;
        }

        .survey-admin-shell .table {
            --bs-table-bg: transparent;
            --bs-table-striped-bg: rgba(243, 238, 232, 0.42);
            --bs-table-hover-bg: rgba(243, 238, 232, 0.62);
            color: var(--dayalogs-admin-text);
            font-size: 0.88rem;
            margin-bottom: 0;
        }

        .survey-admin-shell .table > :not(caption) > * > * {
            padding: 0.52rem 0.72rem;
            border-bottom-color: var(--dayalogs-admin-line);
            box-shadow: none;
        }

        .survey-admin-shell .table thead th {
            color: var(--dayalogs-admin-muted);
            font-weight: 700;
            border-bottom-color: var(--dayalogs-admin-line);
            background: transparent;
        }

        .survey-admin-shell code {
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-admin-shell .form-control,
        .survey-admin-shell .form-select,
        .survey-admin-shell textarea {
            border-color: var(--dayalogs-admin-line);
            border-radius: 0.8rem;
            color: var(--dayalogs-admin-text-strong);
            background: rgba(255, 255, 255, 0.92);
            box-shadow: none;
            font-size: 0.92rem;
        }

        .survey-admin-shell .form-control:focus,
        .survey-admin-shell .form-select:focus,
        .survey-admin-shell textarea:focus {
            border-color: var(--dayalogs-admin-primary);
            box-shadow: var(--dayalogs-focus-ring);
        }

        .survey-admin-shell .flatpickr-input.form-control {
            background: rgba(255, 255, 255, 0.92);
            cursor: pointer;
        }

        .flatpickr-calendar.survey-admin-calendar {
            --dayalogs-admin-brand: var(--dayalogs-brand);
            --dayalogs-admin-line: var(--dayalogs-line);
            --dayalogs-admin-muted: var(--dayalogs-muted);
            --dayalogs-admin-success: var(--dayalogs-success);
            --dayalogs-admin-surface: var(--dayalogs-surface);
            --dayalogs-admin-text-strong: var(--dayalogs-text-strong);
            background: var(--dayalogs-admin-surface);
            border: 1px solid var(--dayalogs-admin-line);
            border-radius: 1rem;
            box-shadow: 0 1rem 2.5rem rgba(53, 47, 43, 0.18);
            color: var(--dayalogs-admin-text-strong);
            overflow: hidden;
            width: 17.5rem;
        }

        .flatpickr-calendar.survey-admin-calendar::before,
        .flatpickr-calendar.survey-admin-calendar::after {
            border-bottom-color: var(--dayalogs-admin-line);
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-months,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-weekdays {
            background: #f7f2eb;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-months {
            align-items: center;
            padding: 0.35rem 0.5rem 0.12rem;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-month {
            height: 2.25rem;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-current-month {
            font-size: 1rem;
            height: 2.25rem;
            padding-top: 0.35rem;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-month,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-current-month,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-current-month input.cur-year,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-current-month .flatpickr-monthDropdown-months {
            color: var(--dayalogs-admin-text-strong);
            fill: var(--dayalogs-admin-text-strong);
            font-weight: 700;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-prev-month,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-next-month {
            border-radius: 999px;
            color: var(--dayalogs-admin-muted);
            fill: var(--dayalogs-admin-muted);
            height: 1.85rem;
            padding: 0.42rem;
            top: 0.34rem;
            width: 1.85rem;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-prev-month:hover,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-next-month:hover {
            background: #ebe3da;
            color: var(--dayalogs-admin-brand);
            fill: var(--dayalogs-admin-brand);
        }

        .flatpickr-calendar.survey-admin-calendar span.flatpickr-weekday {
            color: var(--dayalogs-admin-muted);
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-rContainer,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-weekdays,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-days,
        .flatpickr-calendar.survey-admin-calendar .dayContainer {
            max-width: 17.5rem;
            min-width: 17.5rem;
            width: 17.5rem;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-days {
            padding: 0.25rem 0.3rem 0.35rem;
        }

        .flatpickr-calendar.survey-admin-calendar .dayContainer {
            justify-content: center;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-day {
            border-radius: 999px;
            color: var(--dayalogs-admin-text-strong);
            flex-basis: 2rem;
            font-size: 0.78rem;
            height: 2rem;
            line-height: 2rem;
            margin: 0.04rem 0.18rem;
            max-width: 2rem;
            width: 2rem;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-day:hover,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-day:focus {
            background: #efe7de;
            border-color: #efe7de;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-day.today {
            border-color: var(--dayalogs-admin-success);
            color: var(--dayalogs-admin-brand);
            font-weight: 700;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-day.selected,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-day.startRange,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-day.endRange {
            background: var(--dayalogs-admin-brand);
            border-color: var(--dayalogs-admin-brand);
            color: #fff;
            box-shadow: none;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-day.prevMonthDay,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-day.nextMonthDay {
            color: #b8aea3;
        }

        .flatpickr-calendar.survey-admin-calendar.hasTime .flatpickr-time {
            border-top-color: var(--dayalogs-admin-line);
            height: 2.55rem;
            line-height: 2.55rem;
            padding: 0.25rem 0.65rem;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-time input,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-time .flatpickr-am-pm {
            border-radius: 0.55rem;
            color: var(--dayalogs-admin-text-strong);
            font-weight: 600;
        }

        .flatpickr-calendar.survey-admin-calendar .flatpickr-time input:hover,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-time .flatpickr-am-pm:hover,
        .flatpickr-calendar.survey-admin-calendar .flatpickr-time input:focus {
            background: #f7f2eb;
        }

        .survey-admin-shell .btn {
            border-radius: 0.95rem;
            box-shadow: none !important;
            font-size: 0.89rem;
        }

        .survey-admin-shell .survey-admin-icon-button {
            --dayalogs-admin-icon-button-size: 2rem;
            padding: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            aspect-ratio: 1 / 1;
            border-radius: 50%;
            flex: 0 0 var(--dayalogs-admin-icon-button-size);
            font-size: 0.95rem;
            height: var(--dayalogs-admin-icon-button-size);
            line-height: 1;
            max-height: var(--dayalogs-admin-icon-button-size);
            max-width: var(--dayalogs-admin-icon-button-size);
            min-height: var(--dayalogs-admin-icon-button-size);
            min-width: var(--dayalogs-admin-icon-button-size);
            width: var(--dayalogs-admin-icon-button-size);
        }

        .survey-admin-shell .survey-admin-icon-button.btn-sm {
            font-size: 0.95rem;
        }

        .survey-admin-shell .survey-admin-icon-button .bi {
            font-size: 0.95rem;
            line-height: 0.95;
        }

        .survey-admin-shell .btn-primary {
            background: var(--dayalogs-admin-primary);
            border-color: var(--dayalogs-admin-primary);
            color: #fff;
        }

        .survey-admin-shell .btn-primary:hover,
        .survey-admin-shell .btn-primary:focus {
            background: var(--dayalogs-admin-primary-hover);
            border-color: var(--dayalogs-admin-primary-hover);
            color: #fff;
        }

        .survey-admin-shell .btn-outline-primary,
        .survey-admin-shell .btn-outline-secondary,
        .survey-admin-shell .btn-outline-success {
            border-color: var(--dayalogs-admin-line);
            color: var(--dayalogs-admin-text-strong);
            background: rgba(255, 255, 255, 0.9);
        }

        .survey-admin-shell .btn-outline-primary:hover,
        .survey-admin-shell .btn-outline-primary:focus,
        .survey-admin-shell .btn-outline-secondary:hover,
        .survey-admin-shell .btn-outline-secondary:focus,
        .survey-admin-shell .btn-outline-success:hover,
        .survey-admin-shell .btn-outline-success:focus {
            border-color: #d4c8ba;
            background: #f4efe8;
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-admin-shell .btn-outline-danger {
            border-color: #efc1b7;
            color: #d07d71;
            background: rgba(255, 255, 255, 0.9);
        }

        .survey-admin-shell .badge.text-bg-success {
            background: var(--dayalogs-admin-success) !important;
            color: #fff !important;
        }

        .survey-admin-shell .badge.text-bg-warning,
        .survey-admin-shell .badge.text-bg-light,
        .survey-admin-shell .badge.text-bg-secondary {
            background: #f4efe8 !important;
            color: var(--dayalogs-admin-text-strong) !important;
            border: 0;
        }

        .survey-admin-shell [x-cloak] {
            display: none !important;
        }

        .survey-admin-stat {
            border-bottom: 1px solid var(--dayalogs-admin-line);
            padding: 1rem 0 1.2rem;
        }

        .survey-admin-stat-value {
            color: var(--dayalogs-admin-text-strong);
            font-size: 2rem;
            font-weight: 700;
            line-height: 1;
        }

        .survey-admin-overview {
            display: flex;
            flex-direction: column;
            gap: 1.25rem;
        }

        .survey-admin-overview-header {
            align-items: flex-start;
            display: flex;
            gap: 1rem;
            justify-content: space-between;
            padding-bottom: 0.35rem;
        }

        .survey-admin-overview-header .text-muted {
            margin-top: 0.45rem;
        }

        .survey-admin-overview-status {
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem;
            justify-content: flex-end;
        }

        .survey-admin-stat-grid {
            background: rgba(255, 255, 255, 0.48);
            border-bottom: 1px solid var(--dayalogs-admin-line);
            border-top: 1px solid var(--dayalogs-admin-line);
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .survey-admin-stat-grid .survey-admin-stat {
            border-bottom: 0;
            min-height: 8.2rem;
            padding: 1rem 1.05rem;
        }

        .survey-admin-stat-grid .survey-admin-stat + .survey-admin-stat {
            border-left: 1px solid var(--dayalogs-admin-line);
        }

        .survey-admin-stat-heading {
            align-items: center;
            display: flex;
            gap: 0.65rem;
            justify-content: space-between;
            min-height: 1.45rem;
        }

        .survey-admin-stat-heading .survey-admin-field-label {
            margin-bottom: 0;
        }

        .survey-admin-stat-heading i {
            color: var(--dayalogs-admin-muted);
            font-size: 1rem;
        }

        .survey-admin-stat-value-sm {
            font-size: 1.28rem;
            line-height: 1.18;
            min-height: 2rem;
            word-break: break-word;
        }

        .survey-admin-stat-datetime {
            color: var(--dayalogs-admin-text-strong);
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-height: 3.05rem;
            word-break: normal;
        }

        .survey-admin-stat-date {
            display: block;
            font-size: 1.78rem;
            font-weight: 700;
            line-height: 1;
        }

        .survey-admin-stat-time {
            color: var(--dayalogs-admin-muted);
            display: block;
            font-size: 1rem;
            font-weight: 600;
            line-height: 1.1;
            margin-top: 0.18rem;
        }

        .survey-admin-section-dashboard .survey-admin-header-card {
            border-bottom: 0;
            margin-bottom: 1.25rem !important;
            padding-bottom: 0.85rem;
        }

        .survey-admin-section-dashboard .survey-admin-main-scroll,
        .survey-admin-section-dashboard .survey-admin-content-stack {
            padding-right: 0;
        }

        .survey-admin-section-dashboard .survey-admin-content-stack {
            padding-bottom: 0;
        }

        .survey-admin-dashboard {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        .survey-admin-dashboard-group {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .survey-admin-dashboard-stat-grid {
            background: transparent;
            border: 0;
            display: grid;
            gap: 1rem;
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .survey-admin-dashboard .survey-admin-stat {
            background: #f4efe8;
            border-bottom: 0;
            border-radius: 0.95rem;
            min-height: 11.5rem;
            padding: 1.35rem;
        }

        .survey-admin-dashboard .survey-admin-stat + .survey-admin-stat {
            border-left: 0;
        }

        .survey-admin-dashboard .survey-admin-stat-value {
            font-size: 3.2rem;
            line-height: 0.95;
            margin-top: 0.5rem;
        }

        .survey-admin-dashboard .survey-admin-stat-value-sm {
            font-size: 1.45rem;
            margin-top: 0.75rem;
            min-height: 3.05rem;
        }

        .survey-admin-dashboard .survey-admin-stat-datetime,
        .survey-admin-survey-stat-grid .survey-admin-stat-datetime {
            margin-top: 0.75rem;
        }

        .survey-admin-dashboard .survey-admin-stat-heading i {
            align-items: center;
            background: #fffdfa;
            border-radius: 999px;
            display: inline-flex;
            height: 2rem;
            justify-content: center;
            width: 2rem;
        }

        .survey-admin-stat-link {
            color: inherit;
            display: inline-flex;
            text-decoration: none;
        }

        .survey-admin-stat-link:hover,
        .survey-admin-stat-link:focus {
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-admin-account-stack {
            display: flex;
            flex-direction: column;
            gap: 1.2rem;
        }

        .survey-admin-account-fields {
            display: grid;
            gap: 1rem;
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .survey-admin-account-fields > div {
            background: #f4efe8;
            border-radius: 0.95rem;
            min-height: 6.4rem;
            min-width: 0;
            padding: 1rem;
        }

        .survey-admin-account-fields strong,
        .survey-admin-account-fields span:not(.survey-admin-field-label),
        .survey-admin-account-fields code {
            overflow-wrap: anywhere;
        }

        .survey-admin-team-page {
            display: flex;
            flex-direction: column;
            gap: 1.1rem;
        }

        .survey-admin-team-card {
            background: #fffdfa;
            border: 1px solid var(--dayalogs-admin-line);
            border-radius: 0.85rem;
            box-shadow: 0 0.35rem 1.25rem rgba(53, 47, 43, 0.04);
        }

        .survey-admin-team-seats {
            align-items: center;
            color: var(--dayalogs-admin-muted);
            display: flex;
            flex-wrap: wrap;
            gap: 0.75rem;
            white-space: nowrap;
        }

        .survey-admin-team-grid {
            display: grid;
            gap: 1.1rem;
            grid-template-columns: minmax(0, 1fr) minmax(20rem, 1fr);
        }

        .survey-admin-team-card {
            min-width: 0;
            overflow: hidden;
        }

        .survey-admin-team-card-header {
            align-items: center;
            display: flex;
            gap: 1rem;
            justify-content: space-between;
            padding: 1.35rem 1.45rem 1rem;
        }

        .survey-admin-team-card-header.is-simple {
            align-items: flex-start;
        }

        .survey-admin-invite-form {
            align-items: center;
            display: flex;
            gap: 0.45rem;
            min-width: min(100%, 20rem);
        }

        .survey-admin-member-cell {
            align-items: center;
            display: flex;
            gap: 0.8rem;
            min-width: 0;
        }

        .survey-admin-member-cell small {
            color: var(--dayalogs-admin-muted);
            display: block;
            margin-top: 0.15rem;
        }

        .survey-admin-member-avatar {
            align-items: center;
            background: var(--dayalogs-admin-brand);
            border-radius: 999px;
            color: #fff;
            display: inline-flex;
            flex: 0 0 auto;
            font-size: 0.78rem;
            font-weight: 700;
            height: 2.35rem;
            justify-content: center;
            width: 2.35rem;
        }

        .survey-admin-role-pill {
            background: #eadcc0;
            border-radius: 999px;
            color: var(--dayalogs-admin-text-strong);
            display: inline-flex;
            font-size: 0.78rem;
            font-weight: 700;
            line-height: 1;
            padding: 0.35rem 0.62rem;
        }

        .survey-admin-team-empty {
            background: #f8f4ee;
            border: 1px solid var(--dayalogs-admin-line);
            border-radius: 0.45rem;
            color: var(--dayalogs-admin-muted);
            margin: 0 1.45rem 1.45rem;
            padding: 1.25rem;
        }

        .survey-admin-form-grid {
            display: grid;
            gap: 0.85rem;
        }

        .survey-admin-form-grid-wide {
            grid-column: 1 / -1;
        }

        .survey-admin-form-grid label,
        .survey-admin-form-grid-wide {
            color: var(--dayalogs-admin-muted);
            display: flex;
            flex-direction: column;
            font-size: 0.78rem;
            font-weight: 700;
            gap: 0.35rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .survey-admin-api-token-reveal {
            align-items: flex-start;
            background: #efe3cc;
            border-radius: 0.95rem;
            color: var(--dayalogs-admin-text-strong);
            display: grid;
            gap: 1rem;
            grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 1.1fr);
            padding: 1.1rem 1.25rem;
        }

        .survey-admin-api-token-copy {
            align-items: center;
            display: flex;
            gap: 0.5rem;
            min-width: 0;
        }

        .survey-admin-api-token-copy input {
            font-family: var(--bs-font-monospace);
            min-width: 0;
        }

        .survey-admin-api-token-name,
        .survey-admin-api-token-dates {
            display: flex;
            flex-direction: column;
            gap: 0.25rem;
        }

        .survey-admin-api-token-name small,
        .survey-admin-api-token-dates {
            color: var(--dayalogs-admin-muted);
            font-size: 0.82rem;
        }

        .survey-admin-api-scope-list,
        .survey-admin-api-scope-picker {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
        }

        .survey-admin-api-scope-picker label {
            align-items: center;
            background: #f4efe8;
            border-radius: 999px;
            color: var(--dayalogs-admin-text-strong);
            display: inline-flex;
            flex-direction: row;
            font-size: 0.82rem;
            gap: 0.45rem;
            letter-spacing: 0;
            padding: 0.5rem 0.7rem;
            text-transform: none;
        }

        .survey-admin-locale-list {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 0.35rem;
            min-height: 2rem;
        }

        .survey-admin-access-panel {
            align-items: center;
            background: #f8f4ee;
            border-bottom: 1px solid var(--dayalogs-admin-line);
            border-top: 1px solid var(--dayalogs-admin-line);
            display: grid;
            gap: 1.25rem;
            grid-template-columns: minmax(16rem, 0.82fr) minmax(18rem, 1fr);
            padding: 1.15rem 0;
        }

        .survey-admin-access-copy {
            align-items: flex-start;
            display: flex;
            gap: 0.9rem;
            padding-left: 1rem;
        }

        .survey-admin-access-icon {
            align-items: center;
            background: #fffdfa;
            border: 1px solid var(--dayalogs-admin-line);
            border-radius: 999px;
            color: var(--dayalogs-admin-text-strong);
            display: inline-flex;
            flex: 0 0 auto;
            font-size: 1.1rem;
            height: 2.35rem;
            justify-content: center;
            width: 2.35rem;
        }

        .survey-admin-url-block {
            min-width: 0;
            padding-right: 1rem;
        }

        .survey-admin-survey-page .survey-admin-surface {
            border-bottom: 0;
        }

        .survey-admin-survey-page .survey-admin-overview {
            gap: 1rem;
        }

        .survey-admin-survey-page .survey-admin-overview-header {
            padding-bottom: 0.2rem;
        }

        .survey-admin-survey-stat-grid {
            background: transparent;
            border: 0;
            gap: 1rem;
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .survey-admin-survey-stat-grid .survey-admin-stat {
            background: #f4efe8;
            border: 0 !important;
            border-radius: 0.95rem;
            min-height: 11.5rem;
            padding: 1.35rem;
        }

        .survey-admin-survey-stat-grid .survey-admin-stat-value {
            font-size: 3.2rem;
            line-height: 0.95;
            margin-top: 0.5rem;
        }

        .survey-admin-survey-stat-grid .survey-admin-stat-value-sm {
            font-size: 1.45rem;
            line-height: 1.12;
            margin-top: 0.75rem;
            min-height: 3.05rem;
        }

        .survey-admin-survey-stat-grid .survey-admin-stat-heading i {
            align-items: center;
            background: #fffdfa;
            border-radius: 999px;
            display: inline-flex;
            height: 2rem;
            justify-content: center;
            width: 2rem;
        }

        .survey-admin-survey-page .survey-admin-access-panel {
            background: #f4efe8;
            border: 0;
            border-radius: 0.95rem;
            gap: 1.25rem;
            margin-top: 0.15rem;
            padding: 1.35rem;
        }

        .survey-admin-survey-page .survey-admin-access-copy {
            padding-left: 0;
        }

        .survey-admin-survey-page .survey-admin-access-icon {
            border: 0;
            height: 2rem;
            width: 2rem;
        }

        .survey-admin-survey-page .survey-admin-url-block {
            padding-right: 0;
        }

        .survey-admin-survey-page .survey-admin-url-control .form-control {
            background: #fffdfa;
            border-color: transparent;
        }

        .survey-admin-url-control {
            align-items: center;
            display: grid;
            gap: 0.45rem;
            grid-template-columns: minmax(0, 1fr) auto auto;
        }

        .survey-admin-url-control .form-control {
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .survey-admin-ai-mode .survey-admin-header-card {
            margin-bottom: 0.75rem !important;
            padding: 0.55rem 0 0.65rem;
        }

        .survey-admin-ai-mode .survey-admin-header-card h1 {
            font-size: 1.45rem;
            line-height: 1.08;
        }

        .survey-admin-ai-mode .survey-admin-header-card p {
            font-size: 0.86rem;
        }

        .survey-admin-ai-mode .survey-admin-page-label {
            font-size: 0.72rem;
        }

        .survey-admin-ai-mode .survey-admin-main-scroll,
        .survey-admin-ai-mode .survey-admin-content-stack {
            overflow: hidden;
        }

        .survey-admin-ai-mode .survey-admin-content-stack {
            display: flex;
            height: 100%;
            min-height: 0;
            padding-bottom: 0;
        }

        .survey-ai-builder {
            display: flex;
            flex: 1 1 auto;
            min-height: 0;
            width: 100%;
        }

        .survey-admin-flow-surface {
            background: transparent;
            border: 0;
            box-shadow: none;
        }

        .survey-ai-flow-only {
            min-height: calc(100vh - var(--dayalogs-topbar-height, 0px) - 14rem);
        }

        .survey-ai-flow-only .survey-ai-panel {
            min-height: calc(100vh - var(--dayalogs-topbar-height, 0px) - 14rem);
            width: 100%;
        }

        .survey-ai-flow-only .survey-ai-panel-body {
            background: #fff;
            border-radius: 0.8rem;
        }

        .survey-ai-flow-only .survey-ai-panel-body-embedded {
            overflow: visible;
        }

        .survey-ai-workbench {
            display: grid;
            flex: 1 1 auto;
            gap: 1rem;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            min-height: 0;
        }

        .survey-ai-panel {
            display: flex;
            flex-direction: column;
            min-height: 0;
            position: relative;
        }

        .survey-ai-panel-header {
            align-items: flex-start;
            border-bottom: 0;
            display: flex;
            gap: 1rem;
            justify-content: space-between;
            min-height: 3.35rem;
            padding: 0.55rem 0 0.65rem;
        }

        .survey-ai-panel-header p {
            font-size: 0.84rem;
            line-height: 1.25;
        }

        .survey-ai-chat-surface {
            background: #fff;
            border: 0;
            border-radius: 0.8rem;
            display: flex;
            flex: 1 1 auto;
            flex-direction: column;
            min-height: 0;
            overflow: hidden;
        }

        .survey-ai-panel-body {
            flex: 1 1 auto;
            min-height: 0;
            overflow: auto;
            padding: 0.85rem;
            position: relative;
        }

        .survey-ai-chat-scroll {
            background: #fff;
        }

        .survey-ai-chat-history {
            display: flex;
            flex-direction: column;
            gap: 0.72rem;
            min-height: 100%;
        }

        .survey-ai-empty-thread {
            align-items: center;
            color: var(--dayalogs-admin-muted);
            display: flex;
            flex: 1 1 auto;
            font-size: 0.9rem;
            justify-content: center;
            min-height: 8rem;
            text-align: center;
        }

        .survey-ai-message {
            border: 0;
            max-width: min(74%, 44rem);
            padding: 0;
        }

        .survey-ai-message-label {
            color: var(--dayalogs-admin-muted);
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            margin-bottom: 0.28rem;
            text-transform: uppercase;
        }

        .survey-ai-message-content {
            color: var(--dayalogs-admin-text-strong);
            line-height: 1.45;
            overflow-wrap: anywhere;
        }

        .survey-ai-message-user {
            align-self: flex-end;
        }

        .survey-ai-message-user .survey-ai-message-label {
            text-align: right;
        }

        .survey-ai-message-user .survey-ai-message-content {
            background: #e9ded2;
            border-radius: 1rem 1rem 0.25rem 1rem;
            padding: 0.62rem 0.78rem;
        }

        .survey-ai-message-assistant {
            align-self: flex-start;
        }

        .survey-ai-message-assistant .survey-ai-message-content {
            background: #fff9f1;
            border-radius: 1rem 1rem 1rem 0.25rem;
            padding: 0.62rem 0.78rem;
        }

        .survey-ai-message.is-pending {
            opacity: 0.78;
        }

        .survey-ai-thinking {
            align-items: center;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            gap: 0.45rem;
        }

        .survey-ai-message-meta {
            background: #f4ece3;
            border-radius: 0.75rem;
            color: var(--dayalogs-admin-text);
            margin-top: 0.65rem;
            padding: 0.55rem 0.68rem;
        }

        .survey-ai-composer {
            background: #fff;
            border-top: 0;
            box-sizing: border-box;
            flex: 0 0 auto;
            margin: 0 auto;
            padding: 0.72rem 0.78rem 0.62rem;
            width: 70%;
        }

        .survey-ai-composer-shell {
            background: #f4efe8;
            border: 0;
            border-radius: 1.45rem;
            min-height: 5.1rem;
            padding: 0.75rem 3.85rem 0.75rem 1rem;
            position: relative;
        }

        .survey-ai-attachment-row {
            display: flex;
            margin: 0 0 0.42rem 0.15rem;
            min-width: 0;
        }

        .survey-ai-attachment-row[hidden] {
            display: none;
        }

        .survey-ai-attachment-pill {
            align-items: center;
            background: #f4efe8;
            border: 0;
            border-radius: 999px;
            color: var(--dayalogs-admin-text-strong);
            display: inline-flex;
            font-size: 0.88rem;
            gap: 0.42rem;
            line-height: 1.2;
            max-width: min(100%, 26rem);
            min-width: 0;
            padding: 0.4rem 0.95rem 0.4rem 0.58rem;
        }

        .survey-ai-attachment-pill > span {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .survey-ai-attachment-remove {
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 999px;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            height: 1.3rem;
            justify-content: center;
            padding: 0;
            width: 1.3rem;
        }

        .survey-ai-attachment-remove:hover,
        .survey-ai-attachment-remove:focus {
            background: rgba(110, 98, 89, 0.1);
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-ai-run-status {
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 0;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            flex: 1 1 auto;
            font-size: 0.88rem;
            gap: 0.45rem;
            margin: 0.42rem 0 0 1.05rem;
            max-width: 100%;
            min-height: 1.4rem;
            min-width: 0;
            padding: 0;
        }

        .survey-ai-run-status [data-ai-run-text] {
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .survey-ai-run-status[hidden] {
            display: none;
        }

        .survey-ai-input-row {
            align-items: stretch;
            display: block;
            min-height: 100%;
        }

        .survey-ai-composer textarea {
            background: transparent !important;
            border: 0;
            border-radius: 0.75rem;
            box-shadow: none !important;
            height: 3.55rem;
            line-height: 1.35rem;
            max-height: 14.2rem;
            min-height: 3.55rem;
            overflow-y: hidden;
            padding: 0.35rem 0.55rem 0.35rem 0.25rem;
            resize: none;
            scrollbar-color: rgba(110, 98, 89, 0.36) transparent;
            scrollbar-width: thin;
        }

        .survey-ai-composer textarea::-webkit-scrollbar {
            width: 0.45rem;
        }

        .survey-ai-composer textarea::-webkit-scrollbar-track {
            background: transparent;
        }

        .survey-ai-composer textarea::-webkit-scrollbar-thumb {
            background: rgba(110, 98, 89, 0.32);
            border-radius: 999px;
        }

        .survey-ai-composer textarea:focus {
            box-shadow: none;
        }

        .survey-ai-input-actions {
            align-items: center;
            bottom: 0.64rem;
            display: flex;
            flex-direction: column;
            gap: 0;
            justify-content: space-between;
            position: absolute;
            right: 0.82rem;
            top: 0.64rem;
        }

        .survey-ai-file-trigger {
            align-items: center;
            appearance: none;
            background: transparent !important;
            border: 0 !important;
            border-radius: 0;
            box-shadow: none !important;
            color: var(--dayalogs-admin-text);
            display: inline-flex;
            flex: 0 0 auto;
            height: 1.55rem;
            justify-content: center;
            line-height: 1;
            margin: 0;
            padding: 0;
            width: 1.55rem;
        }

        .survey-ai-file-trigger:hover,
        .survey-ai-file-trigger:focus,
        .survey-ai-file-trigger:active {
            background: transparent !important;
            border-color: transparent !important;
            box-shadow: none !important;
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-ai-file-trigger i {
            font-size: 1.08rem;
            line-height: 1;
        }

        .survey-ai-submit-button {
            background: var(--dayalogs-admin-text);
            border: 0;
            color: #fffdfa;
            flex: 0 0 auto;
            height: 2.05rem;
            width: 2.05rem;
        }

        .survey-ai-submit-button:hover,
        .survey-ai-submit-button:focus {
            background: var(--dayalogs-admin-text-strong);
            color: #fffdfa;
        }

        .survey-ai-submit-idle {
            align-items: center;
            display: inline-flex;
            justify-content: center;
        }

        .survey-ai-submit-loading {
            display: none;
        }

        .is-ai-loading .survey-ai-submit-idle {
            display: none;
        }

        .is-ai-loading .survey-ai-submit-loading {
            align-items: center;
            display: inline-flex;
            justify-content: center;
        }

        .survey-ai-file-pill {
            align-items: center;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            gap: 0.35rem;
            margin-top: 0.25rem;
        }

        .survey-ai-flow-panel.is-rendering::after {
            align-items: center;
            background: rgba(252, 250, 247, 0.78);
            bottom: 0;
            color: var(--dayalogs-admin-text-strong);
            content: "Actualitzant flux...";
            display: flex;
            font-weight: 700;
            justify-content: center;
            left: 0;
            position: absolute;
            right: 0;
            top: 3.35rem;
            z-index: 3;
        }

        .survey-ai-flow-actions {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem;
            justify-content: flex-end;
        }

        .survey-ai-recent-list {
            display: flex;
            flex-direction: column;
            gap: 0.45rem;
        }

        .survey-ai-recent-item {
            border-bottom: 1px solid var(--dayalogs-admin-line-soft);
            color: var(--dayalogs-admin-text);
            display: flex;
            flex-direction: column;
            gap: 0.18rem;
            padding: 0.6rem 0;
            text-decoration: none;
        }

        .survey-ai-recent-item:hover {
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-ai-recent-title {
            color: var(--dayalogs-admin-text-strong);
            font-weight: 700;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .survey-ai-recent-meta {
            color: var(--dayalogs-admin-muted);
            font-size: 0.8rem;
        }

        .survey-ai-modal {
            background: #fffdfa;
            border: 1px solid var(--dayalogs-admin-line);
            border-radius: 0.85rem;
            color: var(--dayalogs-admin-text);
        }

        .survey-ai-flow-stack {
            display: flex;
            flex-direction: column;
            gap: 0.9rem;
        }

        .survey-ai-flow-stack-compact {
            gap: 0.55rem;
        }

        .survey-ai-flow-block,
        .survey-ai-flow-page,
        .survey-ai-question-card {
            border: 0;
            border-radius: 0.8rem;
            box-shadow: none;
        }

        .survey-ai-flow-block {
            background: #eee2d4;
            padding: 0.85rem;
        }

        .survey-ai-flow-block-nested {
            margin-left: 0.45rem;
        }

        .survey-ai-flow-page {
            background: #f5ede3;
            padding: 0.75rem;
        }

        .survey-ai-flow-children {
            display: flex;
            flex-direction: column;
            gap: 0.65rem;
            margin-top: 0.75rem;
        }

        .survey-ai-question-card {
            background: #fff8ef;
            padding: 0.8rem 0.85rem;
        }

        .survey-ai-icon-button {
            --dayalogs-admin-icon-button-size: 2rem;
            align-items: center;
            aspect-ratio: 1 / 1;
            border-radius: 50%;
            display: inline-flex;
            flex: 0 0 var(--dayalogs-admin-icon-button-size);
            font-size: 0.95rem;
            height: var(--dayalogs-admin-icon-button-size);
            justify-content: center;
            line-height: 1;
            max-height: var(--dayalogs-admin-icon-button-size);
            max-width: var(--dayalogs-admin-icon-button-size);
            min-height: var(--dayalogs-admin-icon-button-size);
            min-width: var(--dayalogs-admin-icon-button-size);
            padding: 0;
            width: var(--dayalogs-admin-icon-button-size);
        }

        .survey-ai-header-card {
            background: #f1e6db;
        }

        .survey-ai-header-top {
            align-items: flex-start;
            display: flex;
            gap: 1rem;
            justify-content: space-between;
        }

        .survey-ai-header-title {
            color: var(--dayalogs-admin-text-strong);
            font-size: 0.98rem;
            font-weight: 700;
            line-height: 1.25;
        }

        .survey-ai-header-meta {
            align-items: center;
            color: var(--dayalogs-admin-muted);
            display: flex;
            flex-wrap: wrap;
            font-size: 0.76rem;
            gap: 0.4rem;
            margin-top: 0.28rem;
        }

        .survey-ai-header-meta > * + *::before {
            color: var(--dayalogs-admin-line);
            content: "·";
            margin-right: 0.4rem;
        }

        .survey-ai-header-status {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 0.35rem;
            justify-content: flex-end;
        }

        .survey-ai-header-summary {
            border-top: 0;
            display: grid;
            gap: 0.75rem;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            margin-top: 0.8rem;
            padding-top: 0.72rem;
        }

        .survey-ai-header-kicker {
            color: var(--dayalogs-admin-muted);
            font-size: 0.68rem;
            font-weight: 800;
            letter-spacing: 0.08em;
            line-height: 1.2;
            margin-bottom: 0.22rem;
            text-transform: uppercase;
        }

        .survey-ai-header-value {
            color: var(--dayalogs-admin-text);
            font-size: 0.82rem;
            line-height: 1.35;
        }

        .survey-ai-header-details {
            padding-top: 0.65rem;
        }

        .survey-ai-header-detail-grid {
            display: grid;
            gap: 1rem;
            grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
        }

        .survey-ai-question-title {
            color: var(--dayalogs-admin-text-strong);
            font-weight: 700;
            line-height: 1.25;
        }

        .survey-ai-question-meta,
        .survey-ai-chip-row {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 0.35rem;
        }

        @media (max-width: 991.98px) {
            .survey-ai-header-summary,
            .survey-ai-header-detail-grid {
                grid-template-columns: 1fr;
            }

            .survey-ai-header-top {
                flex-direction: column;
            }

            .survey-ai-header-status {
                justify-content: flex-start;
            }
        }

        .survey-ai-question-details {
            margin-top: 0.65rem;
        }

        .survey-ai-question-details summary {
            color: var(--dayalogs-admin-muted);
            cursor: pointer;
            font-size: 0.78rem;
            font-weight: 700;
            text-transform: uppercase;
        }

        .survey-ai-json-snippet {
            background: #f6efe8;
            border: 0;
            border-radius: 0.6rem;
            color: var(--dayalogs-admin-text-strong);
            font-size: 0.78rem;
            margin: 0.55rem 0 0;
            max-height: 12rem;
            overflow: auto;
            padding: 0.65rem;
            white-space: pre-wrap;
        }

        .survey-ai-question-endings {
            display: flex;
            flex-direction: column;
            gap: 0.55rem;
            margin-top: 0.72rem;
        }

        .survey-ai-ending-card {
            align-items: flex-start;
            border: 0;
            border-radius: 0.75rem;
            display: flex;
            gap: 0.72rem;
            position: relative;
            padding: 0.72rem 0.78rem;
        }

        .survey-ai-ending-card:has(.survey-ai-ending-edit) {
            padding-right: 3rem;
        }

        .survey-ai-ending-success {
            background: #e5edde;
        }

        .survey-ai-ending-danger {
            background: #f6dfd8;
        }

        .survey-ai-ending-mark {
            align-items: center;
            border-radius: 999px;
            color: #fffdfa;
            display: inline-flex;
            flex: 0 0 auto;
            height: 1.65rem;
            justify-content: center;
            margin-top: 0.05rem;
            width: 1.65rem;
        }

        .survey-ai-ending-success .survey-ai-ending-mark {
            background: #6f9360;
        }

        .survey-ai-ending-danger .survey-ai-ending-mark {
            background: #bf6652;
        }

        .survey-ai-ending-main {
            min-width: 0;
        }

        .survey-ai-ending-kicker {
            color: var(--dayalogs-admin-muted);
            font-size: 0.66rem;
            font-weight: 800;
            letter-spacing: 0.08em;
            line-height: 1.1;
            margin-bottom: 0.18rem;
            text-transform: uppercase;
        }

        .survey-ai-ending-title {
            color: var(--dayalogs-admin-text-strong);
            font-weight: 800;
            line-height: 1.22;
        }

        .survey-ai-ending-meta {
            align-items: center;
            color: var(--dayalogs-admin-muted);
            display: flex;
            flex-wrap: wrap;
            font-size: 0.76rem;
            gap: 0.38rem;
            margin-top: 0.24rem;
        }

        .survey-ai-ending-meta > * + *::before {
            color: rgba(110, 98, 89, 0.38);
            content: "·";
            margin-right: 0.38rem;
        }

        .survey-ai-ending-copy {
            color: var(--dayalogs-admin-text);
            font-size: 0.82rem;
            line-height: 1.35;
            margin-top: 0.42rem;
        }

        .survey-ai-ending-details {
            margin-top: 0.5rem;
        }

        .survey-ai-ending-edit {
            background: rgba(255, 253, 250, 0.72);
            border: 0;
            position: absolute;
            right: 0.6rem;
            top: 0.58rem;
        }

        .survey-ai-empty {
            align-items: center;
            border: 1px dashed var(--dayalogs-admin-line);
            border-radius: 0.9rem;
            color: var(--dayalogs-admin-muted);
            display: flex;
            min-height: 15rem;
            padding: 1.25rem;
        }

        .survey-ai-mobile-switch {
            display: none;
        }

        .survey-admin-detail-layout {
            display: flex;
            flex-direction: column;
            gap: 1.25rem;
        }

        .survey-admin-detail-panels {
            min-width: 0;
        }

        .survey-admin-local-nav {
            border-bottom: 1px solid var(--dayalogs-admin-line);
            display: flex;
            gap: 0.35rem;
            overflow-x: auto;
            padding-bottom: 0.65rem;
        }

        .survey-admin-local-nav a,
        .survey-admin-local-nav button {
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 0.75rem;
            color: var(--dayalogs-admin-text);
            display: inline-flex;
            flex: 0 0 auto;
            font-weight: 600;
            padding: 0.58rem 0.95rem;
            text-decoration: none;
            white-space: nowrap;
            text-align: left;
        }

        .survey-admin-local-nav a:hover,
        .survey-admin-local-nav a.active,
        .survey-admin-local-nav button:hover,
        .survey-admin-local-nav button.active {
            background: #f4efe8;
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-admin-filter-form {
            align-items: center;
            display: grid;
            gap: 0.55rem;
            grid-template-columns: minmax(12rem, 1fr) minmax(10rem, 0.75fr) auto auto;
            min-width: min(100%, 42rem);
        }

        .survey-admin-modal {
            --dayalogs-admin-bg: var(--dayalogs-bg);
            --dayalogs-admin-bg-soft: var(--dayalogs-surface-soft);
            --dayalogs-admin-surface: var(--dayalogs-surface);
            --dayalogs-admin-brand: var(--dayalogs-brand);
            --dayalogs-admin-ink: var(--dayalogs-text-strong);
            --dayalogs-admin-text: var(--dayalogs-text);
            --dayalogs-admin-text-strong: var(--dayalogs-text-strong);
            --dayalogs-admin-muted: var(--dayalogs-muted);
            --dayalogs-admin-line: var(--dayalogs-line);
            --dayalogs-admin-line-soft: var(--dayalogs-line-soft);
            --dayalogs-admin-primary: var(--dayalogs-primary);
            --dayalogs-admin-primary-hover: var(--dayalogs-primary-hover);
            --dayalogs-admin-success: var(--dayalogs-success);
            --dayalogs-admin-danger: var(--dayalogs-danger);
            background: #fffdfa;
            border: 0;
            border-radius: 0.95rem;
            color: var(--dayalogs-admin-text);
            position: relative;
        }

        .survey-admin-modal .modal-header {
            border-bottom: 1px solid var(--dayalogs-admin-line);
            padding: 1.35rem 4rem 1.1rem 1.35rem;
        }

        .survey-admin-modal .modal-body {
            padding: 1.35rem;
        }

        .survey-admin-modal .modal-footer {
            padding: 0.9rem 1.35rem;
        }

        .survey-admin-modal-dismiss {
            position: absolute;
            right: 1rem;
            top: 1rem;
            z-index: 1;
        }

        .survey-admin-audience-import-form,
        .survey-admin-export-form {
            display: flex;
            flex-direction: column;
            max-height: calc(100vh - 3.5rem);
            min-height: 0;
        }

        .survey-admin-audience-import-form .modal-header,
        .survey-admin-audience-import-form .modal-footer,
        .survey-admin-export-form .modal-header,
        .survey-admin-export-form .modal-footer {
            flex: 0 0 auto;
        }

        .survey-admin-audience-import-form .modal-footer,
        .survey-admin-export-form .modal-footer {
            background: #fffdfa;
            border-top: 1px solid var(--dayalogs-admin-line);
        }

        .survey-admin-audience-import-form .modal-body,
        .survey-admin-export-form .modal-body {
            min-height: 0;
        }

        .survey-admin-audience-mapping-body {
            display: flex;
            flex: 1 1 auto;
            flex-direction: column;
            gap: 0.9rem;
            overflow: hidden;
        }

        .survey-admin-audience-mapping-scroll {
            flex: 1 1 auto;
            max-height: calc(100vh - 25rem);
            min-height: 14rem;
            overflow: hidden;
            padding-right: 0.75rem;
            position: relative;
        }

        .survey-admin-audience-field-select-cell {
            min-width: 14rem;
        }

        .survey-admin-wizard-steps {
            align-items: center;
            display: flex;
            flex: 0 0 auto;
            gap: 0.4rem;
            padding: 0.75rem 1.35rem 0;
        }

        .survey-admin-wizard-step {
            align-items: center;
            background: var(--dayalogs-admin-line);
            border: 0;
            border-radius: 50%;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            font-size: 0.75rem;
            font-weight: 600;
            height: 1.5rem;
            justify-content: center;
            padding: 0;
            transition: background 0.15s;
            width: 1.5rem;
        }

        button.survey-admin-wizard-step { cursor: pointer; }
        button.survey-admin-wizard-step:disabled { cursor: default; opacity: 0.55; }
        .survey-admin-wizard-step-check { display: none; }
        .survey-admin-wizard-step.is-done .survey-admin-wizard-step-number { display: none; }
        .survey-admin-wizard-step.is-done .survey-admin-wizard-step-check { display: inline-block; }
        .survey-admin-wizard-step.is-active { background: var(--dayalogs-admin-brand); color: #fff; }
        .survey-admin-wizard-step.is-done { background: var(--dayalogs-admin-success); color: #fff; }

        .survey-admin-modal-footer {
            align-items: center;
            display: flex;
            justify-content: space-between;
        }

        .survey-admin-modal-footer-actions {
            display: flex;
            gap: 0.5rem;
            margin-left: auto;
        }

        .survey-admin-import-summary {
            background: #f4efe8;
            border-radius: 0.85rem;
            display: grid;
            gap: 0.75rem;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            padding: 0.9rem;
        }

        .survey-admin-audience-import-summary {
            gap: 0.45rem;
            grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
            padding: 0.65rem 0.8rem;
        }

        .survey-admin-audience-import-summary > div {
            min-width: 0;
        }

        .survey-admin-audience-import-summary strong,
        .survey-admin-audience-import-summary .small {
            display: block;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .survey-admin-extra-columns-note {
            background: #f4efe8;
            border-radius: 0.75rem;
            color: var(--dayalogs-admin-muted);
            display: flex;
            flex-direction: column;
            gap: 0.25rem;
            padding: 0.75rem 0.85rem;
        }

        .survey-admin-audience-page .survey-admin-surface,
        .survey-admin-audience-page .survey-admin-table-card {
            border-bottom: 0;
        }

        .survey-admin-audience-stat-grid {
            background: transparent;
            border: 0;
            gap: 1rem;
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .survey-admin-audience-stat-grid .survey-admin-stat {
            background: #f4efe8;
            border: 0 !important;
            border-radius: 0.95rem;
            min-height: 11.5rem;
            padding: 1.35rem;
        }

        .survey-admin-audience-stat-grid .survey-admin-stat-value {
            font-size: 3.2rem;
            line-height: 0.95;
            margin-top: 0.5rem;
        }

        .survey-admin-audience-stat-grid .survey-admin-stat-heading i {
            background: #fffdfa;
            border-radius: 999px;
            display: inline-flex;
            height: 2rem;
            justify-content: center;
            align-items: center;
            width: 2rem;
        }

        .survey-admin-soft-table > :not(caption) > * > * {
            border-bottom-color: #f0e8dd;
        }

        .survey-admin-soft-table tbody tr:last-child > * {
            border-bottom-color: transparent !important;
        }

        .survey-admin-audience-table-card .table-responsive {
            border-bottom: 0;
        }

        .survey-admin-audience-table-card.is-loading {
            opacity: 0.64;
            pointer-events: none;
            transition: opacity 0.12s ease;
        }

        .survey-admin-source-switch {
            background: #f4efe8;
            border-radius: 999px;
            display: inline-flex;
            gap: 0.25rem;
            margin-bottom: 1rem;
            padding: 0.25rem;
        }

        .survey-admin-source-switch button {
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 999px;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            font-weight: 700;
            gap: 0.45rem;
            padding: 0.5rem 1rem;
        }

        .survey-admin-source-switch button.is-active {
            background: #fffdfa;
            color: var(--dayalogs-admin-text-strong);
            box-shadow: 0 0.35rem 0.9rem rgba(72, 64, 55, 0.07);
        }

        .survey-admin-combobox {
            min-width: min(100%, 28rem);
            position: relative;
        }

        .survey-admin-combobox-menu {
            background: #fffdfa;
            border: 1px solid var(--dayalogs-admin-line);
            border-radius: 0.85rem;
            box-shadow: 0 1rem 2.5rem rgba(72, 64, 55, 0.12);
            display: none;
            left: 0;
            max-height: 14rem;
            overflow: auto;
            padding: 0.35rem;
            position: absolute;
            right: 0;
            top: calc(100% + 0.35rem);
            z-index: 40;
        }

        .survey-admin-combobox.is-open .survey-admin-combobox-menu {
            display: block;
        }

        .survey-admin-combobox-menu button {
            background: transparent;
            border: 0;
            border-radius: 0.65rem;
            color: var(--dayalogs-admin-text);
            display: flex;
            flex-direction: column;
            gap: 0.12rem;
            padding: 0.55rem 0.65rem;
            text-align: left;
            width: 100%;
        }

        .survey-admin-combobox-menu button:hover,
        .survey-admin-combobox-menu button:focus,
        .survey-admin-combobox-menu button.is-selected {
            background: #f4efe8;
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-admin-combobox-menu button span {
            color: var(--dayalogs-admin-muted);
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
            font-size: 0.78rem;
        }

        .survey-admin-audience-dropzone {
            min-height: 15rem;
        }

        .survey-admin-audience-dropzone .survey-admin-dropzone-icon {
            height: 3rem;
            width: 3rem;
            font-size: 1.35rem;
        }

        .survey-admin-audience-paste {
            min-height: 15rem;
            resize: vertical;
        }

        .survey-admin-contact-tools {
            padding: 1.5rem 1.5rem 1rem;
        }

        .survey-admin-contact-filter-row {
            display: flex;
            justify-content: flex-end;
            margin-bottom: 0.65rem;
        }

        .survey-admin-contact-filter-form {
            grid-template-columns: minmax(13rem, 1fr) auto auto auto;
            min-width: min(100%, 45rem);
        }

        .survey-admin-contact-filter-tags {
            position: relative;
        }

        .survey-admin-contact-filter-tags-toggle {
            min-width: 7.5rem;
            justify-content: center;
        }

        .survey-admin-contact-filter-tags-panel {
            background: #fffdfa;
            border: 1px solid var(--dayalogs-admin-line);
            border-radius: 0.85rem;
            box-shadow: 0 1rem 2rem rgba(72, 64, 55, 0.12);
            display: none;
            padding: 0.65rem;
            position: absolute;
            right: 0;
            top: calc(100% + 0.45rem);
            width: min(26rem, calc(100vw - 2rem));
            z-index: 20;
        }

        .survey-admin-contact-filter-tags.is-open .survey-admin-contact-filter-tags-panel {
            display: block;
        }

        .survey-admin-contact-filter-tags-help {
            color: var(--dayalogs-admin-muted);
            font-size: 0.78rem;
            margin-top: 0.45rem;
            padding: 0 0.2rem;
        }

        .survey-admin-contact-filter-note {
            color: var(--dayalogs-admin-muted);
            font-size: 0.9rem;
            margin: -0.15rem 0 1rem auto;
            max-width: 45rem;
        }

        .survey-admin-contact-active-filters {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
            justify-content: flex-end;
            margin-bottom: 1.1rem;
        }

        .survey-admin-contact-active-filter-label {
            color: var(--dayalogs-admin-muted);
            font-size: 0.78rem;
            font-weight: 800;
            letter-spacing: 0.08em;
            margin-right: 0.15rem;
            text-transform: uppercase;
        }

        .survey-admin-filter-pill {
            align-items: center;
            background: #e7ded5;
            border-radius: 999px;
            color: var(--dayalogs-admin-text-strong);
            display: inline-flex;
            font-size: 0.82rem;
            font-weight: 700;
            gap: 0.25rem;
            max-width: min(20rem, 100%);
            padding: 0.34rem 0.65rem;
            text-decoration: none;
        }

        .survey-admin-filter-pill span {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .survey-admin-filter-pill i {
            color: var(--dayalogs-admin-muted);
            flex: 0 0 auto;
        }

        .survey-admin-filter-pill:hover,
        .survey-admin-filter-pill:focus {
            background: #d8cbbf;
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-admin-contact-pagination {
            align-items: center;
            border-bottom: 1px solid #f0e8dd;
            display: flex;
            gap: 0.75rem;
            justify-content: space-between;
            margin-bottom: 0.85rem;
            padding-bottom: 0.85rem;
        }

        .survey-admin-contact-pagination-summary {
            color: var(--dayalogs-admin-muted);
            font-size: 0.9rem;
        }

        .survey-admin-contact-pagination-actions {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem;
            justify-content: flex-end;
        }

        .survey-admin-contact-pagination-page {
            color: var(--dayalogs-admin-muted);
            font-size: 0.85rem;
            font-weight: 800;
            padding: 0 0.25rem;
        }

        .survey-admin-contact-bulk-form {
            margin: 0;
        }

        .survey-admin-contact-bulk-toolbar {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1rem;
            max-width: 56rem;
        }

        .survey-admin-segment-panel-header {
            align-items: center;
            display: flex;
            gap: 1rem;
            justify-content: space-between;
            padding: 1.25rem 1.5rem 1rem;
        }

        .survey-admin-segment-empty {
            align-items: center;
            background: #f4efe8;
            border-radius: 0.95rem;
            display: flex;
            gap: 0.9rem;
            margin: 0 1.5rem 1.5rem;
            padding: 1rem;
        }

        .survey-admin-segment-empty-icon {
            align-items: center;
            background: #fffdfa;
            border-radius: 999px;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            flex: 0 0 auto;
            height: 2.4rem;
            justify-content: center;
            width: 2.4rem;
        }

        .survey-admin-segment-table .survey-admin-table-actions {
            justify-content: flex-end;
        }

        .survey-admin-segment-count {
            color: var(--dayalogs-admin-text-strong);
            font-size: 1.2rem;
            font-weight: 750;
            line-height: 1;
        }

        .survey-admin-segment-modal .modal-body {
            min-height: 24rem;
        }

        .survey-admin-segment-form {
            display: flex;
            flex-direction: column;
            max-height: calc(100vh - 3.5rem);
            min-height: 0;
        }

        .survey-admin-segment-form .modal-body {
            overscroll-behavior: contain;
            overflow: auto;
        }

        .survey-admin-segment-builder-toolbar {
            align-items: center;
            display: flex;
            gap: 1rem;
            justify-content: space-between;
            margin-bottom: 1rem;
        }

        .survey-admin-segment-live-count,
        .survey-admin-segment-confirm-count {
            align-items: baseline;
            background: #f4efe8;
            border-radius: 0.9rem;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            gap: 0.45rem;
            padding: 0.7rem 0.9rem;
            white-space: nowrap;
        }

        .survey-admin-segment-live-count span,
        .survey-admin-segment-confirm-count span {
            color: var(--dayalogs-admin-text-strong);
            font-size: 1.55rem;
            font-weight: 800;
            line-height: 1;
        }

        .survey-admin-segment-builder {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .survey-admin-segment-group {
            background: #f7f2ec;
            border-radius: 0.95rem;
            padding: 0.8rem;
        }

        .survey-admin-segment-group.is-root {
            background: #f4efe8;
        }

        .survey-admin-segment-group-header {
            align-items: center;
            display: flex;
            gap: 0.75rem;
            justify-content: space-between;
            margin-bottom: 0.65rem;
        }

        .survey-admin-segment-group-header label {
            align-items: center;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            font-size: 0.78rem;
            font-weight: 800;
            gap: 0.5rem;
            letter-spacing: 0.06em;
            margin: 0;
            text-transform: uppercase;
        }

        .survey-admin-segment-group-header .form-select {
            min-width: 5.5rem;
        }

        .survey-admin-segment-group-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
            justify-content: flex-end;
        }

        .survey-admin-segment-rule-list {
            display: flex;
            flex-direction: column;
            gap: 0.55rem;
        }

        .survey-admin-segment-rule {
            align-items: center;
            background: #fffdfa;
            border-radius: 0.75rem;
            display: grid;
            gap: 0.45rem;
            grid-template-columns: minmax(7.5rem, 0.85fr) minmax(8.5rem, 1fr) minmax(9rem, 1fr) minmax(8rem, 1fr) minmax(8rem, 0.85fr) minmax(9rem, 1fr) auto;
            padding: 0.55rem;
        }

        .survey-admin-segment-rule .d-none {
            display: none !important;
        }

        .survey-admin-segment-path-picker {
            align-items: center;
            display: grid;
            gap: 0.35rem;
            grid-column: span 2;
            grid-template-columns: minmax(0, 1fr) auto;
            min-width: 0;
            position: relative;
        }

        .survey-admin-segment-path-picker .form-control {
            min-width: 0;
        }

        .survey-admin-segment-path-menu {
            background: var(--dayalogs-admin-surface);
            border: 1px solid var(--dayalogs-admin-line);
            border-radius: 0.7rem;
            box-shadow: none;
            grid-column: 1 / -1;
            max-height: 11rem;
            min-width: 0;
            overscroll-behavior: contain;
            overflow: auto;
            padding: 0.35rem;
            position: static;
            scrollbar-width: thin;
            width: 100%;
        }

        .survey-admin-segment-path-menu[hidden] {
            display: none;
        }

        .survey-admin-segment-path-menu > span {
            color: var(--dayalogs-admin-muted);
            display: block;
            font-size: 0.82rem;
            padding: 0.55rem 0.65rem;
        }

        .survey-admin-segment-path-option {
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 0.45rem;
            color: var(--dayalogs-admin-text-strong);
            display: flex;
            font-size: 0.86rem;
            gap: 0.75rem;
            justify-content: space-between;
            padding: 0.44rem 0.55rem;
            text-align: left;
            width: 100%;
        }

        .survey-admin-segment-path-depth-1 {
            padding-left: 1.55rem;
        }

        .survey-admin-segment-path-depth-2 {
            padding-left: 2.55rem;
        }

        .survey-admin-segment-path-depth-3 {
            padding-left: 3.55rem;
        }

        .survey-admin-segment-path-depth-4 {
            padding-left: 4.55rem;
        }

        .survey-admin-segment-path-option:hover,
        .survey-admin-segment-path-option.is-selected {
            background: #f4efe8;
        }

        .survey-admin-segment-path-option small {
            color: var(--dayalogs-admin-muted);
            flex: 0 0 auto;
            font-size: 0.7rem;
            text-transform: uppercase;
        }

        .survey-admin-segment-path-option span {
            overflow-wrap: anywhere;
        }

        .survey-admin-segment-tag-picker {
            grid-column: span 2;
            min-width: 0;
            position: relative;
        }

        .survey-admin-segment-tag-editor {
            background: #f4efe8;
            border-radius: 0.75rem;
            min-height: 2.35rem;
        }

        .survey-admin-segment-tag-editor .survey-admin-tag-editor-input {
            min-width: 4rem;
        }

        .survey-admin-segment-value-picker {
            min-width: 0;
            position: relative;
        }

        .survey-admin-segment-value-suggestions {
            background: var(--dayalogs-admin-surface);
            border: 1px solid var(--dayalogs-admin-line);
            border-radius: 0.7rem;
            box-shadow: 0 0.85rem 1.5rem rgba(60, 48, 39, 0.12);
            display: none;
            left: 0;
            max-height: 10rem;
            min-width: 0;
            overscroll-behavior: contain;
            overflow: auto;
            padding: 0.35rem;
            position: absolute;
            right: 0;
            scrollbar-width: thin;
            top: calc(100% + 0.35rem);
            z-index: 90;
        }

        .survey-admin-segment-value-suggestions.is-visible {
            display: block;
        }

        .survey-admin-segment-value-suggestions > span {
            color: var(--dayalogs-admin-muted);
            display: block;
            font-size: 0.82rem;
            padding: 0.55rem 0.65rem;
        }

        .survey-admin-segment-value-suggestion {
            background: transparent;
            border: 0;
            border-radius: 0.45rem;
            color: var(--dayalogs-admin-text-strong);
            display: block;
            font-size: 0.86rem;
            padding: 0.44rem 0.55rem;
            text-align: left;
            width: 100%;
        }

        .survey-admin-segment-value-suggestion:hover {
            background: #f4efe8;
        }

        .survey-admin-segment-samples {
            align-items: center;
            color: var(--dayalogs-admin-muted);
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
            margin-top: 0.9rem;
        }

        .survey-admin-segment-samples[hidden] {
            display: none;
        }

        .survey-admin-segment-samples > span {
            font-size: 0.78rem;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .survey-admin-segment-samples strong {
            background: #f4efe8;
            border-radius: 999px;
            font-size: 0.82rem;
            padding: 0.34rem 0.65rem;
        }

        .survey-admin-segment-confirm {
            display: grid;
            gap: 1rem;
            grid-template-columns: minmax(12rem, 0.32fr) minmax(0, 1fr);
        }

        .survey-admin-segment-confirm pre {
            background: #f4efe8;
            border-radius: 0.85rem;
            color: var(--dayalogs-admin-text-strong);
            font-size: 0.78rem;
            max-height: 20rem;
            overflow: auto;
            padding: 0.9rem;
            white-space: pre-wrap;
        }

        .survey-admin-contact-selection-summary {
            align-items: baseline;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            flex: 0 0 auto;
            gap: 0.35rem;
            min-width: 7rem;
        }

        .survey-admin-contact-selection-summary strong {
            color: var(--dayalogs-admin-text-strong);
            font-size: 1.35rem;
            line-height: 1;
        }

        .survey-admin-contact-selection-scope {
            align-items: center;
            background: #f4efe8;
            border-radius: 0.8rem;
            color: var(--dayalogs-admin-muted);
            display: flex;
            flex-wrap: wrap;
            font-size: 0.88rem;
            gap: 0.55rem;
            margin: -0.35rem 0 1rem;
            max-width: 56rem;
            padding: 0.55rem 0.75rem;
        }

        .survey-admin-contact-selection-scope[hidden] {
            display: none;
        }

        .survey-admin-contact-selection-scope .btn-link {
            color: var(--dayalogs-admin-primary);
            font-weight: 700;
            text-decoration: none;
        }

        .survey-admin-contact-selection-scope .btn-link:hover,
        .survey-admin-contact-selection-scope .btn-link:focus {
            color: var(--dayalogs-admin-text-strong);
            text-decoration: underline;
        }

        .survey-admin-contact-tag-input {
            flex: 1 1 20rem;
            max-width: 34rem;
        }

        .survey-admin-contact-select-cell {
            text-align: center;
            width: 2.75rem;
        }

        .survey-admin-contact-table {
            font-size: 0.86rem;
        }

        .survey-admin-contact-table > :not(caption) > * > * {
            padding-bottom: 0.55rem;
            padding-top: 0.55rem;
        }

        .survey-admin-contact-row {
            cursor: pointer;
        }

        .survey-admin-contact-row:hover > * {
            background: rgba(244, 239, 232, 0.7);
        }

        .survey-admin-contact-name {
            color: var(--dayalogs-admin-text-strong);
            text-decoration: none;
        }

        .survey-admin-contact-name:hover,
        .survey-admin-contact-name:focus {
            color: var(--dayalogs-admin-primary);
            text-decoration: underline;
        }

        .survey-admin-contact-detail-grid {
            display: grid;
            gap: 1.5rem;
            grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem);
        }

        .survey-admin-contact-fields {
            display: grid;
            gap: 1rem 1.25rem;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            margin-top: 1rem;
        }

        .survey-admin-contact-fields > div {
            background: #f4efe8;
            border-radius: 0.85rem;
            min-width: 0;
            padding: 0.8rem 0.9rem;
        }

        .survey-admin-contact-fields span:not(.survey-admin-field-label),
        .survey-admin-contact-fields code {
            overflow-wrap: anywhere;
        }

        .survey-admin-contact-field-input {
            background: transparent;
            border: 0;
            color: var(--dayalogs-admin-text-strong);
            display: block;
            font: inherit;
            font-size: 0.96rem;
            line-height: 1.45;
            margin: 0.25rem 0 0;
            min-width: 0;
            outline: 0;
            padding: 0;
            width: 100%;
        }

        .survey-admin-contact-field-input::placeholder {
            color: var(--dayalogs-admin-text);
            opacity: 1;
        }

        .survey-admin-contact-field-input:focus {
            box-shadow: 0 0.12rem 0 rgba(110, 98, 89, 0.32);
        }

        .survey-admin-contact-extra-fields {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .survey-admin-contact-extra-value {
            color: var(--dayalogs-admin-text-strong);
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
            font-size: 0.78rem;
            margin: 0.25rem 0 0;
            max-height: 8rem;
            overflow: auto;
            white-space: pre-wrap;
            word-break: break-word;
        }

        .survey-admin-contact-detail-tags {
            align-items: flex-start;
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
            margin-top: 1rem;
        }

        .survey-admin-contact-tag-edit-pill {
            gap: 0.25rem;
            padding-right: 0.28rem;
        }

        .survey-admin-contact-tag-edit-pill form,
        .survey-admin-inline-action-form {
            display: inline-flex;
            margin: 0;
        }

        .survey-admin-contact-inline-tag-form {
            display: flex;
            flex-direction: column;
            gap: 0.55rem;
            margin-top: 1.1rem;
        }

        .survey-admin-contact-data-header {
            align-items: flex-start;
            display: flex;
            justify-content: space-between;
            margin-bottom: 1rem;
        }

        .survey-admin-json-textarea {
            background: #fffdfa;
            border-color: var(--dayalogs-admin-line);
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
            font-size: 0.86rem;
            min-height: 12rem;
            resize: vertical;
        }

        .survey-admin-json-preview {
            background: #f4efe8;
            border-radius: 0.85rem;
            color: var(--dayalogs-admin-text-strong);
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
            font-size: 0.84rem;
            margin: 0;
            max-height: 18rem;
            overflow: auto;
            padding: 1rem;
            white-space: pre-wrap;
            word-break: break-word;
        }

        .survey-admin-contact-data-actions {
            align-items: center;
            display: flex;
            gap: 0.6rem;
            justify-content: flex-end;
            margin-top: 0.85rem;
        }

        .survey-admin-contact-data-empty {
            background: #f4efe8;
            border-radius: 0.85rem;
            color: var(--dayalogs-admin-muted);
            margin-bottom: 0.85rem;
            padding: 0.85rem 1rem;
        }

        .survey-admin-contact-json-details {
            background: #f4efe8;
            border-radius: 0.85rem;
            padding: 0.85rem 1rem;
        }

        .survey-admin-contact-json-details summary {
            align-items: center;
            color: var(--dayalogs-admin-text-strong);
            cursor: pointer;
            display: flex;
            font-weight: 800;
            gap: 0.75rem;
            justify-content: flex-start;
            list-style: none;
        }

        .survey-admin-contact-json-details summary::-webkit-details-marker {
            display: none;
        }

        .survey-admin-contact-json-details summary::before {
            color: var(--dayalogs-admin-muted);
            content: '>';
            flex: 0 0 auto;
            font-size: 0.78rem;
            margin-right: -0.35rem;
        }

        .survey-admin-contact-json-details[open] summary::before {
            content: 'v';
        }

        .survey-admin-contact-json-details summary code {
            color: var(--dayalogs-admin-muted);
            font-weight: 600;
            margin-left: auto;
        }

        .survey-admin-contact-json-details .survey-admin-contact-data-editor {
            margin-top: 1rem;
        }

        .survey-admin-contact-survey-data-fields {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .survey-admin-tag-input-wrap {
            position: relative;
        }

        .survey-admin-tag-editor {
            align-items: center;
            background: #f4efe8;
            border: 0;
            border-radius: 999px;
            cursor: text;
            display: flex;
            flex-wrap: wrap;
            gap: 0.38rem;
            min-height: 2.5rem;
            padding: 0.38rem 0.65rem;
        }

        .survey-admin-tag-editor:focus-within {
            box-shadow: 0 0 0 0.15rem rgba(110, 98, 89, 0.14);
        }

        .survey-admin-tag-editor-input {
            background: transparent;
            border: 0;
            color: var(--dayalogs-admin-text-strong);
            flex: 1 1 10rem;
            font: inherit;
            line-height: 1.5;
            min-width: 7rem;
            outline: 0;
        }

        .survey-admin-tag-editor.has-tags .survey-admin-tag-editor-input {
            flex: 0 1 3rem;
            min-width: 2rem;
        }

        .survey-admin-tag-pill {
            align-items: center;
            background: #dfd3c8;
            border-radius: 999px;
            color: var(--dayalogs-admin-text-strong);
            display: inline-flex;
            font-size: 0.78rem;
            font-weight: 700;
            gap: 0.15rem;
            line-height: 1.15;
            max-width: 100%;
            padding: 0.23rem 0.58rem;
        }

        .survey-admin-tag-pill.is-compact {
            background: #f0e5db;
            font-size: 0.74rem;
            padding: 0.2rem 0.5rem;
        }

        .survey-admin-tag-remove {
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 999px;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            height: 1rem;
            justify-content: center;
            line-height: 1;
            margin-right: -0.15rem;
            padding: 0;
            width: 1rem;
        }

        .survey-admin-tag-remove:hover,
        .survey-admin-tag-remove:focus {
            background: rgba(58, 53, 47, 0.08);
            color: var(--dayalogs-admin-text-strong);
        }

        .survey-admin-tag-suggestions {
            background: #fffdfa;
            border: 1px solid var(--dayalogs-admin-line);
            border-radius: 0.8rem;
            box-shadow: 0 0.75rem 1.5rem rgba(72, 64, 55, 0.08);
            display: none;
            left: 0;
            overflow: hidden;
            position: absolute;
            right: 0;
            top: calc(100% + 0.35rem);
            z-index: 35;
        }

        .survey-admin-tag-suggestions.is-visible {
            display: block;
        }

        .survey-admin-tag-suggestion {
            background: transparent;
            border: 0;
            border-bottom: 1px solid var(--dayalogs-admin-line);
            color: var(--dayalogs-admin-text-strong);
            font-size: 0.88rem;
            padding: 0.45rem 0.75rem;
            text-align: left;
            width: 100%;
        }

        .survey-admin-tag-suggestion:last-child {
            border-bottom: 0;
        }

        .survey-admin-tag-suggestion:hover,
        .survey-admin-tag-suggestion:focus {
            background: rgba(209, 193, 179, 0.16);
            outline: 0;
        }

        .survey-admin-mobile-header {
            background: transparent;
            border-top: 1px solid var(--dayalogs-admin-line);
            border-bottom: 1px solid var(--dayalogs-admin-line);
            color: var(--dayalogs-admin-text-strong);
            padding: 1rem 1.25rem;
        }

        @media (min-width: 992px) {
            .survey-admin-shell.is-sidebar-collapsed .survey-admin-sidebar-column::after {
                bottom: 0.3rem;
                right: 0;
                top: 0.3rem;
            }

            .survey-admin-shell.is-sidebar-collapsed .survey-admin-sidebar-column {
                padding-left: 0 !important;
                padding-right: 0 !important;
            }

            .survey-admin-shell.is-sidebar-collapsed .survey-admin-sidebar-card {
                align-items: center;
            }

            .survey-admin-shell.is-sidebar-collapsed .survey-admin-sidebar-card .brand {
                align-items: center;
                flex-direction: column;
                gap: 0.65rem;
                padding: 0.75rem 0 3.75rem;
                width: 100%;
            }

            .survey-admin-shell.is-sidebar-collapsed .survey-admin-brand-logo-full {
                display: none;
            }

            .survey-admin-shell.is-sidebar-collapsed .survey-admin-brand-logo-symbol {
                display: block;
            }

            .survey-admin-shell.is-sidebar-collapsed .survey-admin-sidebar-toggle {
                left: 50%;
                right: auto;
                top: 4.55rem;
                transform: translateX(-50%);
            }

            .survey-admin-shell.is-sidebar-collapsed .survey-admin-sidebar-card .card-body {
                padding-left: 0 !important;
                padding-right: 0 !important;
                width: 100%;
            }

            .survey-admin-shell.is-sidebar-collapsed .survey-admin-sidebar-card .nav {
                align-items: center;
                width: 100%;
            }

            .survey-admin-shell.is-sidebar-collapsed .survey-admin-sidebar-card .nav-link {
                border-radius: 999px;
                height: 2.75rem;
                justify-content: center;
                margin-left: auto;
                margin-right: auto;
                padding: 0;
                width: 2.75rem;
            }

            .survey-admin-shell.is-sidebar-collapsed .survey-admin-sidebar-card .nav-link i {
                font-size: 1.05rem;
            }

            .survey-admin-shell.is-sidebar-collapsed .survey-admin-sidebar-card .nav-link span {
                display: none;
            }
        }

        @media (max-width: 991.98px) {
            .survey-admin-page-frame {
                height: auto;
                padding-bottom: 2rem;
                overflow: visible;
            }

            .survey-admin-shell,
            .survey-admin-shell > .row,
            .survey-admin-main-column {
                height: auto;
            }

            .survey-admin-main-scroll {
                overflow: visible;
                padding-right: 0;
            }

            .survey-admin-sidebar-column::after {
                display: none;
            }

            .survey-admin-sidebar-toggle {
                display: none;
            }

            .survey-admin-local-nav {
                position: static;
            }

            .survey-admin-overview-header,
            .survey-admin-access-copy {
                padding-left: 0;
            }

            .survey-admin-overview-header,
            .survey-admin-access-panel {
                align-items: stretch;
                display: flex;
                flex-direction: column;
            }

            .survey-admin-filter-form,
            .survey-admin-import-summary {
                grid-template-columns: 1fr;
            }

            .survey-admin-contact-filter-row {
                justify-content: stretch;
            }

            .survey-admin-audience-stat-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .survey-admin-contact-bulk-toolbar {
                align-items: stretch;
                flex-direction: column;
            }

            .survey-admin-contact-pagination {
                align-items: stretch;
                flex-direction: column;
            }

            .survey-admin-contact-pagination-actions {
                justify-content: flex-start;
            }

            .survey-admin-contact-tag-input {
                max-width: none;
            }

            .survey-admin-segment-builder-toolbar {
                align-items: stretch;
                flex-direction: column;
            }

            .survey-admin-segment-rule {
                grid-template-columns: 1fr;
            }

            .survey-admin-segment-path-picker,
            .survey-admin-segment-tag-picker,
            .survey-admin-segment-value-picker {
                grid-column: auto;
            }

            .survey-admin-segment-confirm {
                grid-template-columns: 1fr;
            }

            .survey-admin-overview-status {
                justify-content: flex-start;
            }

            .survey-admin-stat-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .survey-admin-dashboard-stat-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .survey-admin-account-fields,
            .survey-admin-team-grid,
            .survey-admin-api-token-reveal {
                grid-template-columns: 1fr;
            }

            .survey-admin-team-card-header {
                align-items: stretch;
                flex-direction: column;
            }

            .survey-admin-team-seats {
                justify-content: flex-start;
            }

            .survey-admin-invite-form {
                width: 100%;
            }

            .survey-admin-stat-grid .survey-admin-stat:nth-child(odd) {
                border-left: 0;
            }

            .survey-admin-stat-grid .survey-admin-stat:nth-child(n + 3) {
                border-top: 1px solid var(--dayalogs-admin-line);
            }

            .survey-admin-url-block {
                padding-right: 0;
                width: 100%;
            }

            .survey-admin-ai-mode .survey-admin-main-scroll,
            .survey-admin-ai-mode .survey-admin-content-stack {
                overflow: visible;
            }

            .survey-admin-ai-mode .survey-admin-content-stack {
                height: auto;
            }

            .survey-ai-builder,
            .survey-ai-workbench {
                min-height: calc(100vh - var(--dayalogs-topbar-height, 0px) - 11rem);
            }

            .survey-ai-builder {
                flex-direction: column;
            }

            .survey-ai-mobile-switch {
                display: grid;
                gap: 0.35rem;
                grid-template-columns: 1fr 1fr;
                margin-bottom: 0.75rem;
                width: 100%;
            }

            .survey-ai-workbench {
                display: block;
            }

            .survey-ai-panel {
                min-height: calc(100vh - var(--dayalogs-topbar-height, 0px) - 14rem);
            }

            .survey-ai-panel.is-mobile-hidden {
                display: none;
            }

            .survey-ai-composer {
                width: 100%;
            }

            .survey-ai-composer-row {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 575.98px) {
            .survey-admin-stat-grid {
                grid-template-columns: 1fr;
            }

            .survey-admin-dashboard-stat-grid {
                grid-template-columns: 1fr;
            }

            .survey-admin-audience-stat-grid {
                grid-template-columns: 1fr;
            }

            .survey-admin-account-fields {
                grid-template-columns: 1fr;
            }

            .survey-admin-invite-form {
                flex-direction: column;
            }

            .survey-admin-invite-form .btn,
            .survey-admin-invite-form .form-control {
                width: 100%;
            }

            .survey-admin-stat-grid .survey-admin-stat + .survey-admin-stat {
                border-left: 0;
                border-top: 1px solid var(--dayalogs-admin-line);
            }

            .survey-admin-url-control {
                grid-template-columns: minmax(0, 1fr) auto;
            }

            .survey-admin-url-control a {
                display: none;
            }
        }

/* ==========================================================================
   Survey admin detail, distribution and export flows
   Extracted from templates/survey_admin/show.html.twig
   ========================================================================== */
/* dist-list */
        .dist-list { display: flex; flex-direction: column; }
        .dist-item { border-bottom: 1px solid var(--dayalogs-admin-line-soft); }
        .dist-item:last-child { border-bottom: 0; }
        .dist-item-header {
            align-items: center;
            cursor: pointer;
            display: flex;
            gap: 0.75rem;
            padding: 0.85rem 0;
        }
        .dist-item-header:has(+ .dist-item-detail) { cursor: pointer; }
        .dist-item-icon {
            align-items: center;
            border-radius: 0.55rem;
            display: inline-flex;
            flex: 0 0 auto;
            font-size: 1rem;
            height: 2.1rem;
            justify-content: center;
            width: 2.1rem;
        }
        .dist-item-icon--single { background: #eadfd6; color: #7c5f51; }
        .dist-item-icon--distribution { background: #e4eadf; color: #61765c; }
        .dist-item-meta { flex: 1; min-width: 0; }
        .dist-item-name { font-size: 0.9rem; font-weight: 600; }
        .dist-item-sub {
            color: var(--dayalogs-admin-muted);
            font-size: 0.78rem;
            line-height: 1.45;
            margin-top: 0.15rem;
        }
        .dist-quota-line { margin-top: 0.1rem; }
        .dist-badge-single { background: #eadfd6; color: #7c5f51; font-size: 0.7rem; }
        .dist-badge-distribution { background: #e4eadf; color: #61765c; font-size: 0.7rem; }
        .dist-item-actions { align-items: center; display: flex; flex-shrink: 0; gap: 0.35rem; }
        .dist-item-actions .survey-admin-icon-button {
            --dayalogs-admin-icon-button-size: 2rem;
        }
        .dist-progress {
            display: inline-block;
            background: var(--dayalogs-admin-line);
            border-radius: 99px;
            height: 5px;
            overflow: hidden;
            vertical-align: middle;
            width: 48px;
        }
        .dist-progress-bar { background: var(--dayalogs-admin-success); display: block; height: 100%; border-radius: 99px; }
        .dist-item-detail { padding: 0 0 0.75rem; }

        .survey-admin-quota-list {
            display: flex;
            flex-direction: column;
        }
        .survey-admin-quota-row {
            align-items: center;
            background: transparent;
            border-bottom: 1px solid var(--dayalogs-admin-line-soft);
            border-radius: 0;
            display: grid;
            gap: 0.75rem;
            grid-template-columns: 2rem minmax(0, 1fr) auto;
            padding: 0.85rem 0;
        }
        .survey-admin-quota-row:last-child {
            border-bottom: 0;
        }
        .survey-admin-quota-row-muted {
            background: transparent;
            grid-template-columns: 2rem minmax(0, 1fr);
        }
        .survey-admin-quota-icon {
            align-items: center;
            background: #eadfd6;
            border-radius: 0.55rem;
            color: #7c5f51;
            display: inline-flex;
            font-size: 0.95rem;
            height: 2rem;
            justify-content: center;
            width: 2rem;
        }
        .survey-admin-quota-icon--distribution {
            background: #e4eadf;
            color: #61765c;
        }
        .survey-admin-quota-icon--link {
            background: #eadfd6;
            color: #7c5f51;
        }
        .survey-admin-quota-main {
            min-width: 0;
        }
        .survey-admin-quota-bar {
            background: #e7ded4;
            border-radius: 999px;
            display: inline-block;
            height: 0.32rem;
            margin: 0 0.35rem;
            overflow: hidden;
            vertical-align: middle;
            width: 3.8rem;
        }
        .survey-admin-quota-bar span {
            background: var(--dayalogs-admin-success);
            border-radius: inherit;
            display: block;
            height: 100%;
        }
        .survey-admin-quota-condition-header {
            align-items: flex-start;
            display: flex;
            gap: 1rem;
            justify-content: space-between;
        }
        .survey-admin-quota-total-switch {
            align-items: center;
            background: #f7f2eb;
            border-radius: 999px;
            display: inline-flex;
            gap: 0.5rem;
            margin: 0;
            padding: 0.45rem 0.8rem;
            white-space: nowrap;
        }
        .survey-admin-condition-builder {
            display: grid;
            gap: 0.75rem;
        }
        .survey-admin-condition-rule {
            grid-template-columns: minmax(8rem, 0.75fr) minmax(12rem, 1.2fr) minmax(9rem, 0.8fr) minmax(10rem, 1fr) auto;
        }
        .survey-admin-condition-path-picker {
            grid-column: span 1;
        }
        .survey-admin-condition-remove {
            --dayalogs-admin-icon-button-size: 2rem;
            justify-self: end;
        }
        @media (max-width: 980px) {
            .survey-admin-quota-condition-header {
                flex-direction: column;
            }
            .survey-admin-condition-rule {
                grid-template-columns: 1fr;
            }
            .survey-admin-condition-path-picker {
                grid-column: auto;
            }
        }

        .survey-export-dialog {
            max-width: 46rem;
        }
        .survey-export-modal-body {
            background: transparent;
            padding: 1.35rem;
        }
        .survey-export-wizard {
            margin: 0 auto;
            max-width: 36rem;
        }
        .survey-export-panel {
            min-height: 13rem;
            padding: 0;
        }
        .survey-export-version-list,
        .survey-export-option-list,
        .survey-export-format-grid {
            display: grid;
            gap: 0.6rem;
        }
        .survey-export-version-row,
        .survey-export-option {
            align-items: flex-start;
            background: #f7f2eb;
            border-radius: 0.7rem;
            cursor: pointer;
            display: flex;
            gap: 0.7rem;
            padding: 0.75rem 0.85rem;
        }
        .survey-export-version-row input,
        .survey-export-option input {
            margin-top: 0.25rem;
        }
        .survey-export-option + .survey-export-option {
            margin-top: 0.6rem;
        }
        .survey-export-format-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .survey-export-format {
            align-items: center;
            background: #f7f2eb;
            border-radius: 999px;
            cursor: pointer;
            display: flex;
            gap: 0.45rem;
            justify-content: center;
            min-height: 2.75rem;
            padding: 0.5rem 0.75rem;
        }
        .survey-export-format input { margin: 0; }
        .survey-export-format .bi { color: var(--dayalogs-admin-brand); }
        @media (max-width: 640px) {
            .survey-export-dialog { max-width: calc(100% - 1rem); }
            .survey-export-wizard { max-width: none; }
            .survey-export-modal-body { padding: 1rem; }
            .survey-export-panel { min-height: 12rem; }
            .survey-export-format-grid { grid-template-columns: 1fr; }
            .survey-admin-modal-footer-actions {
                flex: 1;
                justify-content: flex-end;
            }
        }

        /* wizard overlay */
        .dist-wizard-overlay {
            align-items: center;
            background: rgba(0,0,0,0.32);
            bottom: 0;
            display: flex;
            justify-content: center;
            left: 0;
            position: fixed;
            right: 0;
            top: 0;
            z-index: 1080;
        }
        .dist-wizard {
            background: var(--dayalogs-admin-surface);
            border-radius: 1rem;
            box-shadow: 0 8px 32px rgba(0,0,0,0.15);
            display: flex;
            flex-direction: column;
            max-height: 90vh;
            overflow: hidden;
            width: min(640px, 96vw);
        }
        .dist-wizard-header {
            align-items: flex-start;
            border-bottom: 1px solid var(--dayalogs-admin-line);
            display: flex;
            justify-content: space-between;
            padding: 1.1rem 1.25rem 1rem;
        }
        .dist-wizard-steps {
            align-items: center;
            display: flex;
            gap: 0.4rem;
            padding: 0.85rem 1.25rem 0;
        }
        .dist-wizard-step-dot {
            align-items: center;
            background: var(--dayalogs-admin-line);
            border-radius: 50%;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            font-size: 0.75rem;
            font-weight: 600;
            height: 1.5rem;
            justify-content: center;
            transition: background 0.15s;
            width: 1.5rem;
        }
        .dist-wizard-step-dot.active { background: var(--dayalogs-admin-brand); color: #fff; }
        .dist-wizard-step-dot.done { background: var(--dayalogs-admin-success); color: #fff; }
        .dist-wizard-body { flex: 1; min-height: 0; overflow-y: auto; padding: 1rem 1.25rem; position: relative; }
        .dist-wizard-footer {
            border-top: 1px solid var(--dayalogs-admin-line);
            display: flex;
            gap: 0.5rem;
            padding: 0.85rem 1.25rem;
        }

        /* type cards */
        .dist-type-grid { display: grid; gap: 0.75rem; grid-template-columns: 1fr 1fr; }
        .dist-type-grid--compact { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
        .dist-type-card {
            background: var(--dayalogs-admin-surface);
            border: 1.5px solid var(--dayalogs-admin-line);
            border-radius: 0.75rem;
            cursor: pointer;
            padding: 1rem;
            text-align: left;
            transition: border-color 0.12s;
        }
        .dist-type-card:hover { border-color: var(--dayalogs-admin-brand); }
        .dist-type-card.selected { border-color: var(--dayalogs-admin-brand); background: #f4efe8; }
        .dist-type-icon { color: var(--dayalogs-admin-muted); display: block; font-size: 1.4rem; margin-bottom: 0.5rem; }
        .dist-type-card.selected .dist-type-icon { color: var(--dayalogs-admin-brand); }
        .dist-type-name { font-size: 0.875rem; font-weight: 600; margin-bottom: 0.2rem; }
        .dist-type-desc { color: var(--dayalogs-admin-muted); font-size: 0.78rem; line-height: 1.4; }
        .dist-source-toggle {
            background: var(--dayalogs-admin-bg-soft);
            border-radius: 999px;
            display: inline-flex;
            gap: 0.25rem;
            padding: 0.25rem;
        }
        .dist-source-button {
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 999px;
            color: var(--dayalogs-admin-muted);
            display: inline-flex;
            font-size: 0.86rem;
            font-weight: 600;
            gap: 0.35rem;
            padding: 0.48rem 0.85rem;
        }
        .dist-source-button.selected {
            background: var(--dayalogs-admin-surface);
            color: var(--dayalogs-admin-ink);
            box-shadow: 0 1px 4px rgba(0,0,0,0.05);
        }
        .dist-source-toggle--strong {
            background: #f2ece5;
            border: 1px solid #e5d9cd;
            padding: 0.22rem;
        }
        .dist-source-toggle--strong .dist-source-button {
            justify-content: center;
            min-width: 8.4rem;
            padding-inline: 1rem;
            transition: background 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
        }
        .dist-source-toggle--strong .dist-source-button:not(.selected):hover {
            background: rgba(255, 253, 250, 0.78);
            color: var(--dayalogs-admin-ink);
        }
        .dist-source-toggle--strong .dist-source-button.selected {
            background: var(--dayalogs-admin-brand);
            color: #fff;
            box-shadow: 0 0.18rem 0.5rem rgba(110, 98, 89, 0.22);
        }

        /* link option cards */
        .dist-behavior-opt {
            align-items: flex-start;
            background: var(--dayalogs-admin-surface);
            border: 1.5px solid var(--dayalogs-admin-line);
            border-radius: 0.6rem;
            cursor: pointer;
            display: flex;
            gap: 0.7rem;
            padding: 0.75rem 0.9rem;
            transition: border-color 0.12s;
        }
        .dist-behavior-opt:hover { border-color: var(--dayalogs-admin-brand); }
        .dist-behavior-opt.selected { background: #f4efe8; border-color: var(--dayalogs-admin-brand); }
        .dist-behavior-opt > .bi { color: var(--dayalogs-admin-muted); flex-shrink: 0; font-size: 1.1rem; margin-top: 0.1rem; }
        .dist-behavior-opt.selected > .bi { color: var(--dayalogs-admin-brand); }
        .dist-behavior-title { font-size: 0.875rem; font-weight: 600; }
        .dist-behavior-desc { color: var(--dayalogs-admin-muted); font-size: 0.78rem; line-height: 1.4; margin-top: 0.15rem; }
        .dist-inline-check {
            align-items: flex-start;
            color: var(--dayalogs-admin-muted);
            cursor: pointer;
            display: flex;
            gap: 0.6rem;
        }
        .dist-inline-check input {
            margin-top: 0.18rem;
        }
        .dist-inline-check .dist-behavior-title,
        .dist-inline-check .dist-behavior-desc {
            display: block;
        }
        .dist-inline-check .dist-behavior-title {
            color: var(--dayalogs-admin-ink);
        }
        .dist-inline-note {
            align-items: center;
            background: #f7f2eb;
            border-radius: 0.65rem;
            color: var(--dayalogs-admin-muted);
            display: flex;
            font-size: 0.82rem;
            gap: 0.5rem;
            padding: 0.65rem 0.8rem;
        }

        .survey-admin-review-header-actions {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            justify-content: flex-end;
        }
        .survey-admin-review-split {
            display: grid;
            gap: 1.25rem;
            grid-template-columns: minmax(18rem, 0.82fr) minmax(0, 1.18fr);
            margin-top: 1.4rem;
        }
        .survey-admin-review-table-card,
        .survey-admin-review-detail-card,
        .survey-admin-review-round,
        .survey-admin-empty-panel {
            background: #fffdfa;
            border: 1px solid var(--dayalogs-admin-line);
            border-radius: 0.8rem;
            padding: 1.1rem;
        }
        .survey-admin-review-table-card,
        .survey-admin-review-detail-card {
            min-width: 0;
        }
        .survey-admin-review-list {
            display: flex;
            flex-direction: column;
            gap: 0.45rem;
        }
        .survey-admin-review-row {
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 0.65rem;
            color: inherit;
            display: grid;
            gap: 0.75rem;
            grid-template-columns: minmax(0, 1fr) auto;
            padding: 0.75rem;
            text-align: left;
            width: 100%;
        }
        .survey-admin-review-row:hover,
        .survey-admin-review-row.active {
            background: #f4efe8;
        }
        .survey-admin-review-row-main strong,
        .survey-admin-review-row-main small {
            display: block;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .survey-admin-review-row-main strong {
            color: var(--dayalogs-admin-text-strong);
            font-size: 0.92rem;
        }
        .survey-admin-review-row-main small {
            color: var(--dayalogs-admin-muted);
            font-size: 0.76rem;
            margin-top: 0.12rem;
        }
        .survey-admin-review-row-meta {
            align-items: flex-end;
            display: flex;
            flex-direction: column;
            gap: 0.25rem;
        }
        .survey-admin-review-form:not(.survey-admin-modal) {
            align-self: stretch;
            display: flex;
            flex-direction: column;
            gap: 1rem;
            width: 100%;
        }
        .survey-admin-form-grid {
            display: grid;
            gap: 0.75rem;
        }
        .survey-admin-form-grid.two-cols {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .survey-admin-review-form label,
        .survey-admin-review-wide {
            color: var(--dayalogs-admin-muted);
            display: flex;
            flex-direction: column;
            font-size: 0.78rem;
            font-weight: 700;
            gap: 0.35rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }
        .survey-admin-review-form input,
        .survey-admin-review-form select,
        .survey-admin-review-form textarea {
            letter-spacing: 0;
            text-transform: none;
        }
        .survey-admin-review-wide {
            margin-top: 0.75rem;
        }
        .survey-admin-review-deadline-field {
            max-width: calc(50% - 0.375rem);
            width: 100%;
        }
        .survey-admin-review-form-actions {
            display: flex;
            justify-content: flex-end;
        }
        .survey-admin-review-footer-actions {
            align-items: center;
            display: flex;
            gap: 0.5rem;
        }
        .survey-admin-review-invitee-builder {
            display: grid;
            gap: 1rem;
        }
        .survey-admin-review-invitee-fields {
            align-items: end;
            display: grid;
            gap: 0.75rem;
            grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(9rem, 0.7fr) auto;
        }
        .survey-admin-review-invitee-list {
            display: grid;
            gap: 0.55rem;
        }
        .survey-admin-review-invitee-row {
            align-items: center;
            background: #f7f2eb;
            border-radius: 0.75rem;
            display: grid;
            gap: 0.65rem;
            grid-template-columns: 2rem minmax(0, 1fr) auto;
            padding: 0.6rem 0.7rem;
        }
        .survey-admin-review-invitee-row strong,
        .survey-admin-review-invitee-row small {
            display: block;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .survey-admin-review-invitee-row small {
            color: var(--dayalogs-admin-muted);
            font-size: 0.76rem;
        }
        .survey-admin-review-round {
            border: 0;
            padding: 0;
        }
        .survey-admin-review-round-head {
            align-items: flex-start;
            display: flex;
            gap: 1rem;
            justify-content: space-between;
        }
        .survey-admin-review-round-title {
            align-items: center;
            color: var(--dayalogs-admin-text-strong);
            display: flex;
            flex-wrap: wrap;
            font-size: 0.98rem;
            font-weight: 700;
            gap: 0.4rem;
        }
        .survey-admin-review-round-actions {
            align-items: center;
            display: flex;
            flex-shrink: 0;
            gap: 0.4rem;
        }
        .survey-admin-review-detail-grid {
            display: grid;
            gap: 0.75rem;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            margin: 1rem 0;
        }
        .survey-admin-review-detail-grid > div {
            background: #f7f2eb;
            border-radius: 0.65rem;
            padding: 0.75rem;
        }
        .survey-admin-review-detail-grid strong {
            display: block;
            font-size: 0.9rem;
            margin-top: 0.25rem;
        }
        .survey-admin-review-participants {
            display: grid;
            gap: 0.5rem;
        }
        .survey-admin-review-participant {
            align-items: center;
            background: #f7f2eb;
            border-radius: 0.7rem;
            display: grid;
            gap: 0.6rem;
            grid-template-columns: 2rem minmax(0, 1fr) auto auto;
            padding: 0.55rem 0.65rem;
        }
        .survey-admin-review-avatar {
            align-items: center;
            background: var(--dayalogs-admin-brand);
            border-radius: 50%;
            color: #fff;
            display: inline-flex;
            font-size: 0.78rem;
            font-weight: 700;
            height: 2rem;
            justify-content: center;
            width: 2rem;
        }
        .survey-admin-review-participant strong,
        .survey-admin-review-participant small {
            display: block;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .survey-admin-review-participant small {
            color: var(--dayalogs-admin-muted);
            font-size: 0.76rem;
        }
        .survey-admin-empty-panel {
            color: var(--dayalogs-admin-muted);
        }
        @media (max-width: 1100px) {
            .survey-admin-review-split {
                grid-template-columns: 1fr;
            }
        }
        @media (max-width: 680px) {
            .survey-admin-form-grid.two-cols {
                grid-template-columns: 1fr;
            }
            .survey-admin-review-deadline-field {
                max-width: none;
            }
            .survey-admin-review-invitee-fields {
                grid-template-columns: 1fr;
            }
            .survey-admin-review-row {
                grid-template-columns: 1fr;
            }
            .survey-admin-review-row-meta {
                align-items: flex-start;
                flex-direction: row;
                flex-wrap: wrap;
            }
            .survey-admin-review-round-head {
                flex-direction: column;
            }
            .survey-admin-review-detail-grid {
                grid-template-columns: 1fr;
            }
        }

        /* preview box */
        .dist-preview-box {
            background: #f4efe8;
            border-radius: 0.65rem;
            display: grid;
            gap: 0.75rem;
            grid-template-columns: 1fr 1fr 1fr;
            padding: 1rem;
        }

        /* spinner */
        @keyframes spin { to { transform: rotate(360deg); } }
        .spin { animation: spin 0.8s linear infinite; display: inline-block; }

/* ==========================================================================
   Survey style manager
   ========================================================================== */

.survey-admin-section-styles .survey-admin-main-scroll {
    overflow: hidden;
    padding-right: 0;
}

.survey-admin-section-styles .survey-admin-main-scroll > .ps__rail-x,
.survey-admin-section-styles .survey-admin-main-scroll > .ps__rail-y {
    display: none !important;
}

.survey-admin-section-styles .survey-admin-content-stack {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding-bottom: 0;
    padding-right: 0;
}

.survey-style-workspace {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(360px, 0.82fr) minmax(520px, 1.18fr);
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.survey-style-page-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-content: flex-end;
}

.survey-style-left-panel,
.survey-style-preview-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.survey-style-panel-head {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.survey-style-panel-head h2 {
    color: var(--dayalogs-admin-heading);
    font-size: 1rem;
    font-weight: 760;
    margin: 0.1rem 0 0;
}

.survey-style-count {
    align-items: center;
    background: var(--dayalogs-admin-surface-soft);
    border-radius: 999px;
    color: var(--dayalogs-admin-muted);
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 700;
    justify-content: center;
    min-width: 2rem;
    padding: 0.25rem 0.55rem;
}

.survey-style-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.survey-style-row {
    align-items: center;
    border: 1px solid var(--dayalogs-admin-border);
    border-radius: 0.75rem;
    color: var(--dayalogs-admin-text);
    display: flex;
    gap: 0.5rem;
    justify-content: space-between;
    padding: 0.45rem;
    position: relative;
}

.survey-style-row:hover {
    background: var(--dayalogs-admin-surface-soft);
    border-color: var(--dayalogs-admin-accent);
    color: var(--dayalogs-admin-heading);
}

.survey-style-row.is-active {
    background: #ece3d7;
    border-color: #8c7564;
    box-shadow: 0 0 0 1px rgba(140, 117, 100, 0.18);
    color: var(--dayalogs-admin-heading);
}

.survey-style-row.is-active::before {
    background: #7f6a5a;
    border-radius: 999px;
    bottom: 0.55rem;
    content: "";
    left: 0.45rem;
    position: absolute;
    top: 0.55rem;
    width: 0.18rem;
}

.survey-style-row.is-active .survey-style-row-main {
    padding-left: 0.7rem;
}

.survey-style-row.is-active small,
.survey-style-row.is-active em {
    color: #6d5b4e;
}

.survey-style-row-main {
    align-items: center;
    color: inherit;
    display: flex;
    flex: 1 1 auto;
    gap: 0.75rem;
    justify-content: space-between;
    min-width: 0;
    padding: 0.3rem 0.25rem 0.3rem 0.3rem;
    text-decoration: none;
}

.survey-style-row strong,
.survey-style-row small {
    display: block;
}

.survey-style-row strong {
    font-size: 0.92rem;
}

.survey-style-row small {
    color: var(--dayalogs-admin-muted);
    font-size: 0.78rem;
    line-height: 1.35;
    margin-top: 0.18rem;
}

.survey-style-row em {
    color: var(--dayalogs-admin-muted);
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-style: normal;
    text-transform: uppercase;
}

.survey-style-row-action {
    flex: 0 0 auto;
}

.survey-style-empty {
    color: var(--dayalogs-admin-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.survey-style-meta-grid label,
.survey-style-css-editor {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.survey-style-meta-grid span,
.survey-style-css-editor span {
    color: var(--dayalogs-admin-muted);
    font-size: 0.76rem;
    font-weight: 760;
    text-transform: uppercase;
}

.survey-style-editor-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    justify-content: flex-end;
}

.survey-style-meta-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 1fr 1fr minmax(120px, 0.5fr);
    margin-bottom: 1rem;
}

.survey-style-css-editor textarea {
    font-family: var(--dayalogs-font-mono);
    font-size: 0.78rem;
    min-height: 360px;
    overflow: hidden;
    resize: none;
}

.survey-style-editor-actions {
    background: linear-gradient(180deg, rgba(252, 250, 247, 0), var(--dayalogs-bg) 22%);
    bottom: 0;
    justify-content: flex-start;
    margin-top: 1rem;
    padding: 1rem 0 0.15rem;
    position: sticky;
    z-index: 2;
}

.survey-style-list-panel,
.survey-style-editor-card {
    flex: 1 1 auto;
    min-height: 0;
    overscroll-behavior: contain;
    overflow: hidden;
    padding-right: 1rem;
    position: relative;
}

.survey-admin-section-styles [data-perfect-scrollbar] > .ps__rail-y {
    opacity: 0.55;
    right: 0.18rem !important;
    width: 0.45rem;
    z-index: 4;
}

.survey-admin-section-styles [data-perfect-scrollbar] > .ps__rail-y > .ps__thumb-y {
    background: rgba(110, 98, 89, 0.38);
    right: 0.08rem;
    width: 0.28rem;
}

.survey-admin-section-styles [data-perfect-scrollbar]:hover > .ps__rail-y,
.survey-admin-section-styles [data-perfect-scrollbar].ps--scrolling-y > .ps__rail-y {
    opacity: 0.9;
}

.survey-style-list-group,
.survey-style-list-section {
    display: grid;
    gap: 1rem;
}

.survey-style-list-section + .survey-style-list-section {
    border-top: 1px solid var(--dayalogs-admin-border);
    padding-top: 1rem;
}

.survey-style-list-title {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.survey-style-list-title span {
    color: var(--dayalogs-admin-muted);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.survey-style-list-title em {
    align-items: center;
    background: var(--dayalogs-admin-surface-soft);
    border-radius: 999px;
    color: var(--dayalogs-admin-muted);
    display: inline-flex;
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 760;
    justify-content: center;
    min-width: 1.8rem;
    padding: 0.2rem 0.48rem;
}

.survey-style-back-link {
    align-items: center;
    color: var(--dayalogs-admin-muted);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 720;
    gap: 0.35rem;
    margin-bottom: 0.65rem;
    text-decoration: none;
}

.survey-style-back-link:hover {
    color: var(--dayalogs-admin-accent);
}

.survey-style-import-modal form {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 4rem);
}

.survey-style-import-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
}

.survey-style-import-grid label {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.survey-style-import-grid span {
    color: var(--dayalogs-admin-muted);
    font-size: 0.76rem;
    font-weight: 760;
    text-transform: uppercase;
}

.survey-style-import-notes {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
}

.survey-style-import-notes > div {
    background: var(--dayalogs-admin-surface-soft);
    border: 1px solid var(--dayalogs-admin-border);
    border-radius: 0.75rem;
    padding: 0.8rem 0.9rem;
}

.survey-style-import-notes strong,
.survey-style-import-notes span {
    display: block;
}

.survey-style-import-notes strong {
    color: var(--dayalogs-admin-heading);
    font-size: 0.9rem;
}

.survey-style-import-notes span {
    color: var(--dayalogs-admin-muted);
    font-size: 0.82rem;
    line-height: 1.4;
    margin-top: 0.2rem;
}

.survey-style-wizard-dialog {
    max-width: min(920px, calc(100vw - 2rem));
}

.survey-style-wizard-modal {
    border-radius: 1rem;
    overflow: hidden;
}

.survey-style-wizard {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 3.5rem);
    min-height: 0;
}

.survey-style-wizard .modal-header {
    align-items: center;
    border-bottom-color: var(--dayalogs-admin-border);
    flex: 0 0 auto;
    padding: 1.35rem 4rem 1.1rem 1.35rem;
}

.survey-style-wizard .modal-title {
    color: var(--dayalogs-admin-heading);
    font-weight: 780;
}

.survey-style-wizard .modal-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: min(24rem, calc(100vh - 14rem));
    overflow-y: auto;
    padding: 1.1rem 1.25rem 1.25rem;
}

.survey-style-wizard .survey-admin-wizard-steps {
    border-bottom: 1px solid var(--dayalogs-admin-border);
    padding: 0.65rem 1.35rem 0.8rem;
}

.survey-style-wizard-step {
    display: none;
    gap: 0.9rem;
    margin: 0 auto;
    max-width: 720px;
    width: 100%;
}

.survey-style-wizard-step.is-active {
    display: flex;
    flex-direction: column;
}

.survey-style-wizard-prompt {
    align-items: start;
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}

.survey-style-wizard-prompt h3 {
    color: var(--dayalogs-admin-heading);
    font-size: clamp(1.25rem, 2.1vw, 1.75rem);
    font-weight: 780;
    letter-spacing: 0;
    line-height: 1.12;
    margin: 0;
}

.survey-style-wizard-prompt p {
    color: var(--dayalogs-admin-muted);
    font-size: 0.9rem;
    line-height: 1.45;
    margin: 0;
    max-width: 38rem;
}

.survey-style-wizard-answer {
    align-self: stretch;
}

.survey-style-wizard .form-control-lg {
    border-radius: 0.8rem;
    font-size: 1rem;
    min-height: 3rem;
}

.survey-style-choice-grid {
    align-self: stretch;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.survey-style-choice-grid-compact {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.survey-style-choice-grid-fonts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.survey-style-choice {
    background: #f4eee7;
    border: 0;
    border-radius: 0.75rem;
    cursor: pointer;
    display: grid;
    gap: 0.18rem;
    min-height: 4.35rem;
    padding: 0.78rem 0.95rem;
    position: relative;
    transition: background-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease;
}

.survey-style-choice::before {
    display: none;
}

.survey-style-choice input {
    opacity: 0;
    position: absolute;
}

.survey-style-choice strong {
    color: var(--dayalogs-admin-heading);
    font-size: 0.92rem;
    font-weight: 760;
}

.survey-style-choice-grid-fonts .survey-style-choice strong {
    font-family: var(--survey-style-font-preview, var(--dayalogs-font-sans));
    font-size: 1.03rem;
    font-weight: 700;
    line-height: 1.1;
}

.survey-style-font-inter { --survey-style-font-preview: "Inter", ui-sans-serif, system-ui, sans-serif; }
.survey-style-font-source-serif-4 { --survey-style-font-preview: "Source Serif 4", Georgia, "Times New Roman", serif; }
.survey-style-font-lora { --survey-style-font-preview: "Lora", Georgia, "Times New Roman", serif; }
.survey-style-font-playfair-display { --survey-style-font-preview: "Playfair Display", Georgia, "Times New Roman", serif; }
.survey-style-font-merriweather { --survey-style-font-preview: "Merriweather", Georgia, "Times New Roman", serif; }
.survey-style-font-ibm-plex-sans { --survey-style-font-preview: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif; }
.survey-style-font-ibm-plex-mono { --survey-style-font-preview: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace; }
.survey-style-font-roboto-slab { --survey-style-font-preview: "Roboto Slab", Georgia, "Times New Roman", serif; }
.survey-style-font-nunito-sans { --survey-style-font-preview: "Nunito Sans", ui-sans-serif, system-ui, sans-serif; }
.survey-style-font-space-grotesk { --survey-style-font-preview: "Space Grotesk", ui-sans-serif, system-ui, sans-serif; }

.survey-style-choice small {
    color: var(--dayalogs-admin-muted);
    font-size: 0.78rem;
    line-height: 1.32;
}

.survey-style-choice:hover,
.survey-style-choice:has(input:checked) {
    background: #eee4d9;
    box-shadow: none;
}

.survey-style-choice.is-selected {
    background: #dcccbc;
    box-shadow: inset 0 0 0 1px rgba(110, 98, 89, 0.1);
}

.survey-style-choice.is-selected strong,
.survey-style-choice:has(input:checked) strong {
    color: var(--dayalogs-admin-text-strong);
}

.survey-style-choice.is-selected small,
.survey-style-choice:has(input:checked) small {
    color: var(--dayalogs-admin-text);
}

.survey-style-choice.is-selected strong {
    color: var(--dayalogs-admin-text-strong);
}

.survey-style-choice.is-selected small {
    color: #67584c;
}

.survey-style-choice.is-selected::after {
    align-items: center;
    background: #6E6259;
    border-radius: 999px;
    color: #ffffff;
    content: "✓";
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 800;
    height: 1.1rem;
    justify-content: center;
    line-height: 1;
    padding-bottom: 0.02rem;
    position: absolute;
    right: 0.75rem;
    top: 0.75rem;
    width: 1.1rem;
}

.survey-style-color-step {
    align-items: start;
    background: #fffdfa;
    border: 1px solid #d9ccc0;
    border-radius: 0.85rem;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: minmax(12rem, 0.45fr) minmax(0, 1fr);
    padding: 0.85rem;
}

.survey-style-color-custom {
    display: grid;
    gap: 0.55rem;
}

.survey-style-color-custom label {
    display: grid;
    gap: 0.32rem;
}

.survey-style-color-custom span {
    color: var(--dayalogs-admin-muted);
    font-size: 0.72rem;
    font-weight: 760;
    text-transform: uppercase;
}

.survey-style-color-step .form-control-color {
    border-radius: 0.75rem;
    height: 3.2rem;
    width: 100%;
}

.survey-style-color-swatches {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.survey-style-color-swatches button {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9ccc0;
    border-radius: 999px;
    color: var(--dayalogs-admin-text);
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 720;
    gap: 0.42rem;
    padding: 0.42rem 0.64rem;
}

.survey-style-color-swatches button:hover {
    background: var(--dayalogs-admin-surface-soft);
    border-color: var(--dayalogs-admin-brand);
}

.survey-style-color-swatches button::before {
    background: var(--swatch);
    border: 1px solid rgba(53, 47, 43, 0.18);
    border-radius: 999px;
    content: "";
    height: 0.95rem;
    width: 0.95rem;
}

.survey-style-choice-custom {
    gap: 0.42rem;
}

.survey-style-choice-custom .form-control,
.survey-style-choice-custom .form-select {
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(110, 98, 89, 0.22);
}

.survey-style-radius-custom {
    display: grid;
    gap: 0.35rem;
    grid-template-columns: minmax(0, 1fr) 4.2rem;
}

.survey-style-choice.is-selected .survey-style-radius-custom,
.survey-style-choice.is-selected .survey-style-choice-custom {
    color: var(--dayalogs-admin-text);
}

.survey-style-wizard-footer {
    border-top-color: var(--dayalogs-admin-border);
    gap: 0.7rem;
    justify-content: space-between;
    padding: 0.8rem 1.1rem;
}

.survey-style-wizard .survey-admin-modal-footer {
    background: #fffdfa;
    border-top: 1px solid var(--dayalogs-admin-border);
    flex: 0 0 auto;
}

.survey-style-preview-panel {
    position: static;
}

.survey-style-preview-panel > .card {
    background: rgba(255, 255, 255, 0.48);
    border: 0.5px solid rgba(53, 47, 43, 0.24);
    border-radius: 0.9rem;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: 0.35rem;
    overscroll-behavior: contain;
    position: relative;
}

.survey-style-preview {
    border-radius: 0.65rem;
    flex: 0 0 auto;
    max-height: none;
    min-height: 100%;
    overflow: visible;
}

.survey-style-preview .survey-header {
    position: static;
}

.survey-style-preview .survey-header__inner {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}

.survey-style-preview .survey-screen {
    min-height: auto;
    padding: 2rem 1.2rem;
}

.survey-style-preview .survey-screen .inner {
    max-width: 100%;
}

.survey-style-preview .survey-intro-title {
    font-size: clamp(2.4rem, 5vw, 4rem);
}

.survey-style-preview .q-group {
    margin-bottom: 1.25rem;
}

.survey-style-preview .q-options {
    column-count: 1;
}

@media (max-width: 1500px) {
    .survey-style-workspace {
        grid-template-columns: minmax(340px, 0.78fr) minmax(460px, 1.22fr);
    }
}

@media (max-width: 1180px) {
    .survey-admin-section-styles .survey-admin-main-scroll,
    .survey-admin-section-styles .survey-admin-content-stack,
    .survey-style-workspace {
        height: auto;
        overflow: visible;
    }

    .survey-style-left-panel,
    .survey-style-preview-panel {
        height: min(72vh, 46rem);
        overflow: hidden;
    }

    .survey-style-workspace,
    .survey-style-meta-grid {
        grid-template-columns: 1fr;
    }

    .survey-style-list-panel,
    .survey-style-editor-card,
    .survey-style-preview-panel > .card {
        overflow: hidden;
    }

    .survey-style-preview {
        overflow: visible;
    }
}

@media (max-width: 980px) {
    .survey-style-wizard .modal-body {
        min-height: 0;
    }

    .survey-style-choice-grid,
    .survey-style-choice-grid-compact,
    .survey-style-color-step {
        grid-template-columns: 1fr;
    }
}
