/*
   BT Automat — alternativní téma „Soft UI“.
   Aktivace: html[data-theme="soft"]
   Všechny override selektory jsou záměrně scoped na atribut tématu, aby se
   výchozí vzhled Recepce nijak nezměnil.
*/

html[data-theme="soft"] {
  --bg: #eef2fe;
  --bg-deep: #e6ebfe;
  --frame: #585ddb;
  --card: #f7f8ff;
  --card-soft: #f2f4fe;
  --ink: #2f3148;
  --ink-2: #4a4d6e;
  --muted: #8a8fb0;
  --line: #e3e7fa;
  --line-soft: #edf0fc;
  --brand: #232b5c;
  --brand-2: #2f3a78;
  --accent: #c94fd0;
  --accent-deep: #aa4eb3;
  --accent-soft: #f3e6fa;
  --accent-line: #e4c3f0;
  --on-accent: #ffffff;
  --gradient-accent: linear-gradient(90deg, #be4de3 0%, #ed4b84 100%);
  --ok: #2e9a67;
  --ok-bg: #e3f5ec;
  --warn: #c77a00;
  --warn-bg: #fff1da;
  --crit: #d0344f;
  --crit-bg: #fde8ec;
  --run: #585ddb;
  --run-bg: #e6e8fc;
  --idle: #7a7fa3;
  --idle-bg: #eaecf8;
  --font-ui: "Nunito", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --fs-xs: .72rem;
  --fs-sm: .8rem;
  --fs-base: .875rem;
  --fs-lg: 1rem;
  --fs-xl: 1.35rem;
  --radius: 24px;
  --radius-sm: 14px;
  --radius-pill: 999px;
  --shadow: 12px 14px 32px rgba(88, 93, 219, 0.16), -8px -8px 22px rgba(255, 255, 255, 0.9), 0 1px 2px rgba(60, 64, 140, 0.05);
  --shadow-raised-sm: 6px 6px 14px rgba(88, 93, 219, 0.14), -5px -5px 12px rgba(255, 255, 255, 0.95);
  --shadow-inset: inset 5px 5px 12px rgba(88, 93, 219, 0.12), inset -5px -5px 12px rgba(255, 255, 255, 0.9);
  --shadow-accent: 0 12px 26px -8px rgba(216, 78, 199, 0.55);
  --shadow-sheet: 0 40px 90px -40px rgba(10, 10, 60, 0.6);
  --ease: cubic-bezier(.25, 1, .5, 1);
  color-scheme: light;
}

/* ---------- základ, typografie a focus ---------- */

html[data-theme="soft"] body {
  color: var(--ink);
  font-family: var(--font-ui);
  font-weight: 500;
  background: linear-gradient(160deg, #f7f7ff 0%, #eef2fe 55%, #e8eefe 100%) fixed;
}

html[data-theme="soft"] h1,
html[data-theme="soft"] h2,
html[data-theme="soft"] h3 {
  font-family: var(--font-ui);
  font-weight: 800;
  letter-spacing: -.01em;
}

html[data-theme="soft"] h1 { color: var(--ink); }

html[data-theme="soft"] h2,
html[data-theme="soft"] h3,
html[data-theme="soft"] .section-heading h2,
html[data-theme="soft"] .dialog h2 {
  color: var(--brand);
}

html[data-theme="soft"] a { color: var(--accent-deep); }

html[data-theme="soft"] .mono { font-family: var(--font-mono); }

html[data-theme="soft"] .eyebrow {
  color: var(--accent-deep);
  font-weight: 700;
}

html[data-theme="soft"] .eyebrow::before {
  background: var(--gradient-accent);
  background-image: var(--gradient-accent);
  border-radius: var(--radius-pill);
}

html[data-theme="soft"] button:focus-visible,
html[data-theme="soft"] input:focus-visible,
html[data-theme="soft"] select:focus-visible,
html[data-theme="soft"] textarea:focus-visible,
html[data-theme="soft"] a:focus-visible,
html[data-theme="soft"] .job-row:focus-visible,
html[data-theme="soft"] .queue-item-summary:focus-visible {
  outline: none;
  outline-offset: 0;
  box-shadow: 0 0 0 3px rgba(190, 77, 227, .28);
}

html[data-theme="soft"] ::selection {
  color: var(--brand);
  background: var(--accent-line);
}

/* ---------- vnější rám ---------- */

html[data-theme="soft"] main { position: relative; z-index: 1; }

@media (min-width: 1100px) {
  html[data-theme="soft"] body {
    background: var(--frame);
  }

  html[data-theme="soft"] body::before {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: radial-gradient(circle at 8% 12%, rgba(255, 255, 255, .07) 0 22vw, transparent 22.5vw), radial-gradient(circle at 92% 88%, rgba(255, 255, 255, .06) 0 26vw, transparent 26.5vw);
    content: "";
  }

  html[data-theme="soft"] #app-view {
    position: relative;
    z-index: 1;
    padding: 24px 28px 40px;
    border-radius: 28px;
    background: linear-gradient(160deg, #f7f7ff 0%, #eef2fe 55%, #e8eefe 100%);
    box-shadow: var(--shadow-sheet);
  }

  html[data-theme="soft"] .topbar {
    z-index: 2;
    margin-top: 20px;
    box-shadow: 0 18px 40px -18px rgba(10, 10, 60, .55), var(--shadow-raised-sm);
  }

  html[data-theme="soft"] .center-card {
    box-shadow: var(--shadow-sheet);
  }
}

@media (max-width: 1099px) {
  html[data-theme="soft"] body {
    background: linear-gradient(160deg, #f7f7ff 0%, #eef2fe 55%, #e8eefe 100%) fixed;
  }

  html[data-theme="soft"] #app-view {
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  html[data-theme="soft"] .topbar {
    box-shadow: var(--shadow-raised-sm);
  }

  html[data-theme="soft"] .card,
  html[data-theme="soft"] .attn,
  html[data-theme="soft"] .quick,
  html[data-theme="soft"] .workers-pill {
    --shadow: 8px 10px 22px rgba(88, 93, 219, .16), -6px -6px 16px rgba(255, 255, 255, .9);
  }
}

/* ---------- horní navigace ---------- */

html[data-theme="soft"] .topbar {
  border-color: transparent;
  border-radius: var(--radius-pill);
  background: var(--card);
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
}

html[data-theme="soft"] .brand {
  color: var(--brand);
  font-weight: 800;
}

html[data-theme="soft"] .brand::before {
  border-radius: var(--radius-sm);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .topbar-nav {
  border-radius: var(--radius-pill);
  color: var(--ink-2);
  transition: box-shadow .18s var(--ease), transform .18s var(--ease), background .18s var(--ease), color .18s var(--ease);
}

html[data-theme="soft"] .topbar-nav:hover {
  color: var(--brand);
  background: var(--card-soft);
  box-shadow: var(--shadow-raised-sm);
  transform: translateY(-1px);
}

html[data-theme="soft"] .dashboard-version-banner {
  border-color: var(--accent-line);
  border-radius: var(--radius-pill);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .topbar-nav.active,
html[data-theme="soft"] .topbar-nav[aria-current="page"],
html[data-theme="soft"] .topbar-nav[aria-current="true"],
html[data-theme="soft"] body:has(#overview-screen:not([hidden])) .topbar-nav[href="#/"],
html[data-theme="soft"] body:has(#settings-screen:not([hidden])) #settings-nav,
html[data-theme="soft"] body:has(#advisor-management-screen:not([hidden])) #admin-advisors-nav,
html[data-theme="soft"] body:has(#institution-management-screen:not([hidden])) #admin-institutions-nav,
html[data-theme="soft"] body:has(#queue-screen:not([hidden])) #admin-queue-nav,
html[data-theme="soft"] body:has(#roadmap-screen:not([hidden])) #admin-roadmap-nav {
  color: var(--on-accent);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .account,
html[data-theme="soft"] #account.account {
  margin-left: auto;
  padding: 4px 6px 4px 12px;
  border-radius: var(--radius-pill);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] #account-email { color: var(--ink-2); }

/* ---------- raised tlačítka, chipy a stavové odznaky ---------- */

html[data-theme="soft"] .button {
  border-color: transparent;
  border-radius: var(--radius-pill);
  background: var(--card);
  color: var(--ink);
  font-weight: 700;
  box-shadow: var(--shadow-raised-sm);
  transition: box-shadow .18s var(--ease), transform .18s var(--ease), background .18s var(--ease), color .18s var(--ease);
}

html[data-theme="soft"] .button:hover {
  border-color: transparent;
  background: var(--card);
  box-shadow: var(--shadow);
  transform: translateY(-1px);
}

html[data-theme="soft"] .button:active {
  border-color: transparent;
  box-shadow: var(--shadow-inset);
  transform: translateY(0);
}

html[data-theme="soft"] .button.primary,
html[data-theme="soft"] .button.active,
html[data-theme="soft"] .period-switch .button.active,
html[data-theme="soft"] button[data-period].active,
html[data-theme="soft"] .jobs-filter .button.active,
html[data-theme="soft"] button[data-jobs-filter].active,
html[data-theme="soft"] button[data-target].active,
html[data-theme="soft"] button[data-life-form-view].active,
html[data-theme="soft"] button[data-phone-guide-platform].active,
html[data-theme="soft"] .quick-value.active,
html[data-theme="soft"] .choice-option[aria-checked="true"],
html[data-theme="soft"] .fund-choice.active,
html[data-theme="soft"] .sms-shortcut-guide-platform .button.active {
  border-color: transparent;
  color: var(--on-accent);
  background-color: var(--accent);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .button.primary:hover,
html[data-theme="soft"] .button.active:hover,
html[data-theme="soft"] .period-switch .button.active:hover,
html[data-theme="soft"] .jobs-filter .button.active:hover,
html[data-theme="soft"] .quick-value.active:hover,
html[data-theme="soft"] .choice-option[aria-checked="true"]:hover,
html[data-theme="soft"] .fund-choice.active:hover {
  color: var(--on-accent);
  background-image: var(--gradient-accent);
  box-shadow: 0 15px 32px -8px rgba(216, 78, 199, .65);
}

html[data-theme="soft"] .button.primary:active {
  box-shadow: inset 0 4px 12px rgba(96, 31, 106, .28);
  filter: brightness(.95);
  transform: translateY(0);
}

html[data-theme="soft"] .button.subtle {
  border-color: transparent;
  background: var(--card);
  color: var(--ink-2);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .button.subtle:hover {
  border-color: transparent;
  color: var(--brand);
  background: var(--card);
  box-shadow: var(--shadow);
}

html[data-theme="soft"] .button.danger {
  border-color: transparent;
  background: var(--card);
  color: var(--crit);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .button.danger:hover {
  border-color: transparent;
  background: var(--crit-bg);
  color: var(--crit);
}

html[data-theme="soft"] .button[disabled] {
  border-color: transparent;
  background: var(--idle-bg);
  color: var(--muted);
  box-shadow: none;
  transform: none;
}

html[data-theme="soft"] .button.primary[disabled]:hover {
  background: var(--idle-bg);
  background-image: none;
  color: var(--muted);
  box-shadow: none;
  filter: none;
  transform: none;
}

html[data-theme="soft"] .period-switch,
html[data-theme="soft"] .jobs-filter,
html[data-theme="soft"] .comparison-view-controls,
html[data-theme="soft"] .form-mode-controls {
  border-color: transparent;
}

html[data-theme="soft"] .period-switch .button,
html[data-theme="soft"] .jobs-filter .button {
  border-color: transparent;
  background: var(--card);
  color: var(--ink-2);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .chip {
  border-color: transparent;
  border-radius: var(--radius-pill);
  background: var(--card);
  color: var(--ink-2);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .chip.active,
html[data-theme="soft"] .chip[aria-pressed="true"] {
  border-color: transparent;
  color: var(--on-accent);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .chip:hover {
  box-shadow: var(--shadow-raised-sm);
  transform: translateY(-1px);
}

html[data-theme="soft"] .chip.active:hover,
html[data-theme="soft"] .chip[aria-pressed="true"]:hover {
  color: var(--on-accent);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .badge,
html[data-theme="soft"] .status-queued,
html[data-theme="soft"] .status-leased,
html[data-theme="soft"] .status-pending,
html[data-theme="soft"] .status-skipped_preview,
html[data-theme="soft"] .status-unknown,
html[data-theme="soft"] .status-cancelled {
  border-color: transparent;
  border-radius: var(--radius-pill);
  font-weight: 700;
}

html[data-theme="soft"] .badge.neutral,
html[data-theme="soft"] .status-queued,
html[data-theme="soft"] .status-leased,
html[data-theme="soft"] .status-pending,
html[data-theme="soft"] .status-skipped_preview,
html[data-theme="soft"] .status-unknown,
html[data-theme="soft"] .status-cancelled {
  background: var(--idle-bg);
  color: var(--idle);
}

html[data-theme="soft"] .badge.warn,
html[data-theme="soft"] .status-awaiting_input {
  border-color: transparent;
  background: var(--warn-bg);
  color: var(--warn);
}

html[data-theme="soft"] .badge.crit,
html[data-theme="soft"] .badge.stale,
html[data-theme="soft"] .status-needs_manual_completion,
html[data-theme="soft"] .status-failed,
html[data-theme="soft"] .status-manual_required {
  border-color: transparent;
  background: var(--crit-bg);
  color: var(--crit);
}

html[data-theme="soft"] .status-running {
  border-color: transparent;
  background: var(--run-bg);
  color: var(--run);
}

html[data-theme="soft"] .status-completed {
  border-color: transparent;
  background: var(--ok-bg);
  color: var(--ok);
}

html[data-theme="soft"] .badge::before,
html[data-theme="soft"] .status-running::before,
html[data-theme="soft"] .status-awaiting_input::before,
html[data-theme="soft"] .status-completed::before,
html[data-theme="soft"] .status-failed::before,
html[data-theme="soft"] .status-manual_required::before,
html[data-theme="soft"] .status-needs_manual_completion::before {
  box-shadow: none;
}

/* ---------- přihlášení, souhrn a akční karty ---------- */

html[data-theme="soft"] .center-card {
  border-color: transparent;
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow);
}

html[data-theme="soft"] .center-card h1 { color: var(--ink); }

html[data-theme="soft"] .center-card p:not(.eyebrow) { color: var(--ink-2); }

html[data-theme="soft"] .hello .hello-sub,
html[data-theme="soft"] .hint,
html[data-theme="soft"] .empty-state,
html[data-theme="soft"] .form-help {
  color: var(--muted);
}

html[data-theme="soft"] .bignum {
  border-color: transparent;
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .bignum:hover,
html[data-theme="soft"] .bignum.stat-action:hover {
  box-shadow: var(--shadow);
  transform: translateY(-1px);
}

html[data-theme="soft"] .bignum b { font-weight: 800; }

html[data-theme="soft"] #awaiting-input-alert,
html[data-theme="soft"] .awaiting-input-alert,
html[data-theme="soft"] .acting-context-banner,
html[data-theme="soft"] .message,
html[data-theme="soft"] .privacy-note,
html[data-theme="soft"] .input-dialog-stale,
html[data-theme="soft"] .choice-warning {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] #awaiting-input-alert,
html[data-theme="soft"] .awaiting-input-alert {
  color: var(--ink);
}

html[data-theme="soft"] .acting-context-banner { color: var(--ink-2); }

html[data-theme="soft"] .message { color: var(--run); }

html[data-theme="soft"] .message.error,
html[data-theme="soft"] .choice-warning {
  color: var(--crit);
  background: var(--crit-bg);
}

html[data-theme="soft"] .message.warning,
html[data-theme="soft"] .input-dialog-stale {
  color: var(--warn);
  background: var(--warn-bg);
}

html[data-theme="soft"] .attn {
  border-color: transparent;
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow);
}

html[data-theme="soft"] .attn.warn {
  border-color: transparent;
  background: var(--card);
  box-shadow: var(--shadow), inset 4px 0 0 var(--warn);
}

html[data-theme="soft"] .attn-head strong { color: var(--brand); }

html[data-theme="soft"] .attn-meta,
html[data-theme="soft"] .attn-meta b { color: var(--ink-2); }

html[data-theme="soft"] .deadline { color: var(--warn); }

html[data-theme="soft"] .quick {
  border-color: transparent;
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow);
}

html[data-theme="soft"] .product-tile {
  border-color: transparent;
  border-radius: var(--radius-pill);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
  transition: box-shadow .18s var(--ease), transform .18s var(--ease), background .18s var(--ease);
}

html[data-theme="soft"] .product-tile:hover,
html[data-theme="soft"] .product-tile:focus-visible {
  border-color: transparent;
  background: var(--card);
  box-shadow: var(--shadow);
  transform: translateY(-1px);
}

html[data-theme="soft"] .product-tile:first-child {
  border-color: transparent;
  color: var(--on-accent);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .workers-pill {
  border-color: transparent;
  border-radius: var(--radius);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .worker {
  padding: 6px 9px;
  border-radius: var(--radius-pill);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .worker-dot { background: var(--idle); }

html[data-theme="soft"] .worker .env,
html[data-theme="soft"] td.c-env .env,
html[data-theme="soft"] .mono.env {
  border-radius: var(--radius-pill);
  background: var(--bg-deep);
  color: var(--ink-2);
  box-shadow: var(--shadow-inset);
}

/* ---------- karty a běžné bloky ---------- */

html[data-theme="soft"] .card {
  border-color: transparent;
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow);
}

html[data-theme="soft"] .section-heading h2 { color: var(--brand); }

html[data-theme="soft"] .section-heading .badge { box-shadow: var(--shadow-raised-sm); }

html[data-theme="soft"] .detail-meta,
html[data-theme="soft"] .comparison-view-controls,
html[data-theme="soft"] .manual-actions,
html[data-theme="soft"] .portal-state-summary,
html[data-theme="soft"] .simple-view-info,
html[data-theme="soft"] .simple-view-settings,
html[data-theme="soft"] .rate .track {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .detail-meta dt,
html[data-theme="soft"] .detail-section-label,
html[data-theme="soft"] .stats-runtime,
html[data-theme="soft"] .detail-id {
  color: var(--muted);
}

html[data-theme="soft"] .detail-meta dd { color: var(--ink); }

html[data-theme="soft"] .portal-state-summary { color: var(--ink-2); }

html[data-theme="soft"] .manual-actions { color: var(--ink-2); }

html[data-theme="soft"] .timeline {
  border-color: transparent;
  border-radius: var(--radius-sm);
}

html[data-theme="soft"] .timeline li {
  border-color: var(--line-soft);
}

html[data-theme="soft"] .timeline li::before { background: var(--accent); }

html[data-theme="soft"] .screenshot-frame {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .screenshot {
  border-color: transparent;
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .screenshot-caption { color: var(--muted); }

/* ---------- tabulky ---------- */

html[data-theme="soft"] .table-scroll,
html[data-theme="soft"] .table-wrap,
html[data-theme="soft"] .risk-matrix-scroll {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .jobs-table,
html[data-theme="soft"] .statistics-table,
html[data-theme="soft"] .credentials-table,
html[data-theme="soft"] .risk-matrix {
  background: transparent;
}

html[data-theme="soft"] .jobs-table th,
html[data-theme="soft"] .statistics-table th,
html[data-theme="soft"] .credentials-table th,
html[data-theme="soft"] .risk-matrix th {
  border-top-color: transparent;
  border-bottom-color: var(--line);
  background: transparent;
  color: var(--muted);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

html[data-theme="soft"] .jobs-table td,
html[data-theme="soft"] .statistics-table td,
html[data-theme="soft"] .credentials-table td,
html[data-theme="soft"] .risk-matrix td {
  border-bottom-color: var(--line-soft);
}

html[data-theme="soft"] tr.job-row:hover,
html[data-theme="soft"] .statistics-table tr:hover,
html[data-theme="soft"] .credentials-table tr:hover {
  background: var(--bg-deep);
}

html[data-theme="soft"] tr.job-row.selected,
html[data-theme="soft"] tr.job-row.selected td {
  background: var(--accent-soft);
  border-bottom-color: var(--accent-line);
}

html[data-theme="soft"] tr.job-group td {
  border-bottom-color: transparent;
  color: var(--accent-deep);
}

html[data-theme="soft"] .jobs-more-button {
  color: var(--accent-deep);
}

html[data-theme="soft"] .jobs-more-button:hover { background: var(--card); }

html[data-theme="soft"] .job-detail-host {
  background: var(--card);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .rate .track {
  min-height: 10px;
  background: var(--bg-deep);
}

html[data-theme="soft"] .rate .track i {
  background-color: var(--accent);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .stats-summary-item {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .stats-summary-item strong { color: var(--brand); }

html[data-theme="soft"] .stats-summary-item span { color: var(--muted); }

html[data-theme="soft"] .stats-value.success { color: var(--ok); }

html[data-theme="soft"] .stats-value.warning { color: var(--warn); }

html[data-theme="soft"] .stats-value.danger { color: var(--crit); }

html[data-theme="soft"] .copy-value {
  border-color: transparent;
  border-radius: var(--radius-pill);
  background: var(--bg-deep);
  color: var(--ink-2);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .copy-value:hover,
html[data-theme="soft"] .copy-value.copied {
  border-color: transparent;
  background: var(--accent-soft);
  color: var(--accent-deep);
}

/* ---------- formuláře a zapuštěné panely ---------- */

html[data-theme="soft"] label,
html[data-theme="soft"] .field-label {
  color: var(--ink-2);
  font-weight: 700;
}

html[data-theme="soft"] .field-label > span:first-child { color: var(--ink-2); }

html[data-theme="soft"] input:where(:not([type="checkbox"]):not([type="radio"])),
html[data-theme="soft"] select,
html[data-theme="soft"] textarea {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background-color: var(--bg-deep);
  color: var(--ink);
  box-shadow: var(--shadow-inset);
  transition: box-shadow .18s var(--ease), transform .18s var(--ease), border-color .18s var(--ease);
}

html[data-theme="soft"] input:where(:not([type="checkbox"]):not([type="radio"])):hover,
html[data-theme="soft"] select:hover,
html[data-theme="soft"] textarea:hover {
  border-color: transparent;
  box-shadow: inset 6px 6px 14px rgba(88, 93, 219, .15), inset -5px -5px 12px rgba(255, 255, 255, .92);
}

html[data-theme="soft"] input[type="checkbox"],
html[data-theme="soft"] input[type="radio"] {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  accent-color: var(--accent);
}

html[data-theme="soft"] input.invalid,
html[data-theme="soft"] .product-field.invalid input,
html[data-theme="soft"] .product-field.invalid select,
html[data-theme="soft"] .product-field.invalid .choice-buttons {
  border-color: transparent;
  background: var(--crit-bg);
  box-shadow: var(--shadow-inset), 0 0 0 3px rgba(208, 52, 79, .25);
}

html[data-theme="soft"] input:focus-visible,
html[data-theme="soft"] select:focus-visible,
html[data-theme="soft"] textarea:focus-visible {
  box-shadow: var(--shadow-inset), 0 0 0 3px rgba(190, 77, 227, .28);
}

html[data-theme="soft"] input.invalid:focus-visible,
html[data-theme="soft"] .product-field.invalid input:focus-visible,
html[data-theme="soft"] .product-field.invalid select:focus-visible {
  box-shadow: var(--shadow-inset), 0 0 0 3px rgba(208, 52, 79, .25);
}

html[data-theme="soft"] .field-error,
html[data-theme="soft"] .form-help.error { color: var(--crit); }

html[data-theme="soft"] .life-status-other-hint { color: var(--warn); }

html[data-theme="soft"] .product-section,
html[data-theme="soft"] .simple-risk-list,
html[data-theme="soft"] .simple-risk-lists,
html[data-theme="soft"] .product-field,
html[data-theme="soft"] .insurer-picker {
  border-color: transparent;
  border-radius: var(--radius-sm);
}

html[data-theme="soft"] .product-section {
  background: var(--card-soft);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .simple-risk-list {
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] fieldset.simple-risk-list {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .simple-risk-list legend {
  color: var(--brand);
  font-weight: 800;
}

html[data-theme="soft"] .simple-risk-option { color: var(--ink-2); }

html[data-theme="soft"] .supplemental-fields,
html[data-theme="soft"] .address-details {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .product-field.optional-for-existing input,
html[data-theme="soft"] .product-field.optional-for-existing select,
html[data-theme="soft"] .product-field.optional-for-existing textarea,
html[data-theme="soft"] .product-field.for-existing-client input,
html[data-theme="soft"] .product-field.for-existing-client select,
html[data-theme="soft"] .product-field.for-existing-client textarea,
html[data-theme="soft"] .investment-step .product-field.optional-for-existing input,
html[data-theme="soft"] .investment-step .product-field.optional-for-existing select,
html[data-theme="soft"] .investment-step .product-field.optional-for-existing textarea {
  border-color: transparent;
  background-color: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .comparison-view-controls,
html[data-theme="soft"] .form-mode-controls {
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .quick-value,
html[data-theme="soft"] .choice-buttons .quick-value {
  border-color: transparent;
  border-radius: var(--radius-pill);
  background: var(--card);
  color: var(--ink-2);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .choice-buttons .quick-value.active {
  color: var(--on-accent);
  border-color: transparent;
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .investment-client-mode .choice-buttons {
  border-radius: var(--radius-sm);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .investment-client-mode .choice-buttons .quick-value {
  border-color: transparent;
  border-radius: 0;
  box-shadow: none;
}

html[data-theme="soft"] .investment-client-mode .choice-buttons .quick-value:first-child {
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

html[data-theme="soft"] .investment-client-mode .choice-buttons .quick-value:last-child {
  border-left: 0;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

html[data-theme="soft"] .investment-client-mode .choice-buttons .quick-value.active {
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .product-field.ai-filled input,
html[data-theme="soft"] .product-field.ai-filled select,
html[data-theme="soft"] .product-field.template-filled input,
html[data-theme="soft"] .product-field.template-filled select,
html[data-theme="soft"] .product-field.derived-value input,
html[data-theme="soft"] .product-field.derived-value select,
html[data-theme="soft"] .product-field.derived-value textarea,
html[data-theme="soft"] .product-field.remembered-value input,
html[data-theme="soft"] .product-field.remembered-value select,
html[data-theme="soft"] .product-field.remembered-value textarea {
  border-color: transparent;
  background: var(--accent-soft);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .privacy-note {
  color: var(--ink-2);
  background: var(--accent-soft);
}

html[data-theme="soft"] .insurer-option,
html[data-theme="soft"] .manual-completion-option {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .insurer-option:hover,
html[data-theme="soft"] .manual-completion-option:hover {
  box-shadow: var(--shadow);
  transform: translateY(-1px);
}

/* ---------- matice rizik ---------- */

html[data-theme="soft"] .risk-matrix th,
html[data-theme="soft"] .risk-matrix td { border-color: var(--line-soft); }

html[data-theme="soft"] .risk-matrix thead th,
html[data-theme="soft"] .risk-matrix .risk-matrix-name {
  background: var(--card-soft);
}

html[data-theme="soft"] .risk-matrix .risk-matrix-shared {
  background: var(--accent-soft);
  color: var(--brand);
}

html[data-theme="soft"] .risk-matrix .matrix-cell {
  border-radius: var(--radius-sm);
}

html[data-theme="soft"] .risk-matrix .matrix-cell.matrix-unsupported {
  border-color: transparent;
  background: repeating-linear-gradient(135deg, var(--bg-deep), var(--bg-deep) 6px, var(--line-soft) 6px, var(--line-soft) 8px);
  color: var(--muted);
}

html[data-theme="soft"] .risk-matrix .matrix-cell.matrix-unsupported input {
  background: rgba(88, 93, 219, .06);
  box-shadow: none;
}

html[data-theme="soft"] .risk-matrix .matrix-cell.matrix-suggestion input {
  border-color: transparent;
  background: var(--accent-soft);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .risk-matrix .matrix-cell.matrix-needs-choice input {
  border-color: transparent;
  background: var(--warn-bg);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .risk-matrix .matrix-cell.matrix-needs-choice input::placeholder {
  color: var(--warn);
}

html[data-theme="soft"] .risk-matrix .risk-help-toggle {
  border-color: transparent;
  color: var(--accent-deep);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .simple-view-info-link { color: var(--accent-deep); }

html[data-theme="soft"] .risk-help-popover {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--card);
  box-shadow: var(--shadow);
}

/* ---------- běh, dávka a stavy portálů ---------- */

html[data-theme="soft"] .batch-summary {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .batch-summary li + li { border-top-color: var(--line-soft); }

html[data-theme="soft"] .batch-summary .portal-alert { color: var(--crit); }

html[data-theme="soft"] .phase-mark { border-color: var(--line); }

html[data-theme="soft"] .phase-step + .phase-step::before { background: var(--line); }

html[data-theme="soft"] .phase-step.is-done + .phase-step::before { background: var(--ok-bg); }

html[data-theme="soft"] .phase-step.is-current .phase-chip,
html[data-theme="soft"] .phase-step.is-waiting .phase-chip,
html[data-theme="soft"] .phase-step.is-failed .phase-chip,
html[data-theme="soft"] .phase-step.is-stopped .phase-chip {
  border-radius: var(--radius-pill);
}

html[data-theme="soft"] .phase-step.is-current .phase-chip {
  color: var(--on-accent);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .phase-step.is-waiting .phase-chip {
  background: var(--warn-bg);
  color: var(--warn);
}

html[data-theme="soft"] .phase-step.is-failed .phase-chip {
  background: var(--crit-bg);
  color: var(--crit);
}

html[data-theme="soft"] .phase-step.is-stopped .phase-chip {
  background: var(--idle-bg);
  color: var(--idle);
}

html[data-theme="soft"] .phase-step.is-current .phase-mark { background: var(--accent); }

html[data-theme="soft"] .phase-step.is-done .phase-mark {
  border-bottom-color: var(--ok);
  border-left-color: var(--ok);
}

html[data-theme="soft"] .phase-waiting,
html[data-theme="soft"] .life-readiness-blockers,
html[data-theme="soft"] .investment-stop-action {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--warn-bg);
  box-shadow: var(--shadow-inset), inset 4px 0 0 var(--warn);
}

html[data-theme="soft"] .life-readiness-blockers {
  color: var(--crit);
  background: var(--crit-bg);
  box-shadow: var(--shadow-inset), inset 4px 0 0 var(--crit);
}

html[data-theme="soft"] .investment-stop-action { color: var(--ink-2); }

html[data-theme="soft"] .phase-waiting-title,
html[data-theme="soft"] .phase-stale { color: var(--warn); }

html[data-theme="soft"] .ai-verification-row,
html[data-theme="soft"] .ai-verification-findings th {
  border-color: transparent;
  background: var(--bg-deep);
}

html[data-theme="soft"] .ai-verification-mismatch {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--crit-bg);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .ai-verification-findings th,
html[data-theme="soft"] .ai-verification-findings td {
  border-color: var(--line-soft);
}

html[data-theme="soft"] .ai-verification-findings tr.severity-high td {
  background: var(--crit-bg);
  color: var(--crit);
}

html[data-theme="soft"] .ai-verification-findings tr.severity-medium td {
  background: var(--warn-bg);
  color: var(--warn);
}

html[data-theme="soft"] .investment-stop-step {
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .batch-portal-actions .button,
html[data-theme="soft"] .pdf-download .button {
  border-radius: var(--radius-pill);
}

/* ---------- dialogy ---------- */

html[data-theme="soft"] .dialog-backdrop {
  background: rgba(60, 64, 160, .35);
  backdrop-filter: blur(6px);
}

html[data-theme="soft"] .dialog {
  border-color: transparent;
  border-radius: 28px;
  background: var(--card);
  box-shadow: var(--shadow-sheet);
}

html[data-theme="soft"] .dialog-close {
  width: 40px;
  height: 40px;
  border-color: transparent;
  border-radius: 50%;
  background: var(--card);
  color: var(--muted);
  box-shadow: var(--shadow-raised-sm);
  transition: box-shadow .18s var(--ease), transform .18s var(--ease), color .18s var(--ease);
}

html[data-theme="soft"] .dialog-close:hover,
html[data-theme="soft"] .dialog-close:focus-visible {
  border-color: transparent;
  color: var(--brand);
  box-shadow: var(--shadow);
  transform: translateY(-1px);
}

html[data-theme="soft"] .dialog-close:active {
  box-shadow: var(--shadow-inset);
  transform: translateY(0);
}

html[data-theme="soft"] .input-dialog-message,
html[data-theme="soft"] .input-dialog-step,
html[data-theme="soft"] .input-dialog-screenshot,
html[data-theme="soft"] .input-dialog-sms-linked,
html[data-theme="soft"] #input-dialog-form,
html[data-theme="soft"] .job-inputs-section,
html[data-theme="soft"] .manual-completion-options {
  border-radius: var(--radius-sm);
}

html[data-theme="soft"] .input-dialog-message,
html[data-theme="soft"] .input-dialog-step,
html[data-theme="soft"] .input-dialog-sms-linked {
  padding: 9px 12px;
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] #input-dialog-form {
  padding: 14px;
  border-color: transparent;
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .input-dialog-screenshot {
  padding: 10px;
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .input-dialog-lightbox {
  background: rgba(60, 64, 160, .58);
  backdrop-filter: blur(6px);
}

html[data-theme="soft"] .input-dialog-lightbox-content {
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow-sheet);
}

html[data-theme="soft"] .choice-option {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
  transition: box-shadow .18s var(--ease), transform .18s var(--ease), background .18s var(--ease);
}

html[data-theme="soft"] .choice-option.external-effect {
  border-color: transparent;
  background: var(--accent-soft);
  box-shadow: var(--shadow-raised-sm), inset 0 0 0 1.5px var(--accent-line);
}

html[data-theme="soft"] .choice-option:hover,
html[data-theme="soft"] .choice-option:focus-visible {
  border-color: transparent;
  background: var(--card);
  box-shadow: var(--shadow);
  transform: translateY(-1px);
}

html[data-theme="soft"] .choice-option.external-effect:hover,
html[data-theme="soft"] .choice-option.external-effect:focus-visible {
  background: var(--accent-soft);
  box-shadow: var(--shadow), inset 0 0 0 1.5px var(--accent-line);
}

html[data-theme="soft"] .manual-completion-option input,
html[data-theme="soft"] .choice-option input { accent-color: var(--accent); }

html[data-theme="soft"] .choice-option.active,
html[data-theme="soft"] .choice-option[aria-selected="true"] {
  border-color: transparent;
  color: var(--on-accent);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

/* ---------- zadání a investice ---------- */

html[data-theme="soft"] .assignment-head h1 { color: var(--ink); }

html[data-theme="soft"] .assignment-screen .product-section,
html[data-theme="soft"] .investment-step {
  border-color: transparent;
  background: var(--card);
  box-shadow: var(--shadow);
}

html[data-theme="soft"] .investment-step-heading {
  border-bottom-color: var(--line-soft);
}

html[data-theme="soft"] .investment-step-number {
  border-color: transparent;
  border-radius: 50%;
  color: var(--on-accent);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .investment-step-status,
html[data-theme="soft"] .investment-deposit,
html[data-theme="soft"] .investment-step > .supplemental-fields,
html[data-theme="soft"] .fund-menu,
html[data-theme="soft"] .fund-favorites,
html[data-theme="soft"] .fund-menu-item,
html[data-theme="soft"] .fund-choice,
html[data-theme="soft"] .upload-box,
html[data-theme="soft"] .investment-upload-box {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .investment-group {
  border-top-color: var(--line-soft);
}

html[data-theme="soft"] .investment-group h4 { color: var(--brand); }

html[data-theme="soft"] .investment-step-status { color: var(--muted); }

html[data-theme="soft"] .investment-add-deposit {
  border-color: transparent;
  border-radius: var(--radius-pill);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .investment-remove-deposit {
  color: var(--accent-deep);
}

html[data-theme="soft"] .fund-menu-toggle,
html[data-theme="soft"] .fund-more,
html[data-theme="soft"] .fund-star,
html[data-theme="soft"] .save-fund {
  border-color: transparent;
  border-radius: var(--radius-pill);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .fund-star.active {
  color: var(--on-accent);
  background-color: var(--accent);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .fund-choice:hover,
html[data-theme="soft"] .fund-choice:focus-visible,
html[data-theme="soft"] .fund-more:hover,
html[data-theme="soft"] .fund-more:focus-visible {
  border-color: transparent;
  background: var(--card);
  box-shadow: var(--shadow);
}

html[data-theme="soft"] .fund-minimum-hint,
html[data-theme="soft"] .life-limit-hint { color: var(--muted); }

/* ---------- kódy, SMS a e-mailový návod ---------- */

html[data-theme="soft"] .codes-channel,
html[data-theme="soft"] .sms-shortcut-token-panel,
html[data-theme="soft"] .sms-shortcut-guide,
html[data-theme="soft"] .sms-test,
html[data-theme="soft"] .email-code-panel,
html[data-theme="soft"] .email-code-address-box,
html[data-theme="soft"] .email-code-checklist,
html[data-theme="soft"] .email-code-fallback {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .codes-channel {
  background: var(--card-soft);
}

html[data-theme="soft"] .codes-status {
  border-color: transparent;
  border-radius: var(--radius-pill);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .codes-status[data-state="pending"] {
  background: var(--warn-bg);
  color: var(--warn);
}

html[data-theme="soft"] .codes-status[data-state="ok"] {
  background: var(--ok-bg);
  color: var(--ok);
}

html[data-theme="soft"] .sms-shortcut-guide-platform {
  border-color: transparent;
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .sms-shortcut-guide-platform .button {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

html[data-theme="soft"] .sms-shortcut-guide-content .guide,
html[data-theme="soft"] .sms-shortcut-guide-content .troubleshooting,
html[data-theme="soft"] .sms-shortcut-token-box,
html[data-theme="soft"] .sms-test-sample,
html[data-theme="soft"] .sms-test-send-note,
html[data-theme="soft"] .sms-test-result {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .sms-shortcut-token,
html[data-theme="soft"] .email-code-address { color: var(--brand); }

html[data-theme="soft"] .sms-shortcut-qr svg {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .sms-test-send-note,
html[data-theme="soft"] .sms-test-result { color: var(--warn); }

html[data-theme="soft"] .sms-test-send-note[data-tone="ok"],
html[data-theme="soft"] .sms-test-result[data-tone="ok"] {
  color: var(--ok);
  background: var(--ok-bg);
}

html[data-theme="soft"] .sms-test-status-icon {
  background: var(--bg-deep);
  color: var(--muted);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .sms-test-reasons li[data-state="ok"] .sms-test-status-icon {
  color: var(--ok);
  background: var(--ok-bg);
}

html[data-theme="soft"] .sms-test-reasons li[data-state="error"] .sms-test-status-icon {
  color: var(--crit);
  background: var(--crit-bg);
}

html[data-theme="soft"] .sms-guide-card,
html[data-theme="soft"] .email-guide-card {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .sms-guide-art {
  border-radius: var(--radius-sm);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .sms-phone-label,
html[data-theme="soft"] .sms-phone-note { color: var(--ink-2); }

html[data-theme="soft"] .sms-phone-note[data-tone="warn"] { color: var(--warn); }

/* ---------- administrace a fronta ---------- */

html[data-theme="soft"] .admin-add-details,
html[data-theme="soft"] .advisor-import-preview,
html[data-theme="soft"] .advisor-editor,
html[data-theme="soft"] .advisor-institution-section,
html[data-theme="soft"] .institution-section {
  border-color: transparent;
  border-radius: var(--radius-sm);
}

html[data-theme="soft"] .advisor-block {
  border-color: transparent;
  background: var(--card-soft);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .admin-add-details {
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .admin-add-details[open] .admin-add-summary {
  border-bottom-color: var(--line-soft);
}

html[data-theme="soft"] .advisor-row,
html[data-theme="soft"] .institution-row,
html[data-theme="soft"] .advisor-institution-row {
  border-color: var(--line-soft);
  border-radius: var(--radius-sm);
}

html[data-theme="soft"] .advisor-row-summary,
html[data-theme="soft"] .institution-row:hover,
html[data-theme="soft"] .advisor-institution-row:hover {
  background: var(--card-soft);
}

html[data-theme="soft"] .advisor-row.pending > .advisor-row-summary,
html[data-theme="soft"] .institution-row.pending {
  border-color: transparent;
  background: var(--accent-soft);
  box-shadow: var(--shadow-inset), inset 4px 0 0 var(--accent);
}

html[data-theme="soft"] .advisor-row-name,
html[data-theme="soft"] .advisor-institution-name { color: var(--brand); }

html[data-theme="soft"] .advisor-pending-label { color: var(--accent-deep); }

html[data-theme="soft"] .queue-questions-card,
html[data-theme="soft"] .queue-card {
  border-color: transparent;
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow);
}

html[data-theme="soft"] .queue-questions-card {
  box-shadow: var(--shadow), inset 4px 0 0 var(--warn);
}

html[data-theme="soft"] .queue-questions-kicker,
html[data-theme="soft"] .queue-question-wait,
html[data-theme="soft"] .question-waiting { color: var(--warn); }

html[data-theme="soft"] .queue-questions-badge { border-color: transparent; }

html[data-theme="soft"] .queue-question,
html[data-theme="soft"] .queue-question-answer,
html[data-theme="soft"] .queue-metric,
html[data-theme="soft"] .queue-item {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .queue-question {
  background: var(--card);
  box-shadow: var(--shadow-raised-sm), inset 4px 0 0 var(--warn);
}

html[data-theme="soft"] .queue-question-answer.is-answered {
  border-color: transparent;
  background: var(--ok-bg);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .queue-item-summary:hover { background: var(--card); }

html[data-theme="soft"] .queue-item-summary::before { color: var(--accent-deep); }

html[data-theme="soft"] .queue-category-title,
html[data-theme="soft"] .queue-item-meta dt { color: var(--muted); }

html[data-theme="soft"] .queue-item-description { color: var(--ink-2); }

html[data-theme="soft"] .roadmap-card-shell {
  border-color: transparent;
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow);
}

html[data-theme="soft"] .roadmap-metric,
html[data-theme="soft"] .roadmap-direction {
  border-color: transparent;
  border-radius: var(--radius-sm);
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .roadmap-direction {
  background: var(--card);
  box-shadow: var(--shadow-raised-sm);
}

html[data-theme="soft"] .roadmap-group-title,
html[data-theme="soft"] .roadmap-detail-block > strong,
html[data-theme="soft"] .roadmap-metric span,
html[data-theme="soft"] .roadmap-progress-label {
  color: var(--muted);
}

html[data-theme="soft"] .roadmap-progress-track {
  background: var(--bg-deep);
  box-shadow: var(--shadow-inset);
}

html[data-theme="soft"] .roadmap-progress-fill {
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

html[data-theme="soft"] .roadmap-details { border-color: var(--line-soft); }
html[data-theme="soft"] .roadmap-details-summary { color: var(--accent-deep); }

html[data-theme="soft"] .pending-input-badge {
  border-color: transparent;
  border-radius: var(--radius-pill);
  color: var(--on-accent);
  background-color: var(--accent);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}

/* ---------- vzhled picker (markup dodávaný paralelním ticketem) ---------- */

html[data-theme="soft"] .theme-option {
  border-color: transparent;
  border-radius: var(--radius);
  background: var(--card);
  color: var(--ink);
  box-shadow: var(--shadow-raised-sm);
  transition: box-shadow .18s var(--ease), transform .18s var(--ease);
}

html[data-theme="soft"] .theme-option:hover,
html[data-theme="soft"] .theme-option:focus-visible {
  border-color: transparent;
  box-shadow: var(--shadow), 0 0 0 2px var(--accent-line);
  transform: translateY(-1px);
}

html[data-theme="soft"] .theme-option.active,
html[data-theme="soft"] .theme-option[aria-checked="true"] {
  border-color: transparent;
  box-shadow: var(--shadow-raised-sm), 0 0 0 2px var(--accent);
}

html[data-theme="soft"] .theme-option-label { color: var(--brand); font-weight: 800; }

html[data-theme="soft"] .theme-option-note { color: var(--muted); }

/* ---------- responzivita ---------- */

@media (max-width: 900px) {
  html[data-theme="soft"] .topbar { border-radius: var(--radius); }

  html[data-theme="soft"] .account,
  html[data-theme="soft"] #account.account {
    border-radius: var(--radius-sm);
  }

  html[data-theme="soft"] .codes-channels { gap: 12px; }
}

@media (max-width: 760px) {
  html[data-theme="soft"] .card { border-radius: var(--radius-sm); }

  html[data-theme="soft"] .jobs-card { border-radius: var(--radius); }

  html[data-theme="soft"] .jobs-table tr.job-row {
    border-bottom-color: var(--line-soft);
  }

  html[data-theme="soft"] .queue-metric { border-radius: var(--radius-sm); }

  html[data-theme="soft"] .dialog-actions .button,
  html[data-theme="soft"] .sms-test > .button,
  html[data-theme="soft"] .sms-test-run > .button {
    justify-content: center;
  }
}

@media (max-width: 640px) {
  html[data-theme="soft"] .batch-summary li.phase-step.is-done {
    background: var(--ok-bg);
  }

  html[data-theme="soft"] .batch-summary li.phase-step.is-current {
    background: var(--run-bg);
  }

  html[data-theme="soft"] .batch-summary li.phase-step.is-waiting {
    background: var(--warn-bg);
  }

  html[data-theme="soft"] .batch-summary li.phase-step.is-failed {
    background: var(--crit-bg);
  }

  html[data-theme="soft"] .batch-summary li.phase-step.is-stopped {
    background: var(--idle-bg);
  }

  html[data-theme="soft"] .phase-step.is-current .phase-chip {
    box-shadow: none;
  }

  html[data-theme="soft"] .input-dialog-wide,
  html[data-theme="soft"] .input-dialog-lightbox-content {
    border-radius: var(--radius-sm);
  }
}

@media (max-width: 480px) {
  html[data-theme="soft"] .topbar { width: calc(100% - 20px); }

  html[data-theme="soft"] .pending-input-badge {
    left: 1rem;
    right: 1rem;
    text-align: center;
  }

  html[data-theme="soft"] .dialog { padding: 20px 18px; }
}

/* ---------- pohyb ---------- */

@media (prefers-reduced-motion: reduce) {
  html[data-theme="soft"] *,
  html[data-theme="soft"] *::before,
  html[data-theme="soft"] *::after {
    animation: none;
    transition: none;
  }

  html[data-theme="soft"] .button:hover,
  html[data-theme="soft"] .topbar-nav:hover,
  html[data-theme="soft"] .product-tile:hover,
  html[data-theme="soft"] .bignum:hover,
  html[data-theme="soft"] .theme-option:hover {
    transform: none;
  }
}

/* Marketing: aktivní stav odkazu v horní liště (téma Soft UI). */
html[data-theme="soft"] body:has(#marketing-screen:not([hidden])) #admin-marketing-nav {
  color: var(--on-accent);
  background-image: var(--gradient-accent);
  box-shadow: var(--shadow-accent);
}
