:root,
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #101418;
  --sidebar: #12171b;
  --surface: #171d22;
  --surface-2: #1f272e;
  --surface-3: #141a1f;
  --line: #2b353d;
  --text: #f1f5f7;
  --muted: #9ba8b3;
  --green: #53d18a;
  --amber: #ffb020;
  --red: #ef6a6a;
  --blue: #79a9ff;
  --teal: #58c5bd;
  --accent: var(--teal);
  --ex-gradient: linear-gradient(135deg, #0d6efd 0%, #00b4f0 46%, #28e0c2 76%, #7cf0b9 100%);
  --speaker-ripple: rgba(88, 197, 189, 0.82);
  --speaker-ripple-soft: rgba(88, 197, 189, 0.34);
  --speaker-mic-bg: #f5fffd;
  --speaker-mic-fg: #0f766e;
  --speaker-mic-border: #101418;
  --wave-bg: #0f171d;
  --wave-color: #3f515b;
  --wave-progress: #6ee7d8;
  --wave-cursor: #f8fafc;
  --brand-text: #08100f;
  --frame-bg: #ffffff;
  --shadow: none;
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: #eef2f5;
  --sidebar: #f8fafc;
  --surface: #ffffff;
  --surface-2: #edf3f7;
  --surface-3: #fbfdff;
  --line: #d6e0e7;
  --text: #14212b;
  --muted: #5d6e7c;
  --green: #16824b;
  --amber: #d97706;
  --red: #c43d3d;
  --blue: #2563eb;
  --teal: #0f766e;
  --accent: var(--teal);
  --speaker-ripple: rgba(15, 118, 110, 0.78);
  --speaker-ripple-soft: rgba(15, 118, 110, 0.28);
  --speaker-mic-bg: #ffffff;
  --speaker-mic-fg: #0f766e;
  --speaker-mic-border: #fbfdff;
  --wave-bg: #f8fbfd;
  --wave-color: #cbd5dc;
  --wave-progress: #00857a;
  --wave-cursor: #0f172a;
  --brand-text: #ffffff;
  --frame-bg: #ffffff;
  --shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}

:root {
  --glass-control-shell: color-mix(in srgb, var(--surface-2) 72%, transparent);
  --glass-control-border: color-mix(in srgb, var(--line) 72%, rgba(255, 255, 255, 0.2));
  --glass-control-highlight: color-mix(in srgb, #ffffff 28%, transparent);
  --glass-control-shade: color-mix(in srgb, var(--surface-3) 62%, transparent);
  --glass-control-glow: color-mix(in srgb, var(--accent) 22%, transparent);
}

.sombra-svg-filters {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
}

button:not(:disabled),
.button:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.shell {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 260px minmax(0, 1fr);
  min-width: 0;
  transition: grid-template-columns 180ms ease;
}

.shell.is-sidebar-collapsed {
  grid-template-columns: 76px minmax(0, 1fr);
}

.sidebar {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--line);
  background: var(--sidebar);
  padding: 24px 18px;
  position: sticky;
  top: 0;
  align-self: start;
  min-height: 100vh;
  min-width: 0;
  transition: padding 180ms ease;
}

.sidebar-header {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 28px;
}

.brand {
  display: flex;
  flex: 1 1 auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.brand:hover .brand-mark,
.brand:focus-visible .brand-mark {
  filter: drop-shadow(0 0 8px color-mix(in srgb, var(--teal) 34%, transparent));
}

.brand-mark {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  flex: 0 0 auto;
  object-fit: contain;
}

.brand strong,
.brand span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-copy {
  min-width: 0;
}

.brand span {
  color: var(--muted);
  font-size: 13px;
}

.sidebar-collapse {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 48%, transparent);
  color: color-mix(in srgb, var(--muted) 88%, var(--text));
  cursor: pointer;
  box-shadow: none;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.sidebar-collapse:hover {
  border-color: color-mix(in srgb, var(--teal) 34%, var(--line));
  background: color-mix(in srgb, var(--surface-2) 64%, transparent);
  color: var(--text);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--teal) 10%, transparent);
}

.sidebar-collapse svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
  transition: transform 160ms ease;
}

.nav {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 8px;
  color: var(--muted);
  padding: 10px 12px;
  min-width: 0;
  text-decoration: none;
}

.nav a:hover,
.nav a.active {
  background: var(--surface-2);
  color: var(--text);
}

.nav-icon {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
  border-radius: 8px;
  color: inherit;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
}

.nav a.active .nav-icon {
  border-color: color-mix(in srgb, var(--teal) 52%, var(--line));
  background: color-mix(in srgb, var(--teal) 14%, var(--surface));
  color: var(--teal);
}

.nav-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shell.is-sidebar-collapsed .sidebar {
  padding: 18px 12px;
}

.shell.is-sidebar-collapsed .sidebar-header {
  display: grid;
  justify-items: center;
  gap: 10px;
  margin-bottom: 18px;
}

.shell.is-sidebar-collapsed .brand {
  justify-content: center;
}

.shell.is-sidebar-collapsed .brand-copy,
.shell.is-sidebar-collapsed .nav-label {
  display: none;
}

.shell.is-sidebar-collapsed .brand-mark {
  width: 38px;
  height: 38px;
}

.shell.is-sidebar-collapsed .sidebar-collapse svg {
  transform: rotate(180deg);
}

.shell.is-sidebar-collapsed .nav a {
  justify-content: center;
  padding: 9px;
}

.sidebar-bottom {
  display: grid;
  gap: 10px;
  margin-top: auto;
  min-width: 0;
  padding-top: 24px;
}

.pet-dock {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  align-items: end;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 130px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  padding: 4px 2px 2px;
  text-align: left;
}

.pet-dock:hover,
.pet-dock:focus-visible {
  background: transparent;
  color: var(--text);
  outline: 0;
}

.pet-stage {
  display: block;
  width: 132px;
  height: 116px;
  position: relative;
  overflow: visible;
  flex: 0 0 auto;
}

.pet-stage::after {
  display: none;
}

.pet-sprite {
  --pet-frame-width: 192px;
  --pet-frame-height: 208px;
  display: block;
  width: var(--pet-frame-width);
  height: var(--pet-frame-height);
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  left: -6px;
  top: -1px;
  transform: scale(0.54);
  transform-origin: left top;
  z-index: 1;
}

.pet-sheet {
  display: block;
  width: auto;
  height: auto;
  max-width: none;
  image-rendering: auto;
  position: absolute;
  left: 0;
  top: 0;
  user-select: none;
  will-change: transform;
}

.pet-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding-bottom: 18px;
}

.pet-copy strong,
.pet-copy span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pet-copy strong {
  font-size: 14px;
}

.pet-copy span {
  color: var(--muted);
  font-size: 12px;
}

.core-version-dock {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
  color: var(--muted);
  cursor: pointer;
  padding: 6px 9px;
  text-align: left;
}

.core-version-dock:hover,
.core-version-dock:focus-visible,
.core-version-dock.has-update {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  background: var(--surface-2);
  color: var(--text);
}

.core-version-dock.is-error {
  border-color: color-mix(in srgb, var(--red) 34%, var(--line));
}

.core-version-dock:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 38%, transparent);
  outline-offset: 2px;
}

.core-version-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  color: var(--accent);
}

.core-version-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.core-version-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 10px;
  height: 10px;
  border: 2px solid var(--surface);
  border-radius: 999px;
  background: var(--red);
}

.core-version-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.core-version-copy strong,
.core-version-copy span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.core-version-copy strong {
  color: var(--text);
  font-size: 12px;
  line-height: 1.2;
}

.core-version-copy span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.2;
}

.sidebar-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
}

.sidebar-tool {
  display: grid;
  align-items: center;
  justify-items: center;
  width: 100%;
  height: 44px;
  min-width: 0;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  cursor: pointer;
  padding: 0;
  text-decoration: none;
}

.sidebar-tool:focus-visible {
  background: var(--surface-2);
  color: var(--text);
  outline: 2px solid color-mix(in srgb, var(--teal) 42%, transparent);
  outline-offset: 2px;
}

.sidebar-tool.active {
  background: var(--surface-2);
  border-color: color-mix(in srgb, var(--teal) 52%, var(--line));
  color: var(--teal);
}

@media (hover: hover) and (pointer: fine) {
  .sidebar-tool:hover {
    background: var(--surface-2);
    color: var(--text);
  }
}

.sidebar-tool svg {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.sidebar-user-zone {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.sidebar-user-avatar-button,
.sidebar-user-dock {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 90%, transparent);
  color: var(--text);
  cursor: pointer;
}

.sidebar-user-avatar-button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
}

.sidebar-user-menu-wrap {
  position: relative;
  min-width: 0;
}

.sidebar-user-dock {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 6px 9px;
  text-align: left;
}

.sidebar-user-avatar-button:hover,
.sidebar-user-avatar-button:focus-visible,
.sidebar-user-dock:hover,
.sidebar-user-dock:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 38%, var(--line));
  background: var(--surface-2);
  outline: 0;
}

.sidebar-user-avatar {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line));
  border-radius: 999px;
  background:
    radial-gradient(circle at 28% 22%, rgba(255, 255, 255, 0.46), transparent 32%),
    linear-gradient(145deg, color-mix(in srgb, var(--accent) 70%, #6f86ff), color-mix(in srgb, var(--teal) 64%, #111827));
  color: #ffffff;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
}

.sidebar-user-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sidebar-user-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.sidebar-user-copy strong,
.sidebar-user-copy span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-user-copy strong {
  font-size: 13px;
  line-height: 1.2;
}

.sidebar-user-copy span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.2;
}

.sidebar-user-chevron {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  opacity: 0.55;
}

.sidebar-account-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  z-index: 40;
  display: grid;
  gap: 4px;
  width: min(220px, calc(100vw - 32px));
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.2);
  padding: 6px;
}

.sidebar-account-menu.hidden {
  display: none;
}

.sidebar-account-menu button {
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--text);
  padding: 9px 10px;
  text-align: left;
}

.sidebar-account-menu button:hover,
.sidebar-account-menu button:focus-visible {
  background: var(--surface-2);
  outline: 0;
}

.shell.is-sidebar-collapsed .sidebar-bottom {
  justify-items: center;
  padding-top: 18px;
}

.shell.is-sidebar-collapsed .pet-dock {
  width: 52px;
  min-height: 64px;
  grid-template-columns: 1fr;
  padding: 0;
}

.shell.is-sidebar-collapsed .pet-stage {
  width: 42px;
  height: 54px;
}

.shell.is-sidebar-collapsed .pet-stage::after {
  left: 8px;
  right: 6px;
  bottom: 5px;
  height: 6px;
}

.shell.is-sidebar-collapsed .pet-sprite {
  left: -7px;
  top: 1px;
  transform: scale(0.26);
}

.shell.is-sidebar-collapsed .pet-copy {
  display: none;
}

.shell.is-sidebar-collapsed .core-version-dock {
  width: 52px;
  min-height: 44px;
  grid-template-columns: 1fr;
  padding: 5px;
  justify-items: center;
}

.shell.is-sidebar-collapsed .core-version-copy {
  display: none;
}

.shell.is-sidebar-collapsed .sidebar-tools {
  grid-template-columns: 1fr;
  width: 52px;
}

.shell.is-sidebar-collapsed .sidebar-tool {
  height: 44px;
}

.shell.is-sidebar-collapsed .sidebar-user-zone {
  width: 52px;
  grid-template-columns: 1fr;
  justify-items: center;
}

.shell.is-sidebar-collapsed .sidebar-user-menu-wrap {
  display: none;
}

.shell.is-sidebar-collapsed .sidebar-user-copy,
.shell.is-sidebar-collapsed .sidebar-user-chevron {
  display: none;
}

.menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  cursor: pointer;
  padding: 0;
}

.menu-toggle:hover {
  background: var(--surface-2);
}

.menu-toggle span {
  display: block;
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform 160ms ease, opacity 160ms ease;
}

.menu-toggle {
  flex-direction: column;
}

.sidebar.nav-open .menu-toggle span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.sidebar.nav-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}

.sidebar.nav-open .menu-toggle span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.hidden {
  display: none !important;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
}

.vault-help-open {
  overflow: hidden;
}

.vault-help-layer {
  position: fixed;
  inset: 0;
  z-index: 58;
  display: grid;
  place-items: center;
  padding: 18px;
}

.vault-help-backdrop {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, #050a0e 64%, transparent);
  backdrop-filter: blur(10px);
}

.vault-help-dialog {
  position: relative;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  width: min(1040px, calc(100vw - 36px));
  max-height: min(820px, calc(100dvh - 36px));
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--line) 62%, var(--teal));
  border-radius: 10px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--surface) 96%, var(--blue)) 0%, var(--surface) 58%),
    var(--surface);
  box-shadow: 0 28px 78px rgba(0, 0, 0, 0.44);
  color: var(--text);
  opacity: 0;
  transform: translateY(12px) scale(.985);
  transition: opacity 160ms ease, transform 160ms ease;
}

.vault-help-layer.is-open .vault-help-dialog {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.vault-help-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  border-bottom: 1px solid var(--line);
  padding: 22px 24px 18px;
}

.vault-help-header h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  font-weight: 780;
  letter-spacing: 0;
  line-height: 1.08;
}

.vault-help-header span {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: .9rem;
  font-weight: 700;
}

.vault-help-nav {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  padding: 10px 24px;
  scrollbar-width: thin;
}

.vault-help-nav a {
  flex: 0 0 auto;
  border: 1px solid color-mix(in srgb, var(--line) 78%, var(--accent));
  border-radius: 8px;
  color: var(--text);
  background: color-mix(in srgb, var(--surface-3) 84%, transparent);
  font-size: .82rem;
  font-weight: 760;
  line-height: 1;
  padding: 9px 11px;
  text-decoration: none;
}

.vault-help-nav a:hover,
.vault-help-nav a:focus-visible {
  border-color: color-mix(in srgb, var(--teal) 58%, var(--line));
  color: var(--teal);
  outline: none;
}

.vault-help-body {
  display: grid;
  gap: 14px;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 18px 24px 24px;
}

.vault-help-section {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 76%, var(--blue));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--blue) 9%, transparent), transparent 44%),
    color-mix(in srgb, var(--surface-3) 84%, transparent);
  padding: 18px;
  scroll-margin-top: 12px;
}

.vault-help-section h3 {
  margin: 0 0 8px;
  color: var(--text);
  font-size: 1.1rem;
  font-weight: 780;
  letter-spacing: 0;
  line-height: 1.2;
}

.vault-help-section p,
.vault-help-section li {
  color: var(--muted);
  font-size: .94rem;
  font-weight: 620;
  line-height: 1.55;
}

.vault-help-section p {
  margin: 0;
}

.vault-help-section ul {
  display: grid;
  gap: 7px;
  margin: 12px 0 0;
  padding-left: 18px;
}

.vault-help-demo-card {
  display: grid;
  gap: 12px;
  max-width: 560px;
  margin-top: 14px;
  border: 1px solid color-mix(in srgb, var(--line) 70%, var(--teal));
  border-radius: 8px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--teal) 9%, transparent), transparent 56%),
    color-mix(in srgb, var(--surface) 88%, transparent);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.12);
  padding: 14px;
}

.vault-help-demo-card header {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.vault-help-demo-card strong {
  color: var(--text);
  font-size: .98rem;
  font-weight: 800;
  line-height: 1.2;
}

.vault-help-demo-card small,
.vault-help-demo-card footer span,
.vault-help-demo-card span {
  color: var(--muted);
  font-size: .75rem;
  font-weight: 760;
  line-height: 1.25;
}

.vault-help-demo-type {
  justify-self: start;
  border-radius: 6px;
  color: color-mix(in srgb, var(--teal) 74%, var(--text));
  background: color-mix(in srgb, var(--teal) 13%, transparent);
  padding: 4px 6px;
  letter-spacing: 0;
}

.vault-help-demo-fields {
  display: grid;
  gap: 8px;
}

.vault-help-demo-fields div {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 82%, var(--teal));
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface-2) 78%, transparent);
  padding: 8px 10px;
}

.vault-help-demo-fields code {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: .82rem;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-help-demo-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.vault-help-demo-card .icon-button {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  opacity: .72;
}

.vault-help-step {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: var(--ink);
  background: linear-gradient(135deg, var(--blue), var(--teal), var(--mint));
  font-size: .94rem;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.vault-help-hero {
  border-color: color-mix(in srgb, var(--teal) 48%, var(--line));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--teal) 12%, transparent), transparent 52%),
    color-mix(in srgb, var(--surface-3) 88%, transparent);
}

.vault-help-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.vault-help-tags span {
  border: 1px solid color-mix(in srgb, var(--teal) 38%, var(--line));
  border-radius: 8px;
  color: color-mix(in srgb, var(--teal) 72%, var(--text));
  background: color-mix(in srgb, var(--teal) 10%, transparent);
  font-size: .78rem;
  font-weight: 800;
  padding: 7px 9px;
}

@media (max-width: 720px) {
  .vault-help-layer {
    align-items: stretch;
    padding: 0;
  }

  .vault-help-dialog {
    width: 100vw;
    max-height: 100dvh;
    min-height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .vault-help-header {
    gap: 10px;
    padding: 16px 16px 13px;
  }

  .vault-help-header h2 {
    font-size: 1.45rem;
  }

  .vault-help-nav {
    padding: 9px 16px;
  }

  .vault-help-body {
    gap: 12px;
    padding: 14px 16px calc(20px + env(safe-area-inset-bottom));
  }

  .vault-help-section {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }

  .vault-help-demo-card {
    margin-left: -52px;
    max-width: none;
  }

  .vault-help-demo-fields div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .vault-help-step {
    width: 40px;
    height: 40px;
    font-size: .82rem;
  }
}

.panel-settings,
.account-panel {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
  pointer-events: none;
}

.panel-settings-backdrop,
.account-panel-backdrop {
  border: 0;
  background: rgba(5, 10, 14, 0.56);
  cursor: pointer;
  pointer-events: auto;
}

.panel-settings-sheet,
.account-panel-sheet {
  display: grid;
  align-content: start;
  gap: 18px;
  min-width: 0;
  min-height: 100vh;
  border-left: 1px solid var(--line);
  background: var(--surface);
  box-shadow: -18px 0 44px rgba(0, 0, 0, 0.24);
  padding: 22px;
  pointer-events: auto;
}

.panel-settings-head,
.account-panel-head,
.settings-section-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.panel-settings-head h2,
.account-panel-head h2,
.settings-section-title h3 {
  margin: 0;
}

.settings-section {
  display: grid;
  gap: 14px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
  padding: 16px;
}

.settings-services-shell {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.settings-section-premium {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--line) 72%, var(--accent));
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--surface) 94%, var(--accent)) 0%, var(--surface-3) 62%),
    var(--surface-3);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.14);
}

.settings-section-premium::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 46%, transparent), transparent);
  pointer-events: none;
}

.settings-section-title p {
  color: var(--muted);
  font-size: 13px;
  margin: 4px 0 0;
}

.settings-switch {
  display: inline-grid;
  width: 46px;
  height: 26px;
  flex: 0 0 auto;
  cursor: pointer;
  place-items: center;
  position: relative;
}

.settings-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.settings-switch span {
  display: block;
  width: 46px;
  height: 26px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  transition: background 160ms ease, border-color 160ms ease;
}

.settings-switch span::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin: 2px;
  border-radius: 50%;
  background: var(--muted);
  transition: transform 160ms ease, background 160ms ease;
}

.settings-switch input:checked + span {
  border-color: color-mix(in srgb, var(--teal) 62%, var(--line));
  background: color-mix(in srgb, var(--teal) 26%, var(--surface-2));
}

.settings-switch input:checked + span::before {
  background: var(--teal);
  transform: translateX(20px);
}

.settings-task-config {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  min-width: 0;
}

.settings-task-retention,
.settings-task-detail,
.settings-task-sites {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.settings-task-retention {
  grid-column: 1 / -1;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 12px;
}

.settings-task-detail {
  align-self: end;
}

.settings-task-detail span,
.settings-task-hint {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.settings-task-sites {
  grid-column: 1 / -1;
}

.settings-task-retention-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.settings-task-retention-chip {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  padding: 0 11px;
}

.settings-task-retention-chip.active,
.settings-task-retention-chip:hover {
  border-color: color-mix(in srgb, var(--accent) 56%, var(--line));
  background: color-mix(in srgb, var(--accent) 13%, var(--surface));
  color: var(--text);
}

.settings-task-retention-custom {
  max-width: 240px;
}

.settings-task-site-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.settings-task-site-option {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--text);
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  gap: 7px;
  padding: 0 10px;
}

.settings-task-site-option:has(input:checked) {
  border-color: color-mix(in srgb, var(--accent) 58%, var(--line));
  background: color-mix(in srgb, var(--accent) 14%, var(--surface-2));
}

.settings-task-site-option input {
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
  padding: 0;
}

.settings-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.settings-page-content .settings-field .field-label {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 820;
}

.settings-page-content .settings-field input:not([type="checkbox"]):not([type="color"]),
.settings-page-content .settings-field select,
.settings-page-content .settings-field textarea {
  width: 100%;
  min-width: 0;
  border-width: 0 0 1px;
  border-style: solid;
  border-color: color-mix(in srgb, var(--line) 84%, var(--text));
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 8px 2px 9px;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.settings-page-content .settings-field input:not([type="checkbox"]):not([type="color"]):focus,
.settings-page-content .settings-field select:focus,
.settings-page-content .settings-field textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 1px 0 var(--accent);
  outline: 0;
}

.settings-page-content .settings-field input[readonly] {
  color: var(--muted);
}

.settings-module {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.settings-page-layout {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  min-width: 0;
}

.settings-tabs {
  display: grid;
  gap: 8px;
  position: sticky;
  top: 18px;
  min-width: 0;
  padding: 4px 0;
}

.settings-tabs button {
  width: 100%;
  min-height: 38px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-weight: 760;
  text-align: left;
  padding: 8px 10px;
}

.settings-tabs button[aria-pressed="true"] {
  border-color: color-mix(in srgb, var(--accent) 32%, var(--line));
  background: color-mix(in srgb, var(--accent) 14%, var(--surface));
  color: var(--text);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08);
}

.settings-page-content,
.settings-page-section {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.settings-grid-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
}

.settings-field-wide {
  grid-column: 1 / -1;
}

.settings-field select {
  width: 100%;
  min-height: 36px;
  color: var(--text);
  font: inherit;
}

.appearance-page {
  gap: 18px;
}

.settings-brand-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(18px, 3vw, 28px);
  row-gap: 13px;
}

.brand-profile-panel {
  display: grid;
  grid-template-columns: minmax(210px, 0.44fr) minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 78%, var(--accent));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, transparent), transparent 48%),
    color-mix(in srgb, var(--surface) 76%, transparent);
  padding: 12px;
}

.brand-profile-picker {
  margin: 0;
}

.brand-profile-summary {
  align-self: center;
  min-width: 0;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.35;
}

.settings-asset-grid,
.appearance-lower-grid {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.settings-asset-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.appearance-lower-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.75fr);
}

.settings-asset-control {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  min-width: 0;
  border: 1px dashed color-mix(in srgb, var(--line) 82%, var(--accent));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 74%, transparent);
  padding: 10px;
}

.settings-asset-inputs {
  display: grid;
  align-content: center;
  gap: 9px;
  min-width: 0;
}

.settings-asset-upload {
  position: relative;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 86%, var(--accent));
  color: var(--text);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 820;
  padding: 0 12px;
}

.settings-asset-upload *,
.settings-asset-file {
  cursor: pointer;
}

.settings-asset-upload:hover {
  border-color: color-mix(in srgb, var(--accent) 62%, var(--line));
}

.settings-asset-file {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}

.settings-asset-preview {
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--line) 70%, var(--accent));
  border-radius: 8px;
  background: var(--surface-2);
}

.settings-asset-preview.logo {
  width: 74px;
  height: 74px;
}

.settings-asset-preview.hero {
  width: 118px;
  height: 74px;
}

.settings-asset-preview img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.settings-theme-section,
.settings-background-section,
.settings-pet-section {
  align-self: start;
}

.settings-background-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-background-previews {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
}

.settings-background-preview {
  position: relative;
  overflow: hidden;
  min-height: 148px;
  border: 1px solid color-mix(in srgb, var(--line) 76%, var(--accent));
  border-radius: 8px;
  background: var(--surface-2);
}

.settings-background-preview video {
  width: 100%;
  height: 100%;
  min-height: 148px;
  display: block;
  object-fit: cover;
}

.settings-background-preview::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 42%, rgba(0, 0, 0, 0.34)),
    radial-gradient(ellipse 60% 54% at 16% 12%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 64%);
  pointer-events: none;
}

.settings-background-preview span {
  position: absolute;
  left: 10px;
  bottom: 9px;
  z-index: 1;
  color: #ffffff;
  font-size: 12px;
  font-weight: 860;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.42);
}

.settings-theme-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 82%, var(--accent));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 76%, transparent);
  padding: 14px;
}

.theme-card-head,
.theme-swatch-strip,
.theme-color-fields {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.theme-card-head {
  justify-content: space-between;
}

.theme-card-head strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.theme-swatch-strip {
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  padding: 3px;
}

.theme-swatch-strip span {
  width: 30px;
  height: 18px;
  display: block;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--line) 60%, transparent);
}

.theme-color-fields {
  justify-content: stretch;
}

.settings-color-field {
  flex: 1 1 0;
}

.settings-color-field input[type="color"] {
  width: 100%;
  min-height: 38px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.theme-mini-preview {
  min-height: 128px;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 10px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-radius: 8px;
  padding: 13px;
}

.theme-mini-preview span:first-child {
  grid-row: 1 / -1;
  border-radius: 7px;
  background: color-mix(in srgb, var(--theme-preview-bg, var(--surface-2)) 72%, var(--theme-preview-accent, var(--accent)));
}

.theme-mini-preview span:nth-child(2) {
  align-self: start;
  height: 42px;
  border-radius: 7px;
  background: color-mix(in srgb, var(--theme-preview-accent, var(--accent)) 28%, var(--theme-preview-bg, var(--surface)));
}

.theme-mini-preview strong {
  justify-self: end;
  align-self: end;
  border-radius: 7px;
  background: var(--theme-preview-accent, var(--accent));
  color: var(--brand-text);
  padding: 8px 15px;
  font-size: 0.82rem;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 26%, transparent);
}

.theme-mini-preview.is-dark {
  --theme-preview-bg: var(--appearance-dark-bg, #111820);
  --theme-preview-accent: var(--appearance-dark-accent, var(--accent));
  background: var(--theme-preview-bg);
}

.theme-mini-preview.is-light {
  --theme-preview-bg: var(--appearance-light-bg, #f7faf9);
  --theme-preview-accent: var(--appearance-light-accent, var(--accent));
  background: var(--theme-preview-bg);
}

.appearance-page .account-actions .button:not(.secondary) {
  border: 1px solid color-mix(in srgb, var(--accent) 50%, var(--line));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 88%, #ffffff), color-mix(in srgb, var(--accent) 68%, #0f172a));
  color: var(--brand-text);
  box-shadow: 0 14px 30px color-mix(in srgb, var(--accent) 26%, transparent);
}

.account-form {
  display: grid;
  gap: 12px;
}

.account-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.form-note {
  color: var(--muted);
  font-size: 13px;
  font-weight: 720;
  transition: opacity 220ms ease;
}

.form-note.is-error,
.form-note.is-success,
.form-note.is-warning {
  border: 1px solid;
  border-radius: 8px;
  padding: 7px 9px;
}

.form-note.is-error {
  border-color: color-mix(in srgb, var(--red) 44%, var(--line));
  background: color-mix(in srgb, var(--red) 10%, var(--surface));
  color: var(--red);
}

.form-note.is-success {
  border-color: color-mix(in srgb, var(--green) 44%, var(--line));
  background: color-mix(in srgb, var(--green) 10%, var(--surface));
  color: var(--green);
}

.form-note.is-warning {
  border-color: color-mix(in srgb, var(--amber) 48%, var(--line));
  background: color-mix(in srgb, var(--amber) 12%, var(--surface));
  color: var(--amber);
}

.appearance-page .form-note.is-success {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.form-note.is-fading {
  opacity: 0;
}

.settings-field.has-error .field-label,
.auth-form label.has-error {
  color: var(--red);
}

.settings-field.has-error input,
.auth-form label.has-error input {
  border-color: color-mix(in srgb, var(--red) 72%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--red) 16%, transparent);
}

.settings-pet-preview {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 78%, var(--accent));
  border-radius: 8px;
  background:
    radial-gradient(circle at 18% 10%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 36%),
    color-mix(in srgb, var(--surface) 78%, transparent);
  padding: 14px;
}

.pet-stage.preview {
  width: 142px;
  height: 132px;
}

.pet-stage.preview .pet-sprite {
  left: 3px;
  top: 5px;
  transform: scale(0.58);
}

.settings-pet-preview strong,
.settings-pet-preview span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.settings-pet-preview span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
  margin-top: 4px;
}

#pet-select {
  height: 40px;
  line-height: 1.4;
  padding-top: 2px;
  padding-bottom: 3px;
}

.settings-module-list,
.settings-service-list,
.settings-env-list,
.settings-user-list,
.settings-user-grants,
.settings-audit-list {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.settings-module-row,
.settings-service-row,
.settings-env-row,
.settings-user-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 12px;
}

.settings-module-row {
  grid-template-columns: auto minmax(0, 1fr) auto;
  position: relative;
}

.settings-service-row {
  grid-template-columns: auto minmax(0, 1fr) minmax(250px, auto);
}

.settings-service-row-stopped {
  border-color: color-mix(in srgb, var(--amber) 28%, var(--line));
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--amber) 8%, transparent), transparent 34%),
    var(--surface);
}

.settings-service-row-bad {
  border-color: color-mix(in srgb, var(--red) 30%, var(--line));
}

.settings-service-controls {
  display: grid;
  grid-template-columns: auto minmax(84px, auto) 48px;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}

.settings-module-row.is-confirming-disable {
  border-color: color-mix(in srgb, var(--red) 34%, var(--line));
  z-index: 10;
}

.settings-module-row strong,
.settings-service-row strong,
.settings-env-row strong,
.settings-env-row span,
.settings-user-row strong,
.settings-user-row span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.settings-module-copy > span,
.settings-service-copy > span,
.settings-env-row span,
.settings-user-row span {
  color: var(--muted);
  font-size: 12px;
  margin-top: 3px;
}

.settings-service-copy small {
  display: block;
  min-width: 0;
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.settings-module-status-dot,
.settings-service-status-dot {
  align-self: start;
  margin-top: 7px;
}

.settings-service-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 84px;
}

.settings-service-switch {
  justify-self: end;
}

.settings-service-action {
  color: var(--muted);
}

.settings-service-action-start {
  border-color: color-mix(in srgb, var(--green) 36%, var(--line));
  color: var(--green);
}

.settings-service-action-start svg {
  color: var(--green);
  stroke: currentColor;
}

.settings-service-action-run-now {
  border-color: color-mix(in srgb, var(--accent) 38%, var(--line));
  color: var(--accent);
}

.settings-service-action-stop {
  border-color: color-mix(in srgb, var(--red) 36%, var(--line));
  color: var(--red);
}

.settings-service-action-stop svg {
  color: var(--red);
  stroke: currentColor;
}

.settings-service-action-restart {
  border-color: color-mix(in srgb, var(--accent) 38%, var(--line));
  color: var(--accent);
}

.settings-service-action:not(:disabled):hover,
.settings-service-action:not(:disabled):focus-visible {
  background: color-mix(in srgb, currentColor 10%, var(--surface));
}

.settings-system-updates {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.settings-system-heading {
  align-items: center;
}

.settings-platform-section {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.settings-platform-heading {
  margin-top: 2px;
}

.settings-core-release-kpis.task-metrics-strip,
.settings-platform-kpis.task-metrics-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.settings-core-release-kpis .settings-kpi,
.settings-platform-kpis .settings-kpi {
  min-width: 0;
}

.settings-core-release-kpis .task-metric-copy strong,
.settings-platform-kpis .task-metric-copy strong {
  font-size: clamp(19px, 1.55vw, 26px);
  overflow-wrap: anywhere;
  white-space: normal;
  word-break: normal;
}

.settings-platform-details {
  min-width: 0;
}

.settings-platform-table {
  overflow: hidden;
}

.settings-platform-table .task-table-head,
.settings-platform-table .task-table-row {
  grid-template-columns: minmax(170px, 1fr) minmax(110px, 0.52fr) minmax(260px, 1.7fr) minmax(140px, 0.74fr);
}

.settings-platform-table .task-table-row {
  cursor: default;
}

.settings-platform-table .task-table-row:hover,
.settings-platform-table .task-table-row:focus-visible {
  background: transparent;
}

.settings-platform-table .task-table-cell,
.settings-platform-table .task-table-value {
  white-space: normal;
  overflow-wrap: anywhere;
  text-overflow: clip;
}

.core-release-panel {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.core-release-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.core-update-progress {
  display: grid;
  gap: 9px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 12px;
}

.core-update-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.core-update-progress-head strong,
.core-update-progress-head span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.core-update-progress-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
}

.core-update-progress-track {
  width: 100%;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--line) 54%, transparent);
}

.core-update-progress-track span {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), var(--wave-progress));
  transition: width 220ms ease;
}

.core-update-progress.ok .core-update-progress-track span {
  background: var(--green);
}

.core-update-progress.bad .core-update-progress-track span {
  background: var(--red);
}

.core-update-events {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.core-update-events li {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
}

.core-update-events span,
.core-update-events strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.core-update-events strong {
  color: var(--text);
  font-weight: 650;
}

.settings-users-layout {
  display: grid;
  grid-template-columns: minmax(210px, 280px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
}

.settings-user-row {
  width: 100%;
  text-align: left;
  color: var(--text);
  cursor: pointer;
}

.settings-user-row[aria-pressed="true"] {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
}

.settings-user-editor {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.settings-check {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  color: var(--text);
  font-weight: 760;
}

.settings-grant-group {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 12px;
}

.settings-grant-group h4 {
  margin: 0;
  font-size: 14px;
}

.settings-grant-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.settings-grant-options label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  padding: 6px 8px;
}

.settings-module-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
  position: relative;
}

.settings-module-switch {
  margin: 0;
}

.settings-module-confirm {
  position: absolute;
  top: 50%;
  right: calc(100% + 10px);
  z-index: 8;
  width: min(330px, calc(100vw - 88px));
  border: 1px solid color-mix(in srgb, var(--red) 38%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 92%, var(--red));
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.24);
  color: var(--text);
  display: grid;
  gap: 8px;
  padding: 12px;
  transform: translateY(-50%);
}

.settings-module-confirm::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -6px;
  width: 10px;
  height: 10px;
  border-right: 1px solid color-mix(in srgb, var(--red) 38%, var(--line));
  border-top: 1px solid color-mix(in srgb, var(--red) 38%, var(--line));
  background: color-mix(in srgb, var(--surface-2) 92%, var(--red));
  transform: translateY(-50%) rotate(45deg);
}

.settings-module-confirm strong {
  display: block;
  font-size: 13px;
  line-height: 1.2;
}

.settings-module-confirm span {
  color: var(--muted);
  display: block;
  font-size: 12px;
  line-height: 1.35;
}

.settings-module-confirm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.settings-module-state {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  padding: 5px 8px;
  white-space: nowrap;
}

.settings-module-state.active,
.settings-module-state.ok {
  border-color: color-mix(in srgb, var(--green) 45%, var(--line));
  color: var(--green);
}

.settings-module-state.pilot,
.settings-module-state.warn,
.settings-module-state.pending,
.settings-module-state.planned,
.settings-module-state.stopped {
  border-color: color-mix(in srgb, var(--amber) 45%, var(--line));
  color: var(--amber);
}

.settings-module-state.disabled,
.settings-module-state.bad,
.settings-module-state.retired,
.settings-module-state.offline {
  border-color: color-mix(in srgb, var(--red) 38%, var(--line));
  color: var(--red);
}

.settings-audit-filters {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) minmax(190px, 1fr) minmax(160px, 0.85fr) minmax(160px, 0.85fr);
  gap: 12px 14px;
  align-items: end;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 86%, transparent);
  padding: 14px;
}

.audit-field-search {
  grid-column: span 2;
}

.settings-audit-controls {
  align-items: center;
  justify-content: flex-start;
}

.settings-audit-controls .form-note {
  align-self: center;
}

.settings-audit-controls .form-note.is-success {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.settings-audit-limit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
  min-width: 0;
}

.settings-audit-limit select {
  width: 86px;
  height: 34px;
  min-height: 34px;
}

.settings-audit-list {
  display: block;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.settings-audit-list .empty-state {
  margin: 0;
  padding: 16px;
}

.settings-audit-table-wrap {
  min-width: 0;
  overflow-x: auto;
}

.settings-audit-table {
  width: 100%;
  min-width: 860px;
  border-collapse: collapse;
  font-size: 12.5px;
}

.settings-audit-table th {
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface-2) 76%, var(--surface));
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 860;
  letter-spacing: 0;
  padding: 10px 12px;
  text-align: left;
}

.settings-audit-table td {
  border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  padding: 11px 12px;
  vertical-align: middle;
}

.settings-audit-table tbody tr:last-child td {
  border-bottom: 0;
}

.settings-audit-table-row.is-danger {
  background: color-mix(in srgb, var(--red) 10%, transparent);
}

.settings-audit-table-row.is-warning {
  background: color-mix(in srgb, var(--amber) 8%, transparent);
}

.settings-audit-table-row.is-view {
  background: color-mix(in srgb, var(--blue) 8%, transparent);
}

.settings-audit-table-row.is-update {
  background: color-mix(in srgb, var(--green) 7%, transparent);
}

.settings-audit-table-row.is-auth {
  background: color-mix(in srgb, var(--accent) 7%, transparent);
}

.settings-audit-table-row.is-run {
  background: color-mix(in srgb, var(--teal) 8%, transparent);
}

.settings-audit-cell strong,
.settings-audit-cell span,
.settings-audit-cell small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.settings-audit-cell strong {
  color: var(--text);
  font-size: 13px;
}

.settings-audit-cell span,
.settings-audit-cell small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  margin-top: 3px;
}

.settings-audit-time {
  white-space: nowrap;
}

.settings-audit-cell .settings-audit-badge,
.settings-audit-cell .settings-audit-chip {
  display: inline-flex;
  max-width: 100%;
  width: fit-content;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-2) 86%, transparent);
  color: var(--text);
  font-size: 0.72rem;
  font-weight: 840;
  line-height: 1.2;
  overflow: hidden;
  padding: 5px 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-audit-cell .settings-audit-chip {
  font-weight: 720;
}

.settings-audit-badge.is-danger {
  border-color: color-mix(in srgb, var(--red) 42%, var(--line));
  background: color-mix(in srgb, var(--red) 16%, var(--surface));
  color: var(--red);
}

.settings-audit-badge.is-warning {
  border-color: color-mix(in srgb, var(--amber) 42%, var(--line));
  background: color-mix(in srgb, var(--amber) 15%, var(--surface));
  color: var(--amber);
}

.settings-audit-badge.is-view {
  border-color: color-mix(in srgb, var(--blue) 42%, var(--line));
  background: color-mix(in srgb, var(--blue) 14%, var(--surface));
  color: var(--blue);
}

.settings-audit-badge.is-update,
.settings-audit-badge.is-run {
  border-color: color-mix(in srgb, var(--green) 42%, var(--line));
  background: color-mix(in srgb, var(--green) 14%, var(--surface));
  color: var(--green);
}

.settings-audit-badge.is-auth {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  background: color-mix(in srgb, var(--accent) 14%, var(--surface));
  color: var(--accent);
}

.settings-audit-muted {
  color: var(--muted);
}

.session-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
}

.session-card {
  width: min(280px, calc(100vw - 56px));
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.18);
}

.session-logo {
  width: 72px;
  height: 72px;
  border: 0;
  border-radius: 0;
  background: transparent;
  object-fit: contain;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.16));
}

.session-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid color-mix(in srgb, var(--teal) 18%, var(--line));
  border-top-color: var(--teal);
  border-radius: 50%;
  animation: session-spin 0.85s linear infinite;
}

@keyframes session-spin {
  to {
    transform: rotate(1turn);
  }
}

html:has(.login-screen:not(.hidden)),
body:has(.login-screen:not(.hidden)) {
  background: #031124;
}

.login-screen {
  position: fixed;
  inset: 0;
  box-sizing: border-box;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  overflow: auto;
  padding: clamp(18px, 4vw, 48px);
  isolation: isolate;
  background: #031124;
  color: #f7fbff;
}

.auth-background {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #031124;
  pointer-events: none;
}

.auth-background::before,
.auth-background::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.auth-background::before {
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(3, 17, 36, 0.42), rgba(3, 17, 36, 0.08) 43%, rgba(3, 17, 36, 0.34)),
    radial-gradient(circle at 18% 14%, rgba(40, 224, 194, 0.11), transparent 34%),
    linear-gradient(180deg, rgba(3, 17, 36, 0.14), rgba(3, 17, 36, 0.5));
}

.auth-background::after {
  z-index: 3;
  background:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.62), transparent 72%);
  opacity: 0.32;
}

.auth-hero-image,
.auth-background-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.auth-hero-image {
  z-index: 0;
}

.auth-background-video {
  z-index: 1;
  background: #031124;
}

.auth-layout {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: min(1120px, calc(100vw - 42px));
  max-width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.82fr);
  align-items: stretch;
  gap: clamp(18px, 3vw, 30px);
}

.auth-existalia-brand {
  grid-column: 1 / -1;
  justify-self: center;
  width: clamp(148px, 17vw, 188px);
  margin-bottom: clamp(-6px, -0.4vw, 0px);
  filter: drop-shadow(0 14px 28px rgba(0, 0, 0, 0.32));
}

.auth-existalia-brand img {
  display: block;
  width: 100%;
  height: auto;
}

.auth-visual {
  position: relative;
  box-sizing: border-box;
  min-height: clamp(420px, 64vh, 620px);
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.026);
  box-shadow:
    inset 18px 20px 44px rgba(255, 255, 255, 0.045),
    inset -24px -28px 54px rgba(3, 17, 36, 0.2),
    0 32px 88px rgba(0, 0, 0, 0.34);
  -webkit-backdrop-filter: blur(7px) saturate(1.88) contrast(1.14) brightness(1.15);
  backdrop-filter: blur(7px) saturate(1.88) contrast(1.14) brightness(1.15);
  backdrop-filter: url("#sombra-auth-glass") blur(7px) saturate(1.88) contrast(1.14) brightness(1.15);
  padding: clamp(22px, 4vw, 38px);
}

.auth-visual::before,
.login-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    linear-gradient(134deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.052) 21%, rgba(255, 255, 255, 0.012) 58%, rgba(124, 240, 185, 0.082)),
    radial-gradient(circle at 16% 10%, rgba(255, 255, 255, 0.24), transparent 28%),
    radial-gradient(circle at 88% 94%, rgba(0, 180, 240, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(3, 17, 36, 0.028));
  opacity: 0.92;
  pointer-events: none;
}

.auth-visual::after,
.login-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    linear-gradient(116deg, rgba(255, 255, 255, 0.42), transparent 16% 74%, rgba(124, 240, 185, 0.2)),
    linear-gradient(70deg, transparent 0 41%, rgba(0, 180, 240, 0.2) 47%, transparent 56% 100%),
    linear-gradient(188deg, rgba(255, 255, 255, 0.22), transparent 18% 84%, rgba(3, 17, 36, 0.18)),
    radial-gradient(ellipse at 96% 12%, rgba(255, 255, 255, 0.26), transparent 31%),
    radial-gradient(ellipse at 0 100%, rgba(13, 110, 253, 0.2), transparent 38%);
  opacity: 0.68;
  pointer-events: none;
  mix-blend-mode: screen;
}

.auth-visual > *,
.login-panel > * {
  position: relative;
  z-index: 1;
}

.auth-quote {
  width: min(520px, 100%);
  display: grid;
  gap: 16px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #f7fbff;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.auth-quote > span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #7cf0b9;
  font-size: 0.76rem;
  font-weight: 760;
  letter-spacing: 0;
  text-transform: uppercase;
}

.auth-quote > span::before {
  content: "";
  width: 3px;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, #0d6efd, #00b4f0, #7cf0b9);
}

.auth-quote p {
  margin: 0;
  max-width: 28ch;
  font-size: clamp(1.45rem, 2.25vw, 2.1rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: 0;
}

.auth-quote p.is-revealed::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 0.82em;
  margin-left: 0.14em;
  border-radius: 999px;
  background: #7cf0b9;
  vertical-align: -0.08em;
  opacity: 0;
  animation: auth-terminal-cursor 0.95s steps(1, end) infinite;
  animation-delay: var(--auth-quote-cursor-delay, 1.8s);
}

.auth-quote-word {
  display: inline-block;
}

.auth-quote p.is-revealed .auth-quote-word {
  opacity: 0;
  transform: translateY(0.42em);
  filter: blur(10px);
  animation: auth-word-reveal 0.58s cubic-bezier(0.19, 0.78, 0.21, 1) forwards;
  animation-delay: calc((var(--i, 0) * 0.105s) + 0.14s);
  will-change: opacity, transform, filter;
}

@keyframes auth-word-reveal {
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes auth-terminal-cursor {
  0%, 52% { opacity: 1; }
  53%, 100% { opacity: 0; }
}

.login-panel {
  position: relative;
  display: flex;
  box-sizing: border-box;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
  box-shadow:
    inset 18px 20px 44px rgba(255, 255, 255, 0.05),
    inset -24px -28px 54px rgba(3, 17, 36, 0.22),
    0 32px 88px rgba(0, 0, 0, 0.36);
  -webkit-backdrop-filter: blur(8px) saturate(1.9) contrast(1.14) brightness(1.15);
  backdrop-filter: blur(8px) saturate(1.9) contrast(1.14) brightness(1.15);
  backdrop-filter: url("#sombra-auth-glass") blur(8px) saturate(1.9) contrast(1.14) brightness(1.15);
  padding: clamp(28px, 4.6vw, 52px);
}

.auth-logo {
  width: 78px;
  height: 78px;
  margin-bottom: 26px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
  filter: drop-shadow(0 16px 28px rgba(0, 0, 0, 0.26));
}

.login-panel .eyebrow {
  color: #7cf0b9;
}

.login-panel h1 {
  margin: 0 0 12px;
  color: #f7fbff;
  font-size: clamp(2.1rem, 4vw, 3.4rem);
  font-weight: 520;
  line-height: 1;
  letter-spacing: 0;
}

.auth-copy {
  margin: 0 0 28px;
  max-width: 34ch;
  min-width: 0;
  color: rgba(247, 251, 255, 0.78);
  line-height: 1.45;
}

.auth-form {
  box-sizing: border-box;
  display: grid;
  gap: 14px;
  width: min(100%, 420px);
  max-width: 100%;
  min-width: 0;
}

.auth-form input,
.auth-form button {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.auth-form label {
  display: grid;
  gap: 7px;
  max-width: 100%;
  min-width: 0;
  color: rgba(247, 251, 255, 0.78);
  font-size: 0.9rem;
  font-weight: 680;
}

.login-panel .auth-form input {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  height: 52px;
  min-height: 52px;
  border: 0;
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.018)),
    rgba(255, 255, 255, 0.026);
  color: #f7fbff;
  font-size: 16px;
  line-height: 20px;
  padding: 0 16px;
  box-shadow:
    inset 10px 12px 24px rgba(255, 255, 255, 0.038),
    inset -12px -14px 26px rgba(3, 17, 36, 0.16),
    0 10px 24px rgba(0, 0, 0, 0.13);
  -webkit-backdrop-filter: blur(4px) saturate(1.5) contrast(1.08);
  backdrop-filter: blur(4px) saturate(1.5) contrast(1.08);
}

.login-panel .auth-form input:focus {
  outline: 3px solid rgba(124, 240, 185, 0.18);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.028)),
    rgba(255, 255, 255, 0.04);
  box-shadow:
    inset 10px 12px 24px rgba(255, 255, 255, 0.05),
    inset -12px -14px 26px rgba(3, 17, 36, 0.14),
    0 0 0 1px rgba(124, 240, 185, 0.18),
    0 14px 28px rgba(0, 180, 240, 0.12);
}

.login-panel .auth-form button {
  display: inline-flex;
  align-items: center;
  position: relative;
  justify-content: center;
  gap: 0;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #0D6EFD 0%, #00B4F0 46%, #28E0C2 76%, #7CF0B9 100%);
  color: #ffffff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 800;
  line-height: 16px;
  letter-spacing: 0;
  padding: 18px 54px;
  box-shadow: 0 14px 30px rgba(13, 110, 253, 0.28);
}

.login-panel .auth-form button > span {
  display: block;
  min-width: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: center;
}

.login-panel .auth-form button .auth-submit-icon {
  display: block;
  position: absolute;
  top: 50%;
  right: 22px;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  object-fit: contain;
  transform-origin: 50% 50%;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.25s ease;
}

.login-panel .auth-form button:hover {
  box-shadow: 0 16px 34px rgba(13, 110, 253, 0.32);
  filter: saturate(1.06) brightness(1.03);
}

.login-panel .auth-form button:hover .auth-submit-icon,
.login-panel .auth-form button:focus-visible .auth-submit-icon {
  transform: translateY(-50%) rotate(45deg);
}

@media (prefers-reduced-motion: reduce) {
  .auth-quote p.is-revealed .auth-quote-word {
    opacity: 1;
    transform: none;
    filter: none;
    animation: none;
  }

  .auth-quote p.is-revealed::after {
    opacity: 1;
    animation: none;
  }
}

.auth-provider-row {
  display: grid;
  gap: 13px;
  width: min(100%, 420px);
  max-width: 100%;
  margin-top: 20px;
}

.auth-provider-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  color: rgba(247, 251, 255, 0.68);
  font-size: 0.8rem;
  font-weight: 740;
}

.auth-provider-divider::before,
.auth-provider-divider::after {
  content: "";
  height: 1px;
  background: rgba(255, 255, 255, 0.18);
}

.auth-provider-buttons {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 10px;
}

.provider-login-button {
  position: relative;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  color: #0b1220;
  cursor: pointer;
  font-weight: 800;
  padding: 0 20px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.2);
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.google-login-button {
  font-size: 0.94rem;
}

.provider-login-button:hover {
  border-color: rgba(124, 240, 185, 0.5);
  background: #ffffff;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.24);
  transform: translateY(-1px);
}

.provider-login-button:active {
  transform: translateY(0);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.provider-login-button:focus-visible {
  outline: 3px solid rgba(124, 240, 185, 0.3);
  outline-offset: 2px;
}

.google-mark {
  position: absolute;
  left: 18px;
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
}

.google-mark svg {
  width: 21px;
  height: 21px;
  display: block;
}

.auth-form .auth-link-button,
.auth-secondary-link {
  border: 0;
  background: transparent;
  color: rgba(247, 251, 255, 0.7);
  cursor: pointer;
  font-weight: 760;
  padding: 0;
  text-align: left;
}

.auth-form .auth-link-button {
  min-height: 24px;
}

.auth-secondary-link {
  width: fit-content;
  max-width: 100%;
  margin-top: 14px;
}

.auth-form .auth-link-button:hover,
.auth-secondary-link:hover {
  color: #7cf0b9;
  filter: none;
}

.form-error {
  min-height: 1.4em;
  margin: 12px 0 0;
  color: #ff9a9a;
}

.user-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 210px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  cursor: pointer;
  padding: 4px 9px 4px 4px;
}

.user-button:hover,
.user-button:focus-visible {
  border-color: color-mix(in srgb, var(--teal) 42%, var(--line));
  color: var(--text);
}

.user-avatar-mini {
  display: inline-grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--teal) 18%, var(--surface-2));
  color: var(--teal);
  font-size: 0.72rem;
  font-weight: 850;
  flex: 0 0 auto;
}

.session-chip {
  max-width: 160px;
  overflow: hidden;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.main {
  min-width: 0;
  padding: 28px;
}

.topbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  margin-bottom: 24px;
}

.topbar-title {
  color: inherit;
  min-width: 0;
  text-decoration: none;
}

.topbar-home-link {
  display: block;
  border-radius: 8px;
}

.topbar-home-link:hover h1,
.topbar-home-link:focus-visible h1 {
  color: color-mix(in srgb, var(--teal) 62%, var(--text));
}

.topbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
  min-width: 0;
}

.icon-button,
.icon-status {
  position: relative;
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  flex: 0 0 auto;
}

.icon-button.secondary {
  background: transparent;
}

.icon-button {
  cursor: pointer;
}

.icon-button:hover {
  background: var(--surface-2);
  color: var(--text);
}

[data-tooltip] {
  position: relative;
}

[data-tooltip]::before,
[data-tooltip]::after {
  display: none;
  position: absolute;
  z-index: 80;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease, transform 140ms ease;
}

[data-tooltip]::before {
  content: "";
  bottom: calc(100% + 5px);
  left: 50%;
  border: 5px solid transparent;
  border-top-color: color-mix(in srgb, var(--surface) 84%, var(--teal));
  transform: translate(-50%, 2px);
}

[data-tooltip]::after {
  content: attr(data-tooltip);
  bottom: calc(100% + 14px);
  left: 50%;
  max-width: 220px;
  border: 1px solid color-mix(in srgb, var(--teal) 38%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 88%, var(--teal));
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
  color: var(--text);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.2;
  padding: 7px 9px;
  text-align: center;
  text-transform: none;
  transform: translate(-50%, 4px);
  white-space: nowrap;
}

[data-tooltip]:hover::before,
[data-tooltip]:hover::after,
[data-tooltip]:focus-visible::before,
[data-tooltip]:focus-visible::after {
  display: block;
  opacity: 1;
}

[data-tooltip][data-tooltip-suppressed]::before,
[data-tooltip][data-tooltip-suppressed]::after {
  opacity: 0 !important;
  visibility: hidden;
}

[data-tooltip]:hover::before,
[data-tooltip]:focus-visible::before {
  transform: translate(-50%, 0);
}

[data-tooltip]:hover::after,
[data-tooltip]:focus-visible::after {
  transform: translate(-50%, 0);
}

.floating-tooltip {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483647;
  display: block;
  width: max-content;
  max-width: min(220px, calc(100vw - 24px));
  border: 1px solid color-mix(in srgb, var(--teal) 38%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 88%, var(--teal));
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
  color: var(--text);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.2;
  opacity: 0;
  padding: 7px 9px;
  pointer-events: none;
  visibility: hidden;
  text-align: center;
  transform: translate3d(0, 4px, 0);
  transition: opacity 140ms ease, transform 140ms ease;
  white-space: nowrap;
  contain: layout paint;
}

.floating-tooltip::before {
  content: "";
  position: absolute;
  left: 50%;
  border: 5px solid transparent;
  transform: translateX(-50%);
}

.floating-tooltip[data-placement="top"]::before {
  top: 100%;
  border-top-color: color-mix(in srgb, var(--surface) 84%, var(--teal));
}

.floating-tooltip[data-placement="bottom"]::before {
  bottom: 100%;
  border-bottom-color: color-mix(in srgb, var(--surface) 84%, var(--teal));
}

.floating-tooltip.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}

.tasks-chart-tooltip {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483647;
  display: grid;
  gap: 6px;
  width: max-content;
  max-width: min(340px, calc(100vw - 24px));
  border: 1px solid color-mix(in srgb, var(--teal) 42%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 91%, var(--teal));
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.32);
  color: var(--text);
  font-size: 11px;
  font-weight: 760;
  line-height: 1.25;
  opacity: 0;
  padding: 9px 10px;
  pointer-events: none;
  transform: translate3d(0, 4px, 0);
  transition: opacity 120ms ease, transform 120ms ease;
  visibility: hidden;
}

.tasks-chart-tooltip[hidden] {
  display: none;
}

.tasks-chart-tooltip.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  visibility: visible;
}

.tasks-chart-tooltip strong {
  display: block;
  color: var(--text);
  font-size: 11.5px;
  font-weight: 900;
}

.tasks-chart-tooltip span {
  display: grid;
  grid-template-columns: minmax(78px, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.tasks-chart-tooltip span.has-swatch {
  grid-template-columns: 9px minmax(92px, 1fr) auto;
}

.tasks-chart-tooltip-swatch {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--chart-tooltip-color);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--chart-tooltip-color) 22%, transparent);
}

.tasks-chart-tooltip em,
.tasks-chart-tooltip b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tasks-chart-tooltip em {
  color: var(--muted);
  font-style: normal;
  font-weight: 760;
}

.tasks-chart-tooltip b {
  color: var(--text);
  font-weight: 900;
  text-align: right;
}

.topbar-actions [data-tooltip]::before,
.workspace-actions [data-tooltip]::before,
.bulletin-card-actions [data-tooltip]::before,
.bulletin-history-card-secondary-actions [data-tooltip]::before,
.bulletin-detail-actions [data-tooltip]::before,
.module-card-actions [data-tooltip]::before {
  right: 13px;
  left: auto;
  transform: translateY(2px);
}

.topbar-actions [data-tooltip]::after,
.workspace-actions [data-tooltip]::after,
.bulletin-card-actions [data-tooltip]::after,
.bulletin-history-card-secondary-actions [data-tooltip]::after,
.bulletin-detail-actions [data-tooltip]::after,
.module-card-actions [data-tooltip]::after {
  right: 0;
  left: auto;
  transform: translateY(4px);
}

.topbar-actions [data-tooltip]:hover::before,
.topbar-actions [data-tooltip]:focus-visible::before,
.workspace-actions [data-tooltip]:hover::before,
.workspace-actions [data-tooltip]:focus-visible::before,
.bulletin-card-actions [data-tooltip]:hover::before,
.bulletin-card-actions [data-tooltip]:focus-visible::before,
.bulletin-history-card-secondary-actions [data-tooltip]:hover::before,
.bulletin-history-card-secondary-actions [data-tooltip]:focus-visible::before,
.bulletin-detail-actions [data-tooltip]:hover::before,
.bulletin-detail-actions [data-tooltip]:focus-visible::before,
.module-card-actions [data-tooltip]:hover::before,
.module-card-actions [data-tooltip]:focus-visible::before,
.topbar-actions [data-tooltip]:hover::after,
.topbar-actions [data-tooltip]:focus-visible::after,
.workspace-actions [data-tooltip]:hover::after,
.workspace-actions [data-tooltip]:focus-visible::after,
.bulletin-card-actions [data-tooltip]:hover::after,
.bulletin-card-actions [data-tooltip]:focus-visible::after,
.bulletin-history-card-secondary-actions [data-tooltip]:hover::after,
.bulletin-history-card-secondary-actions [data-tooltip]:focus-visible::after,
.bulletin-detail-actions [data-tooltip]:hover::after,
.bulletin-detail-actions [data-tooltip]:focus-visible::after,
.module-card-actions [data-tooltip]:hover::after,
.module-card-actions [data-tooltip]:focus-visible::after {
  transform: translateY(0);
}

.icon-button svg,
.icon-status svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.theme-icon-sun {
  display: none;
}

:root[data-theme="light"] .theme-icon-sun {
  display: block;
}

:root[data-theme="light"] .theme-icon-moon {
  display: none;
}

.status-dot {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 8px;
  height: 8px;
  border: 2px solid var(--surface);
  border-radius: 999px;
  background: var(--amber);
}

.icon-status.ok .status-dot {
  background: var(--green);
}

.icon-status.bad .status-dot {
  background: var(--red);
}

.icon-status.ok {
  color: var(--green);
}

.icon-status.bad {
  color: var(--red);
}

.eyebrow {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0 0 8px;
}

h1,
h2,
p {
  margin: 0;
}

h1 {
  font-size: 32px;
  line-height: 1.1;
}

h2 {
  font-size: 18px;
}

.dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--muted);
}

.dot.ok {
  background: var(--green);
}

.dot.warn,
.dot.pending {
  background: var(--amber);
}

.dot.bad {
  background: var(--red);
}

.grid {
  display: grid;
  gap: 14px;
}

#dashboard-view {
  display: grid;
  align-items: start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.content-grid {
  display: grid;
  align-items: start;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 16px;
}

.panel {
  padding: 18px;
}

.collapsible-panel:not(.is-collapsed) {
  min-height: 320px;
}

.today-panel {
  margin-bottom: 0;
}

.today-panel.collapsible-panel:not(.is-collapsed) {
  min-height: 0;
}

.today-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
  min-width: 0;
}

.panel-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
  min-width: 0;
}

.today-panel .section-heading {
  flex: 1 1 auto;
}

.today-status,
.panel-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 8px;
  white-space: nowrap;
}

.today-status::before,
.panel-status::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 16%, transparent);
}

.today-status.ok,
.today-status.action,
.panel-status.ok {
  color: var(--green);
}

.today-status.warn,
.panel-status.warn,
.panel-status.pending {
  color: var(--amber);
}

.panel-status.bad {
  color: var(--red);
}

.attention-list {
  display: grid;
  gap: 10px;
}

.bulletin-panel {
  margin-bottom: 0;
}

.bulletin-panel.collapsible-panel:not(.is-collapsed) {
  min-height: 0;
}

.bulletin-body {
  display: grid;
  gap: 10px;
}

.service-unavailable {
  border: 1px solid color-mix(in srgb, var(--red) 58%, var(--line));
  border-radius: 8px;
  background:
    repeating-linear-gradient(
      135deg,
      color-mix(in srgb, var(--red) 11%, transparent) 0 8px,
      transparent 8px 16px
    ),
    color-mix(in srgb, var(--surface-3) 92%, var(--red));
  color: var(--text);
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 14px;
}

.service-unavailable strong {
  color: var(--red);
}

.service-unavailable span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.bulletin-panel.is-unavailable .bulletin-controls,
.bulletin-panel.is-unavailable .bulletin-latest,
.bulletin-panel.is-unavailable .bulletin-list-title,
.bulletin-panel.is-unavailable .bulletin-list {
  display: none;
}

.bulletin-controls {
  display: grid;
  align-items: end;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.bulletin-controls-quick {
  grid-template-columns: minmax(118px, 0.58fr) minmax(0, 1fr) auto auto;
  gap: 8px;
}

.bulletin-city-field {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.field-label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.bulletin-city-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.bulletin-city-row select {
  flex: 1 1 auto;
  min-width: 0;
}

.bulletin-instructions-toggle {
  flex: 0 0 auto;
}

.bulletin-instructions-toggle[aria-expanded="true"],
.bulletin-instructions-toggle.has-instructions {
  border-color: color-mix(in srgb, var(--teal) 55%, var(--line));
  color: var(--teal);
}

.bulletin-custom-instructions {
  display: grid;
  gap: 5px;
  margin-top: 2px;
}

.bulletin-zodiac-field {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.bulletin-horoscope-presets {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.bulletin-horoscope-presets-quick {
  gap: 6px;
}

.bulletin-horoscope-preset-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.bulletin-horoscope-preset {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
  font-weight: 850;
  padding: 0 10px;
}

.bulletin-horoscope-preset strong,
.bulletin-horoscope-preset span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.bulletin-horoscope-preset span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
}

.bulletin-horoscope-preset:hover,
.bulletin-horoscope-preset.active {
  border-color: color-mix(in srgb, var(--teal) 45%, var(--line));
  background: var(--surface-2);
  color: var(--text);
}

.bulletin-horoscope-preset.active span {
  color: color-mix(in srgb, var(--teal) 70%, var(--muted));
}

.bulletin-horoscope-save-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto minmax(90px, auto);
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.bulletin-horoscope-name {
  height: 34px;
}

.bulletin-horoscope-save-state {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  min-width: 0;
  overflow-wrap: anywhere;
}

.bulletin-horoscope-save-state.bad {
  color: var(--red);
}

.bulletin-horoscope-empty {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.bulletin-zodiac-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 6px;
}

.bulletin-horoscope-quick-field .bulletin-zodiac-options {
  display: none;
}

.bulletin-controls-quick .bulletin-horoscope-quick-field {
  margin-top: 0;
}

.bulletin-controls-quick .bulletin-horoscope-preset {
  min-height: 30px;
  padding: 0 9px;
}

.bulletin-controls-quick .bulletin-horoscope-preset span {
  display: none;
}

.bulletin-zodiac-option {
  display: grid;
  min-width: 0;
  gap: 5px;
  min-height: 58px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.2;
  padding: 6px 8px;
}

.bulletin-zodiac-check {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 6px;
}

.bulletin-zodiac-check input {
  flex: 0 0 auto;
  accent-color: var(--teal);
}

.bulletin-zodiac-check span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.bulletin-zodiac-names {
  width: 100%;
  min-width: 0;
  height: 28px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--text);
  font-size: 12px;
  line-height: 1.2;
  padding: 5px 7px;
}

.bulletin-zodiac-names::placeholder {
  color: var(--muted);
}

.bulletin-zodiac-option:has([data-bulletin-zodiac-sign]:checked) {
  border-color: color-mix(in srgb, var(--teal) 55%, var(--line));
  color: var(--text);
}

.bulletin-zodiac-field.has-error .bulletin-zodiac-options {
  outline: 1px solid var(--danger);
  outline-offset: 2px;
  border-radius: 8px;
}

.bulletin-custom-instructions textarea {
  min-height: 92px;
}

.bulletin-new-section {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--surface-2) 86%, transparent), color-mix(in srgb, var(--surface-3) 72%, transparent)),
    color-mix(in srgb, var(--surface) 80%, transparent);
}

.bulletin-new-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(110deg, color-mix(in srgb, #ffffff 9%, transparent), transparent 34% 68%, color-mix(in srgb, var(--accent) 10%, transparent)),
    repeating-linear-gradient(90deg, color-mix(in srgb, var(--line) 28%, transparent) 0 1px, transparent 1px 72px);
  opacity: 0.48;
}

.bulletin-new-section > * {
  position: relative;
  z-index: 1;
}

.bulletin-generate-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  min-width: 0;
  margin-bottom: 18px;
}

.bulletin-generate-head > div:first-child {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.bulletin-generate-kicker {
  color: color-mix(in srgb, var(--accent) 86%, var(--text));
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

.bulletin-generate-head h3 {
  margin: 0;
  font-size: 34px;
  font-weight: 760;
  letter-spacing: 0;
  line-height: 0.98;
}

.bulletin-generate-head p {
  max-width: 560px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
  margin: 0;
}

.bulletin-generate-signal {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  border: 1px solid color-mix(in srgb, var(--green) 42%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--green) 10%, transparent);
  color: color-mix(in srgb, var(--green) 84%, var(--text));
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 850;
  padding: 0 12px;
}

.bulletin-generate-signal span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 18%, transparent);
}

.bulletin-generate-button {
  color: var(--teal);
}

.bulletin-generate-button:hover {
  border-color: var(--teal);
  color: var(--text);
}

.bulletin-generate-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  min-height: 46px;
  border: 1px solid color-mix(in srgb, var(--accent) 54%, var(--line));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 28%, var(--surface-2)), color-mix(in srgb, var(--green) 20%, var(--surface-3))),
    color-mix(in srgb, var(--accent) 20%, var(--surface-2));
  color: var(--text);
  cursor: pointer;
  font-size: 14px;
  font-weight: 900;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 18%, transparent);
}

.bulletin-generate-cta:hover {
  border-color: color-mix(in srgb, var(--accent) 72%, var(--line));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 35%, var(--surface-2)), color-mix(in srgb, var(--green) 25%, var(--surface-3))),
    color-mix(in srgb, var(--accent) 26%, var(--surface-2));
}

.bulletin-generate-cta .job-spinner {
  display: none;
}

.bulletin-generate-cta.is-loading .job-spinner {
  display: block;
}

.bulletin-controls-quick .bulletin-generate-cta {
  width: auto;
  min-height: 36px;
  padding: 0 12px;
  white-space: nowrap;
}

.module-bulletin-controls {
  grid-template-columns: minmax(190px, 0.42fr) minmax(260px, 1fr) minmax(170px, auto);
  align-items: start;
  gap: 14px;
  margin-bottom: 14px;
}

.module-bulletin-controls .bulletin-zodiac-field {
  margin-top: 0;
}

.module-bulletin-controls .bulletin-custom-instructions {
  grid-column: 1 / -1;
}

.module-bulletin-controls .bulletin-progress-inline {
  grid-column: 1 / -1;
}

.module-bulletin-controls .bulletin-generate-cta {
  align-self: end;
  min-height: 42px;
  white-space: nowrap;
}

.bulletin-progress-inline {
  align-self: stretch;
  min-width: 0;
}

#bulletin-refresh {
  justify-self: end;
}

.bulletin-controls-quick .bulletin-progress-inline {
  grid-column: 1 / -1;
}

select {
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--text);
  font: inherit;
  padding: 0 32px 0 10px;
}

input {
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--text);
  font: inherit;
  min-width: 0;
  padding: 0 10px;
}

textarea {
  width: 100%;
  min-width: 0;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--text);
  font: inherit;
  line-height: 1.35;
  min-height: 86px;
  padding: 9px 10px;
}

input[type="checkbox"] {
  height: 16px;
  width: 16px;
}

.button:disabled,
button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.bulletin-job,
.bulletin-generated-card,
.bulletin-feature,
.bulletin-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
}

.bulletin-job {
  display: grid;
  gap: 4px;
  padding: 12px;
}

.job-status-line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.job-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid color-mix(in srgb, var(--teal) 24%, var(--line));
  border-top-color: var(--teal);
  border-radius: 999px;
  flex: 0 0 auto;
  animation: job-spin 0.85s linear infinite;
}

.job-log {
  max-height: 120px;
  overflow: auto;
}

.bulletin-progress {
  display: grid;
  align-content: center;
  gap: 7px;
  min-height: 58px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-3) 90%, var(--teal));
  padding: 9px 10px;
}

.bulletin-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.bulletin-progress-head span,
.bulletin-progress-steps li {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.bulletin-progress-head strong {
  color: var(--text);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bulletin-progress-track {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--line) 72%, transparent);
}

.bulletin-progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--teal);
  transition: width 0.35s ease;
}

.bulletin-progress-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 5px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.bulletin-progress-steps li {
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bulletin-progress-steps li.done {
  color: var(--green);
}

.bulletin-progress-steps li.active {
  color: var(--teal);
}

.bulletin-progress-steps li.bad,
.bulletin-progress.bad .bulletin-progress-head strong {
  color: var(--red);
}

.bulletin-progress.ok .bulletin-progress-track span {
  background: var(--green);
}

.bulletin-progress.bad .bulletin-progress-track span {
  background: var(--red);
}

.bulletin-job.ok {
  border-color: color-mix(in srgb, var(--green) 54%, var(--line));
}

.bulletin-job.bad {
  border-color: color-mix(in srgb, var(--red) 54%, var(--line));
}

.bulletin-feature.bad,
.bulletin-item.bad,
.bulletin-detail.bad {
  border-color: color-mix(in srgb, var(--red) 58%, var(--line));
  background: color-mix(in srgb, var(--red) 9%, var(--surface));
  box-shadow: inset 4px 0 0 var(--red);
}

.bulletin-feature.warn,
.bulletin-item.warn {
  border-color: color-mix(in srgb, var(--amber) 52%, var(--line));
  background: color-mix(in srgb, var(--amber) 7%, var(--surface));
}

.bulletin-job span,
.bulletin-generated-card small,
.bulletin-feature small,
.bulletin-item small,
.empty-state {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.bulletin-feature,
.bulletin-generated-card {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(260px, 1fr) auto;
  align-items: start;
  gap: 12px;
  padding: 12px;
}

.bulletin-latest .bulletin-feature {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
  padding: 10px;
}

.bulletin-latest .bulletin-feature-main {
  grid-column: 1;
}

.bulletin-latest .bulletin-feature-audio {
  grid-column: 1 / -1;
}

.bulletin-latest .bulletin-feature > .bulletin-card-actions {
  grid-column: 2;
  grid-row: 1;
}

#bulletin-latest .bulletin-feature {
  position: relative;
  grid-template-columns: minmax(0, 1fr);
}

#bulletin-latest .bulletin-feature-main {
  padding-right: 44px;
}

#bulletin-latest .bulletin-feature-audio {
  grid-column: 1;
}

#bulletin-latest .bulletin-feature > .bulletin-card-actions {
  position: absolute;
  top: 8px;
  right: 8px;
  grid-column: auto;
  grid-row: auto;
  align-self: auto;
  justify-self: auto;
}

.bulletin-job .bulletin-generated-card {
  border: 0;
  background: transparent;
  padding: 0;
}

.bulletin-feature-label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.bulletin-feature-main,
.bulletin-item-main {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.bulletin-feature-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.bulletin-meta-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.bulletin-play-count {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  border: 1px solid color-mix(in srgb, var(--teal) 25%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--teal) 8%, var(--surface));
  color: color-mix(in srgb, var(--teal) 78%, var(--text));
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  padding: 0 8px;
  white-space: nowrap;
}

.bulletin-status-tag {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 88%, var(--line));
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
  padding: 0 8px;
  white-space: nowrap;
}

.bulletin-status-tag.bad {
  border-color: color-mix(in srgb, var(--red) 46%, var(--line));
  background: color-mix(in srgb, var(--red) 12%, var(--surface));
  color: var(--red);
}

.bulletin-status-tag.warn {
  border-color: color-mix(in srgb, var(--amber) 46%, var(--line));
  background: color-mix(in srgb, var(--amber) 12%, var(--surface));
  color: var(--amber);
}

.bulletin-error-message {
  color: var(--red);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.35;
  margin: 0;
  overflow-wrap: anywhere;
}

.bulletin-feature-audio {
  min-width: 0;
}

.bulletin-card-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.bulletin-feature > .bulletin-card-actions,
.bulletin-generated-card > .bulletin-card-actions {
  align-self: end;
  justify-self: end;
}

.bulletin-card-actions .bulletin-delete-row {
  grid-column: auto;
  padding-top: 0;
}

.bulletin-share-button.copied {
  border-color: color-mix(in srgb, var(--green) 65%, var(--line));
  color: var(--green);
}

.bulletin-generated-card strong,
.bulletin-feature strong,
.bulletin-item strong {
  font-size: 15px;
}

.bulletin-latest .bulletin-feature strong {
  font-size: 14px;
}

.bulletin-generated-card audio,
.bulletin-feature audio,
.bulletin-item audio,
.bulletin-job audio,
.speaker-player audio {
  width: 100%;
  min-width: 0;
}

.speaker-player {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.waveform-player {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.waveform-player.is-waveform-ready > audio {
  display: none;
}

.waveform-controls {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.waveform-toggle {
  color: var(--teal);
}

.waveform-toggle svg {
  fill: currentColor;
  stroke: none;
}

.waveform-shell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.waveform-surface {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--wave-bg) 90%, white 10%), var(--wave-bg));
  padding: 6px 8px;
  cursor: pointer;
}

.waveform-preview {
  display: block;
  width: 100%;
  height: 52px;
}

.waveform-engine {
  position: absolute;
  inset: 6px 8px;
  opacity: 0;
  pointer-events: none;
}

.waveform-time {
  color: var(--muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  justify-self: end;
  line-height: 1;
}

.speaker-strip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  min-width: 0;
  overflow: visible;
  padding: 12px 10px 8px;
}

.speaker-avatar-chip {
  position: relative;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 2px solid color-mix(in srgb, var(--line) 82%, var(--surface-3));
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--text);
  flex: 0 0 auto;
  padding: 0;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.speaker-avatar-chip::before,
.speaker-avatar-chip::after {
  content: "";
  position: absolute;
  inset: -4px;
  border: 2px solid var(--speaker-ripple);
  border-radius: inherit;
  box-shadow: 0 0 0 2px var(--speaker-ripple-soft);
  opacity: 0;
  pointer-events: none;
  transform: scale(0.82);
  z-index: 2;
}

.speaker-avatar-chip::after {
  animation-delay: 0.42s;
}

.speaker-avatar-media,
.speaker-avatar-initials {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  object-fit: cover;
  border-radius: inherit;
  font-size: 12px;
  font-weight: 800;
  position: relative;
  z-index: 1;
}

.speaker-avatar-chip.active {
  border-color: color-mix(in srgb, var(--accent) 80%, white);
  box-shadow: 0 0 0 4px var(--speaker-ripple-soft), 0 9px 24px var(--speaker-ripple-soft);
  transform: translateY(-2px);
}

.speaker-avatar-chip.active::before,
.speaker-avatar-chip.active::after {
  animation: speaker-ripple 1.05s ease-out infinite;
}

.speaker-mic-badge {
  align-items: center;
  background: var(--speaker-mic-bg);
  border: 2px solid var(--speaker-mic-border);
  border-radius: 999px;
  bottom: -3px;
  box-shadow: 0 5px 12px color-mix(in srgb, black 24%, transparent);
  color: var(--speaker-mic-fg);
  display: flex;
  height: 26px;
  justify-content: center;
  left: -5px;
  opacity: 0;
  position: absolute;
  transform: translateY(4px) scale(0.82);
  transition: opacity 140ms ease, transform 140ms ease;
  width: 26px;
  z-index: 5;
}

.speaker-mic-badge svg {
  display: block;
  fill: none;
  height: 15px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.3;
  width: 15px;
}

.speaker-avatar-chip.active .speaker-mic-badge {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.bulletin-list-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--text);
}

.bulletin-list-title span {
  color: var(--muted);
  font-size: 13px;
}

.bulletin-list {
  display: grid;
  gap: 10px;
}

.bulletin-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.65fr) auto;
  align-items: start;
  gap: 12px;
  padding: 12px;
}

.bulletin-item.with-speakers {
  grid-template-columns: minmax(0, 0.75fr) minmax(280px, 1fr) auto;
  align-items: start;
}

.bulletin-history-layout .bulletin-item.with-speakers {
  grid-template-columns: 1fr;
}

.bulletin-history-layout .bulletin-card-actions {
  justify-self: end;
}

.bulletin-history-layout .bulletin-item [data-open-bulletin] {
  justify-self: end;
}

.bulletin-history-card {
  grid-template-columns: 1fr;
}

.bulletin-history-card.is-selected {
  border-color: color-mix(in srgb, var(--teal) 68%, var(--line));
  background: color-mix(in srgb, var(--surface-3) 86%, var(--teal));
}

.bulletin-history-card.bad.is-selected {
  border-color: color-mix(in srgb, var(--red) 62%, var(--line));
  background: color-mix(in srgb, var(--red) 10%, var(--surface));
}

.bulletin-history-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.bulletin-history-card-body {
  display: grid;
  gap: 10px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.bulletin-history-card-body[hidden] {
  display: none;
}

.bulletin-history-running {
  display: grid;
  gap: 8px;
  border: 1px solid color-mix(in srgb, var(--teal) 48%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-3) 88%, var(--teal));
  padding: 10px;
}

.bulletin-history-running .bulletin-progress {
  min-height: 0;
}

.bulletin-history-running .job-log {
  margin: 0;
}

.bulletin-history-card-secondary-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.bulletin-detail-button.active {
  border-color: color-mix(in srgb, var(--teal) 70%, var(--line));
  background: color-mix(in srgb, var(--teal) 14%, transparent);
  color: var(--teal);
}

.bulletin-item p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.bulletin-item-audio {
  min-width: 0;
}

.bulletin-delete-row {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  padding-top: 2px;
}

.bulletin-delete-confirm {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.bulletin-delete-confirm span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.25;
}

.button.compact {
  min-height: 32px;
  padding: 0 10px;
}

.button.danger {
  background: color-mix(in srgb, var(--red) 12%, var(--surface-2));
  border-color: color-mix(in srgb, var(--red) 44%, var(--line));
  color: var(--red);
}

.button.danger:hover {
  border-color: var(--red);
}

.button.ghost {
  background: transparent;
  color: var(--muted);
}

.icon-button.danger:hover {
  border-color: var(--red);
  color: var(--red);
}

.attention-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
  padding: 12px;
  min-width: 0;
}

.attention-item.aquarium-item {
  grid-template-columns: auto minmax(0, 1fr) minmax(260px, 1fr);
  gap: 12px;
  padding: 14px;
  overflow: hidden;
}

.attention-marker {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--muted);
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 14%, transparent);
  color: var(--muted);
  flex: 0 0 auto;
  margin-top: 6px;
}

.attention-item.action .attention-marker {
  background: var(--green);
  color: var(--green);
}

.attention-item.warn .attention-marker {
  background: var(--amber);
  color: var(--amber);
}

.attention-item.ok .attention-marker {
  background: var(--green);
  color: var(--green);
}

.attention-item strong {
  display: block;
  font-size: 14px;
  margin-bottom: 2px;
}

.attention-item p {
  color: var(--text);
  font-size: 14px;
  line-height: 1.35;
}

.attention-item small {
  color: var(--muted);
  display: block;
  font-size: 13px;
  line-height: 1.35;
  margin-top: 4px;
}

.attention-link {
  display: inline-flex;
  align-items: center;
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
  margin-top: 8px;
  text-decoration: none;
}

.attention-link:hover,
.attention-link:focus-visible {
  text-decoration: underline;
}

.aquarium-scene {
  position: relative;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 172px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--teal) 44%, var(--line));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(88, 197, 189, 0.18), rgba(121, 169, 255, 0.08)),
    var(--surface);
}

.aquarium-scene::before,
.aquarium-scene::after {
  content: "";
  position: absolute;
  left: -10%;
  right: -10%;
  pointer-events: none;
}

.aquarium-scene::before {
  top: 22px;
  height: 22px;
  border-top: 1px solid rgba(121, 169, 255, 0.28);
  border-radius: 50%;
}

.aquarium-scene::after {
  bottom: -5px;
  height: 26px;
  background:
    radial-gradient(circle at 24% 80%, color-mix(in srgb, var(--amber) 72%, transparent) 0 3px, transparent 4px),
    radial-gradient(circle at 44% 60%, color-mix(in srgb, var(--teal) 58%, transparent) 0 2px, transparent 3px),
    radial-gradient(circle at 74% 74%, color-mix(in srgb, var(--muted) 48%, transparent) 0 2px, transparent 3px);
  opacity: 0.72;
}

.waterline {
  position: absolute;
  top: 9px;
  left: 10px;
  right: 10px;
  height: 1px;
  background: color-mix(in srgb, var(--teal) 56%, transparent);
}

.bubble {
  position: absolute;
  border: 1px solid color-mix(in srgb, var(--teal) 58%, white);
  border-radius: 999px;
  opacity: 0.72;
}

.bubble-one {
  top: 36px;
  right: 28px;
  width: 8px;
  height: 8px;
  animation: bubble-drift 4.8s ease-in-out infinite;
}

.bubble-two {
  top: 82px;
  right: 48px;
  width: 5px;
  height: 5px;
  animation: bubble-drift 5.6s ease-in-out infinite 900ms;
}

.plant {
  position: absolute;
  bottom: 8px;
  width: 42px;
  height: 118px;
  opacity: 0.92;
  z-index: 1;
}

.plant path {
  fill: color-mix(in srgb, var(--green) 58%, transparent);
  stroke: color-mix(in srgb, var(--green) 74%, var(--teal));
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.plant path:first-child {
  fill: none;
  stroke-width: 3.4;
}

.plant-left {
  left: 94px;
}

.plant-right {
  right: 78px;
  transform: scaleX(-1);
}

.fish {
  position: absolute;
  display: block;
  filter: drop-shadow(0 5px 9px rgba(0, 0, 0, 0.24));
  z-index: 2;
  pointer-events: none;
  transform-origin: 50% 52%;
  will-change: transform, filter;
}

.aquarium-scene.has-target-motion .fish {
  animation: none;
  transition: none;
}

.discus-fish {
  left: 18px;
  top: 52px;
  width: 72px;
  animation: discus-swim 4.8s ease-in-out infinite;
}

.angel-fish {
  right: 24px;
  top: 42px;
  width: 54px;
  animation: angel-swim 5.7s ease-in-out infinite 500ms;
}

.angel-pair-fish {
  right: 76px;
  top: 72px;
  width: 42px;
  z-index: 3;
  animation: angel-pair-swim 6.3s ease-in-out infinite 950ms;
}

.ramirezi-fish {
  left: 98px;
  top: 76px;
  width: 30px;
  z-index: 3;
  animation: ramirezi-dart 6.2s ease-in-out infinite 1.1s;
}

.corydoras-group {
  left: 144px;
  bottom: 5px;
  width: 38px;
  z-index: 2;
  opacity: 0.84;
  animation: corydoras-forage 7.4s ease-in-out infinite 350ms;
}

.dose-chips {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 9px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  z-index: 4;
}

.dose-chips span {
  border: 1px solid color-mix(in srgb, var(--surface) 58%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-2) 86%, transparent);
  color: var(--text);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  padding: 4px 6px;
}

@keyframes discus-swim {
  0%,
  100% {
    filter: drop-shadow(0 5px 9px rgba(0, 0, 0, 0.22)) saturate(1.02);
    transform: translate(0, 0) rotate(-1deg) scaleX(1);
  }

  35% {
    transform: translate(5px, -3px) rotate(1.5deg) scaleX(0.985);
  }

  70% {
    filter: drop-shadow(0 7px 11px rgba(0, 0, 0, 0.2)) saturate(1.08);
    transform: translate(2px, 3px) rotate(-0.5deg) scaleX(1.012);
  }
}

@keyframes angel-swim {
  0%,
  100% {
    filter: drop-shadow(0 5px 9px rgba(0, 0, 0, 0.22)) contrast(1.02);
    transform: translate(0, 0) rotate(1deg) scaleX(1);
  }

  42% {
    transform: translate(-6px, 3px) rotate(-1.8deg) scaleX(0.99);
  }

  76% {
    filter: drop-shadow(0 7px 11px rgba(0, 0, 0, 0.2)) contrast(1.08);
    transform: translate(-2px, -3px) rotate(0.8deg) scaleX(1.012);
  }
}

@keyframes angel-pair-swim {
  0%,
  100% {
    filter: drop-shadow(0 5px 9px rgba(0, 0, 0, 0.2)) contrast(1.02);
    transform: translate(0, 0) rotate(-1deg) scaleX(1);
  }

  45% {
    transform: translate(5px, -2px) rotate(1.4deg) scaleX(0.992);
  }

  78% {
    filter: drop-shadow(0 7px 11px rgba(0, 0, 0, 0.18)) contrast(1.07);
    transform: translate(2px, 3px) rotate(-0.6deg) scaleX(1.01);
  }
}

@keyframes ramirezi-dart {
  0%,
  100% {
    filter: drop-shadow(0 4px 7px rgba(0, 0, 0, 0.18)) saturate(1.1);
    transform: translate(0, 0) rotate(1deg) scaleX(1);
  }

  24% {
    transform: translate(13px, -4px) rotate(-2deg) scaleX(0.98);
  }

  56% {
    filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.16)) saturate(1.18);
    transform: translate(8px, 5px) rotate(1.6deg) scaleX(1.02);
  }

  78% {
    transform: translate(-4px, 2px) rotate(-1deg) scaleX(0.99);
  }
}

@keyframes corydoras-forage {
  0%,
  100% {
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16)) contrast(1.02);
    transform: translate(0, 0) rotate(0deg);
  }

  36% {
    transform: translate(5px, -1px) rotate(-1deg);
  }

  68% {
    filter: drop-shadow(0 4px 7px rgba(0, 0, 0, 0.14)) contrast(1.08);
    transform: translate(1px, 2px) rotate(1.2deg);
  }
}

@keyframes bubble-drift {
  0%,
  100% {
    transform: translateY(0);
    opacity: 0.52;
  }

  50% {
    transform: translateY(-8px);
    opacity: 0.9;
  }
}

.section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
  margin: -2px 0 14px;
  padding-bottom: 12px;
}

.section-heading {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}

.section-heading h2 {
  flex: 0 0 auto;
}

.state-heading,
.module-title {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  min-width: 0;
}

.title-state-dot,
.module-state-dot,
.check-state-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--muted);
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 14%, transparent);
  color: var(--muted);
  flex: 0 0 auto;
}

.title-state-dot.ok,
.module-state-dot.ok,
.check-state-dot.ok {
  background: var(--green);
  color: var(--green);
}

.title-state-dot.warn,
.module-state-dot.warn,
.check-state-dot.warn,
.title-state-dot.pending,
.module-state-dot.pending,
.check-state-dot.pending,
.title-state-dot.stopped,
.module-state-dot.stopped,
.check-state-dot.stopped {
  background: var(--amber);
  color: var(--amber);
}

.title-state-dot.bad,
.module-state-dot.bad,
.check-state-dot.bad {
  background: var(--red);
  color: var(--red);
}

.panel-summary {
  color: var(--muted);
  font-size: 13px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.collapse-toggle svg {
  transition: transform 160ms ease;
}

.collapsible-panel.is-collapsed .collapse-toggle svg {
  transform: rotate(-90deg);
}

.collapsible-panel.is-collapsed .section-title {
  border-bottom: 0;
  margin-bottom: -2px;
  padding-bottom: 0;
}

.collapsible-panel.is-collapsed .panel-body {
  display: none;
}

.section-title span {
  color: var(--muted);
  font-size: 13px;
}

.module-list,
.checks {
  display: grid;
  gap: 10px;
}

.module {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
  min-width: 0;
  padding: 14px;
}

.module-main {
  min-width: 0;
}

.module h3 {
  font-size: 16px;
  margin: 0 0 6px;
  max-width: 100%;
  white-space: nowrap;
}

.module h3 .module-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.module p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.module-state-detail {
  display: block;
  font-size: 12px;
  line-height: 1.35;
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.module-state-detail.ok {
  color: var(--green);
}

.module-state-detail.warn,
.module-state-detail.pending {
  color: var(--amber);
}

.module-state-detail.bad {
  color: var(--red);
}

.meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.tag {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  padding: 4px 8px;
  overflow-wrap: anywhere;
}

.actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: start;
  gap: 8px;
  justify-content: flex-end;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--text);
  font-size: 13px;
  font-weight: 700;
  min-height: 34px;
  min-width: 0;
  padding: 0 12px;
  text-align: center;
}

.button:hover {
  border-color: var(--blue);
}

.button.secondary {
  background: transparent;
  color: var(--muted);
}

.button.disabled {
  cursor: not-allowed;
  opacity: 0.55;
  pointer-events: none;
}

.reminders-module {
  display: grid;
  gap: 16px;
}

.reminders-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.core-reminder-list {
  display: grid;
  gap: 10px;
}

.core-reminder-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
  overflow: hidden;
}

.core-reminder-card button {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 74px;
  border: 0;
  background: transparent;
  color: var(--text);
  padding: 12px;
  text-align: left;
}

.core-reminder-card button:hover {
  background: color-mix(in srgb, var(--accent) 9%, transparent);
}

.core-reminder-date {
  display: grid;
  gap: 3px;
}

.core-reminder-date strong {
  font-size: 13px;
  text-transform: capitalize;
}

.core-reminder-date em,
.core-reminder-copy small,
.core-reminder-empty span {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.core-reminder-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.core-reminder-copy strong,
.core-reminder-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.core-reminder-badge {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  padding: 5px 9px;
}

.core-reminder-card.priority-high,
.core-reminder-card.priority-urgent {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
}

.core-reminder-card.priority-urgent .core-reminder-badge {
  border-color: #ef4444;
  color: #ef4444;
}

.core-reminder-empty {
  display: grid;
  gap: 5px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  padding: 18px;
  background: var(--surface-3);
}

.core-reminder-modal {
  width: min(760px, calc(100vw - 28px));
  max-height: min(760px, calc(100dvh - 28px));
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  padding: 18px;
  box-shadow: 0 24px 80px rgb(0 0 0 / 32%);
}

.core-reminder-sync {
  margin-top: 12px;
}

.button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.icon-button.disabled {
  cursor: not-allowed;
  opacity: 0.45;
  pointer-events: none;
}

.check {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
  padding: 10px 0;
}

.check-main {
  align-items: center;
  display: flex;
  gap: 10px;
  min-width: 0;
}

.check-main > div,
.check > div {
  min-width: 0;
}

.check:last-child {
  border-bottom: 0;
}

.check span {
  color: var(--muted);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.check small {
  color: var(--muted);
  display: block;
  font-size: 12px;
  line-height: 1.35;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.check small.ok {
  color: var(--green);
}

.check small.bad {
  color: var(--red);
}

.check strong {
  font-size: 14px;
}

.check-actions {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 8px;
}

.check-refresh {
  width: 32px;
  height: 32px;
}

.check-refresh.is-checking svg {
  animation: job-spin 0.8s linear infinite;
}

.workspace {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: calc(100vh - 56px);
}

.workspace-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  min-width: 0;
  padding: 8px 10px;
}

.workspace-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.workspace-heading h2 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-kind {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  flex: 0 0 auto;
  font-size: 12px;
  padding: 4px 8px;
  white-space: nowrap;
}

.workspace-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 8px;
  justify-content: flex-end;
}

.workspace-actions .icon-button.active {
  border-color: color-mix(in srgb, var(--teal) 38%, var(--line));
  background: var(--surface-2);
  color: var(--teal);
}

#workspace-frame {
  width: 100%;
  min-height: calc(100vh - 170px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--frame-bg);
}

.embed-fallback {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 24px;
}

.embed-fallback p {
  color: var(--muted);
  line-height: 1.5;
  margin: 8px 0 18px;
}

.bulletin-module {
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: calc(100vh - 56px);
}

.bulletin-module .bulletin-tabs {
  margin: 0;
}

.bulletin-module-status-line {
  display: none;
}

.web-monitor-module {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: calc(100vh - 56px);
}

.web-monitor-module.hidden {
  display: none;
}

.web-monitor-subnav {
  margin-bottom: 2px;
}

.web-monitor-module-status-line {
  display: none;
}

.web-monitor-tab-panel {
  display: none;
  min-width: 0;
  gap: 12px;
}

.web-monitor-tab-panel.active {
  display: grid;
}

.web-monitor-summary-line {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.task-metrics-strip.web-monitor-metrics-strip {
  gap: 0;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
}

.task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  inline-size: 100%;
  justify-self: stretch;
  text-align: left;
}

.task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi.is-filter-active {
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--metric-color) 11%, transparent),
      color-mix(in srgb, var(--metric-color) 7%, transparent) 74%,
      color-mix(in srgb, var(--metric-color) 5%, transparent)
    );
  box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--metric-color) 82%, transparent);
}

.task-metric.web-monitor-kpi[data-web-monitor-kpi-state]::after {
  inset: 0;
  border-radius: 0;
}

.task-metric.web-monitor-kpi[data-web-monitor-kpi-state].is-filter-active::after {
  background-position:
    0 118%,
    100% 118%,
    0 100%,
    0 0;
  background-size:
    100% 88%,
    100% 82%,
    140% 70%,
    100% 100%;
  opacity: 0.6;
}

@media (min-width: 1180px) {
  .task-metrics-strip.web-monitor-metrics-strip {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 8px;
    padding: 14px 10px;
  }

  .task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi .task-metric-icon {
    width: 38px;
    height: 38px;
  }

  .task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi .task-metric-icon svg {
    width: 23px;
    height: 23px;
  }

  .task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi .task-metric-copy span,
  .task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi .task-metric-copy small {
    font-size: 11px;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi .task-metric-copy strong {
    font-size: 24px;
  }
}

button.web-monitor-kpi {
  cursor: pointer;
}

.web-monitor-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.web-monitor-form .settings-field-wide {
  grid-column: span 2;
}

.web-monitor-url-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.web-monitor-inline-switch {
  align-self: end;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: auto;
}

.web-monitor-inline-switch small {
  color: var(--muted);
  font-weight: 700;
}

.web-monitor-form-actions,
.web-monitor-actions,
.web-monitor-filters,
.web-monitor-view-toggle {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 10px;
}

.web-monitor-filters {
  align-items: stretch;
  margin-bottom: 14px;
}

.web-monitor-filters label {
  display: grid;
  flex: 1 1 160px;
  gap: 7px;
}

.web-monitor-filters .web-monitor-search-field {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  flex: 1.35 1 240px;
  min-width: 0;
  min-height: 38px;
  overflow: hidden;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--muted);
  padding: 0 10px;
}

.web-monitor-search-field svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.web-monitor-search-field input {
  display: block;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 100%;
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--text);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.2;
  outline: 0;
  padding: 9px 0 9px 8px;
}

.web-monitor-search-field input:focus {
  outline: 0;
  box-shadow: none;
}

.web-monitor-search-field input::-webkit-search-cancel-button,
.web-monitor-search-field input::-webkit-search-decoration,
.web-monitor-search-field input::-webkit-search-results-button,
.web-monitor-search-field input::-webkit-search-results-decoration {
  display: none;
  -webkit-appearance: none;
}

.web-monitor-search-field:focus-within {
  border-color: color-mix(in srgb, var(--teal) 46%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 10%, transparent);
}

.web-monitor-view-toggle {
  align-self: end;
  align-items: center;
  flex: 0 0 auto;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.web-monitor-view-toggle button {
  display: grid;
  width: 36px;
  min-width: 36px;
  min-height: 34px;
  place-items: center;
  padding: 7px 9px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 860;
}

.web-monitor-view-toggle button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.web-monitor-view-toggle button.active {
  border-color: color-mix(in srgb, var(--teal) 36%, var(--line));
  background: var(--surface);
  color: var(--teal);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--teal) 14%, transparent);
}

.web-monitor-filters input,
.web-monitor-filters select,
.web-monitor-form input,
.web-monitor-form select,
.web-monitor-form textarea {
  width: 100%;
}

.web-monitor-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
  align-items: start;
  gap: 12px;
}

.web-monitor-list.is-table-view {
  display: block;
}

.web-monitor-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-left-width: 4px;
  border-radius: 8px;
  background: var(--surface-2);
  padding: 14px;
}

.web-monitor-card.ok { border-left-color: var(--teal); }
.web-monitor-card.warn { border-left-color: var(--amber); }
.web-monitor-card.bad { border-left-color: var(--red); }
.web-monitor-card.pending { border-left-color: var(--muted); }
.web-monitor-card.paused {
  border-color: color-mix(in srgb, var(--amber) 34%, var(--line));
  border-left-color: var(--amber);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--amber) 10%, transparent), transparent 44%),
    var(--surface-2);
}

.web-monitor-card.disabled,
.disabled-card.disabled-card {
  border-color: color-mix(in srgb, var(--muted) 45%, var(--line));
  border-left-color: var(--muted);
  background:
    repeating-linear-gradient(135deg, color-mix(in srgb, var(--muted) 10%, transparent) 0 8px, transparent 8px 16px),
    color-mix(in srgb, var(--surface-2) 82%, var(--muted));
}

.web-monitor-card-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
}

.web-monitor-title {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.web-monitor-title strong,
.web-monitor-title a {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.web-monitor-card .web-monitor-title strong {
  display: -webkit-box;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.web-monitor-title a {
  color: var(--muted);
  font-size: 13px;
  text-decoration: none;
}

.web-monitor-status {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  padding: 4px 8px;
  white-space: nowrap;
}

.web-monitor-status.ok {
  border-color: color-mix(in srgb, var(--teal) 45%, var(--line));
  color: var(--teal);
}

.web-monitor-status.warn {
  border-color: color-mix(in srgb, var(--amber) 45%, var(--line));
  color: var(--amber);
}

.web-monitor-status.bad {
  border-color: color-mix(in srgb, var(--red) 45%, var(--line));
  color: var(--red);
}

.web-monitor-status.paused {
  border-color: color-mix(in srgb, var(--amber) 54%, var(--line));
  background: color-mix(in srgb, var(--amber) 12%, transparent);
  color: color-mix(in srgb, var(--amber) 70%, var(--text));
}

.web-monitor-status.disabled {
  border-color: color-mix(in srgb, var(--muted) 58%, var(--line));
  background: color-mix(in srgb, var(--muted) 16%, transparent);
  color: var(--muted);
}

.web-monitor-meta,
.web-monitor-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.web-monitor-meta span {
  color: var(--muted);
  font-size: 12px;
}

.web-monitor-error {
  color: var(--red);
  font-size: 13px;
  margin: 10px 0 0;
}

.web-monitor-signal {
  display: grid;
  gap: 9px;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-radius: 8px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--teal) 9%, transparent), transparent 52%),
    linear-gradient(90deg, color-mix(in srgb, var(--surface-3) 78%, transparent), color-mix(in srgb, var(--surface-2) 86%, transparent));
}

.web-monitor-signal.is-detail {
  margin: 0 0 12px;
  padding: 12px;
}

.web-monitor-signal-head,
.web-monitor-signal-footer {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.web-monitor-signal-footer {
  flex-wrap: wrap;
}

.web-monitor-signal-head span,
.web-monitor-signal-footer {
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
}

.web-monitor-signal-head span {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
}

.web-monitor-signal-head strong {
  overflow: hidden;
  color: var(--text);
  font-size: 12px;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.web-monitor-signal-head small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
  white-space: nowrap;
}

.web-monitor-signal-head svg {
  width: 16px;
  height: 16px;
  color: var(--teal);
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.web-monitor-sparkline {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.web-monitor-sparkline-plot {
  position: relative;
  min-width: 0;
}

.web-monitor-sparkline svg {
  display: block;
  width: 100%;
  height: 68px;
  overflow: visible;
}

.web-monitor-signal.is-detail .web-monitor-sparkline svg {
  height: 112px;
}

.web-monitor-sparkline.is-compact {
  gap: 4px;
}

.web-monitor-sparkline.is-compact svg {
  height: 34px;
}

.web-monitor-sparkline.is-empty {
  min-height: 52px;
  place-items: center;
  border: 1px dashed color-mix(in srgb, var(--muted) 35%, var(--line));
  border-radius: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
}

.web-monitor-sparkline-line,
.web-monitor-sparkline-warning,
.web-monitor-sparkline-area {
  vector-effect: non-scaling-stroke;
}

.web-monitor-sparkline-line {
  fill: none;
  stroke: var(--teal);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.6;
}

.web-monitor-sparkline-area {
  fill: color-mix(in srgb, var(--teal) 18%, transparent);
  stroke: none;
}

.web-monitor-sparkline-warning {
  fill: none;
  stroke: color-mix(in srgb, var(--red) 68%, transparent);
  stroke-dasharray: 4 4;
  stroke-linecap: round;
  stroke-width: 1;
}

.web-monitor-sparkline-marker {
  position: absolute;
  left: calc(var(--wm-x) * 100%);
  top: calc(var(--wm-y) * 100%);
  width: 7px;
  height: 7px;
  border: 1.5px solid currentColor;
  border-radius: 999px;
  background: var(--surface);
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 13%, transparent);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.web-monitor-sparkline-threshold-label {
  position: absolute;
  right: 2px;
  top: calc(var(--wm-threshold-y) * 100%);
  z-index: 2;
  max-width: min(58%, 104px);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--red) 38%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 90%, transparent);
  color: color-mix(in srgb, var(--red) 72%, var(--text));
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
  padding: 3px 6px;
  text-overflow: ellipsis;
  transform: translateY(-50%);
  white-space: nowrap;
  pointer-events: none;
}

.web-monitor-sparkline-threshold-label.is-compact {
  max-width: 48px;
  padding: 2px 5px;
  font-size: 9px;
}

.web-monitor-sparkline.is-compact .web-monitor-sparkline-marker {
  width: 6px;
  height: 6px;
  border-width: 1.3px;
}

.web-monitor-sparkline-marker.ok { color: var(--teal); }
.web-monitor-sparkline-marker.warn { color: var(--amber); }
.web-monitor-sparkline-marker.bad { color: var(--red); }
.web-monitor-sparkline-marker.paused { color: var(--amber); }
.web-monitor-sparkline-marker.pending { color: var(--muted); }

.web-monitor-status-rail {
  display: flex;
  gap: 2px;
  min-width: 0;
}

.web-monitor-status-tick {
  flex: 1 1 0;
  min-width: 2px;
  height: 6px;
  border-radius: 999px;
  background: var(--muted);
  opacity: 0.55;
}

.web-monitor-status-tick.ok {
  background: var(--teal);
  opacity: 0.72;
}

.web-monitor-status-tick.warn {
  background: var(--amber);
  opacity: 0.9;
}

.web-monitor-status-tick.bad {
  background: var(--red);
  opacity: 0.95;
}

.web-monitor-status-tick.paused {
  background: var(--amber);
  opacity: 0.62;
}

.web-monitor-signal-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.web-monitor-signal-stats span {
  display: grid;
  min-width: 0;
  gap: 2px;
  padding: 6px 7px;
  border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface) 48%, transparent);
}

.web-monitor-signal-stats small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 820;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.web-monitor-signal-stats strong {
  overflow: hidden;
  color: var(--text);
  font-size: 14px;
  font-weight: 850;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.web-monitor-now {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.web-monitor-signal-badges {
  display: inline-flex;
  min-width: 0;
  flex: 0 1 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.web-monitor-trend {
  display: inline-flex;
  flex: 0 0 auto;
  border: 1px solid color-mix(in srgb, var(--muted) 34%, var(--line));
  border-radius: 999px;
  padding: 3px 7px;
  color: var(--muted);
  white-space: nowrap;
}

.web-monitor-trend.is-faster {
  border-color: color-mix(in srgb, var(--teal) 44%, var(--line));
  color: var(--teal);
}

.web-monitor-trend.is-slower {
  border-color: color-mix(in srgb, var(--amber) 48%, var(--line));
  color: var(--amber);
}

.web-monitor-actions {
  align-items: center;
  justify-content: flex-end;
  margin-top: 12px;
}

.web-monitor-actions .icon-button {
  width: 34px;
  height: 34px;
}

.web-monitor-actions .icon-button.danger {
  border-color: color-mix(in srgb, var(--red) 34%, var(--line));
  color: var(--red);
}

.web-monitor-delete-row,
.web-monitor-delete-confirm {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.web-monitor-delete-confirm span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

.web-monitor-table {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.web-monitor-table-head,
.web-monitor-table-row {
  display: grid;
  grid-template-columns: minmax(240px, 1.45fr) minmax(104px, 0.62fr) minmax(120px, 0.7fr) minmax(124px, 0.72fr) minmax(110px, 0.72fr) minmax(232px, auto);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.web-monitor-table-head {
  padding: 9px 12px;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 860;
  text-transform: uppercase;
}

.web-monitor-table-body {
  display: grid;
}

.web-monitor-table-row {
  padding: 10px 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
}

.web-monitor-table-row.paused {
  box-shadow: inset 4px 0 0 var(--amber);
  background: color-mix(in srgb, var(--amber) 7%, var(--surface));
}

.web-monitor-table-row.disabled {
  box-shadow: inset 4px 0 0 var(--muted);
  background:
    repeating-linear-gradient(135deg, color-mix(in srgb, var(--muted) 9%, transparent) 0 8px, transparent 8px 16px),
    color-mix(in srgb, var(--surface) 86%, var(--muted));
}

.web-monitor-table-row:last-child {
  border-bottom: 0;
}

.web-monitor-table-row:hover {
  background: color-mix(in srgb, var(--teal) 5%, var(--surface));
}

.web-monitor-table-row.paused:hover {
  background: color-mix(in srgb, var(--amber) 11%, var(--surface));
}

.web-monitor-table-row.disabled:hover {
  background:
    repeating-linear-gradient(135deg, color-mix(in srgb, var(--muted) 12%, transparent) 0 8px, transparent 8px 16px),
    color-mix(in srgb, var(--surface) 82%, var(--muted));
}

.web-monitor-table-cell {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.web-monitor-inline-meta {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

.web-monitor-table-cell > span,
.web-monitor-table-cell > small,
.web-monitor-table-cell > a,
.web-monitor-table-cell .web-monitor-title > small,
.web-monitor-inline-meta > small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.web-monitor-table-cell > small,
.web-monitor-table-cell .web-monitor-title > small,
.web-monitor-inline-meta > small {
  color: var(--muted);
  font-size: 12px;
}

.web-monitor-table-monitor {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.web-monitor-table-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
}

.web-monitor-table-actions .icon-button {
  width: 34px;
  height: 34px;
}

.web-monitor-table-actions .web-monitor-delete-row {
  position: relative;
}

.web-monitor-table-actions .web-monitor-delete-confirm {
  flex-wrap: wrap;
  max-width: 220px;
}

.web-monitor-table-detail {
  grid-column: 1 / -1;
}

.web-monitor-detail {
  border-top: 1px solid var(--line);
  margin-top: 12px;
  padding-top: 12px;
}

.web-monitor-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.web-monitor-detail h4 {
  margin: 0 0 8px;
}

.web-monitor-detail ul {
  display: grid;
  gap: 7px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.web-monitor-detail li {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
  color: var(--muted);
  font-size: 13px;
}

.web-monitor-detail li > strong,
.web-monitor-detail li > span {
  min-width: 0;
}

.web-monitor-detail li > span:last-child {
  overflow-wrap: anywhere;
}

.web-monitor-detail li > .web-monitor-status {
  flex: 0 0 auto;
}

.web-monitor-detail li.web-monitor-check-row {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.web-monitor-check-date {
  white-space: nowrap;
}

.web-monitor-check-summary {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 960px) and (max-height: 520px),
       (hover: none) and (pointer: coarse) and (max-width: 960px),
       (hover: none) and (pointer: coarse) and (max-height: 520px) {
  .web-monitor-detail > .web-monitor-signal.is-detail {
    display: none;
  }

  .web-monitor-detail-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .web-monitor-detail li {
    padding: 7px 0;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 64%, transparent);
  }

  .web-monitor-detail li:last-child {
    border-bottom: 0;
  }

  .web-monitor-detail li:not(.web-monitor-check-row) > span:last-child {
    flex: 0 1 100%;
  }
}

.projects-module {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: calc(100vh - 56px);
}

.projects-tab-panel {
  display: none;
}

.projects-tab-panel.active {
  display: block;
}

.projects-summary-section {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.projects-summary-section .projects-dashboard-grid:empty {
  display: none;
}

#projects-module-view.is-project-detail-active > .projects-main-subnav,
#projects-module-view.is-project-detail-active > .projects-metrics-strip {
  display: none;
}

.projects-metrics-strip .projects-kpi {
  min-width: 0;
}

.projects-project-metrics-strip .projects-kpi {
  min-width: 0;
}

.projects-kpi.is-errors {
  --task-filter-color: var(--red);
}

.projects-kpi.is-stalled {
  --task-filter-color: var(--amber);
}

.instance-manager-module {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: calc(100vh - 56px);
}

.instance-manager-topline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.instance-manager-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.instance-manager-subnav button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.instance-manager-subnav svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.instance-manager-subnav [data-instance-manager-fleet-action] {
  color: var(--text);
}

.instance-manager-section-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.instance-manager-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.instance-manager-field-wide,
.instance-manager-form-actions {
  grid-column: 1 / -1;
}

.instance-manager-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.instance-manager-metrics-strip .instance-manager-kpi {
  min-width: 0;
}

.instance-manager-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  gap: 12px;
  align-items: start;
}

.instance-manager-list,
.instance-manager-detail {
  min-width: 0;
}

.instance-manager-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 8px;
}

.instance-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-left: 4px solid var(--muted);
  border-radius: 8px;
  background: var(--surface-3);
  color: var(--text);
  padding: 10px;
  text-align: left;
}

.instance-row:hover,
.instance-row.active {
  border-color: color-mix(in srgb, var(--accent) 46%, var(--line));
  background: color-mix(in srgb, var(--accent) 7%, var(--surface));
}

.instance-row.is-ok { border-left-color: var(--teal); }
.instance-row.is-watch,
.instance-row.is-unknown { border-left-color: var(--amber); }
.instance-row.is-degraded,
.instance-row.is-down { border-left-color: var(--red); }

.instance-row-main,
.instance-row-meta {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.instance-row-main strong,
.instance-row-main small,
.instance-row-meta small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.instance-row-main small,
.instance-row-meta small {
  color: var(--muted);
  font-size: 12px;
}

.instance-status-pill {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--muted);
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
  white-space: nowrap;
}

.instance-status-pill.is-ok {
  border-color: color-mix(in srgb, var(--teal) 55%, var(--line));
  color: var(--teal);
}

.instance-status-pill.is-watch,
.instance-status-pill.is-unknown {
  border-color: color-mix(in srgb, var(--amber) 55%, var(--line));
  color: var(--amber);
}

.instance-status-pill.is-degraded,
.instance-status-pill.is-down {
  border-color: color-mix(in srgb, var(--red) 55%, var(--line));
  color: var(--red);
}

.instance-manager-detail-panel,
.instance-detail {
  display: grid;
  gap: 12px;
}

.instance-identity-strip,
.instance-detail-grid article,
.instance-check,
.instance-monitor-card,
.instance-timeline-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
}

.instance-identity-strip {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border-left: 4px solid var(--muted);
}

.instance-identity-strip.is-ok { border-left-color: var(--teal); }
.instance-identity-strip.is-watch,
.instance-identity-strip.is-unknown { border-left-color: var(--amber); }
.instance-identity-strip.is-degraded,
.instance-identity-strip.is-down { border-left-color: var(--red); }

.instance-identity-strip h3 {
  margin: 8px 0 4px;
}

.instance-identity-strip p {
  color: var(--muted);
  margin: 0;
  overflow-wrap: anywhere;
}

.instance-monitor-section {
  display: grid;
  gap: 12px;
}

.instance-monitor-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.instance-monitor-card {
  display: grid;
  min-width: 0;
  gap: 5px;
  padding: 12px;
  border-left: 4px solid var(--muted);
}

.instance-monitor-card.is-ok { border-left-color: var(--teal); }
.instance-monitor-card.is-watch,
.instance-monitor-card.is-unknown { border-left-color: var(--amber); }
.instance-monitor-card.is-degraded,
.instance-monitor-card.is-down { border-left-color: var(--red); }

.instance-monitor-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.instance-monitor-card strong,
.instance-monitor-card small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.instance-monitor-card small {
  color: var(--muted);
  line-height: 1.35;
}

.instance-detail-grid,
.instance-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}

.instance-detail-grid article,
.instance-check {
  display: grid;
  min-width: 0;
  gap: 4px;
  padding: 12px;
}

.instance-detail-grid span,
.instance-check strong {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.instance-detail-grid strong,
.instance-check small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.instance-detail-grid small,
.instance-check small {
  color: var(--muted);
  line-height: 1.35;
}

.instance-action-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.instance-action-bar .button svg {
  width: 15px;
  height: 15px;
}

.instance-table {
  display: grid;
  gap: 6px;
}

.instance-table-row {
  display: grid;
  grid-template-columns: 110px minmax(180px, 1.4fr) minmax(110px, 0.8fr) minmax(90px, 0.6fr) minmax(90px, 0.6fr);
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
  padding: 9px 10px;
  font-size: 13px;
}

.instance-actions-table .instance-table-row {
  grid-template-columns: minmax(180px, 1.2fr) 90px 100px minmax(160px, 1fr) 150px 104px;
}

.instance-table-head {
  background: transparent;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.instance-table-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.instance-table-row small {
  display: block;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.instance-action-controls {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}

.instance-timeline {
  display: grid;
  gap: 8px;
}

.instance-timeline-item {
  display: grid;
  grid-template-columns: auto minmax(160px, 1fr) minmax(0, 1.2fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
}

.instance-timeline-item small,
.instance-timeline-item time {
  color: var(--muted);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-dashboard-grid {
  display: grid;
  gap: 10px;
  margin-bottom: 4px;
}

.projects-overview-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 2px 0 12px;
  border-bottom: 1px solid var(--line);
}

#projects-module-view.is-client-context .projects-clients-head,
#projects-module-view.is-client-context .projects-client-list {
  display: none;
}

.projects-client-context-block {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 2px 0 12px;
  border-bottom: 1px solid var(--line);
}

.projects-client-context-head {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
}

.projects-client-context-media {
  width: 112px;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
}

.projects-client-context-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.projects-client-context-copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.projects-client-context-copy > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 860;
  text-transform: uppercase;
}

.projects-client-context-copy h4 {
  margin: 0;
  color: var(--text);
  font-size: 19px;
  line-height: 1.18;
}

.projects-client-context-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.projects-client-context-summary,
.projects-client-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 8px;
  min-width: 0;
}

.projects-client-facts.is-billing {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.projects-client-context-summary > div,
.projects-client-facts > span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px 0;
  border-top: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
}

.projects-client-context-summary strong,
.projects-client-facts strong {
  color: var(--text);
  font-size: 18px;
  line-height: 1;
}

.projects-client-context-summary span,
.projects-client-facts small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-client-next-block {
  border-bottom: 0;
  padding-bottom: 0;
}

.projects-client-data-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  min-width: 0;
}

.projects-client-data-grid section {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
}

.projects-client-data-grid h5 {
  margin: 0;
  color: var(--text);
  font-size: 13px;
  font-weight: 860;
}

.projects-client-data-grid p,
.projects-client-data-grid ul {
  margin: 0;
}

.projects-client-data-grid ul {
  display: grid;
  gap: 7px;
  padding: 0;
  list-style: none;
}

.projects-client-data-grid li {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.projects-client-data-grid li strong {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.projects-client-data-grid li span,
.projects-client-data-grid p {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: 13px;
  line-height: 1.35;
}

.projects-overview-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.projects-overview-copy > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 860;
  text-transform: uppercase;
}

.projects-overview-copy h4,
.projects-clients-title h3 {
  margin: 0;
  color: var(--text);
  font-size: 16px;
  line-height: 1.25;
}

.projects-overview-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.projects-overview-actions,
.projects-clients-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.projects-attention-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 8px;
}

.projects-attention-project,
.projects-next-action {
  display: grid;
  min-width: 0;
  gap: 4px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--muted);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  padding: 10px;
  text-align: left;
}

.projects-attention-project:hover,
.projects-next-action:hover {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  background: color-mix(in srgb, var(--accent) 6%, var(--surface));
}

.projects-attention-project.is-ok { border-left-color: var(--teal); }
.projects-attention-project.is-warn { border-left-color: var(--amber); }
.projects-attention-project.is-bad { border-left-color: var(--red); }

.projects-attention-project strong,
.projects-attention-project small,
.projects-next-action strong,
.projects-next-action small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-attention-project small,
.projects-next-action small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.projects-clients-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  margin: 12px 0;
  min-width: 0;
}

.projects-clients-title {
  display: grid;
  gap: 4px;
  min-width: 0;
  width: 100%;
}

.projects-client-search-field {
  width: 100%;
}

.projects-clients-actions {
  position: relative;
  padding-left: 12px;
}

.projects-clients-actions::before {
  content: "";
  position: absolute;
  top: 5px;
  bottom: 5px;
  left: 0;
  width: 1px;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--line) 80%, var(--accent)), transparent);
}

.projects-clients-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.projects-client-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 370px), 370px));
  align-items: start;
  justify-content: start;
  gap: 12px;
}

.projects-client-list.is-table-view {
  display: block;
}

.projects-client-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-left: 4px solid var(--muted);
  border-radius: 8px;
  background: var(--surface-2);
}

.projects-client-card.is-ok { border-left-color: var(--teal); }
.projects-client-card.is-warn { border-left-color: var(--amber); }
.projects-client-card.is-bad { border-left-color: var(--red); }

.projects-client-card-main {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 12px;
  text-align: left;
}

.projects-client-card-main:hover,
.projects-client-card-main:focus-visible {
  background: color-mix(in srgb, var(--teal) 5%, transparent);
  outline: none;
}

.projects-client-card-main:focus-visible {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--accent) 62%, transparent);
}

.projects-client-card-media {
  display: block;
  width: 92px;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
}

.projects-client-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.projects-client-card-copy {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
}

.projects-client-stats {
  gap: 6px;
}

.projects-client-stats span {
  min-height: 26px;
  padding: 3px 7px;
}

.projects-client-host {
  color: var(--muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-clients-table .projects-table-head,
.projects-clients-table .projects-table-row {
  grid-template-columns: minmax(240px, 1.35fr) minmax(110px, 0.62fr) minmax(128px, 0.72fr) minmax(128px, 0.72fr) minmax(86px, auto);
}

.projects-next-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.projects-next-action.is-disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.projects-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(5, minmax(112px, 0.42fr)) auto;
  align-items: end;
  gap: 8px;
  margin-bottom: 12px;
  min-width: 0;
}

.projects-search-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--muted);
  padding: 0 10px;
}

.projects-search-field svg,
.projects-view-toggle button svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.projects-search-field svg {
  width: 16px;
  height: 16px;
  stroke-width: 1.9;
}

.projects-search-field input {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-width: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--text);
  filter: none;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  outline: 0;
  padding: 9px 0 9px 8px;
}

.projects-search-field input:focus,
.projects-search-field input:focus-visible {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0;
}

.projects-search-field input[type="search"]::-webkit-search-decoration,
.projects-search-field input[type="search"]::-webkit-search-cancel-button,
.projects-search-field input[type="search"]::-webkit-search-results-button,
.projects-search-field input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none;
  appearance: none;
}

.projects-search-field:focus-within {
  border-color: color-mix(in srgb, var(--teal) 46%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 10%, transparent);
}

.projects-filter-control {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.projects-filter-control span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 820;
}

.projects-filter-control select,
.projects-form input,
.projects-form select,
.projects-form textarea {
  width: 100%;
  min-width: 0;
}

.projects-view-toggle {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.projects-view-toggle button {
  display: grid;
  width: 36px;
  min-width: 36px;
  min-height: 34px;
  place-items: center;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  padding: 7px 9px;
}

.projects-view-toggle button svg {
  width: 17px;
  height: 17px;
  stroke-width: 1.8;
}

.projects-view-toggle button.active {
  color: var(--teal);
}

.projects-detail-topbar {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
  min-width: 0;
}

.projects-detail-topbar .projects-detail-subnav {
  margin-bottom: 0;
}

.projects-task-filter-pills {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}

.projects-filter-pills {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 4px;
}

.projects-icon-filter-pills {
  justify-content: flex-end;
}

.projects-filter-pills button {
  min-height: 34px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 820;
  padding: 7px 10px;
  white-space: nowrap;
}

.projects-icon-filter-pills .task-state-filter {
  min-width: 46px;
  gap: 6px;
  padding: 6px 8px;
}

.projects-icon-filter-pills .task-state-filter svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

.projects-icon-filter-pills .task-state-filter span {
  font-variant-numeric: tabular-nums;
}

.projects-filter-pills button.active {
  color: var(--teal);
}

.projects-priority-pills button[data-projects-task-priority-pill="high"] {
  --glass-control-accent: var(--amber);
}

.projects-priority-pills button[data-projects-task-priority-pill="urgent"] {
  --glass-control-accent: var(--red);
}

.projects-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 360px));
  align-items: start;
  justify-content: start;
  gap: 12px;
}

.projects-list.is-table-view {
  display: block;
}

.projects-card {
  display: grid;
  grid-template-rows: 154px minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.projects-card-media {
  display: block;
  width: 100%;
  border: 0;
  overflow: hidden;
  min-width: 0;
  background: var(--surface-3);
  color: inherit;
  cursor: pointer;
  padding: 0;
  text-align: inherit;
}

.projects-card-media img,
.projects-table-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.projects-card-body {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 12px;
}

.projects-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
}

.projects-title {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.projects-title-button {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-align: left;
}

.projects-title-button:hover strong,
.projects-title-button:focus-visible strong {
  color: var(--accent);
}

.projects-card-media:focus-visible,
.projects-title-button:focus-visible,
.projects-table-image-button:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 62%, transparent);
  outline-offset: 2px;
}

.projects-title strong,
.projects-title small,
.projects-card p,
.projects-table-cell span,
.projects-table-cell small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.projects-title strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 860;
  line-height: 1.25;
}

.projects-title small,
.projects-card p,
.projects-table-cell small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.projects-card p {
  display: -webkit-box;
  margin: 0;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.projects-status-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  padding: 3px 8px;
  white-space: nowrap;
}

.projects-status-pill.is-ok {
  border-color: color-mix(in srgb, var(--teal) 45%, var(--line));
  color: var(--teal);
}

.projects-status-pill.is-warn {
  border-color: color-mix(in srgb, var(--amber) 45%, var(--line));
  color: var(--amber);
}

.projects-status-pill.is-bad {
  border-color: color-mix(in srgb, var(--red) 45%, var(--line));
  color: var(--red);
}

.projects-meta,
.projects-tags,
.projects-card-foot,
.projects-card-counts,
.projects-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.projects-meta span,
.projects-card-counts span,
.projects-client-link {
  color: var(--muted);
  font-size: 12px;
}

.projects-client-link {
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-weight: 820;
  overflow: hidden;
  padding: 0;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-client-link:hover,
.projects-client-link:focus-visible {
  color: var(--accent);
  outline: none;
  text-decoration: underline;
}

.projects-card-counts strong {
  color: var(--text);
}

.projects-card-foot {
  justify-content: space-between;
  margin-top: 2px;
}

.projects-actions {
  justify-content: flex-end;
  margin-left: auto;
}

.projects-actions .icon-button,
.projects-table-actions .icon-button {
  width: 34px;
  height: 34px;
}

.projects-idea-card:has(.projects-archive-row.is-confirming),
.projects-table-row:has(.projects-archive-row.is-confirming),
.projects-kanban-task:has(.projects-archive-row.is-confirming) {
  z-index: 20;
}

.projects-table:has(.projects-archive-row.is-confirming),
.projects-actions:has(.projects-archive-row.is-confirming),
.projects-table-actions:has(.projects-archive-row.is-confirming) {
  overflow: visible;
}

.projects-actions:has(.projects-archive-row.is-confirming),
.projects-table-actions:has(.projects-archive-row.is-confirming) {
  position: relative;
  z-index: 40;
}

.projects-actions:has(.projects-archive-row.is-confirming) > .icon-button,
.projects-table-actions:has(.projects-archive-row.is-confirming) > .icon-button {
  pointer-events: none;
}

.projects-archive-row {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  position: relative;
  gap: 6px;
}

.projects-archive-row.is-confirming {
  z-index: 30;
  position: static;
}

.projects-archive-button {
  border-color: color-mix(in srgb, var(--red) 28%, var(--line));
  color: var(--red);
}

.projects-archive-confirm {
  position: absolute;
  top: 50%;
  right: calc(100% + 10px);
  z-index: 12;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 9px 11px;
  width: min(318px, calc(100vw - 42px));
  min-width: min(292px, calc(100vw - 42px));
  border: 1px solid color-mix(in srgb, var(--red) 24%, var(--line));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--red) 8%, transparent), transparent 52%),
    color-mix(in srgb, var(--surface) 96%, var(--bg));
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
  padding: 12px;
  transform: translateY(-50%);
}

.projects-archive-confirm::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -6px;
  width: 10px;
  height: 10px;
  border-top: 1px solid color-mix(in srgb, var(--red) 24%, var(--line));
  border-right: 1px solid color-mix(in srgb, var(--red) 24%, var(--line));
  background: color-mix(in srgb, var(--surface) 96%, var(--bg));
  transform: translateY(-50%) rotate(45deg);
}

.projects-archive-confirm-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--red) 32%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--red) 12%, var(--surface-2));
  color: var(--red);
}

.projects-archive-confirm-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.1;
}

.projects-archive-confirm-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.projects-archive-confirm-copy strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.2;
}

.projects-archive-confirm-copy small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.projects-archive-confirm-actions {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.projects-archive-confirm-action,
.projects-archive-cancel {
  white-space: nowrap;
}

.projects-archive-cancel {
  color: var(--muted);
}

@media (max-width: 720px) {
  .projects-archive-confirm {
    position: fixed;
    top: 50%;
    right: auto;
    left: 50%;
    z-index: 120;
    width: min(320px, calc(100vw - 42px));
    min-width: min(280px, calc(100vw - 42px));
    max-width: calc(100vw - 42px);
    transform: translate(-50%, -50%);
  }

  .projects-archive-confirm::after {
    display: none;
  }

  .projects-archive-confirm-actions {
    grid-column: 1 / -1;
  }
}

.projects-table {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.projects-table-head,
.projects-table-row {
  display: grid;
  grid-template-columns: minmax(230px, 1.35fr) minmax(120px, 0.7fr) minmax(116px, 0.68fr) minmax(120px, 0.64fr) minmax(110px, 0.58fr) minmax(118px, 0.62fr) minmax(86px, auto);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.projects-table-head {
  padding: 9px 12px;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 860;
  text-transform: uppercase;
}

.projects-table-body {
  display: grid;
}

.projects-table-row {
  border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  padding: 10px 12px;
}

.projects-table-row:last-child {
  border-bottom: 0;
}

.projects-table-row:hover {
  background: color-mix(in srgb, var(--teal) 5%, var(--surface));
}

.projects-table-cell {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.projects-table-main {
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.projects-table-image-button {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 0;
}

.projects-table-main img {
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
}

.projects-table-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
}

.projects-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.projects-field-wide {
  grid-column: span 2;
}

.projects-form-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.projects-detail-section {
  margin-bottom: 12px;
}

.projects-detail-subnav {
  max-width: 100%;
  min-width: 0;
  margin-bottom: 12px;
  overflow-x: auto;
  overflow-y: hidden;
}

.projects-detail-inner-panel {
  display: none;
  min-width: 0;
}

.projects-detail-inner-panel.active {
  display: block;
}

.projects-detail-head {
  display: grid;
  grid-template-columns: 122px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: stretch;
  min-width: 0;
  border: 1px solid var(--line);
  border-left: 4px solid var(--muted);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 12px;
}

.projects-detail-head.is-ok { border-left-color: var(--teal); }
.projects-detail-head.is-warn { border-left-color: var(--amber); }
.projects-detail-head.is-bad { border-left-color: var(--red); }

.projects-detail-media {
  width: 122px;
  min-height: 98px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
}

.projects-detail-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.projects-detail-copy {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
}

.projects-detail-title {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.projects-detail-title h3 {
  margin: 0;
  color: var(--text);
  font-size: 22px;
  line-height: 1.1;
}

.projects-detail-title p {
  max-width: 920px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.projects-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.projects-detail-stats span,
.projects-detail-stat-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  font-size: 12px;
  padding: 4px 8px;
}

.projects-detail-stat-link {
  cursor: pointer;
  font: inherit;
}

.projects-detail-stat-link:hover,
.projects-detail-stat-link:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  color: var(--text);
  outline: none;
}

.projects-detail-stats strong,
.projects-detail-stat-link strong {
  color: var(--text);
}

.projects-detail-actions {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.projects-section-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.projects-detail-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr);
  align-items: start;
  gap: 12px;
}

.projects-tasks-section {
  margin-bottom: 12px;
}

.projects-tasks-toolbar {
  grid-template-columns: minmax(240px, 1fr) repeat(3, minmax(128px, 0.34fr)) auto;
}

.projects-tasks-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.58fr);
  align-items: start;
  gap: 12px;
}

.projects-tasks-list {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.projects-tasks-list.is-table-view {
  display: block;
}

.projects-task-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 12px;
}

.projects-task-main {
  display: grid;
  align-content: start;
  gap: 9px;
  min-width: 0;
}

.projects-task-card p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.projects-task-card .projects-resolution {
  border-left: 2px solid color-mix(in srgb, var(--teal) 55%, var(--line));
  padding-left: 8px;
  -webkit-line-clamp: 2;
}

.ads-manager-module {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: calc(100vh - 56px);
}

.ads-manager-module.hidden {
  display: none;
}

.ads-manager-panel {
  display: none;
}

.ads-manager-panel.active {
  display: block;
}

.ads-manager-summary-section {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
}

.ads-manager-summary-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, auto);
  align-items: end;
  gap: 12px;
  min-width: 0;
}

.ads-manager-summary-copy {
  min-width: 0;
}

.ads-manager-summary-copy h3 {
  margin: 0;
}

.ads-manager-summary-copy p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.ads-manager-sync-strip {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.ads-manager-sync-strip .form-note {
  display: inline-flex;
  align-items: center;
  max-width: min(100%, 520px);
  min-height: 36px;
  min-width: 0;
  padding: 0 10px;
  line-height: 1.15;
  overflow-wrap: anywhere;
  text-align: right;
}

.ads-manager-sync-strip .form-note.is-success,
.ads-manager-sync-strip .form-note.is-error,
.ads-manager-sync-strip .form-note.is-warning {
  background: color-mix(in srgb, currentColor 8%, transparent);
}

.ads-manager-sync-strip .form-note:empty {
  display: none;
}

.ads-manager-sync-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  min-width: 0;
}

.ads-manager-sync-button {
  position: relative;
  gap: 7px;
  min-height: 36px;
  min-width: 0;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--accent) 26%, var(--line));
  background:
    linear-gradient(145deg, color-mix(in srgb, #ffffff 10%, transparent), color-mix(in srgb, var(--accent) 7%, transparent)),
    color-mix(in srgb, var(--surface) 24%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #ffffff 18%, transparent),
    0 8px 18px color-mix(in srgb, var(--accent) 7%, transparent);
  -webkit-backdrop-filter: blur(10px) saturate(1.12);
  backdrop-filter: blur(10px) saturate(1.12);
  backdrop-filter: url("#sombra-control-glass") blur(10px) saturate(1.12);
  white-space: nowrap;
}

.ads-manager-sync-button:hover,
.ads-manager-sync-button:focus-visible {
  background:
    linear-gradient(145deg, color-mix(in srgb, #ffffff 14%, transparent), color-mix(in srgb, var(--accent) 11%, transparent)),
    color-mix(in srgb, var(--surface) 30%, transparent);
}

:root[data-theme="light"] .ads-manager-sync-button {
  background:
    linear-gradient(145deg, color-mix(in srgb, #ffffff 20%, transparent), color-mix(in srgb, var(--accent) 6%, transparent)),
    color-mix(in srgb, var(--surface) 12%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #ffffff 34%, transparent),
    0 8px 16px color-mix(in srgb, var(--accent) 5%, transparent);
}

:root[data-theme="light"] .ads-manager-sync-button:hover,
:root[data-theme="light"] .ads-manager-sync-button:focus-visible {
  background:
    linear-gradient(145deg, color-mix(in srgb, #ffffff 26%, transparent), color-mix(in srgb, var(--accent) 8%, transparent)),
    color-mix(in srgb, var(--surface) 16%, transparent);
}

.ads-manager-refresh-button {
  border-color: color-mix(in srgb, var(--accent) 22%, var(--line));
}

.ads-manager-sync-now {
  border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
}

.ads-manager-sync-button-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ads-manager-sync-button.is-loading svg {
  animation: job-spin 0.85s linear infinite;
}

.ads-manager-sync-button-progress {
  display: none;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  overflow: hidden;
  background: color-mix(in srgb, var(--accent) 16%, transparent);
  pointer-events: none;
}

.ads-manager-sync-button.is-loading .ads-manager-sync-button-progress {
  display: block;
}

.ads-manager-sync-button-progress::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 42%;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb, var(--accent) 42%, transparent) 28%,
    color-mix(in srgb, var(--wave-progress) 88%, #ffffff) 58%,
    transparent 100%
  );
  box-shadow: 0 0 14px color-mix(in srgb, var(--accent) 34%, transparent);
  animation: ads-manager-sync-button-progress 1.15s ease-in-out infinite;
}

@keyframes ads-manager-sync-button-progress {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(340%);
  }
}

#ads-manager-module-view.is-campaign-detail-active > .ads-manager-subnav,
#ads-manager-module-view.is-campaign-detail-active > .ads-manager-metrics-strip {
  display: none;
}

.ads-manager-metrics-strip .ads-manager-kpi,
.ads-manager-detail-kpis .ads-manager-kpi {
  min-width: 0;
}

.ads-manager-summary-section .ads-manager-metrics-strip {
  margin-bottom: 12px;
}

#ads-manager-kpis.task-metrics-strip.ads-manager-metrics-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
}

#ads-manager-kpis .ads-manager-kpi {
  inline-size: 100%;
  justify-self: stretch;
  cursor: default;
  transition: background 160ms ease;
}

#ads-manager-kpis .ads-manager-kpi .task-metric-copy {
  width: 100%;
  max-width: 100%;
}

#ads-manager-kpis .ads-manager-kpi .task-metric-copy span,
#ads-manager-kpis .ads-manager-kpi .task-metric-copy small {
  overflow-wrap: anywhere;
}

#ads-manager-kpis .ads-manager-kpi .task-metric-copy strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

#ads-manager-kpis .ads-manager-kpi:hover {
  background: color-mix(in srgb, var(--metric-color) 5%, transparent);
}

#ads-manager-kpis .ads-manager-kpi::after {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: 0;
  border-radius: 7px;
  background:
    radial-gradient(ellipse 88% 62% at 18% 118%, color-mix(in srgb, var(--glass-static-accent) 50%, transparent) 0%, transparent 68%),
    radial-gradient(ellipse 72% 54% at 86% 116%, color-mix(in srgb, var(--glass-static-accent) 36%, rgba(255, 255, 255, 0.08)) 0%, transparent 70%),
    linear-gradient(102deg, transparent 0 18%, rgba(255, 255, 255, 0.2) 47%, transparent 78%),
    linear-gradient(0deg, color-mix(in srgb, var(--glass-static-accent) 22%, transparent), transparent 74%);
  background-repeat: no-repeat;
  background-position:
    -18% 118%,
    112% 118%,
    -48% 100%,
    0 18px;
  background-size:
    76% 88%,
    70% 82%,
    160% 70%,
    100% 72%;
  background-blend-mode: screen, screen, soft-light, normal;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.42) 20%, #000 56%, #000 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.42) 20%, #000 56%, #000 100%);
  filter: blur(6px) saturate(1.34);
  opacity: 0;
  pointer-events: none;
  animation: sombra-glass-magic-rise 5.6s ease-in-out infinite alternate;
  transition: opacity 180ms ease;
}

#ads-manager-kpis .ads-manager-kpi:hover::after {
  opacity: 0.66;
}

.ads-manager-scope-toolbar {
  display: flex;
  align-items: end;
  flex-wrap: nowrap;
  gap: 8px;
  margin-bottom: 12px;
  width: 100%;
  min-width: 0;
}

.ads-manager-scope-toolbar > .projects-search-field {
  flex: 999 1 320px;
  align-self: end;
  width: auto;
  max-width: none;
  min-width: min(100%, 240px);
  min-height: 36px;
  height: 36px;
  border-color: color-mix(in srgb, var(--accent) 24%, var(--line));
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--surface) 94%, var(--accent) 4%), color-mix(in srgb, var(--surface-2) 92%, var(--accent) 3%));
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #ffffff 12%, transparent),
    0 8px 18px rgba(0, 0, 0, 0.06);
}

.ads-manager-scope-toolbar > .projects-search-field svg {
  color: color-mix(in srgb, var(--text) 68%, var(--muted));
}

.ads-manager-scope-toolbar > .projects-search-field input,
.ads-manager-scope-toolbar > .projects-search-field input[type="search"] {
  height: auto;
  min-height: 0;
  padding: 0 0 0 8px;
}

.ads-manager-scope-toolbar > .projects-search-field:focus-within {
  border-color: color-mix(in srgb, var(--accent) 50%, var(--line));
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #ffffff 16%, transparent),
    0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent);
}

.ads-manager-scope-toolbar > .projects-filter-control {
  flex: 0 1 146px;
}

.ads-manager-scope-toolbar > .ads-manager-campaign-jump-control {
  flex-basis: 220px;
}

@media (max-width: 1180px) {
  .ads-manager-scope-toolbar {
    flex-wrap: wrap;
  }

  .ads-manager-scope-toolbar > .projects-search-field {
    flex: 999 1 360px;
  }

  .ads-manager-scope-toolbar > .projects-filter-control {
    flex: 1 1 142px;
  }
}

.ads-manager-monitor-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 12px;
}

.ads-manager-monitor-grid.is-detail {
  grid-template-columns: minmax(0, 1fr) minmax(240px, .38fr);
}

.ads-manager-chart-block,
.ads-manager-alerts {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
}

.ads-manager-chart-block {
  display: grid;
  grid-template-rows: auto minmax(304px, auto);
  overflow: hidden;
}

.ads-manager-chart-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px 4px;
  color: var(--muted);
  font-size: 12px;
}

.ads-manager-chart-head strong {
  color: var(--text);
  font-size: 13px;
}

.ads-manager-chart {
  --ads-chart-cost: #2dd4bf;
  --ads-chart-cost-soft: color-mix(in srgb, var(--ads-chart-cost) 72%, var(--surface));
  --ads-chart-grid: color-mix(in srgb, var(--line) 72%, transparent);
  --ads-chart-hover: color-mix(in srgb, var(--teal) 16%, transparent);
  min-height: 304px;
  padding: 10px 14px 16px;
}

.ads-manager-chart.is-detail {
  padding-top: 6px;
}

.ads-manager-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 4px 10px 14px;
  color: var(--muted);
  font-size: 11px;
}

.ads-manager-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}

.ads-manager-chart-legend i {
  display: inline-block;
  width: 16px;
  height: 3px;
  border-radius: 99px;
  background: var(--ads-chart-cost);
}

.ads-manager-chart-legend i.is-cost { background: var(--ads-chart-cost); }
.ads-manager-chart-legend i.is-clicks { background: var(--blue); }
.ads-manager-chart-legend i.is-conversions { background: var(--amber); }

.ads-manager-chart-legend.is-campaigns {
  gap: 7px 12px;
}

.ads-manager-chart-legend.is-campaigns span {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ads-manager-chart-legend.is-campaigns i {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--ads-line-color);
}

.ads-manager-chart svg {
  display: block;
  width: 100%;
  height: var(--ads-chart-height, 304px);
  min-width: 0;
  overflow: visible;
}

.ads-manager-chart-grid {
  stroke: var(--ads-chart-grid);
  stroke-dasharray: 3 5;
  stroke-width: 1;
}

.ads-manager-chart-axis {
  stroke: var(--line);
  stroke-width: 1;
}

.ads-manager-chart-axis.is-y {
  opacity: .76;
}

.ads-manager-chart-bar {
  fill: var(--ads-chart-cost-soft);
  stroke: color-mix(in srgb, var(--ads-chart-cost) 76%, transparent);
  stroke-width: .8;
}

.ads-manager-chart-line {
  fill: none;
  stroke: var(--blue);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ads-manager-chart-line.is-conversions {
  stroke: var(--amber);
  stroke-dasharray: 7 5;
  stroke-width: 2;
}

.ads-manager-chart-line.is-campaign {
  stroke: var(--ads-line-color);
  stroke-width: 2.6;
}

.ads-manager-chart-dot {
  fill: var(--surface);
  stroke: var(--blue);
  stroke-width: 2;
}

.ads-manager-chart-dot.is-conversions {
  stroke: var(--amber);
}

.ads-manager-chart-dot.is-campaign {
  stroke: var(--ads-line-color);
  stroke-width: 2;
}

.ads-manager-chart-axis-label,
.ads-manager-chart-label {
  fill: var(--muted);
  font-size: 10px;
}

.ads-manager-chart-axis-label {
  font-variant-numeric: tabular-nums;
}

.ads-manager-chart-axis-title {
  fill: color-mix(in srgb, var(--muted) 86%, var(--text));
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.ads-manager-chart-hit-zone {
  fill: transparent;
  outline: none;
  pointer-events: all;
}

.ads-manager-chart-hit-zone:hover,
.ads-manager-chart-hit-zone:focus-visible {
  fill: var(--ads-chart-hover);
}

.ads-manager-alerts {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 10px;
}

@media (min-width: 901px) {
  #ads-manager-alerts {
    max-height: 360px;
    overflow-y: auto;
  }
}

.ads-manager-alert-list,
.ads-manager-audit-list {
  display: grid;
  gap: 8px;
}

.ads-manager-alert {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  border-left: 3px solid var(--amber);
  border-radius: 6px;
  padding: 9px 10px;
  background: color-mix(in srgb, var(--amber) 10%, transparent);
}

.ads-manager-alert.is-high,
.ads-manager-alert.is-critical {
  border-left-color: var(--red);
  background: color-mix(in srgb, var(--red) 9%, transparent);
}

.ads-manager-alert.is-low {
  border-left-color: var(--blue);
  background: color-mix(in srgb, var(--blue) 7%, transparent);
}

.ads-manager-alert-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.ads-manager-alert strong {
  font-size: 13px;
}

.ads-manager-alert span,
.ads-manager-alert small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.ads-manager-alert strong,
.ads-manager-alert span,
.ads-manager-alert small {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ads-manager-audit-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 9px 10px;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
}

.ads-manager-audit-item > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.ads-manager-audit-item strong,
.ads-manager-audit-item span,
.ads-manager-audit-item small {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ads-manager-audit-item span,
.ads-manager-audit-item small {
  color: var(--muted);
  font-size: 12px;
}

.ads-manager-toolbar {
  margin-bottom: 12px;
}

.ads-manager-campaign-jump-control {
  min-width: 260px;
  flex: 1 1 280px;
}

.ads-manager-campaign-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 10px;
}

.projects-card.ads-manager-campaign-card {
  grid-template-rows: auto;
  border-left: 3px solid var(--line);
}

.ads-manager-campaign-card.is-ok { border-left-color: var(--teal); }
.ads-manager-campaign-card.is-warn { border-left-color: var(--amber); }
.ads-manager-campaign-card.is-bad { border-left-color: var(--red); }
.ads-manager-campaign-card.is-stalled { border-left-color: var(--muted); }

.ads-manager-campaign-diagnostic {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--teal);
  border-radius: 6px;
  padding: 7px 8px;
  background: color-mix(in srgb, var(--surface) 72%, transparent);
}

.ads-manager-campaign-diagnostic.is-warn {
  border-left-color: var(--amber);
}

.ads-manager-campaign-diagnostic.is-bad {
  border-left-color: var(--red);
}

.ads-manager-campaign-diagnostic.is-stalled {
  border-left-color: var(--muted);
}

.ads-manager-campaign-diagnostic strong,
.ads-manager-campaign-diagnostic span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ads-manager-campaign-diagnostic strong {
  color: var(--text);
  font-size: 12px;
}

.ads-manager-campaign-diagnostic span {
  color: var(--muted);
  font-size: 11px;
}

.ads-manager-campaign-mini {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.ads-manager-campaign-mini span {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 8px;
  background: color-mix(in srgb, var(--surface) 74%, transparent);
}

.ads-manager-campaign-mini strong,
.ads-manager-campaign-mini small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ads-manager-campaign-mini strong {
  color: var(--text);
  font-size: 14px;
}

.ads-manager-campaign-mini small {
  color: var(--muted);
  font-size: 11px;
}

.ads-manager-sparkline {
  display: block;
  width: 100%;
  height: 30px;
  margin: -2px 0 8px;
}

.ads-manager-sparkline polyline {
  fill: none;
  stroke: var(--blue);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.ads-manager-client-list {
  display: grid;
  gap: 10px;
}

.ads-manager-table .projects-table-head,
.ads-manager-table .projects-table-row {
  grid-template-columns: minmax(240px, 1.4fr) minmax(110px, .7fr) minmax(120px, .75fr) minmax(90px, .55fr) minmax(80px, .45fr) minmax(80px, .45fr) minmax(44px, auto);
}

.ads-manager-terms-list .ads-manager-table .projects-table-head,
.ads-manager-terms-list .ads-manager-table .projects-table-row,
.ads-manager-terms-table .projects-table-head,
.ads-manager-terms-table .projects-table-row {
  grid-template-columns: 42px minmax(220px, 1.4fr) minmax(190px, .95fr) minmax(68px, .35fr) minmax(68px, .35fr) minmax(90px, .45fr) minmax(70px, .35fr) minmax(96px, .55fr);
}

.ads-manager-detail-section .ads-manager-terms-table .projects-table-head,
.ads-manager-detail-section .ads-manager-terms-table .projects-table-row {
  grid-template-columns: 42px minmax(240px, 1.5fr) minmax(68px, .35fr) minmax(68px, .35fr) minmax(90px, .45fr) minmax(70px, .35fr) minmax(96px, .55fr);
}

.ads-manager-term-select-cell {
  align-items: center;
  justify-content: center;
}

.ads-manager-term-select-cell input {
  width: 18px;
  height: 18px;
  accent-color: var(--teal);
}

.ads-manager-term-action-bar,
.ads-manager-action-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
}

.ads-manager-term-action-bar {
  margin-bottom: 10px;
  padding: 9px 10px;
}

.ads-manager-term-action-bar > span {
  color: var(--muted);
  font-size: 12px;
}

.ads-manager-term-action-bar > div,
.ads-manager-action-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.ads-manager-actions-panel {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.ads-manager-action-list {
  display: grid;
  gap: 8px;
}

.ads-manager-action-item {
  border-left: 3px solid var(--line);
  padding: 9px 10px;
}

.ads-manager-action-item.is-ok { border-left-color: var(--teal); }
.ads-manager-action-item.is-warn { border-left-color: var(--amber); }
.ads-manager-action-item.is-bad { border-left-color: var(--red); }
.ads-manager-action-item.is-stalled { border-left-color: var(--muted); }

.ads-manager-action-item > div:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.ads-manager-action-item strong,
.ads-manager-action-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ads-manager-action-item small {
  color: var(--muted);
  font-size: 12px;
}

.ads-manager-detail-section {
  min-width: 0;
}

.ads-manager-detail-topbar {
  margin-bottom: 12px;
}

.ads-manager-detail-section .projects-detail-head {
  grid-template-columns: minmax(0, 1fr) auto;
}

.ads-manager-detail-section .projects-detail-copy {
  gap: 12px;
}

.ads-manager-detail-section .projects-detail-title h3 {
  max-width: 900px;
}

.ads-manager-detail-brief {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0 12px;
}

.ads-manager-detail-brief article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
}

.ads-manager-detail-brief-main {
  border-left: 3px solid var(--teal) !important;
}

.ads-manager-detail-brief-main.is-warn {
  border-left-color: var(--amber) !important;
}

.ads-manager-detail-brief-main.is-bad {
  border-left-color: var(--red) !important;
}

.ads-manager-detail-brief span,
.ads-manager-detail-brief small,
.ads-manager-detail-brief strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ads-manager-detail-brief span,
.ads-manager-detail-brief small {
  color: var(--muted);
  font-size: 11px;
}

.ads-manager-detail-brief strong {
  margin: 2px 0;
  color: var(--text);
  font-size: 14px;
}

.ads-manager-data-table .projects-table-head,
.ads-manager-data-table .projects-table-row {
  grid-template-columns: var(--ads-manager-table-columns);
}

.ads-manager-data-table .projects-table-cell span,
.ads-manager-data-table .projects-table-head span {
  overflow-wrap: normal;
}

@media (max-width: 980px) {
  .ads-manager-summary-head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .ads-manager-sync-strip {
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .ads-manager-sync-strip .form-note {
    text-align: left;
  }

  .ads-manager-detail-brief {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #ads-manager-kpis.task-metrics-strip.ads-manager-metrics-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ads-manager-detail-brief-main {
    grid-column: 1 / -1;
  }

  .ads-manager-monitor-grid,
  .ads-manager-monitor-grid.is-detail {
    grid-template-columns: 1fr;
  }

  .ads-manager-detail-section .projects-detail-head {
    grid-template-columns: 1fr;
  }

  .ads-manager-table .projects-table-head {
    display: none;
  }

  .ads-manager-table .projects-table-row {
    grid-template-columns: 1fr;
  }

  .ads-manager-term-select-cell {
    justify-content: flex-start;
  }

  .ads-manager-term-action-bar,
  .ads-manager-action-item,
  .ads-manager-alert,
  .ads-manager-audit-item {
    align-items: stretch;
    flex-direction: column;
  }

  .ads-manager-term-action-bar > div,
  .ads-manager-action-controls {
    justify-content: flex-start;
  }

  .ads-manager-campaign-mini {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ads-manager-chart-block {
    grid-template-rows: auto minmax(276px, auto);
  }

  .ads-manager-chart {
    min-height: 276px;
    padding: 8px 10px 14px;
  }

  .ads-manager-chart-legend {
    padding: 3px 6px 10px;
  }
}

@media (max-width: 560px) {
  .ads-manager-sync-strip,
  .ads-manager-sync-actions {
    width: 100%;
  }

  .ads-manager-sync-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ads-manager-sync-button {
    width: 100%;
  }

  .ads-manager-detail-brief {
    grid-template-columns: 1fr;
  }

  .ads-manager-scope-toolbar > .projects-search-field,
  .ads-manager-scope-toolbar > .projects-filter-control {
    flex: 1 1 100%;
    width: 100%;
    max-width: none;
  }

  #ads-manager-kpis.task-metrics-strip.ads-manager-metrics-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #ads-manager-kpis .ads-manager-kpi:nth-child(odd)::before {
    display: none;
  }

  #ads-manager-kpis .ads-manager-kpi:nth-child(even)::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 28px;
    transform: translateY(-50%);
    background: color-mix(in srgb, var(--line) 72%, transparent);
  }

  #ads-manager-kpis .ads-manager-kpi:nth-child(n + 3) {
    border-top: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
  }

  .ads-manager-chart {
    min-height: 252px;
  }
}

.communications-module {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.communications-module.hidden {
  display: none;
}

.communications-subnav {
  margin-bottom: 6px;
}

.communications-metrics {
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
}

.task-metrics-strip.communications-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.communications-kpi {
  cursor: pointer;
}

.communications-kpi.is-ok {
  --metric-color: var(--green);
}

.communications-section {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.communications-toolbar {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.communications-toolbar > .communications-search-field {
  flex: 999 1 260px;
  min-width: min(100%, 240px);
}

.communications-toolbar > .filter-toolbar-separator {
  align-self: end;
  margin-bottom: 0;
}

.communications-filter-control {
  flex: 0 1 auto;
  display: grid;
  gap: 5px;
  max-width: none;
  min-width: 0;
}

.communications-account-control {
  min-width: 136px;
}

.communications-filter-control select {
  width: 100%;
  min-height: 36px;
}

.communications-filter-pills {
  min-width: 0;
}

.communications-filter-pills .projects-filter-pills {
  max-width: 100%;
  flex-wrap: nowrap;
}

.communications-channel-pills .task-state-filter,
.communications-status-pills .task-state-filter,
.communications-priority-pills .task-state-filter {
  min-width: 38px;
  min-height: 34px;
  gap: 0;
  padding: 6px 8px;
}

.communications-channel-pills .task-state-filter {
  color: var(--task-filter-color, var(--muted));
}

.communications-channel-pills .task-state-filter svg,
.communications-status-pills .task-state-filter svg,
.communications-priority-pills .task-state-filter svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

.communications-channel-pills button[data-communications-channel-pill="whatsapp"] {
  --task-filter-color: var(--green);
  --glass-control-accent: var(--green);
}

.communications-channel-pills button[data-communications-channel-pill="instagram_dm"] {
  --task-filter-color: #ec4899;
  --glass-control-accent: #ec4899;
}

.communications-channel-pills button[data-communications-channel-pill="email"] {
  --task-filter-color: var(--accent);
  --glass-control-accent: var(--accent);
}

.communications-channel-pills button[data-communications-channel-pill="telegram"] {
  --task-filter-color: #0ea5e9;
  --glass-control-accent: #0ea5e9;
}

.communications-channel-pills button[data-communications-channel-pill="manual"] {
  --task-filter-color: var(--amber);
  --glass-control-accent: var(--amber);
}

.communications-priority-pills button[data-communications-priority-pill="low"] {
  --task-filter-color: var(--green);
  --glass-control-accent: var(--green);
}

.communications-priority-pills button[data-communications-priority-pill="high"],
.communications-status-pills button[data-communications-status-pill="waiting_internal"],
.communications-status-pills button[data-communications-status-pill="waiting_external"] {
  --task-filter-color: var(--amber);
  --glass-control-accent: var(--amber);
}

.communications-priority-pills button[data-communications-priority-pill="urgent"] {
  --task-filter-color: var(--red);
  --glass-control-accent: var(--red);
}

.communications-status-pills button[data-communications-status-pill="resolved"] {
  --task-filter-color: var(--green);
  --glass-control-accent: var(--green);
}

.communications-status-pills button[data-communications-status-pill="open"],
.communications-priority-pills button[data-communications-priority-pill="normal"] {
  --task-filter-color: var(--accent);
  --glass-control-accent: var(--accent);
}

.communications-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.38fr);
  align-items: start;
  gap: 12px;
  min-width: 0;
}

.communications-layout.is-empty {
  grid-template-columns: minmax(0, 1fr);
}

.communications-layout.is-empty .communications-list {
  grid-column: 1 / -1;
}

.communications-layout.is-empty .communications-detail {
  display: none;
}

.communications-list,
.communications-actions-list,
.communications-accounts-list,
.communications-messages {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.communications-item.active {
  border-color: color-mix(in srgb, var(--teal) 58%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 10%, transparent);
}

.communications-action-item.active {
  border-color: color-mix(in srgb, var(--accent) 56%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 9%, transparent);
}

.communications-action-form.hidden {
  display: none;
}

.communications-account-form.hidden,
.communications-import-form.hidden {
  display: none;
}

.communications-action-form {
  margin-bottom: 2px;
  gap: 14px;
}

.communications-account-form,
.communications-import-form {
  margin-bottom: 2px;
  gap: 12px;
}

.communications-action-form > .projects-form-heading,
.communications-action-form > .communications-action-form-main,
.communications-action-form > .projects-form-actions,
.communications-account-form > .projects-form-heading,
.communications-account-form > .projects-field-wide,
.communications-account-form > .projects-form-actions,
.communications-import-form > .projects-form-heading,
.communications-import-form > .projects-field-wide,
.communications-import-form > .projects-form-actions {
  grid-column: 1 / -1;
}

.communications-account-form textarea,
.communications-import-form textarea {
  width: 100%;
  min-height: 190px;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
  resize: vertical;
}

.communications-action-form-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.36fr);
  gap: 18px;
  min-width: 0;
}

.communications-action-form-primary,
.communications-action-form-side,
.communications-action-date-stack {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
}

.communications-action-form-side {
  position: relative;
  padding-left: 18px;
}

.communications-action-form-side::before {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 0;
  width: 1px;
  background:
    linear-gradient(
      to bottom,
      transparent,
      color-mix(in srgb, var(--accent) 40%, transparent) 18%,
      color-mix(in srgb, var(--teal) 54%, transparent) 50%,
      color-mix(in srgb, var(--accent) 36%, transparent) 82%,
      transparent
    );
}

.communications-date-control .work-date-button {
  width: 100%;
}

.communications-inline-tools {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.communications-inline-input {
  display: grid;
  gap: 4px;
  min-width: min(100%, 220px);
}

.communications-inline-input input {
  min-height: 34px;
  border: 1px solid color-mix(in srgb, var(--line) 88%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 86%, transparent);
  color: var(--text);
  padding: 0 10px;
}

.communications-detail {
  position: sticky;
  top: 84px;
  display: grid;
  gap: 12px;
  min-width: 0;
  max-height: calc(100vh - 112px);
  overflow: auto;
  border: 1px solid color-mix(in srgb, var(--line) 84%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 76%, transparent);
  padding: 12px;
}

.communications-detail.hidden {
  display: none;
}

.communications-detail-head {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-width: 0;
}

.communications-detail-head p,
.communications-detail-head h3,
.communications-detail-head span {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.communications-detail-head p {
  color: var(--accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.communications-detail-head h3 {
  color: var(--text);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
}

.communications-detail-head span,
.communications-muted {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.communications-detail-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

.communications-detail-meta span {
  display: grid;
  gap: 2px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 70%, transparent);
  padding: 8px;
}

.communications-detail-meta strong,
.communications-detail-meta small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.communications-detail-meta strong {
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
}

.communications-detail-meta small {
  color: var(--text);
  font-size: 12px;
  font-weight: 820;
}

.communications-message {
  display: grid;
  gap: 6px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-left: 3px solid var(--muted);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 72%, transparent);
  padding: 9px;
}

.communications-message.is-inbound {
  border-left-color: var(--teal);
}

.communications-message.is-outbound {
  border-left-color: var(--accent);
}

.communications-message.is-internal {
  border-left-color: var(--amber);
}

.communications-message div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.communications-message strong,
.communications-message small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.communications-message strong {
  color: var(--text);
  font-size: 12px;
  font-weight: 860;
}

.communications-message small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.communications-message p {
  margin: 0;
  color: var(--text);
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.communications-link-block {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.communications-link-block > strong {
  color: var(--muted);
  font-size: 12px;
  font-weight: 860;
}

.communications-link-block > div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.communications-link-block > .communications-mini-list,
.communications-link-block > .communications-copilot-actions,
.communications-link-block > .communications-copilot-question {
  display: grid;
  gap: 7px;
}

.communications-link-block > .communications-copilot-actions {
  display: flex;
  flex-wrap: wrap;
}

.communications-copilot-question {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  min-width: 0;
}

.communications-copilot-answer {
  margin: 0;
  min-height: 18px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.communications-copilot-answer.is-success {
  color: var(--success);
}

.communications-copilot-answer.is-error {
  color: var(--danger);
}

.communications-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.communications-action-detail {
  display: grid;
  gap: 12px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 84%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 76%, transparent);
  padding: 12px;
}

.communications-action-detail.hidden {
  display: none;
}

.communications-action-detail-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.communications-action-detail-head div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.communications-action-detail-head p,
.communications-action-detail-head h3,
.communications-action-detail-head span {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.communications-action-detail-head p {
  color: var(--accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.communications-action-detail-head h3 {
  color: var(--text);
  font-size: 20px;
  font-weight: 900;
  line-height: 1.15;
}

.communications-action-detail-head span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.communications-action-detail-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.communications-action-block {
  display: grid;
  gap: 7px;
  min-width: 0;
  border-top: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
  padding-top: 10px;
}

.communications-action-block > strong {
  color: var(--muted);
  font-size: 12px;
  font-weight: 880;
}

.communications-action-block p {
  margin: 0;
  color: var(--text);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.communications-tags,
.communications-mini-list {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.communications-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.communications-mini-row,
.communications-checklist-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 72%, transparent);
  padding: 8px;
}

.communications-checklist-row {
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
}

.communications-checklist-row.is-done strong {
  text-decoration: line-through;
  color: var(--muted);
}

.communications-mini-row strong,
.communications-mini-row span,
.communications-checklist-row strong,
.communications-checklist-row small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.communications-mini-row strong,
.communications-checklist-row strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 840;
}

.communications-mini-row span,
.communications-checklist-row small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.projects-client-communication-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  border-top: 1px solid color-mix(in srgb, var(--line) 62%, transparent);
  padding: 8px 10px 10px;
}

.communications-empty-state {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-width: 0;
  border: 1px dashed color-mix(in srgb, var(--line) 78%, var(--muted) 18%);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 68%, transparent);
  padding: 14px;
}

.communications-empty-state strong {
  display: block;
  color: var(--text);
  font-size: 15px;
  font-weight: 860;
  line-height: 1.15;
}

.communications-empty-state p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.communications-empty-visual {
  display: grid;
  align-items: end;
  justify-items: center;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  width: 42px;
  height: 42px;
  border: 1px solid color-mix(in srgb, var(--teal) 28%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--teal) 7%, var(--surface));
  padding: 9px;
}

.communications-empty-visual span {
  display: block;
  width: 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--teal) 74%, var(--accent));
}

.communications-empty-visual span:nth-child(1) { height: 14px; }
.communications-empty-visual span:nth-child(2) { height: 22px; }
.communications-empty-visual span:nth-child(3) { height: 9px; }

.communications-empty-actions {
  display: flex;
  justify-content: flex-end;
  min-width: 0;
}

.work-inbox-module {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.work-inbox-module.hidden {
  display: none;
}

.work-inbox-section {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.work-inbox-subnav {
  margin-bottom: 6px;
}

.work-inbox-metrics {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.work-inbox-metrics .task-metric {
  min-height: 96px;
  padding: 16px 18px;
}

.work-inbox-kpi {
  cursor: pointer;
}

.work-inbox-toolbar {
  display: flex;
  align-items: end;
  flex-wrap: nowrap;
  gap: 8px;
  margin-bottom: 0;
  min-width: 0;
}

.work-inbox-toolbar > .projects-search-field {
  flex: 1 1 auto;
  min-width: min(100%, 240px);
}

.work-inbox-toolbar > .projects-filter-control {
  flex: 0 0 auto;
  display: grid;
  gap: 5px;
  min-width: 132px;
}

.work-inbox-filter-pills {
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  gap: 8px;
}

.work-inbox-priority-pills button[data-work-inbox-priority-pill="low"] {
  --glass-control-accent: var(--green);
}

.work-inbox-priority-pills button[data-work-inbox-priority-pill="high"] {
  --glass-control-accent: var(--amber);
}

.work-inbox-priority-pills button[data-work-inbox-priority-pill="urgent"] {
  --glass-control-accent: var(--red);
}

.work-inbox-toolbar select {
  width: 100%;
  min-height: 36px;
}

.work-inbox-team-band {
  display: grid;
  grid-template-columns: minmax(128px, 0.18fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 10px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 72%, transparent);
  padding: 10px;
}

.work-inbox-team-head {
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
}

.work-inbox-team-head strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 880;
}

.work-inbox-team-head span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.work-inbox-profiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 8px;
  min-width: 0;
}

.work-profile-chip {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  min-width: 0;
  min-height: 52px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--text);
  cursor: pointer;
  gap: 2px 9px;
  padding: 8px;
  text-align: left;
}

.work-profile-chip:hover,
.work-profile-chip:focus-visible,
.work-profile-chip.is-drop-target {
  border-color: color-mix(in srgb, var(--teal) 46%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 10%, transparent);
  outline: 0;
}

.work-profile-chip.is-drop-target {
  background: color-mix(in srgb, var(--teal) 9%, var(--surface-2));
}

.work-profile-chip img,
.work-profile-chip > span {
  grid-row: 1 / 3;
  width: 34px;
  height: 34px;
  border-radius: 50%;
}

.work-profile-chip img {
  object-fit: cover;
}

.work-profile-chip > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--teal) 16%, var(--surface));
  color: var(--teal);
  font-size: 12px;
  font-weight: 900;
}

.work-profile-chip strong,
.work-profile-chip small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-profile-chip strong {
  font-size: 13px;
  line-height: 1.1;
}

.work-profile-chip small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.work-inbox-form {
  margin: 0;
}

.work-inbox-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.34fr);
  align-items: stretch;
  gap: 20px;
  min-width: 0;
}

.work-composer-main,
.work-composer-side {
  min-width: 0;
}

.work-composer-main {
  display: grid;
  align-content: start;
  gap: 12px;
}

.work-composer-heading {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.work-composer-heading span,
.work-composer-block-label,
.work-composer-title span,
.work-composer-description span,
.work-composer-files > span {
  color: var(--accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.work-composer-heading strong {
  color: var(--text);
  font-size: clamp(22px, 2.1vw, 30px);
  font-weight: 920;
  line-height: 1.05;
}

.work-composer-title,
.work-composer-description,
.work-composer-files {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.work-composer-title input,
.work-composer-description textarea {
  width: 100%;
  border: 1px solid color-mix(in srgb, var(--line) 86%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 82%, transparent);
  color: var(--text);
  font: inherit;
  outline: 0;
}

.work-composer-title input {
  min-height: 58px;
  padding: 0 16px;
  font-size: 20px;
  font-weight: 860;
}

.work-composer-description textarea {
  min-height: 210px;
  resize: vertical;
  padding: 14px 16px;
  line-height: 1.45;
}

.work-composer-title input:focus,
.work-composer-description textarea:focus {
  border-color: color-mix(in srgb, var(--teal) 54%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 12%, transparent);
}

.work-file-dropzone {
  min-height: 92px;
  padding: 14px;
}

.work-file-dropzone svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.work-composer-side {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-self: stretch;
  padding-left: 20px;
}

.work-composer-side::before {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 0;
  width: 1px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--ex-blue) 10%, transparent),
    color-mix(in srgb, var(--ex-cyan) 72%, transparent) 32%,
    color-mix(in srgb, var(--ex-mint) 70%, transparent) 68%,
    color-mix(in srgb, var(--ex-green) 10%, transparent)
  );
}

.work-composer-block {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.work-composer-priority {
  display: flex;
  align-items: center;
  gap: 6px;
}

.work-composer-choice,
.work-date-button,
.work-assignee-choice {
  position: relative;
  display: grid;
  align-items: center;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 76%, transparent);
  color: var(--text);
  cursor: pointer;
  text-align: left;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

.work-composer-choice {
  --choice-color: var(--teal);
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 7px;
  min-height: 42px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 820;
}

.work-composer-priority-icon {
  display: inline-grid;
  grid-template-columns: 1fr;
  justify-items: center;
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  text-align: center;
}

.work-composer-choice svg,
.work-date-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.work-composer-choice.is-finished { --choice-color: var(--green); }
.work-composer-choice.is-pending { --choice-color: var(--teal); }
.work-composer-choice.is-attention { --choice-color: var(--amber); }
.work-composer-choice.is-cancelled { --choice-color: var(--red); }

.work-composer-choice:hover,
.work-composer-choice:focus-visible,
.work-composer-choice.active,
.work-date-button:hover,
.work-date-button:focus-visible,
.work-date-button.has-value,
.work-assignee-choice:hover,
.work-assignee-choice:focus-visible,
.work-assignee-choice.active {
  border-color: color-mix(in srgb, var(--choice-color, var(--teal)) 52%, var(--line));
  background: color-mix(in srgb, var(--choice-color, var(--teal)) 8%, var(--surface));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--choice-color, var(--teal)) 10%, transparent);
  outline: 0;
}

.work-composer-choice.active {
  color: var(--choice-color);
}

.work-composer-dates {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.work-composer-date {
  position: relative;
  display: grid;
  gap: 6px;
  min-width: 0;
}

.work-date-control {
  position: relative;
  display: grid;
  min-height: 48px;
  min-width: 0;
}

.work-date-button {
  --choice-color: var(--accent);
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 9px;
  min-height: 48px;
  padding: 8px 42px 8px 10px;
}

.work-date-clear {
  position: absolute;
  top: 50%;
  right: 7px;
  z-index: 3;
  width: 28px;
  height: 28px;
  min-height: 28px;
  transform: translateY(-50%);
  color: var(--muted);
  background: color-mix(in srgb, var(--surface) 82%, transparent);
}

.work-date-clear:not(.hidden) {
  display: inline-grid;
}

.work-date-clear:hover,
.work-date-clear:focus-visible {
  color: var(--red);
}

.work-date-button span {
  display: grid;
  min-width: 0;
}

.work-date-button strong,
.work-date-button small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-date-button strong {
  font-size: 12px;
  font-weight: 860;
}

.work-date-button small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
}

.work-date-button.has-value small {
  color: var(--accent);
}

.work-date-input {
  position: absolute;
  inset: auto auto 0 0;
  z-index: -1;
  width: 1px;
  height: 1px;
  border: 0;
  opacity: 0;
  pointer-events: none;
}

.work-date-input:focus {
  outline: 0;
}

.work-date-popover {
  display: none;
}

.work-date-popover.hidden {
  display: none;
}

.work-composer-assignees {
  display: grid;
  gap: 6px;
  min-width: 0;
  max-height: 260px;
  overflow: auto;
  padding-right: 2px;
}

.work-assignee-choice {
  --choice-color: var(--teal);
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 8px;
  min-height: 48px;
  padding: 7px 9px;
}

.work-assignee-choice img,
.work-assignee-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
}

.work-assignee-choice img {
  object-fit: cover;
}

.work-assignee-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--teal) 16%, var(--surface));
  color: var(--teal);
  font-size: 11px;
  font-weight: 900;
}

.work-assignee-choice span {
  display: grid;
  min-width: 0;
}

.work-assignee-choice strong,
.work-assignee-choice small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-assignee-choice strong {
  font-size: 12px;
  font-weight: 860;
}

.work-assignee-choice small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.work-composer-switch {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-height: 34px;
  color: var(--text);
  cursor: pointer;
}

.work-composer-switch input {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}

.work-switch-track {
  position: relative;
  width: 46px;
  height: 26px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  box-shadow: inset 0 1px 0 var(--glass-control-highlight);
  transition: background 160ms ease, border-color 160ms ease;
}

.work-switch-track::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--muted);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), 0 1px 5px rgba(0, 0, 0, 0.2);
  transition: transform 160ms ease, background 160ms ease;
}

.work-composer-switch input:checked + .work-switch-track {
  border-color: color-mix(in srgb, var(--teal) 62%, var(--line));
  background: color-mix(in srgb, var(--teal) 26%, var(--surface-2));
}

.work-composer-switch input:checked + .work-switch-track::before {
  background: var(--teal);
  transform: translateX(20px);
}

.work-composer-switch input:focus-visible + .work-switch-track {
  outline: 2px solid color-mix(in srgb, var(--teal) 50%, transparent);
  outline-offset: 2px;
}

.work-composer-switch strong {
  min-width: 0;
  color: var(--text);
  font-size: 12px;
  font-weight: 820;
  pointer-events: none;
}

.work-composer-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  min-width: 0;
}

.work-composer-actions .button {
  min-height: 40px;
}

.work-composer-actions .form-note {
  grid-column: 1 / -1;
  min-height: 18px;
}

.work-inbox-list {
  gap: 8px;
}

.work-schedule-form {
  margin: 0;
}

.work-schedules-list {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.work-inbox-empty-state {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-width: 0;
  border: 1px dashed color-mix(in srgb, var(--line) 78%, var(--muted) 18%);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 68%, transparent);
  padding: 14px;
}

.work-inbox-empty-state strong {
  display: block;
  color: var(--text);
  font-size: 15px;
  font-weight: 860;
  line-height: 1.15;
}

.work-inbox-empty-state p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.work-inbox-empty-visual {
  display: grid;
  align-items: end;
  justify-items: center;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  width: 42px;
  height: 42px;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent) 7%, var(--surface));
  padding: 9px;
}

.work-inbox-empty-visual span {
  display: block;
  width: 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 74%, var(--teal));
}

.work-inbox-empty-visual span:nth-child(1) {
  height: 14px;
}

.work-inbox-empty-visual span:nth-child(2) {
  height: 22px;
}

.work-inbox-empty-visual span:nth-child(3) {
  height: 9px;
}

.work-inbox-empty-actions {
  display: flex;
  justify-content: flex-end;
  min-width: 0;
}

.work-schedule-item {
  border-left: 3px solid var(--teal);
}

.work-inbox-item {
  align-items: start;
}

.work-inbox-item[draggable="true"] {
  cursor: grab;
}

.work-inbox-item.is-dragging {
  opacity: 0.58;
}

.work-inbox-assign {
  display: grid;
  grid-template-columns: auto minmax(160px, 260px);
  align-items: center;
  gap: 8px;
  max-width: 360px;
}

.work-inbox-assign span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 820;
}

.work-inbox-assign select {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-size: 13px;
  font-weight: 720;
  padding: 8px 10px;
}

.work-inbox-attachments {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.work-inbox-attachments a,
.work-inbox-attachments-more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  max-width: 220px;
  min-height: 30px;
  border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
  padding: 0 9px;
  text-decoration: none;
}

.work-inbox-attachments a:hover,
.work-inbox-attachments a:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
  outline: 0;
}

.work-inbox-attachments svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.work-inbox-attachments span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-inbox-attachments small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  white-space: nowrap;
}

.projects-runner-card {
  display: grid;
  gap: 6px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-left: 3px solid var(--muted);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 74%, transparent);
  padding: 9px;
}

.projects-runner-card.is-ok { border-left-color: var(--teal); }
.projects-runner-card.is-warn { border-left-color: var(--amber); }
.projects-runner-card.is-bad { border-left-color: var(--red); }

.projects-runner-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.projects-runner-head strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-runner-card small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-task-form,
.projects-task-ingest-form,
.projects-task-update-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 12px;
}

.projects-task-ingest-form {
  margin: 0 0 12px;
}

.projects-task-update-form {
  margin-top: 12px;
}

.projects-ingest-candidates {
  display: grid;
  gap: 8px;
}

.projects-ingest-warning {
  display: grid;
  gap: 6px;
}

.projects-ingest-warning span {
  border: 1px solid color-mix(in srgb, var(--amber) 35%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--amber) 10%, transparent);
  color: var(--text);
  font-size: 12px;
  font-weight: 760;
  padding: 8px;
}

.projects-ingest-candidate {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  min-width: 0;
  border: 1px solid var(--line);
  border-left: 4px solid var(--muted);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

.projects-ingest-candidate.is-ok { border-left-color: var(--teal); }
.projects-ingest-candidate.is-warn { border-left-color: var(--amber); }

.projects-ingest-candidate input {
  width: 16px;
  min-width: 16px;
  margin-top: 4px;
}

.projects-ingest-candidate-body {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.projects-ingest-candidate-body small {
  display: -webkit-box;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.42;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.projects-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.projects-check-grid label {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
  padding: 8px;
}

.projects-check-grid input {
  width: 15px;
  min-width: 15px;
}

.projects-tasks-table .projects-table-head,
.projects-tasks-table .projects-table-row {
  grid-template-columns: minmax(260px, 1.6fr) minmax(128px, 0.75fr) minmax(128px, 0.72fr) minmax(128px, 0.72fr) minmax(112px, auto);
}

.projects-task-table-main {
  grid-template-columns: minmax(0, 1fr);
}

.projects-kanban-board {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 310px);
  align-items: start;
  gap: 12px;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-padding-inline: 8px;
}

.projects-kanban-column {
  display: grid;
  align-content: start;
  min-height: 420px;
  max-height: min(68vh, 720px);
  min-width: 0;
  gap: 10px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

.projects-kanban-column.is-drop-target {
  border-color: color-mix(in srgb, var(--teal) 46%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 10%, transparent);
}

.projects-kanban-column-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.projects-kanban-column-head strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  font-weight: 860;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-kanban-column-head span {
  display: inline-grid;
  min-width: 26px;
  min-height: 24px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 860;
  padding: 0 7px;
}

.projects-kanban-column-list {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  overflow-y: auto;
  padding-right: 2px;
}

.projects-kanban-task {
  display: grid;
  gap: 9px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 10px;
}

.projects-kanban-task[draggable="true"] {
  cursor: grab;
}

.projects-kanban-task.is-dragging {
  opacity: 0.58;
}

.projects-kanban-task-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
}

.projects-kanban-task p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.projects-kanban-task-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.projects-kanban-task-meta span {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
  padding: 3px 7px;
}

.projects-task-detail-section {
  margin-bottom: 12px;
}

.projects-task-detail-view {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.projects-task-detail-card {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.projects-task-detail-title {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 14px;
}

.projects-task-detail-title h4,
.projects-task-updates h4 {
  margin: 0;
  color: var(--text);
  font-size: 18px;
  line-height: 1.2;
}

.projects-task-detail-title p,
.projects-task-detail-resolution p,
.projects-task-update-item p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.48;
  white-space: pre-wrap;
}

.projects-task-detail-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.projects-task-detail-meta article {
  display: grid;
  gap: 4px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 10px;
}

.projects-task-detail-meta span,
.projects-task-detail-resolution span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 860;
  text-transform: uppercase;
}

.projects-task-detail-meta strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-task-detail-meta article.is-ok { border-color: color-mix(in srgb, var(--teal) 34%, var(--line)); }
.projects-task-detail-meta article.is-warn { border-color: color-mix(in srgb, var(--amber) 34%, var(--line)); }
.projects-task-detail-meta article.is-bad { border-color: color-mix(in srgb, var(--red) 34%, var(--line)); }

.projects-task-detail-resolution,
.projects-task-updates {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 12px;
}

.projects-task-update-item {
  display: grid;
  gap: 7px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

.projects-task-update-item > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.projects-task-update-item strong {
  color: var(--text);
  font-size: 13px;
}

.projects-task-update-item span,
.projects-task-update-item small {
  color: var(--muted);
  font-size: 12px;
}

.projects-ideas-toolbar {
  grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(128px, 0.34fr)) auto auto auto;
}

.projects-bulk-actions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.projects-bulk-actions .button {
  min-height: 34px;
  white-space: nowrap;
}

.projects-bulk-actions svg {
  width: 15px;
  height: 15px;
}

.projects-bulk-actions > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.projects-idea-bulk-actions .button.active {
  border-color: color-mix(in srgb, var(--teal) 44%, var(--line));
  color: color-mix(in srgb, var(--teal) 86%, var(--text));
}

.projects-ideas-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}

.projects-ideas-list {
  display: grid;
  grid-column: 1 / -1;
  gap: 10px;
  min-width: 0;
  width: 100%;
}

.projects-ideas-list.is-table-view {
  display: block;
}

.projects-ideas-list.is-kanban-view {
  display: block;
  max-width: 100%;
  overflow: visible;
}

.projects-ideas-kanban {
  grid-auto-flow: row;
  grid-auto-columns: initial;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  width: 100%;
  max-width: 100%;
  overflow-x: visible;
}

.projects-idea-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 12px;
}

.projects-idea-select {
  display: inline-grid;
  position: relative;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  cursor: pointer;
}

.projects-idea-select input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}

.projects-idea-select span {
  display: block;
  position: relative;
  width: 18px;
  height: 18px;
  border: 1px solid color-mix(in srgb, var(--muted) 44%, var(--line));
  border-radius: 5px;
  background: color-mix(in srgb, var(--surface-3) 72%, transparent);
  transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}

.projects-idea-select span::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border-right: 2px solid rgba(255, 255, 255, 0.95);
  border-bottom: 2px solid rgba(255, 255, 255, 0.95);
  opacity: 0;
  transform: rotate(42deg) scale(0.72);
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.projects-idea-select input:checked + span {
  border-color: color-mix(in srgb, var(--teal) 74%, var(--line));
  background: var(--ex-gradient);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 12%, transparent);
}

.projects-idea-select input:checked + span::after {
  opacity: 1;
  transform: rotate(42deg) scale(1);
}

.projects-idea-main {
  display: grid;
  align-content: start;
  gap: 9px;
  min-width: 0;
}

.projects-idea-card p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.projects-idea-form {
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 12px;
}

.projects-ideas-table .projects-table-head,
.projects-ideas-table .projects-table-row {
  grid-template-columns: 42px minmax(260px, 1.6fr) minmax(128px, 0.75fr) minmax(128px, 0.72fr) minmax(128px, 0.72fr) minmax(112px, auto);
}

.projects-idea-table-main {
  grid-template-columns: minmax(0, 1fr);
}

.projects-idea-table-select {
  justify-content: center;
}

.projects-prospector-section {
  margin-bottom: 12px;
}

.projects-prospector-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.32fr);
  gap: 14px;
  align-items: start;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 88%, var(--surface));
  padding: 14px;
  margin-bottom: 12px;
}

.projects-prospector-hero-main {
  display: grid;
  gap: 9px;
  align-content: center;
  min-width: 0;
}

.projects-prospector-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  padding: 3px 9px;
}

.projects-prospector-hero h3 {
  margin: 0;
  color: var(--text);
  font-size: 28px;
  line-height: 1.08;
}

.projects-prospector-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.projects-prospector-hero-actions,
.projects-prospector-suggestion-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.projects-prospector-run-switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-3) 76%, transparent);
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  padding: 0 10px;
}

.projects-prospector-run-switch:has(input:checked) {
  border-color: color-mix(in srgb, var(--accent) 50%, var(--line));
  color: var(--text);
}

.projects-prospector-status-panel {
  display: grid;
  gap: 10px;
  align-content: start;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-3) 86%, transparent);
  padding: 12px;
}

.projects-prospector-status-head,
.projects-prospector-status-toggle {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
}

.projects-prospector-status-toggle {
  justify-content: flex-end;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.projects-prospector-metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  margin: 0;
}

.projects-prospector-metrics div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: baseline;
  min-width: 0;
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.projects-prospector-metrics dt,
.projects-prospector-metrics dd {
  margin: 0;
}

.projects-prospector-metrics dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.projects-prospector-metrics dd {
  max-width: 180px;
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-prospector-progress {
  position: relative;
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 88%, transparent);
  padding: 12px;
  margin-bottom: 12px;
}

.projects-prospector-progress::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: var(--ex-gradient);
  opacity: 0.92;
}

.projects-prospector-progress.is-running::after {
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.72), color-mix(in srgb, var(--wave-progress) 42%, rgba(255, 255, 255, 0.68)), transparent) -64px 0 / 64px 100% no-repeat,
    var(--ex-gradient);
  animation: live-progress-edge-shine 2.35s ease-in-out infinite;
}

.projects-prospector-progress.is-error::after {
  background: linear-gradient(90deg, var(--red), color-mix(in srgb, var(--amber) 70%, var(--red)));
}

.projects-prospector-progress .task-progress-detail {
  position: relative;
  z-index: 1;
}

.projects-prospector-progress-log {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.projects-prospector-progress-log span {
  max-width: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-3) 72%, transparent);
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  padding: 4px 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-prospector-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 12px;
}

.projects-prospector-settings-form,
.projects-prospector-source-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 88%, transparent);
  padding: 12px;
}

.projects-prospector-settings-form {
  grid-template-columns: minmax(0, 1fr);
}

.projects-prospector-settings-form .projects-field-wide,
.projects-prospector-source-form .projects-field-wide {
  grid-column: 1 / -1;
}

.projects-prospector-url-field input {
  min-height: 46px;
  font-size: 14px;
}

.projects-prospector-advanced {
  min-width: 0;
}

.projects-prospector-advanced summary {
  width: fit-content;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}

.projects-prospector-advanced[open] summary {
  margin-bottom: 10px;
  color: var(--accent);
}

.projects-prospector-advanced-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.projects-prospector-settings-strip {
  grid-template-columns: minmax(132px, 0.74fr) minmax(152px, 0.9fr) minmax(128px, 0.65fr) minmax(128px, 0.65fr) auto;
  align-items: end;
}

.projects-prospector-inline-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 58px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.projects-prospector-layout {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.projects-prospector-block {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.projects-section-heading {
  position: relative;
  margin-top: 4px;
  padding: 2px 0 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
}

.projects-section-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: min(120px, 38%);
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--teal));
  box-shadow: 0 0 18px color-mix(in srgb, var(--teal) 34%, transparent);
}

.projects-section-heading .projects-title {
  gap: 4px;
}

.projects-section-heading .projects-title strong {
  color: var(--text);
  font-size: 15px;
}

.projects-section-heading .projects-title small {
  color: color-mix(in srgb, var(--muted) 84%, var(--text));
  font-size: 12px;
}

.projects-prospector-sources,
.projects-prospector-suggestions {
  min-width: 0;
}

.projects-prospector-suggestions-toolbar {
  grid-template-columns: minmax(220px, 1fr) auto minmax(330px, max-content) auto max-content auto max-content;
  align-items: end;
}

.projects-prospector-suggestion-filters {
  display: grid;
  grid-template-columns: minmax(104px, 124px) minmax(108px, 124px) minmax(86px, 104px);
  align-items: end;
  gap: 8px;
  min-width: 0;
}

.projects-prospector-suggestions-toolbar .projects-filter-control {
  width: 100%;
  min-width: 0;
}

.projects-prospector-suggestions-toolbar .projects-filter-control select {
  width: 100%;
  min-width: 0;
}

.projects-prospector-suggestion-bulk-actions {
  flex: 0 0 auto;
  min-width: max-content;
}

.projects-prospector-suggestion-bulk-actions #projects-prospector-suggestion-select-all {
  inline-size: 190px;
  flex: 0 0 190px;
  justify-content: center;
  white-space: nowrap;
}

.projects-prospector-suggestions-toolbar .projects-view-toggle {
  justify-self: end;
}

.projects-prospector-suggestions.is-kanban-view {
  display: block;
  max-width: 100%;
  overflow: visible;
}

.projects-prospector-sources-table .projects-table-head,
.projects-prospector-sources-table .projects-table-row {
  grid-template-columns: minmax(260px, 1.5fr) minmax(122px, 0.62fr) minmax(112px, 0.54fr) minmax(104px, 0.48fr) minmax(112px, auto);
}

.projects-prospector-suggestions-table .projects-table-head,
.projects-prospector-suggestions-table .projects-table-row {
  grid-template-columns: 42px minmax(300px, 1fr) minmax(122px, 136px) minmax(132px, 148px) minmax(140px, 158px) 196px;
}

.projects-prospector-suggestion-row .projects-table-actions {
  min-width: 196px;
}

.projects-prospector-source-row .projects-table-main,
.projects-prospector-suggestion-row .projects-table-main {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 6px;
}

.projects-prospector-suggestion-table-select {
  justify-content: center;
}

.projects-prospector-suggestions-kanban {
  grid-auto-flow: row;
  grid-auto-columns: initial;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  width: 100%;
  max-width: 100%;
  overflow-x: visible;
}

.projects-prospector-suggestion-card .projects-title strong {
  display: -webkit-box;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.projects-prospector-source-row .projects-title,
.projects-prospector-suggestion-row .projects-title {
  max-width: 100%;
}

.projects-prospector-source-row .projects-title strong,
.projects-prospector-suggestion-row .projects-title strong {
  display: -webkit-box;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.projects-prospector-source-row .projects-title small,
.projects-prospector-suggestion-row .projects-title small {
  display: block;
  max-width: 100%;
  white-space: nowrap;
}

.projects-prospector-source-row .projects-tags {
  max-width: 100%;
  margin-top: 2px;
}

.projects-prospector-source-row .tag {
  max-width: 150px;
  overflow: hidden;
  overflow-wrap: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-prospector-row-copy {
  display: -webkit-box;
  margin: 4px 0 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.42;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.projects-prospector-empty {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 72%, transparent);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 8px;
}

.projects-prospector-empty {
  display: grid;
  gap: 4px;
  padding: 14px;
}

.projects-prospector-empty strong {
  color: var(--text);
  font-size: 13px;
}

.projects-prospector-empty p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.projects-decisions-toolbar,
.projects-evidence-toolbar,
.projects-reports-toolbar {
  grid-template-columns: minmax(240px, 1fr) repeat(2, minmax(150px, 0.32fr));
}

.projects-evidence-section.active {
  display: grid;
  gap: 12px;
}

.projects-evidence-section .module-section-title {
  align-items: center;
  margin-bottom: 0;
}

.projects-evidence-layout {
  grid-template-columns: minmax(0, 1fr);
}

.projects-evidence-layout:has(.projects-evidence-form:not(.hidden)) {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr);
}

.projects-decisions-list,
.projects-evidence-list,
.projects-reports-list {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.projects-evidence-list {
  display: block;
}

.projects-evidence-table .projects-table-head,
.projects-evidence-table .projects-table-row {
  grid-template-columns: minmax(250px, 1.1fr) minmax(220px, 1.2fr) minmax(120px, 0.5fr) minmax(86px, auto);
}

.projects-evidence-main-cell {
  grid-template-columns: 38px minmax(0, 1fr);
}

.projects-evidence-kind-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 86%, transparent);
  color: var(--muted);
  font: inherit;
  padding: 0;
  text-decoration: none;
}

.projects-evidence-kind-icon.is-action {
  border-color: color-mix(in srgb, var(--accent) 36%, var(--line));
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
  color: var(--accent);
  cursor: pointer;
}

.projects-evidence-kind-icon.is-action:hover,
.projects-evidence-kind-icon.is-action:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 62%, var(--line));
  background: color-mix(in srgb, var(--accent) 14%, var(--surface));
  color: var(--text);
}

.projects-evidence-kind-icon.is-action:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 62%, transparent);
  outline-offset: 2px;
}

.projects-evidence-description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.35;
  white-space: normal;
}

.projects-evidence-kind-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.projects-evidence-preview-open {
  overflow: hidden;
}

.projects-evidence-lightbox {
  position: fixed;
  inset: 0;
  z-index: 92;
  display: grid;
  place-items: center;
  padding: 18px;
}

.projects-evidence-lightbox-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: color-mix(in srgb, #050a0e 70%, transparent);
  backdrop-filter: blur(12px);
  cursor: zoom-out;
}

.projects-evidence-lightbox-dialog {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(1160px, calc(100vw - 36px));
  height: min(820px, calc(100dvh - 36px));
  min-width: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--line) 62%, var(--accent));
  border-radius: 10px;
  background: var(--surface);
  box-shadow: 0 30px 86px rgba(0, 0, 0, 0.46);
  color: var(--text);
  opacity: 0;
  transform: translateY(10px) scale(.985);
  transition: opacity 160ms ease, transform 160ms ease;
}

.projects-evidence-lightbox.is-open .projects-evidence-lightbox-dialog {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.projects-evidence-lightbox-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
  border-bottom: 1px solid var(--line);
  padding: 12px 14px;
}

.projects-evidence-lightbox-title {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.projects-evidence-lightbox-title strong,
.projects-evidence-lightbox-title small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projects-evidence-lightbox-title strong {
  font-size: 14px;
  font-weight: 860;
}

.projects-evidence-lightbox-title small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
}

.projects-evidence-lightbox-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}

.projects-evidence-lightbox-stage {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: color-mix(in srgb, #050a0e 82%, var(--surface));
  padding: 12px;
}

.projects-evidence-lightbox-stage img,
.projects-evidence-lightbox-stage video {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  border-radius: 8px;
  object-fit: contain;
  object-position: center;
}

.projects-evidence-lightbox-stage video {
  background: #000;
}

.projects-evidence-preview-message,
.projects-evidence-preview-error {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 760;
  text-align: center;
}

.projects-evidence-lightbox-stage.is-error img,
.projects-evidence-lightbox-stage.is-error video {
  display: none;
}

.projects-decision-card,
.projects-evidence-card,
.projects-report-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  min-width: 0;
  border: 1px solid var(--line);
  border-left: 4px solid var(--muted);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 12px;
}

.projects-decision-card.is-ok,
.projects-evidence-card.is-ok,
.projects-report-card.is-ok { border-left-color: var(--teal); }
.projects-decision-card.is-warn,
.projects-evidence-card.is-warn,
.projects-report-card.is-warn { border-left-color: var(--amber); }
.projects-decision-card.is-bad,
.projects-evidence-card.is-bad,
.projects-report-card.is-bad { border-left-color: var(--red); }

.projects-decision-main,
.projects-evidence-main,
.projects-report-main {
  display: grid;
  align-content: start;
  gap: 9px;
  min-width: 0;
}

.projects-decision-card p,
.projects-evidence-card p,
.projects-report-card p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.projects-decision-form,
.projects-evidence-form,
.projects-report-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 12px;
}

.projects-context-section {
  display: none;
  min-width: 0;
}

.projects-context-section.active {
  display: block;
}

.projects-context-output {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 360px;
  max-height: 620px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 88%, transparent);
  color: var(--text);
  font: 12.5px/1.55 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  white-space: pre-wrap;
  padding: 14px;
}

.projects-form-heading {
  display: grid;
  gap: 3px;
}

.projects-form-heading strong {
  color: var(--text);
  font-size: 14px;
}

.projects-form-heading span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

@media (max-width: 1180px) {
  .projects-toolbar {
    grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(120px, 0.5fr)) auto;
  }

  .projects-prospector-suggestions-toolbar {
    grid-template-columns: minmax(260px, 1fr) max-content auto;
  }

  .projects-prospector-suggestion-filters {
    grid-template-columns: repeat(3, minmax(96px, 1fr));
  }

  .projects-prospector-suggestion-bulk-actions {
    grid-column: 1 / 3;
    min-width: 0;
  }

  .projects-tasks-layout,
  .projects-detail-two-col,
  .projects-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .projects-prospector-workspace,
  .projects-prospector-settings-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .projects-field-wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  #projects-module-view .projects-subnav,
  #projects-module-view .projects-detail-subnav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    overflow: visible;
    padding: 4px;
  }

  #projects-module-view .projects-subnav button,
  #projects-module-view .projects-detail-subnav button {
    width: 100%;
    min-width: 0;
    flex: initial;
    padding: 9px 8px;
    white-space: normal;
  }

  .projects-toolbar,
  .work-inbox-toolbar,
  .communications-toolbar,
  .projects-tasks-toolbar,
  .projects-ideas-toolbar,
  .projects-prospector-suggestions-toolbar,
  .projects-decisions-toolbar,
  .projects-evidence-toolbar,
  .projects-reports-toolbar,
  .projects-overview-block,
	  .projects-clients-head,
	  .projects-dashboard-grid,
	  .projects-client-context-head,
	  .projects-next-grid,
  .projects-tasks-layout,
  .projects-ideas-layout,
  .projects-detail-two-col,
  .projects-prospector-hero,
  .projects-prospector-workspace,
  .projects-prospector-advanced-grid,
	  .projects-form {
	    grid-template-columns: 1fr;
	  }

	  .projects-client-context-media {
	    width: min(100%, 150px);
	  }

  .work-inbox-profiles {
    grid-template-columns: 1fr;
  }

  .work-inbox-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .task-metrics-strip.communications-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .communications-layout,
  .communications-action-form-main {
    grid-template-columns: 1fr;
  }

  .communications-action-form-side {
    padding-top: 14px;
    padding-left: 0;
  }

  .communications-action-form-side::before {
    top: 0;
    right: 0;
    bottom: auto;
    width: auto;
    height: 1px;
    background:
      linear-gradient(
        to right,
        transparent,
        color-mix(in srgb, var(--accent) 38%, transparent) 20%,
        color-mix(in srgb, var(--teal) 52%, transparent) 52%,
        transparent
      );
  }

  .communications-detail {
    position: static;
    max-height: none;
  }

  .communications-action-detail-head,
  .communications-inline-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .communications-action-detail-actions,
  .projects-client-communication-actions {
    justify-content: flex-start;
  }

  .work-inbox-toolbar,
  .communications-toolbar {
    flex-wrap: wrap;
  }

  .work-inbox-toolbar > .projects-search-field,
  .work-inbox-toolbar > .projects-filter-control,
  .communications-toolbar > .projects-search-field,
  .communications-toolbar > .projects-filter-control,
  .communications-filter-pills,
  .work-inbox-filter-pills {
    flex: 1 1 100%;
    width: 100%;
    max-width: none;
  }

  .work-inbox-filter-pills,
  .communications-filter-pills .projects-filter-pills {
    flex-wrap: wrap;
  }

  .work-inbox-filter-pills .projects-filter-pills,
  .communications-filter-pills .projects-filter-pills {
    flex: 1 1 auto;
    justify-content: flex-start;
  }

  .work-inbox-composer {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .work-composer-side {
    padding: 18px 0 0;
  }

  .work-composer-side::before {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: auto;
    height: 1px;
    background: linear-gradient(
      90deg,
      color-mix(in srgb, var(--ex-blue) 10%, transparent),
      color-mix(in srgb, var(--ex-cyan) 72%, transparent) 32%,
      color-mix(in srgb, var(--ex-mint) 70%, transparent) 68%,
      color-mix(in srgb, var(--ex-green) 10%, transparent)
    );
  }

  .work-composer-heading strong {
    font-size: 23px;
  }

  .work-composer-title input {
    min-height: 52px;
    font-size: 18px;
  }

  .work-composer-description textarea {
    min-height: 170px;
  }

  .work-composer-priority {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .work-composer-actions {
    grid-template-columns: 1fr;
    margin-top: 2px;
  }

  .work-inbox-team-band,
  .work-inbox-empty-state,
  .communications-empty-state {
    grid-template-columns: 1fr;
  }

  .work-inbox-empty-actions,
  .communications-empty-actions {
    justify-content: flex-start;
  }

  .work-inbox-assign {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .projects-detail-head {
    grid-template-columns: 1fr;
  }

  .projects-prospector-suggestion-filters {
    grid-template-columns: 1fr;
  }

  .projects-prospector-suggestion-bulk-actions {
    grid-column: auto;
    width: 100%;
    min-width: 0;
  }

  .projects-prospector-hero h3 {
    font-size: 26px;
    line-height: 1.08;
  }

  .projects-clients-head {
    align-items: stretch;
  }

  .projects-clients-actions {
    padding-left: 0;
  }

  .projects-clients-actions::before {
    display: none;
  }

  .projects-evidence-layout:has(.projects-evidence-form:not(.hidden)) {
    grid-template-columns: 1fr;
  }

  .projects-evidence-lightbox {
    align-items: stretch;
    padding: 0;
  }

  .projects-evidence-lightbox-dialog {
    width: 100vw;
    height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .projects-evidence-lightbox-header {
    padding: 10px 12px;
  }

  .projects-evidence-lightbox-stage {
    padding: 8px;
  }

  .projects-overview-actions,
  .projects-clients-actions {
    justify-content: flex-start;
  }

  .projects-client-card-main {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  .projects-client-card-media {
    width: 74px;
  }

  .projects-detail-media {
    width: 100%;
    min-height: 150px;
  }

  .projects-detail-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .projects-task-filter-pills,
  .projects-filter-pills {
    width: 100%;
  }

  .projects-filter-pills {
    overflow-x: auto;
  }

  .projects-kanban-board {
    grid-auto-columns: minmax(238px, 82vw);
  }

  .projects-ideas-kanban {
    grid-auto-flow: column;
    grid-auto-columns: minmax(238px, 82vw);
    grid-template-columns: none;
    overflow-x: auto;
  }

  .projects-prospector-suggestions-kanban {
    grid-auto-flow: column;
    grid-auto-columns: minmax(238px, 82vw);
    grid-template-columns: none;
    overflow-x: auto;
  }

  .projects-kanban-column {
    max-height: none;
  }

  .projects-idea-card,
  .projects-decision-card,
  .projects-evidence-card,
  .projects-report-card {
    grid-template-columns: 1fr;
  }

  .projects-prospector-progress .task-progress-detail-head {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .projects-task-card {
    grid-template-columns: 1fr;
  }

  .projects-check-grid {
    grid-template-columns: 1fr;
  }

  .projects-view-toggle {
    justify-self: stretch;
    width: fit-content;
  }

  .projects-card {
    grid-template-rows: 128px minmax(0, 1fr);
  }

  .projects-table {
    border: 0;
    background: transparent;
  }

  .projects-table-head {
    display: none;
  }

  .projects-table-body {
    gap: 10px;
  }

  .projects-table-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    padding: 10px;
  }

  .projects-tasks-table .projects-table-row {
    grid-template-columns: 1fr;
  }

  .projects-table-cell {
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
  }

  .projects-table-cell::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: 11px;
    font-weight: 860;
    text-transform: uppercase;
  }

  .projects-table-main {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .projects-prospector-source-row .projects-table-main,
  .projects-prospector-suggestion-row .projects-table-main {
    grid-template-columns: minmax(0, 1fr);
  }

  .projects-table-main::before,
  .projects-table-actions::before {
    content: none;
  }

  .projects-table-actions {
    justify-content: flex-start;
  }
}

.bulletin-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 6px;
}

.tab-button {
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-weight: 700;
  min-height: 34px;
  padding: 0 12px;
  white-space: nowrap;
}

.tab-button:hover,
.tab-button.active {
  border-color: var(--line);
  background: var(--surface-2);
  color: var(--text);
}

.tab-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.bulletin-tab-panel {
  display: none;
}

.bulletin-tab-panel.active {
  display: grid;
  gap: 12px;
}

.module-section {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 16px;
}

.module-section-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 14px;
  padding-bottom: 12px;
}

.module-section-title > div {
  min-width: 0;
}

.module-section-title h3,
.character-card h4,
.source-group h4 {
  margin: 0;
}

.module-section-title p,
.character-card p,
.source-item p,
.bulletin-detail p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
  margin: 4px 0 0;
  overflow-wrap: anywhere;
}

.module-section.is-list-surface {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.module-section.is-list-surface > .module-section-title {
  border-bottom: 0;
  margin-bottom: 12px;
  padding-bottom: 0;
}

.web-monitor-list-section.is-list-surface > .module-section-title,
.bulletin-history-section.is-list-surface > .module-section-title,
.bulletin-sources-section.is-list-surface > .module-section-title,
.bulletin-characters-section.is-list-surface > .module-section-title,
.projects-list-section.is-list-surface > .module-section-title,
.core-reminders-list-section.is-list-surface > .module-section-title,
.notifications-inbox-section.is-list-surface > .module-section-title,
.social-media-posts-section.is-list-surface > .module-section-title,
.automations-list-section.is-list-surface > .module-section-title,
.automation-runs-section.is-list-surface > .module-section-title {
  display: none;
}

.personal-notes-module {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.personal-notes-module.hidden {
  display: none;
}

.personal-notes-subnav {
  min-width: 0;
}

#personal-notes-kpis.task-metrics-strip.personal-notes-metrics-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
}

.personal-notes-kpi {
  inline-size: 100%;
  justify-self: stretch;
  cursor: pointer;
  transition: background 160ms ease, box-shadow 160ms ease, transform 120ms ease;
}

.personal-notes-kpi:hover,
.personal-notes-kpi:focus-visible,
.personal-notes-kpi.is-filter-active {
  background:
    linear-gradient(100deg, color-mix(in srgb, var(--metric-color) 8%, transparent), transparent 72%),
    color-mix(in srgb, var(--metric-color) 4%, transparent);
}

.personal-notes-kpi:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--metric-color) 50%, transparent);
  outline-offset: -2px;
}

.personal-notes-kpi:active {
  transform: translateY(1px);
}

.personal-notes-kpi.is-filter-active {
  box-shadow: inset 0 -2px 0 color-mix(in srgb, var(--metric-color) 82%, transparent);
}

.personal-notes-capture-section {
  border-color: color-mix(in srgb, var(--teal) 26%, var(--line));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--surface-2) 92%, var(--teal)), var(--surface)),
    var(--surface);
}

.personal-notes-quick-form {
  display: grid;
  grid-template-columns: minmax(160px, 0.72fr) minmax(180px, 0.86fr) minmax(260px, 1.35fr) minmax(150px, 0.72fr) auto;
  align-items: end;
  gap: 12px;
  min-width: 0;
}

.personal-notes-quick-copy {
  display: grid;
  align-self: stretch;
  align-content: center;
  gap: 6px;
  min-width: 0;
}

.personal-notes-quick-copy strong {
  color: var(--text);
  font-size: 0.96rem;
  font-weight: 860;
}

.personal-notes-quick-copy span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 720;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.personal-notes-quick-copy span.is-error {
  color: color-mix(in srgb, var(--red) 82%, var(--text));
}

.personal-notes-quick-copy span.is-success {
  color: color-mix(in srgb, var(--green) 78%, var(--text));
}

.personal-notes-template-strip {
  display: flex;
  grid-column: 1 / -1;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.personal-notes-template-strip button {
  min-height: 32px;
  border: 1px solid color-mix(in srgb, var(--line) 86%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 86%, transparent);
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 820;
  padding: 0 10px;
}

.personal-notes-template-strip button.active,
.personal-notes-template-strip button:hover,
.personal-notes-template-strip button:focus-visible {
  border-color: color-mix(in srgb, var(--teal) 42%, var(--line));
  background: color-mix(in srgb, var(--teal) 14%, var(--surface));
  color: var(--text);
  outline: 0;
}

.personal-notes-quick-body textarea {
  min-height: 45px;
  max-height: 120px;
  resize: vertical;
}

.personal-notes-quick-form .button {
  min-height: 45px;
  white-space: nowrap;
}

.personal-notes-list-section {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.personal-notes-toolbar {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.personal-notes-search-field {
  flex: 1 1 auto;
  min-width: min(280px, 100%);
  min-height: 44px;
}

.personal-notes-filter-control {
  flex: 0 1 160px;
}

.personal-notes-filter-control.is-emphasized {
  border-color: color-mix(in srgb, var(--amber) 42%, var(--line));
}

.personal-notes-view-toggle {
  flex: 0 0 auto;
}

.personal-notes-hidden-filter {
  display: none;
}

.personal-notes-filter-pills {
  flex: 0 0 auto;
  align-self: stretch;
}

.personal-notes-filter-pill {
  min-width: 38px;
  min-height: 36px;
  padding: 7px 9px;
}

.personal-notes-tags-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.personal-notes-tag-chip,
.personal-note-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--teal) 24%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-2) 88%, var(--teal));
  color: color-mix(in srgb, var(--text) 88%, var(--teal));
  font-size: 0.74rem;
  font-weight: 820;
  gap: 6px;
  line-height: 1.1;
  padding: 5px 9px;
}

.personal-notes-tag-chip small {
  display: inline-grid;
  min-width: 20px;
  min-height: 20px;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 72%, var(--teal));
  color: var(--muted);
  font-size: 0.68rem;
}

.personal-notes-tag-chip.active,
.personal-note-tag:hover,
.personal-note-tag:focus-visible {
  border-color: color-mix(in srgb, var(--teal) 56%, var(--line));
  background: color-mix(in srgb, var(--teal) 20%, var(--surface));
  color: var(--text);
}

.personal-notes-pinned-section {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.personal-notes-block-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.personal-notes-block-title strong {
  color: var(--text);
  font-size: 0.92rem;
  font-weight: 860;
}

.personal-notes-block-title span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 760;
}

.personal-notes-board {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(282px, 1fr));
  gap: 14px;
  min-width: 0;
}

.personal-notes-board.is-pinned-board {
  grid-template-columns: repeat(auto-fill, minmax(282px, 1fr));
}

.personal-note-card {
  --note-accent: var(--teal);
  position: relative;
  display: grid;
  grid-template-rows: auto auto minmax(108px, 1fr) auto auto auto;
  min-height: 264px;
  min-width: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--note-accent) 26%, var(--line));
  border-radius: 8px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--surface) 96%, #ffffff 4%), color-mix(in srgb, var(--surface-2) 88%, var(--note-accent) 5%)),
    var(--surface);
  box-shadow:
    0 10px 24px color-mix(in srgb, var(--note-accent) 6%, transparent),
    inset 0 1px 0 color-mix(in srgb, #ffffff 18%, transparent);
  cursor: pointer;
  padding: 16px;
}

.personal-note-card:hover,
.personal-note-card:focus-visible,
.personal-note-row:hover,
.personal-note-row:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 44%, var(--line));
  outline: 0;
}

.personal-note-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  width: auto;
  height: 4px;
  background: var(--ex-gradient);
}

.personal-note-card > * {
  position: relative;
  z-index: 1;
}

.personal-note-card.is-pinned {
  border-color: color-mix(in srgb, var(--amber) 42%, var(--line));
  box-shadow: 0 12px 30px color-mix(in srgb, var(--amber) 8%, transparent);
}

.personal-note-card.is-neutral {
  --note-accent: var(--accent);
}

.personal-note-card.is-blue {
  --note-accent: var(--blue);
}

.personal-note-card.is-green {
  --note-accent: var(--green);
}

.personal-note-card.is-amber {
  --note-accent: var(--amber);
}

.personal-note-card.is-red {
  --note-accent: var(--red);
}

.personal-note-card.is-teal {
  --note-accent: var(--teal);
}

.personal-note-card-top,
.personal-note-meta,
.personal-note-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.personal-note-card-top {
  justify-content: space-between;
  margin-bottom: 10px;
  padding-right: 30px;
}

.personal-note-type,
.personal-note-pin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 860;
}

.personal-note-type {
  max-width: 100%;
  border: 1px solid color-mix(in srgb, var(--note-accent) 32%, var(--line));
  color: color-mix(in srgb, var(--note-accent) 80%, var(--text));
  padding: 0 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.personal-note-pin {
  width: 24px;
  color: var(--amber);
  flex: 0 0 24px;
}

.personal-note-pin svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
}

.personal-note-pin-toggle {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: color-mix(in srgb, var(--muted) 70%, transparent);
  cursor: pointer;
  opacity: 0.44;
  padding: 0;
  transition: opacity 140ms ease, color 140ms ease, background 140ms ease, border-color 140ms ease, transform 120ms ease;
}

.personal-note-pin-toggle svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.1;
}

.personal-note-pin-toggle:hover,
.personal-note-pin-toggle:focus-visible {
  border-color: color-mix(in srgb, var(--amber) 30%, var(--line));
  background: color-mix(in srgb, var(--amber) 7%, transparent);
  color: color-mix(in srgb, var(--amber) 76%, var(--muted));
  opacity: 0.9;
  outline: 0;
}

.personal-note-pin-toggle:active {
  transform: translateY(1px);
}

.personal-note-pin-toggle.is-active {
  border-color: color-mix(in srgb, var(--amber) 54%, var(--line));
  background:
    linear-gradient(145deg, color-mix(in srgb, #ffffff 18%, transparent), color-mix(in srgb, var(--amber) 12%, transparent)),
    color-mix(in srgb, var(--amber) 14%, var(--surface));
  color: var(--amber);
  opacity: 1;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #ffffff 24%, transparent),
    0 8px 18px color-mix(in srgb, var(--amber) 11%, transparent);
}

.personal-note-pin-toggle.is-active:hover,
.personal-note-pin-toggle.is-active:focus-visible {
  border-color: color-mix(in srgb, var(--amber) 62%, var(--line));
  background:
    linear-gradient(145deg, color-mix(in srgb, #ffffff 20%, transparent), color-mix(in srgb, var(--amber) 15%, transparent)),
    color-mix(in srgb, var(--amber) 18%, var(--surface));
  color: var(--amber);
}

.personal-note-pin-slot {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

.personal-note-card h3 {
  margin: 0 0 9px;
  color: var(--text);
  font-size: 1.02rem;
  font-weight: 860;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.personal-note-preview {
  display: block;
  min-width: 0;
  max-height: 8.8em;
  overflow: hidden;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.46;
}

.personal-note-preview p,
.personal-note-preview ul {
  margin: 0 0 7px;
}

.personal-note-preview p:last-child,
.personal-note-preview ul:last-child {
  margin-bottom: 0;
}

.personal-note-preview ul {
  display: grid;
  gap: 4px;
  list-style: none;
  padding: 0;
}

.personal-note-preview li {
  position: relative;
  padding-left: 14px;
  overflow-wrap: anywhere;
}

.personal-note-preview li::before {
  content: "";
  position: absolute;
  top: 0.66em;
  left: 2px;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--note-accent) 66%, var(--muted));
}

.personal-note-preview li.is-checked {
  color: color-mix(in srgb, var(--muted) 72%, transparent);
  text-decoration: line-through;
}

.personal-note-preview li.is-open::before {
  border: 1px solid color-mix(in srgb, var(--note-accent) 68%, var(--muted));
  background: transparent;
}

.personal-note-preview-more {
  color: color-mix(in srgb, var(--note-accent) 72%, var(--muted));
}

.personal-note-preview.is-empty {
  color: color-mix(in srgb, var(--muted) 72%, transparent);
  font-style: italic;
}

.personal-note-meta {
  flex-wrap: wrap;
  margin-top: 12px;
}

.personal-note-meta span,
.personal-note-row-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  max-width: 100%;
  border: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface-2) 76%, transparent);
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 780;
  padding: 0 7px;
}

.personal-note-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  margin-top: 10px;
}

.personal-note-actions {
  position: relative;
  justify-content: flex-end;
  margin-top: 12px;
}

.personal-note-actions .icon-button {
  width: 32px;
  height: 32px;
}

.personal-note-actions .icon-button.danger {
  border-color: color-mix(in srgb, var(--red) 32%, var(--line));
  color: color-mix(in srgb, var(--red) 76%, var(--muted));
}

.personal-note-actions .personal-note-copy-button {
  width: auto;
  min-width: 92px;
  height: 32px;
}

.personal-note-actions .personal-note-copy-button:hover,
.personal-note-actions .personal-note-copy-button:focus-visible,
.personal-note-actions .personal-note-copy-button:active {
  border-color: color-mix(in srgb, var(--green) 42%, var(--line));
  background: color-mix(in srgb, var(--green) 7%, var(--surface));
  color: color-mix(in srgb, var(--green) 84%, var(--text));
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.personal-notes-list.is-list-mode {
  display: grid;
  gap: 8px;
}

.personal-note-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  cursor: pointer;
  padding: 12px;
}

.personal-note-row-main {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.personal-note-row-main strong,
.personal-note-row-main span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.personal-note-row-main strong {
  color: var(--text);
  font-size: 0.95rem;
  font-weight: 860;
}

.personal-note-row-main > span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 680;
}

.personal-note-row .personal-note-tags {
  margin-top: 2px;
}

.personal-note-row-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

.personal-notes-empty-state {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 148px;
  border: 1px dashed color-mix(in srgb, var(--teal) 28%, var(--line));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--surface-2) 80%, transparent), transparent),
    var(--surface);
  padding: 18px;
}

.personal-notes-empty-visual {
  position: relative;
  width: 72px;
  height: 86px;
  flex: 0 0 auto;
}

.personal-notes-empty-visual span {
  position: absolute;
  display: block;
  width: 46px;
  height: 58px;
  border: 1px solid color-mix(in srgb, var(--teal) 38%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 84%, var(--teal));
}

.personal-notes-empty-visual span:nth-child(1) {
  left: 0;
  top: 18px;
  transform: rotate(-8deg);
}

.personal-notes-empty-visual span:nth-child(2) {
  left: 15px;
  top: 9px;
  border-color: color-mix(in srgb, var(--amber) 38%, var(--line));
  background: color-mix(in srgb, var(--surface-2) 86%, var(--amber));
}

.personal-notes-empty-visual span:nth-child(3) {
  left: 27px;
  top: 0;
  border-color: color-mix(in srgb, var(--blue) 34%, var(--line));
  background: color-mix(in srgb, var(--surface-2) 86%, var(--blue));
  transform: rotate(7deg);
}

.personal-notes-empty-state strong {
  color: var(--text);
  font-size: 1rem;
  font-weight: 860;
}

.personal-notes-empty-state p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 680;
  line-height: 1.42;
}

.personal-notes-empty-actions {
  display: flex;
  justify-content: flex-end;
}

.personal-notes-detail-section {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.personal-notes-detail-section.hidden {
  display: none;
}

.personal-notes-detail-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-width: 0;
  border-bottom: 1px solid var(--line);
  padding-bottom: 14px;
}

.personal-notes-detail-title {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.personal-notes-detail-title p,
.personal-notes-detail-title h3,
.personal-notes-detail-title span {
  margin: 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.personal-notes-detail-title p {
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 860;
  text-transform: uppercase;
}

.personal-notes-detail-title h3 {
  color: var(--text);
  font-size: 1.38rem;
  font-weight: 880;
  line-height: 1.15;
}

.personal-notes-detail-title span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 720;
}

.personal-notes-detail-title span.is-error {
  color: color-mix(in srgb, var(--red) 82%, var(--text));
}

.personal-notes-detail-title span.is-success {
  color: color-mix(in srgb, var(--green) 78%, var(--text));
}

.personal-notes-detail-actions {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.personal-notes-detail-actions .icon-button.danger {
  border-color: color-mix(in srgb, var(--red) 32%, var(--line));
  color: color-mix(in srgb, var(--red) 76%, var(--muted));
}

.personal-note-delete-trigger {
  transition: opacity 140ms ease, transform 140ms ease, border-color 140ms ease, color 140ms ease;
}

.personal-note-delete-trigger.is-confirming {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-3px) scale(0.92);
}

.personal-note-delete-confirm {
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: min(246px, calc(100vw - 42px));
  max-width: calc(100vw - 42px);
  min-height: 32px;
  gap: 0;
  overflow: hidden;
  flex-wrap: nowrap;
  white-space: nowrap;
  border: 1px solid transparent;
  border-radius: 4px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--surface) 96%, #ffffff 4%), color-mix(in srgb, var(--surface-2) 92%, var(--accent) 3%)) padding-box,
    var(--ex-gradient) border-box;
  box-shadow:
    0 10px 22px color-mix(in srgb, var(--accent) 12%, transparent),
    inset 0 1px 0 color-mix(in srgb, #ffffff 12%, transparent);
  clip-path: inset(0 0 0 calc(100% - 34px));
  opacity: 0;
  padding: 0 0 0 10px;
  pointer-events: none;
  transform: translateY(-50%);
  transform-origin: right center;
  transition: clip-path 190ms cubic-bezier(0.2, 0.9, 0.2, 1), opacity 120ms ease, box-shadow 160ms ease;
}

.personal-note-delete-confirm.is-open {
  clip-path: inset(0);
  opacity: 1;
  pointer-events: auto;
}

.personal-note-delete-confirm.is-closing {
  pointer-events: none;
}

.personal-note-delete-confirm-label {
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 860;
  line-height: 1;
  padding-right: 10px;
}

.personal-note-delete-confirm .button {
  position: relative;
  width: auto;
  align-self: stretch;
  min-height: 32px;
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 820;
  padding: 0 9px;
  transform: none;
  transition: background 140ms ease, color 140ms ease;
}

.personal-note-delete-confirm .button::before {
  content: "";
  position: absolute;
  top: 5px;
  bottom: 5px;
  left: 0;
  width: 1px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    transparent,
    color-mix(in srgb, var(--line) 56%, transparent) 18%,
    color-mix(in srgb, var(--accent) 48%, var(--line)) 38%,
    color-mix(in srgb, var(--teal) 54%, var(--line)) 64%,
    color-mix(in srgb, var(--line) 56%, transparent) 82%,
    transparent
  );
  box-shadow: 0 0 10px color-mix(in srgb, var(--teal) 16%, transparent);
  pointer-events: none;
}

.personal-note-delete-confirm .button:hover,
.personal-note-delete-confirm .button:focus-visible {
  background: color-mix(in srgb, var(--accent) 7%, transparent);
  color: var(--text);
  filter: none;
  outline: 0;
  transform: none;
}

.personal-note-delete-confirm .button.danger {
  background: transparent;
  box-shadow: none;
  color: color-mix(in srgb, var(--red) 84%, var(--text));
}

.personal-note-delete-confirm .button.danger:hover,
.personal-note-delete-confirm .button.danger:focus-visible {
  background: color-mix(in srgb, var(--red) 8%, transparent);
  color: var(--red);
}

.personal-notes-detail-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.28fr);
  align-items: start;
  gap: 16px;
  min-width: 0;
}

.personal-notes-detail-main,
.personal-notes-detail-meta {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.personal-notes-detail-main {
  max-width: 920px;
}

.personal-notes-detail-body-field textarea {
  min-height: 420px;
  resize: vertical;
  line-height: 1.5;
}

.personal-notes-detail-meta {
  position: sticky;
  top: 18px;
  border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 84%, transparent);
  padding: 12px;
}

.personal-notes-detail-meta .button {
  width: 100%;
}

.personal-notes-detail-actions .personal-note-copy-button,
.personal-note-actions .personal-note-copy-button {
  display: inline-flex;
  gap: 6px;
}

.personal-notes-detail-actions .personal-note-copy-button {
  width: auto;
  min-width: 92px;
  min-height: 32px;
}

.personal-notes-detail-actions .personal-note-copy-button:hover,
.personal-notes-detail-actions .personal-note-copy-button:focus-visible,
.personal-notes-detail-actions .personal-note-copy-button:active {
  border-color: color-mix(in srgb, var(--green) 42%, var(--line));
  background: color-mix(in srgb, var(--green) 7%, var(--surface));
  color: color-mix(in srgb, var(--green) 84%, var(--text));
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.personal-notes-color-source,
.personal-notes-tag-source {
  display: none;
}

.personal-notes-color-swatches {
  display: grid;
  grid-template-columns: repeat(6, 30px);
  justify-content: start;
  gap: 7px;
  min-width: 0;
}

.personal-notes-color-swatch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  min-width: 0;
  min-height: 30px;
  gap: 0;
  border: 1px solid color-mix(in srgb, var(--line) 84%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 76%, transparent);
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  padding: 0;
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease, transform 120ms ease;
}

.personal-notes-color-swatch:hover,
.personal-notes-color-swatch:focus-visible {
  border-color: color-mix(in srgb, var(--swatch-color, var(--accent)) 44%, var(--line));
  background: color-mix(in srgb, var(--swatch-color, var(--accent)) 8%, var(--surface));
  color: var(--text);
  outline: 0;
}

.personal-notes-color-swatch:active {
  transform: translateY(1px);
}

.personal-notes-color-swatch.is-active {
  border-color: color-mix(in srgb, var(--swatch-color, var(--accent)) 68%, var(--line));
  background: color-mix(in srgb, var(--swatch-color, var(--accent)) 14%, var(--surface));
  color: var(--text);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--swatch-color, var(--accent)) 20%, transparent);
}

.personal-notes-color-swatch small {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

.personal-notes-color-dot {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border: 1px solid color-mix(in srgb, #ffffff 28%, var(--line));
  border-radius: 999px;
  background: var(--swatch-color, var(--ex-gradient));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--swatch-color, var(--accent)) 10%, transparent);
}

.personal-notes-color-swatch.is-auto {
  --swatch-color: var(--accent);
}

.personal-notes-color-swatch.is-auto .personal-notes-color-dot {
  background: var(--ex-gradient);
}

.personal-notes-color-swatch.is-teal { --swatch-color: var(--teal); }
.personal-notes-color-swatch.is-green { --swatch-color: var(--green); }
.personal-notes-color-swatch.is-amber { --swatch-color: var(--amber); }
.personal-notes-color-swatch.is-blue { --swatch-color: var(--blue); }
.personal-notes-color-swatch.is-red { --swatch-color: var(--red); }

.personal-notes-color-swatch:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.personal-notes-tag-editor {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 42px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 84%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 76%, transparent);
  padding: 6px;
  transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.personal-notes-tag-editor:focus-within {
  border-color: color-mix(in srgb, var(--teal) 56%, var(--line));
  background: color-mix(in srgb, var(--surface) 84%, var(--teal) 3%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 12%, transparent);
}

.personal-notes-tag-editor-values {
  display: contents;
}

.personal-notes-tag-editor-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 26px;
  gap: 5px;
  border: 1px solid color-mix(in srgb, var(--teal) 32%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-2) 86%, var(--teal));
  color: color-mix(in srgb, var(--text) 88%, var(--teal));
  font-size: 0.74rem;
  font-weight: 820;
  padding: 3px 4px 3px 9px;
}

.personal-notes-tag-editor-chip > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.personal-notes-tag-editor-chip button {
  display: inline-grid;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 70%, var(--teal));
  color: color-mix(in srgb, var(--muted) 78%, var(--teal));
  cursor: pointer;
  padding: 0;
}

.personal-notes-tag-editor-chip button:hover,
.personal-notes-tag-editor-chip button:focus-visible {
  background: color-mix(in srgb, var(--red) 12%, var(--surface));
  color: var(--red);
  outline: 0;
}

.personal-notes-tag-editor-chip svg {
  width: 12px;
  height: 12px;
}

.personal-notes-tag-entry {
  flex: 1 1 96px;
  min-width: 88px;
  min-height: 26px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 720;
  padding: 0 4px !important;
}

.personal-notes-tag-entry:focus {
  outline: 0;
}

.personal-notes-detail-save {
  gap: 8px;
}

.personal-notes-detail-save svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.personal-notes-detail-tag-preview {
  display: none;
}

.personal-notes-detail-links {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.personal-notes-link-block {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.personal-notes-link-block > strong {
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 860;
  text-transform: uppercase;
}

.personal-notes-link-list,
.personal-notes-map-edge-list {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.personal-notes-link-item,
.personal-notes-map-edge {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 84%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 76%, transparent);
  padding: 7px;
}

.personal-notes-link-item > span:first-child,
.personal-notes-map-edge > span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 820;
  text-transform: uppercase;
}

.personal-notes-link-item button,
.personal-notes-link-item a,
.personal-notes-map-edge button,
.personal-notes-map-edge > span:last-child {
  min-width: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 780;
  padding: 0;
  text-align: left;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.personal-notes-map-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.32fr);
  align-items: start;
  gap: 14px;
  min-width: 0;
}

.personal-notes-map-nodes {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 10px;
  min-width: 0;
}

.personal-notes-map-node {
  --note-accent: var(--teal);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 5px 9px;
  min-width: 0;
  min-height: 94px;
  border: 1px solid color-mix(in srgb, var(--note-accent) 30%, var(--line));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--surface) 94%, var(--note-accent)), var(--surface)),
    var(--surface);
  color: var(--text);
  cursor: pointer;
  font: inherit;
  padding: 11px;
  text-align: left;
}

.personal-notes-map-node.is-neutral {
  --note-accent: var(--muted);
}

.personal-notes-map-node.is-blue {
  --note-accent: var(--blue);
}

.personal-notes-map-node.is-green {
  --note-accent: var(--green);
}

.personal-notes-map-node.is-amber {
  --note-accent: var(--amber);
}

.personal-notes-map-node.is-red {
  --note-accent: var(--red);
}

.personal-notes-map-node.is-teal {
  --note-accent: var(--teal);
}

.personal-notes-map-node:hover,
.personal-notes-map-node:focus-visible {
  border-color: color-mix(in srgb, var(--note-accent) 62%, var(--line));
  outline: 0;
}

.personal-notes-map-node-icon {
  display: inline-grid;
  grid-row: 1 / span 2;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--note-accent) 16%, var(--surface));
  color: color-mix(in srgb, var(--note-accent) 76%, var(--text));
}

.personal-notes-map-node-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.1;
}

.personal-notes-map-node strong,
.personal-notes-map-node small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.personal-notes-map-node strong {
  align-self: end;
  font-size: 0.9rem;
  font-weight: 860;
}

.personal-notes-map-node small {
  color: var(--muted);
  font-size: 0.73rem;
  font-weight: 740;
}

.personal-notes-map-node-tags {
  display: flex;
  grid-column: 1 / -1;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.personal-notes-map-node-tags span {
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--note-accent) 24%, var(--line));
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 780;
  padding: 3px 7px;
}

.personal-notes-map-relations {
  display: grid;
  gap: 10px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 78%, transparent);
  padding: 12px;
}

.personal-notes-map-edge {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.personal-notes-map-edge > span {
  justify-self: center;
}

.personal-notes-map-edge > span:last-child {
  justify-self: stretch;
  max-width: 100%;
}

.personal-notes-map-empty {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 720;
}

.personal-notes-ai-help {
  color: var(--muted);
  display: block;
  font-size: 0.78rem;
  line-height: 1.35;
  margin-top: 6px;
}

.personal-notes-detail-muted {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 720;
}

.module-bulletin-controls {
  grid-template-columns: minmax(190px, 0.42fr) minmax(260px, 1fr) minmax(170px, auto);
  align-items: start;
  gap: 14px;
  margin-bottom: 14px;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.info-tile,
.source-item,
.character-card,
.bulletin-detail,
.selected-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
}

.info-tile {
  display: grid;
  gap: 3px;
  padding: 12px;
}

.info-tile span,
.info-tile small,
.file-list span,
.maintenance-actions span,
.character-save-state {
  color: var(--muted);
  font-size: 12px;
}

.info-tile strong {
  font-size: 18px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.bulletin-history-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
  gap: 12px;
  align-items: start;
}

.bulletin-detail {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.bulletin-detail-header {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(220px, 1fr);
  align-items: center;
  gap: 12px;
}

.bulletin-detail h3 {
  margin: 6px 0 0;
}

.bulletin-detail-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}

.bulletin-error-panel {
  border: 1px solid color-mix(in srgb, var(--red) 52%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--red) 10%, var(--surface));
  padding: 12px;
}

.bulletin-error-panel strong {
  color: var(--red);
}

.bulletin-error-panel p {
  color: var(--text);
  margin: 4px 0 0;
  overflow-wrap: anywhere;
}

details {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

summary {
  cursor: pointer;
  font-weight: 800;
}

pre {
  max-width: 100%;
  min-width: 0;
  max-height: 280px;
  overflow: auto;
  overflow-wrap: anywhere;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--text);
  font: 12px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  margin: 10px 0 0;
  padding: 10px;
  white-space: pre-wrap;
}

.selected-list,
.source-list,
.character-list {
  display: grid;
  gap: 10px;
}

.selected-item,
.source-item,
.character-card {
  padding: 12px;
}

.source-group {
  display: grid;
  gap: 10px;
}

.source-group:not(.active) {
  display: none;
}

.source-group-panels {
  display: grid;
  gap: 10px;
}

.source-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 420px);
  gap: 10px;
}

.source-group-picker {
  display: grid;
  gap: 5px;
}

.source-group-picker span,
.source-enabled-toggle {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.source-group-picker select {
  width: 100%;
}

.source-group-head,
.source-item-head,
.source-actions,
.source-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.source-group-head p,
.source-save-state {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  margin: 3px 0 0;
}

.source-group-actions,
.source-card-actions {
  justify-content: flex-end;
  flex: 0 0 auto;
}

.source-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.source-filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  padding: 0 9px;
}

.source-filter span {
  color: var(--muted);
  font-size: 11px;
}

.source-filter:hover,
.source-filter.active {
  background: var(--surface-2);
  color: var(--text);
}

.source-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px;
}

.source-add-block {
  display: grid;
  justify-items: stretch;
  gap: 10px;
}

.source-add-toggle[aria-expanded="true"] {
  background: var(--surface-2);
  color: var(--text);
}

.source-add-form {
  display: grid;
  width: 100%;
  gap: 10px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  padding: 12px;
}

.source-analyze-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
}

.source-analyze-row label {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.source-analyze-row label span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.source-item {
  display: grid;
  gap: 10px;
}

.source-item-title {
  min-width: 0;
}

.source-item-title p {
  overflow-wrap: anywhere;
}

.source-item.muted {
  opacity: 0.62;
}

.source-item.is-editing {
  border-color: color-mix(in srgb, var(--blue) 46%, var(--line));
}

.source-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  padding: 0 8px;
  white-space: nowrap;
}

.source-status.ok {
  border-color: color-mix(in srgb, var(--green) 45%, var(--line));
  color: var(--green);
}

.source-status.paused {
  border-color: color-mix(in srgb, var(--amber) 45%, var(--line));
  color: var(--amber);
}

.source-edit-panel {
  display: grid;
  gap: 10px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.source-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 8px;
  align-items: end;
}

.source-form-grid label {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.source-form-grid label span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.source-target-field {
  grid-column: span 2;
}

.source-target-field textarea {
  resize: vertical;
}

.source-actions {
  justify-content: flex-end;
}

.character-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}

.character-card {
  align-content: start;
  border-left: 4px solid color-mix(in srgb, var(--teal) 55%, var(--line));
  display: grid;
  gap: 10px;
  grid-template-rows: auto auto auto minmax(26px, auto) 16px;
  min-width: 0;
  overflow: hidden;
}

.character-card.disabled-card {
  border-left-color: var(--muted);
}

.character-card-head,
.maintenance-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.character-card-head {
  min-height: 58px;
}

.character-card-state {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 8px;
}

.character-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
  padding: 4px 8px;
  text-transform: uppercase;
}

.character-status.ok {
  border-color: color-mix(in srgb, var(--teal) 55%, var(--line));
  background: color-mix(in srgb, var(--teal) 12%, transparent);
  color: color-mix(in srgb, var(--teal) 75%, var(--text));
}

.character-status.disabled {
  border-color: color-mix(in srgb, var(--muted) 58%, var(--line));
  background: color-mix(in srgb, var(--muted) 16%, transparent);
  color: var(--muted);
}

.character-card-disabled .character-avatar {
  filter: grayscale(0.8);
  opacity: 0.72;
}

.character-identity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.character-avatar {
  width: 56px;
  height: 56px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  flex: 0 0 auto;
  object-fit: cover;
}

.character-identity > div {
  min-width: 0;
}

.toggle-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.character-description {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.character-description textarea {
  max-width: 100%;
}

.character-description span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.character-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(66px, 76px) minmax(66px, 76px) auto;
  align-items: end;
  gap: 8px;
  min-width: 0;
}

.character-controls label {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.character-controls label span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.emotion-field {
  overflow: hidden;
}

.emotion-field select {
  width: 100%;
  min-width: 0;
}

.character-controls input,
.character-controls select {
  width: 100%;
}

.file-list {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.file-list div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 6px;
}

.file-list div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.maintenance-actions {
  justify-content: flex-start;
  margin-top: 12px;
}

.tasks-module {
  display: grid;
  gap: 14px;
}

.automations-module {
  display: grid;
  gap: 14px;
}

.automation-list {
  display: grid;
  gap: 10px;
}

.automation-row {
  display: grid;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
  padding: 12px;
}

.automation-row-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.automation-row-title {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.automation-row-head strong,
.automation-row-head small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.automation-row-head small,
.automation-config-form .field-label,
.automation-row p,
.automation-row-foot {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.automation-row p {
  margin: 0;
}

.automation-row-toggle {
  width: 32px;
  height: 32px;
}

.automation-row.is-collapsed .automation-row-body {
  display: none;
}

.automation-row.ok {
  border-color: color-mix(in srgb, var(--green) 30%, var(--line));
}

.automation-row.warn {
  border-color: color-mix(in srgb, var(--amber) 28%, var(--line));
}

.automation-row.pending {
  border-color: color-mix(in srgb, var(--muted) 22%, var(--line));
}

.automation-switch {
  justify-self: start;
}

.automation-row-toggle {
  justify-self: end;
}

.automation-row-body,
.automation-config-form {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.automation-config-grid,
.automation-schedule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.automation-config-grid label,
.automation-schedule-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.automation-config-grid input,
.automation-config-grid select,
.automation-config-grid textarea,
.automation-schedule-grid input,
.automation-schedule-grid select {
  width: 100%;
  min-width: 0;
}

.automation-field-wide {
  grid-column: 1 / -1;
}

.automation-row-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.automation-row-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.automation-row-actions .button svg {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
}

.activity-module {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: calc(100vh - 56px);
}

.activity-module.hidden {
  display: none;
}

.activity-control-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 8px;
}

.activity-range-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 4px;
}

.activity-range-toggle button {
  min-height: 32px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 860;
  padding: 0 10px;
}

.activity-range-toggle button[aria-pressed="true"] {
  border-color: color-mix(in srgb, var(--teal) 36%, var(--line));
  background: var(--surface);
  color: var(--teal);
}

.activity-range-caption {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-freshness {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.activity-updated-at,
.activity-auto-refresh {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
  line-height: 1.2;
  padding: 5px 8px;
  white-space: nowrap;
}

.activity-auto-refresh {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--surface-2);
}

.activity-auto-refresh input {
  accent-color: var(--teal);
}

.activity-kpi-strip {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.activity-task-kpi.is-placeholder {
  align-content: center;
  grid-template-columns: minmax(0, 1fr);
  pointer-events: none;
}

.activity-task-kpi[data-activity-kpi] {
  min-width: 0;
}

.activity-heatmap-section {
  display: grid;
  gap: 12px;
}

.activity-heatmap {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.activity-heatmap-placeholder {
  display: grid;
  gap: 10px;
}

.activity-heatmap-matrix {
  --activity-hour-label-width: 48px;
  display: grid;
  grid-template-columns: var(--activity-hour-label-width) minmax(0, 1fr);
  gap: 5px 8px;
  min-width: 0;
}

.activity-heatmap-corner {
  align-self: end;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
  text-transform: uppercase;
}

.activity-heatmap-day-heads,
.activity-heatmap-day-cells {
  display: grid;
  grid-template-columns: repeat(var(--activity-days), minmax(0, 1fr));
  gap: 3px;
  min-width: 0;
}

.activity-heatmap-day-head {
  display: grid;
  min-width: 0;
  min-height: 24px;
  align-content: end;
  color: var(--muted);
  text-align: center;
}

.activity-heatmap-day-head strong,
.activity-heatmap-day-head small {
  min-width: 0;
  overflow: hidden;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-heatmap-day-head strong {
  color: var(--text);
  font-size: 9px;
  font-weight: 860;
}

.activity-heatmap-day-head small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 760;
}

.activity-heatmap-day-head.is-muted {
  opacity: .36;
}

.activity-heatmap-hour-grid {
  display: grid;
  grid-column: 1 / -1;
  gap: 3px;
  min-width: 0;
}

.activity-heatmap-row {
  display: grid;
  grid-template-columns: var(--activity-hour-label-width) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.activity-heatmap-row.is-major-hour {
  margin-top: 2px;
}

.activity-heatmap-hour-label {
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 820;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

.activity-heatmap-cell {
  display: block;
  width: 100%;
  height: clamp(7px, .65vw, 10px);
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--teal) var(--activity-border, 16%), var(--line));
  border-radius: 3px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--teal) var(--activity-fill, 10%), transparent), color-mix(in srgb, var(--blue) var(--activity-fill-2, 5%), transparent)),
    var(--surface-2);
  opacity: var(--activity-opacity, .32);
}

.activity-heatmap-cell.has-risk {
  border-color: color-mix(in srgb, var(--red) 48%, var(--line));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--red) 24%, transparent);
}

.activity-heatmap-cell:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--teal) 70%, transparent);
  outline-offset: 2px;
}

.activity-pulse-preview {
  min-width: 0;
}

.activity-insights-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
}

.activity-insight-panel {
  align-content: start;
  display: grid;
  gap: 12px;
  min-width: 0;
}

.activity-users-panel,
.activity-modules-panel {
  padding: 0;
}

.activity-flow-panel,
.activity-risk-panel {
  min-height: 320px;
}

.activity-flow-panel {
  grid-column: 1 / -1;
}

.activity-risk-panel {
  grid-column: 1 / -1;
}

.activity-human-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  padding: 0 10px;
  white-space: nowrap;
}

.activity-human-toggle input {
  accent-color: var(--teal);
}

.activity-ranking-list,
.activity-flow-list,
.activity-risk-list {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.activity-flow-list {
  display: block;
}

.activity-ranking-item {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 9px;
}

.activity-ranking-item.is-module {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.activity-ranking-position {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.activity-ranking-avatar,
.activity-ranking-module-icon {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--teal) 30%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--teal) 8%, var(--surface-2));
  color: var(--text);
  font-size: 11px;
  font-weight: 900;
}

.activity-ranking-module-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.activity-ranking-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.activity-ranking-copy strong,
.activity-ranking-copy small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-ranking-copy strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 880;
}

.activity-ranking-copy small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 740;
}

.activity-ranking-item > em {
  color: var(--text);
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
}

.activity-ranking-bar {
  display: block;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--line) 64%, transparent);
}

.activity-ranking-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--ex-gradient);
}

.activity-flow-board {
  position: relative;
  display: grid;
  grid-template-columns: minmax(210px, 236px) minmax(160px, 1fr) minmax(260px, 320px) minmax(260px, 390px);
  gap: 18px;
  min-width: 0;
  min-height: 420px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--teal) 24%, var(--line));
  border-radius: 8px;
  background:
    radial-gradient(circle at 76% 24%, color-mix(in srgb, var(--blue) 12%, transparent), transparent 30%),
    linear-gradient(135deg, color-mix(in srgb, var(--teal) 8%, transparent), transparent 48%),
    var(--surface);
  padding: 18px;
}

.activity-flow-connections {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.activity-flow-link,
.activity-flow-pulse-link {
  fill: none;
  stroke: var(--activity-flow-tone, var(--teal));
  stroke-linecap: round;
  stroke-width: var(--activity-flow-stroke, 3);
  opacity: var(--activity-flow-alpha, .32);
  filter: url(#activity-flow-glow);
}

.activity-flow-column {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.activity-flow-people {
  grid-column: 1;
}

.activity-flow-modules {
  grid-column: 3;
}

.activity-flow-pulse {
  grid-column: 4;
}

.activity-flow-people,
.activity-flow-modules {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 334px;
}

.activity-flow-people {
  align-items: flex-start;
}

.activity-flow-modules {
  align-items: stretch;
}

.activity-flow-person,
.activity-flow-module-card {
  --activity-flow-tone: var(--teal);
  position: relative;
  display: grid;
  align-items: center;
  min-width: 0;
}

.activity-flow-module-card {
  border: 1px solid color-mix(in srgb, var(--activity-flow-tone) 26%, var(--line));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--activity-flow-tone) 11%, transparent), transparent 58%),
    color-mix(in srgb, var(--surface) 88%, var(--surface-2));
  box-shadow: 0 12px 24px color-mix(in srgb, var(--activity-flow-tone) 7%, transparent);
}

.activity-flow-person {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  min-height: 52px;
  padding: 8px 12px 8px 0;
  width: min(100%, 236px);
}

.activity-flow-module-card {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  min-height: 58px;
  padding: 10px 14px 10px 12px;
  width: 100%;
}

.activity-flow-person-avatar,
.activity-flow-module-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
}

.activity-flow-person-avatar {
  border-radius: 8px;
  background: color-mix(in srgb, var(--activity-flow-tone) 9%, transparent);
  color: color-mix(in srgb, var(--activity-flow-tone) 70%, var(--text));
  font-size: 11px;
  font-weight: 920;
}

.activity-flow-module-icon {
  border: 1px solid color-mix(in srgb, var(--activity-flow-tone) 32%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--activity-flow-tone) 12%, var(--surface-2));
  color: color-mix(in srgb, var(--activity-flow-tone) 72%, var(--text));
  font-size: 11px;
  font-weight: 920;
}

.activity-flow-module-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.activity-flow-person-copy,
.activity-flow-module-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.activity-flow-person-copy strong,
.activity-flow-person-copy small,
.activity-flow-module-copy strong,
.activity-flow-module-copy small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-flow-person-copy strong,
.activity-flow-module-copy strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
}

.activity-flow-person-copy small,
.activity-flow-module-copy small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
}

.activity-flow-person-out,
.activity-flow-module-in,
.activity-flow-module-out {
  position: absolute;
  top: 50%;
  width: 9px;
  height: 9px;
  border: 2px solid var(--surface);
  border-radius: 999px;
  background: var(--activity-flow-tone);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--activity-flow-tone) 14%, transparent);
  transform: translateY(-50%);
}

.activity-flow-person-out {
  right: -5px;
}

.activity-flow-module-in {
  left: -5px;
}

.activity-flow-module-out {
  right: -5px;
}

.activity-flow-pulse {
  display: grid;
  align-content: center;
  gap: 14px;
  justify-items: end;
}

.activity-flow-pulse-grid {
  display: grid;
  grid-template-columns: repeat(12, clamp(10px, 1.35vw, 24px));
  justify-content: end;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
  padding: 4px 0;
}

.activity-flow-dot {
  --activity-flow-tone: var(--teal);
  display: block;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  background: var(--activity-flow-tone);
  opacity: var(--activity-dot-alpha, .24);
  transform: scale(var(--activity-dot-scale, .74));
  box-shadow: 0 0 12px color-mix(in srgb, var(--activity-flow-tone) 34%, transparent);
}

.activity-flow-legend {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  max-width: 100%;
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
}

.activity-flow-legend i {
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--teal);
  opacity: .2;
}

.activity-flow-legend i:nth-of-type(2) {
  opacity: .35;
}

.activity-flow-legend i:nth-of-type(3) {
  opacity: .5;
}

.activity-flow-legend i:nth-of-type(4) {
  opacity: .72;
}

.activity-flow-legend i:nth-of-type(5) {
  opacity: 1;
  background: var(--blue);
}

.activity-flow-legend strong {
  color: var(--muted);
  font-size: inherit;
  font-weight: inherit;
}

.activity-flow-person.is-other {
  --activity-flow-tone: var(--muted);
}

.activity-flow-link.is-blue,
.activity-flow-pulse-link.is-blue,
.activity-flow-module-card.is-blue,
.activity-flow-dot.is-blue {
  --activity-flow-tone: var(--blue);
}

.activity-flow-link.is-green,
.activity-flow-pulse-link.is-green,
.activity-flow-module-card.is-green,
.activity-flow-dot.is-green {
  --activity-flow-tone: var(--green);
}

.activity-flow-link.is-purple,
.activity-flow-pulse-link.is-purple,
.activity-flow-module-card.is-purple,
.activity-flow-dot.is-purple {
  --activity-flow-tone: var(--purple, #9d7cff);
}

.activity-flow-link.is-amber,
.activity-flow-pulse-link.is-amber,
.activity-flow-module-card.is-amber,
.activity-flow-dot.is-amber {
  --activity-flow-tone: var(--amber);
}

.activity-flow-link.is-teal,
.activity-flow-pulse-link.is-teal,
.activity-flow-module-card.is-teal,
.activity-flow-dot.is-teal {
  --activity-flow-tone: var(--teal);
}

.activity-flow-link.is-red,
.activity-flow-pulse-link.is-red,
.activity-flow-module-card.is-red,
.activity-flow-dot.is-red {
  --activity-flow-tone: var(--red);
}

.activity-risk-categories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.activity-risk-categories span,
.activity-risk-events article {
  display: grid;
  gap: 3px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--red) 24%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--red) 5%, var(--surface));
  padding: 9px;
}

.activity-risk-categories strong {
  color: var(--red);
  font-size: 18px;
  font-weight: 920;
}

.activity-risk-categories em,
.activity-risk-events small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-risk-events {
  display: grid;
  gap: 8px;
}

.activity-risk-events strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 12px;
  font-weight: 860;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-stream-section {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.activity-stream-filter-bar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-width: 0;
}

.activity-quick-filters {
  justify-content: flex-start;
  overflow-x: auto;
  padding-bottom: 1px;
}

.activity-quick-filters .task-state-filter {
  flex: 0 0 auto;
  min-width: auto;
}

.activity-filter-grid {
  display: grid;
  grid-template-columns: minmax(130px, .8fr) minmax(130px, .78fr) minmax(130px, .78fr) minmax(110px, .55fr) minmax(190px, 1.2fr);
  gap: 8px;
  min-width: 0;
}

.activity-filter-field {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.activity-filter-field span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.activity-filter-field select,
.activity-filter-field input {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-size: 13px;
  font-weight: 740;
  outline: none;
  padding: 0 10px;
}

.activity-filter-field select:focus,
.activity-filter-field input:focus {
  border-color: color-mix(in srgb, var(--teal) 48%, var(--line));
}

.activity-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 0;
}

.activity-active-filters:empty {
  display: none;
}

.activity-filter-chip,
.activity-filter-muted,
.activity-event-chip {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
  line-height: 1.2;
  padding: 4px 8px;
}

.activity-filter-chip {
  border-color: color-mix(in srgb, var(--teal) 32%, var(--line));
  background: color-mix(in srgb, var(--teal) 8%, transparent);
  color: var(--text);
}

.activity-stream {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.activity-stream-loading {
  display: grid;
  gap: 8px;
  padding: 6px 0;
}

.activity-stream-event {
  --activity-event-color: var(--teal);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--activity-event-color) 18%, var(--line));
  border-radius: 8px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--activity-event-color) 8%, transparent), transparent 42%),
    var(--surface);
  padding: 10px;
}

.activity-stream-event.is-success {
  --activity-event-color: var(--green);
}

.activity-stream-event.is-danger,
.activity-stream-event.is-warning {
  --activity-event-color: var(--red);
}

.activity-stream-event.is-info {
  --activity-event-color: var(--blue);
}

.activity-stream-marker {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--activity-event-color) 30%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--activity-event-color) 9%, var(--surface-2));
  color: color-mix(in srgb, var(--activity-event-color) 84%, var(--text));
}

.activity-stream-marker svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.activity-stream-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.activity-stream-headline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px;
  min-width: 0;
}

.activity-stream-headline strong,
.activity-stream-headline span,
.activity-stream-headline em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-stream-headline strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 900;
}

.activity-stream-headline span {
  color: var(--text);
  font-size: 13px;
  font-weight: 760;
}

.activity-stream-headline em {
  color: var(--teal);
  font-size: 13px;
  font-style: normal;
  font-weight: 840;
}

.activity-stream-copy small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 740;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-event-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.activity-event-chip.is-risk {
  border-color: color-mix(in srgb, var(--red) 38%, var(--line));
  background: color-mix(in srgb, var(--red) 8%, transparent);
  color: color-mix(in srgb, var(--red) 80%, var(--text));
}

.activity-event-audit {
  white-space: nowrap;
}

.activity-stream-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.activity-recent-section.is-list-surface > .module-section-title {
  display: flex;
}

.activity-recent-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.activity-recent-event {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

.activity-recent-avatar {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--teal) 30%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--teal) 9%, var(--surface-2));
  color: var(--text);
  font-size: 11px;
  font-weight: 900;
}

.activity-recent-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.activity-recent-copy strong,
.activity-recent-copy small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-recent-copy strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 860;
}

.activity-recent-copy small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 740;
}

.activity-recent-chip {
  grid-column: 1 / -1;
  justify-self: start;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  padding: 3px 7px;
}

@media (max-width: 1180px) {
  .activity-kpi-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .activity-recent-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .activity-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .activity-filter-search {
    grid-column: 1 / -1;
  }

  .activity-insights-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .activity-control-strip {
    align-items: stretch;
    flex-direction: column;
  }

  .activity-control-strip {
    gap: 8px;
    padding: 7px;
  }

  .activity-range-toggle {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .activity-range-toggle button {
    min-width: 0;
    padding: 0 6px;
  }

  .activity-range-caption {
    white-space: normal;
  }

  .activity-freshness {
    justify-content: flex-start;
  }

  .activity-updated-at,
  .activity-auto-refresh {
    border-radius: 8px;
  }

  .activity-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .activity-recent-list {
    grid-template-columns: 1fr;
  }

  .activity-filter-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .activity-stream-section {
    gap: 10px;
  }

  .activity-stream-section > .module-section-title {
    align-items: flex-start;
  }

  .activity-stream-filter-bar {
    overflow: hidden;
  }

  .activity-quick-filters {
    width: 100%;
  }

  .activity-filter-field:not(.activity-filter-search) {
    display: none;
  }

  .activity-stream-event {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
    padding: 8px;
  }

  .activity-ranking-item {
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    gap: 7px;
    padding: 8px;
  }

  .activity-ranking-item.is-module {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .activity-flow-row {
    grid-template-columns: 1fr;
  }

  .activity-flow-board {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    min-height: 0;
    padding: 12px;
  }

  .activity-flow-connections {
    display: none;
  }

  .activity-flow-people,
  .activity-flow-modules {
    align-items: stretch;
    gap: 8px;
    grid-column: 1;
    justify-content: flex-start;
    min-height: 0;
  }

  .activity-flow-pulse {
    grid-column: 1;
  }

  .activity-flow-person {
    width: 100%;
    padding-right: 0;
  }

  .activity-flow-person-out,
  .activity-flow-module-in,
  .activity-flow-module-out {
    display: none;
  }

  .activity-flow-pulse {
    align-content: start;
    gap: 10px;
  }

  .activity-flow-pulse-grid {
    gap: 4px;
  }

  .activity-flow-legend {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .activity-ranking-avatar,
  .activity-ranking-module-icon {
    width: 28px;
    height: 28px;
  }

  .activity-risk-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .activity-event-audit {
    justify-self: end;
    min-height: 30px;
    padding-inline: 8px;
  }

  .activity-heatmap {
    overflow-x: visible;
    padding-bottom: 0;
  }

  .activity-heatmap-matrix {
    --activity-hour-label-width: 40px;
    gap: 4px 6px;
  }

  .activity-heatmap-day-heads,
  .activity-heatmap-day-cells {
    gap: 2px;
  }

  .activity-heatmap-day-head {
    min-height: 18px;
  }

  .activity-heatmap-day-head strong {
    font-size: 8px;
  }

  .activity-heatmap-day-head small {
    display: none;
  }

  .activity-heatmap-row {
    grid-template-columns: var(--activity-hour-label-width) minmax(0, 1fr);
    gap: 6px;
  }

  .activity-heatmap-hour-label {
    font-size: 9px;
  }

  .activity-heatmap-cell {
    height: 7px;
    border-radius: 2px;
  }

  .activity-flow-panel,
  .activity-risk-panel {
    min-height: 0;
  }
}

@media (max-width: 340px) {
  .activity-kpi-strip,
  .activity-risk-categories {
    grid-template-columns: 1fr;
  }

  .activity-stream-event {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .activity-event-audit {
    grid-column: 2;
    justify-self: start;
  }
}

.automation-save-state {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  min-height: 18px;
}

.automation-save-state.is-success {
  color: var(--green);
}

.automation-save-state.is-error {
  color: var(--red);
}

.automation-runs-table {
  min-width: 0;
}

.automation-runs-table .empty-state {
  margin: 0;
}

.automation-run-filters {
  display: flex;
  min-width: 0;
  margin-bottom: 10px;
}

.automation-run-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.automation-run-filter {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  min-height: 34px;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 820;
  line-height: 1.1;
  padding: 0 10px;
}

.automation-run-filter:hover {
  border-color: color-mix(in srgb, var(--teal) 48%, var(--line));
  color: var(--text);
}

.automation-run-filter.is-active {
  border-color: color-mix(in srgb, var(--accent) 58%, var(--line));
  background: color-mix(in srgb, var(--accent) 13%, var(--surface));
  color: var(--text);
}

.automation-run-filter span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.automation-run-filter small {
  display: inline-grid;
  min-width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 76%, transparent);
  color: var(--muted);
  font-size: 11px;
  font-weight: 860;
  padding: 0 6px;
}

.automation-run-filter.is-active small {
  background: color-mix(in srgb, var(--accent) 22%, var(--surface));
  color: var(--text);
}

.automation-run-filter-all {
  color: var(--text);
}

.automation-run-table {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.automation-run-table-head,
.automation-run-table-row {
  display: grid;
  grid-template-columns: minmax(210px, 1.28fr) minmax(138px, 0.82fr) minmax(106px, 0.58fr) minmax(96px, 0.5fr) minmax(86px, 0.46fr) minmax(220px, 1.18fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.automation-run-table-head {
  padding: 9px 12px;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 860;
  letter-spacing: 0;
  text-transform: uppercase;
}

.automation-run-table-body {
  display: grid;
}

.automation-run-table-row {
  padding: 10px 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  box-shadow: inset 4px 0 0 transparent;
}

.automation-run-table-row:last-child {
  border-bottom: 0;
}

.automation-run-table-row:hover {
  background: color-mix(in srgb, var(--teal) 5%, var(--surface));
}

.automation-run-table-row.is-ok {
  box-shadow: inset 4px 0 0 var(--green);
}

.automation-run-table-row.is-bad {
  background: color-mix(in srgb, var(--red) 9%, var(--surface));
  box-shadow: inset 4px 0 0 var(--red);
}

.automation-run-table-row.is-warn {
  background: color-mix(in srgb, var(--amber) 7%, var(--surface));
  box-shadow: inset 4px 0 0 var(--amber);
}

.automation-run-table-row.is-pending {
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--muted) 70%, transparent);
}

.automation-run-table-cell {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.automation-run-table-cell strong,
.automation-run-table-cell span,
.automation-run-table-cell small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.automation-run-table-cell strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 820;
}

.automation-run-table-cell span {
  font-size: 12.5px;
}

.automation-run-table-cell small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.automation-run-table-main small {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.automation-run-table-result span,
.automation-run-table-result small {
  display: block;
}

.automation-run-trigger {
  color: var(--text);
  font-weight: 720;
}

.automation-run-state {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 22px;
  padding: 2px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

.automation-run-state.ok {
  border-color: color-mix(in srgb, var(--green) 45%, var(--line));
  color: var(--green);
}

.automation-run-state.bad {
  border-color: color-mix(in srgb, var(--red) 45%, var(--line));
  color: var(--red);
}

.automation-run-state.warn {
  border-color: color-mix(in srgb, var(--amber) 45%, var(--line));
  color: var(--amber);
}

.automation-run-state.pending {
  color: var(--muted);
}

.tasks-tab-panel {
  display: none;
}

.tasks-tab-panel.active {
  display: block;
}

.tasks-today-kpis {
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
}

.tasks-today-surface {
  gap: 10px;
}

.tasks-today-insights {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(520px, 1.72fr);
  gap: 10px;
  align-items: stretch;
  min-width: 0;
}

.tasks-today-list-block {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.tasks-today-pulse-card {
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-content: stretch;
  min-height: 214px;
}

.tasks-today-pulse-card .tasks-chart-plot {
  min-height: 0;
  height: 100%;
}

.tasks-today-pulse-total {
  display: inline-flex;
  justify-content: flex-end;
  min-width: 0;
  color: var(--text);
  font-size: 13px;
  font-weight: 860;
  line-height: 1.1;
  text-align: right;
  white-space: nowrap;
}

.tasks-today-pulse-chart {
  display: grid;
  grid-template-columns: repeat(24, minmax(0, 1fr));
  align-items: stretch;
  height: 100%;
  gap: 4px;
  min-width: 0;
  min-height: 112px;
  padding: 2px 0 0;
}

.tasks-today-hour {
  display: grid;
  grid-template-rows: minmax(0, 1fr) 16px;
  align-items: end;
  gap: 5px;
  height: 100%;
  min-width: 0;
}

.tasks-today-hour-stack {
  position: relative;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 1px;
  width: 100%;
  height: 100%;
  min-width: 0;
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface-2) 70%, transparent);
  overflow: hidden;
}

.tasks-today-hour-stack i {
  display: block;
  width: 24%;
  min-height: 0;
  border-radius: 999px 999px 0 0;
  z-index: 1;
}

.tasks-today-hour-stack i.is-created {
  background: var(--accent);
}

.tasks-today-hour-stack i.is-finished {
  background: var(--green);
}

.tasks-today-hour-stack i.is-error {
  background: var(--red);
}

.tasks-today-hour-stack i.is-touched {
  position: absolute;
  right: 16%;
  bottom: 0;
  left: 16%;
  z-index: 0;
  width: auto;
  background: color-mix(in srgb, var(--teal) 58%, transparent);
  opacity: 0.34;
}

.tasks-today-hour small {
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}

.tasks-today-workload-card {
  align-content: start;
  min-height: 214px;
}

.tasks-today-workload-list {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.tasks-today-workload-row {
  display: grid;
  grid-template-columns: minmax(88px, .17fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 5px;
  min-width: 0;
}

.tasks-today-workload-row h4 {
  display: flex;
  align-items: center;
  margin: 0;
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.15;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.tasks-today-workload-scroll {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-radius: 8px;
}

.tasks-today-workload-scroll::before,
.tasks-today-workload-scroll::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 3px;
  z-index: 1;
  width: 52px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease;
}

.tasks-today-workload-scroll::before {
  left: 0;
  background: linear-gradient(90deg, color-mix(in srgb, var(--surface) 80%, #000 20%), color-mix(in srgb, var(--surface) 90%, #000 10%) 52%, transparent 100%);
}

.tasks-today-workload-scroll::after {
  right: 0;
  background: linear-gradient(270deg, color-mix(in srgb, var(--surface) 80%, #000 20%), color-mix(in srgb, var(--surface) 90%, #000 10%) 52%, transparent 100%);
}

.tasks-today-workload-scroll.has-overflow:not(.is-at-start)::before,
.tasks-today-workload-scroll.has-overflow:not(.is-at-end)::after {
  opacity: 1;
}

.tasks-today-workload-nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: inline-grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 90%, transparent);
  color: var(--muted);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  box-shadow: 0 6px 14px color-mix(in srgb, var(--shadow) 11%, transparent);
  transform: translateY(-50%);
  transition: opacity 160ms ease, visibility 160ms ease, border-color 160ms ease, color 160ms ease, background 160ms ease;
}

.tasks-today-workload-row:hover .tasks-today-workload-scroll.has-overflow .tasks-today-workload-nav,
.tasks-today-workload-row:focus-within .tasks-today-workload-scroll.has-overflow .tasks-today-workload-nav {
  opacity: .94;
  pointer-events: auto;
  visibility: visible;
}

.tasks-today-workload-nav:hover,
.tasks-today-workload-nav:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 54%, var(--line));
  color: var(--accent);
  outline: 0;
}

.tasks-today-workload-nav:disabled {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.tasks-today-workload-nav svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
  stroke-width: 2.6;
  fill: none;
}

.tasks-today-workload-nav.is-prev {
  left: 3px;
}

.tasks-today-workload-nav.is-next {
  right: 3px;
}

.tasks-today-workload-values {
  display: flex;
  gap: 6px;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 1px 2px 4px;
  scroll-padding-inline: 34px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

.tasks-today-workload-values::-webkit-scrollbar {
  display: none;
}

.tasks-today-workload-values.is-dragging {
  cursor: grabbing;
}

.tasks-today-workload-item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 5px 7px;
  flex: 0 0 clamp(132px, 18vw, 176px);
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface-2) 56%, transparent);
  color: var(--text);
  padding: 7px 42px 6px 7px;
  text-align: left;
}

.tasks-today-workload-item:hover,
.tasks-today-workload-item:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 52%, var(--line));
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
}

.tasks-today-workload-item span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.tasks-today-workload-item strong,
.tasks-today-workload-item small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tasks-today-workload-item strong {
  font-size: 11.5px;
  font-weight: 860;
}

.tasks-today-workload-item small {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 760;
}

.tasks-today-workload-item em {
  position: absolute;
  top: 6px;
  right: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font-size: 15px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
  font-weight: 940;
  line-height: 1;
  padding: 0;
}

.tasks-today-workload-item i {
  display: flex;
  width: 100%;
  height: 3px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--line) 72%, transparent);
  overflow: hidden;
}

.tasks-today-workload-item b {
  display: block;
  height: 100%;
}

.tasks-today-workload-item b.is-active {
  background: var(--amber);
}

.tasks-today-workload-item b.is-attention {
  background: var(--red);
}

.tasks-today-workload-item b.is-resolved {
  background: var(--green);
}

.tasks-today-columns,
.tasks-today-secondary {
  align-items: start;
}

.tasks-today-tools {
  grid-template-columns: minmax(210px, .85fr) auto auto minmax(0, 1.2fr) auto;
  margin-bottom: 0;
}

.tasks-today-tools .task-state-filters {
  justify-content: flex-start;
  overflow-x: auto;
  padding-bottom: 1px;
}

.tasks-today-tools .task-state-filter {
  flex: 0 0 auto;
  min-width: auto;
}

.tasks-today-tools .task-filter-label {
  max-width: 72px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tasks-today-task-list {
  margin-top: 2px;
}

@media (max-width: 1280px) {
  .tasks-today-insights {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .tasks-today-insights {
    grid-template-columns: 1fr;
  }

  .tasks-today-workload-row {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .tasks-today-workload-row h4 {
    align-items: flex-end;
  }

  .tasks-today-tools {
    grid-template-columns: minmax(0, 1fr) auto auto;
    overflow-x: auto;
  }

  .tasks-today-pulse-chart {
    gap: 2px;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .tasks-today-hour {
    min-width: 18px;
  }

  .tasks-today-tools .filter-toolbar-separator {
    display: none;
  }

  .tasks-today-tools .task-state-filters {
    grid-column: 1 / -1;
    order: 5;
  }
}

@media (max-width: 560px) {
  .tasks-today-pulse-card .tasks-chart-heading {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .tasks-today-pulse-total {
    display: block;
    flex: 1 1 100%;
    font-size: 12px;
    text-align: left;
    white-space: normal;
  }

  .tasks-today-workload-scroll::before,
  .tasks-today-workload-scroll::after {
    width: 46px;
  }

  .tasks-today-workload-item {
    flex-basis: min(74vw, 180px);
  }

  .tasks-today-tools .task-filter-label {
    display: none;
  }
}

.task-create-form {
  display: grid;
  gap: 12px;
}

.task-wizard-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.task-wizard-steps li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 76%, transparent);
  color: var(--muted);
  padding: 9px 10px;
}

.task-wizard-steps li span {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.task-wizard-steps li strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}

.task-wizard-steps li.active {
  border-color: color-mix(in srgb, var(--accent) 48%, var(--line));
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
  color: var(--text);
}

.task-wizard-steps li.active span,
.task-wizard-steps li.complete span {
  background: var(--accent);
  color: var(--brand-text);
}

.task-wizard-panel {
  display: none;
  gap: 12px;
  min-width: 0;
}

.task-wizard-panel.active {
  display: grid;
}

.task-action-field,
.task-description-field,
.task-link-field,
.task-files-field,
.task-fields-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.task-files-field {
  position: relative;
}

.task-action-help {
  display: grid;
  gap: 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
  padding: 12px;
}

.task-action-help span,
.task-action-help small,
.task-row small,
.task-row em,
.task-detail p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.task-action-help.is-unavailable {
  border-color: color-mix(in srgb, var(--red) 45%, var(--line));
}

.task-fields-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
}

.task-field {
  grid-column: span 4;
}

.task-category-field {
  grid-column: span 6;
}

.task-status-field {
  grid-column: span 2;
  min-width: 128px;
}

.task-switch-field {
  grid-column: span 2;
  align-self: end;
}

.task-datetime-field {
  grid-column: span 3;
  min-width: 180px;
}

.task-switch-control {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
}

.task-switch-control input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.task-switch-control span {
  position: relative;
  display: inline-block;
  width: 46px;
  height: 26px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  transition: background 0.16s ease, border-color 0.16s ease;
}

.task-switch-control span::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--muted);
  transition: transform 0.16s ease, background 0.16s ease;
}

.task-switch-control input:checked + span {
  border-color: color-mix(in srgb, var(--accent) 62%, var(--line));
  background: color-mix(in srgb, var(--accent) 20%, var(--surface-2));
}

.task-switch-control input:checked + span::before {
  transform: translateX(20px);
  background: var(--accent);
}

.task-switch-control input:focus-visible + span {
  outline: 2px solid color-mix(in srgb, var(--accent) 65%, transparent);
  outline-offset: 2px;
}

.task-checkbox-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.task-checkbox-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.task-checkbox-head .field-label {
  min-width: 0;
}

.task-discover-categories {
  flex: 0 0 auto;
  height: 34px;
  width: 34px;
}

.task-toggle-categories {
  flex: 0 0 auto;
  height: 34px;
  width: 34px;
}

.task-discover-categories.is-loading svg {
  animation: job-spin 0.8s linear infinite;
}

.task-checkbox-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 34px;
  align-items: center;
}

.task-checkbox-options.is-compact:not(.is-expanded) .task-checkbox-option:not(:has(input:checked)) {
  display: none;
}

.task-checkbox-empty {
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.task-fields-grid .task-checkbox-option {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--text);
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  gap: 7px;
  padding: 0 10px;
}

.task-fields-grid .task-checkbox-option:has(input:checked) {
  border-color: color-mix(in srgb, var(--accent) 58%, var(--line));
  background: color-mix(in srgb, var(--accent) 14%, var(--surface-2));
}

.task-fields-grid .task-checkbox-option input {
  min-width: 0;
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
  padding: 0;
}

.task-wide-field {
  grid-column: 1 / -1;
}

.task-create-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.task-create-actions span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.task-create-actions span.is-error {
  color: var(--red);
}

.task-create-actions span.is-success {
  color: var(--green);
}

.task-file-dropzone {
  display: grid;
  gap: 5px;
  min-height: 116px;
  place-items: center;
  border: 1px dashed color-mix(in srgb, var(--accent) 46%, var(--line));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent 56%),
    var(--surface-3);
  color: var(--text);
  cursor: pointer;
  padding: 18px;
  text-align: center;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.task-file-dropzone:hover,
.task-file-dropzone:focus-visible,
.task-file-dropzone.is-dragging {
  border-color: var(--accent);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, transparent), transparent 58%),
    var(--surface-2);
  outline: none;
  transform: translateY(-1px);
}

.task-file-dropzone strong {
  font-size: 14px;
  font-weight: 850;
}

.task-file-dropzone small,
.task-file-dropzone em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}

.task-file-dropzone em {
  color: var(--accent);
  font-weight: 800;
}

.task-file-list {
  display: grid;
  gap: 8px;
}

.task-file-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 8px 8px 8px 11px;
}

.task-file-item-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.task-file-item-copy strong {
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-file-item-copy span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.task-file-remove {
  width: 34px;
  height: 34px;
  color: var(--muted);
}

.task-file-remove:hover,
.task-file-remove:focus-visible {
  color: var(--red);
}

.task-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.task-review {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.task-review div {
  display: grid;
  gap: 4px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
  padding: 10px;
}

.task-review span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 820;
}

.task-review strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: 13px;
  line-height: 1.35;
}

.task-review-advisory {
  display: grid;
  grid-column: 1 / -1;
  gap: 10px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-3) 86%, var(--accent));
  padding: 12px;
}

.task-review-advisory.warn {
  border-color: color-mix(in srgb, var(--amber) 44%, var(--line));
  background: color-mix(in srgb, var(--surface-3) 88%, var(--amber));
}

.task-review-advisory > div {
  border: 0;
  background: transparent;
  padding: 0;
}

.task-review-advisory p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 720;
  line-height: 1.45;
}

.task-review-advisory ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 18px;
  color: var(--text);
  font-size: 13px;
  font-weight: 740;
  line-height: 1.4;
}

.tasks-layout,
.task-list {
  display: grid;
  gap: 8px;
  max-width: 100%;
  min-width: 0;
}

.task-empty-state {
  --task-empty-text: #f1f5f7;
  --task-empty-title: #f8fafc;
  --task-empty-body: #aebed0;
  --task-empty-chip-bg: rgba(7, 17, 31, .48);
  --task-empty-chip-text: #f8fafc;
  --task-empty-chip-label: #91a7bc;
  display: grid;
  grid-template-columns: minmax(140px, 190px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 164px;
  max-width: 100%;
  border: 1px solid color-mix(in srgb, var(--line) 78%, var(--teal));
  border-radius: 8px;
  background:
    radial-gradient(circle at 14% 28%, color-mix(in srgb, var(--teal) 22%, transparent), transparent 28%),
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 31%),
    linear-gradient(115deg, rgba(8, 18, 32, .97), rgba(10, 27, 42, .95) 53%, rgba(31, 31, 26, .91)),
    #07111f;
  color: var(--task-empty-text);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 8%, transparent),
    0 18px 42px color-mix(in srgb, var(--shadow) 18%, transparent);
  overflow: hidden;
  padding: 18px;
}

.task-empty-state.is-filtered {
  border-color: color-mix(in srgb, var(--teal) 44%, var(--line));
}

:root[data-theme="light"] .task-empty-state {
  --task-empty-text: var(--text);
  --task-empty-title: #10202a;
  --task-empty-body: #526372;
  --task-empty-chip-bg: color-mix(in srgb, var(--surface) 84%, var(--teal) 6%);
  --task-empty-chip-text: #13232d;
  --task-empty-chip-label: #61717e;
  border-color: color-mix(in srgb, var(--line) 76%, var(--teal));
  background:
    radial-gradient(circle at 14% 28%, color-mix(in srgb, var(--teal) 15%, transparent), transparent 31%),
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--blue) 10%, transparent), transparent 32%),
    linear-gradient(115deg, color-mix(in srgb, var(--surface) 92%, #ecfdfa), color-mix(in srgb, var(--surface-3) 90%, #e9f2f8) 54%, color-mix(in srgb, var(--surface-2) 90%, #fff7e8)),
    var(--surface);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .92),
    0 16px 38px rgba(15, 23, 42, .08);
}

:root[data-theme="light"] .task-empty-state.is-filtered {
  border-color: color-mix(in srgb, var(--teal) 48%, var(--line));
}

.task-empty-visual {
  position: relative;
  display: grid;
  place-items: center;
  width: 132px;
  height: 132px;
  justify-self: center;
  border: 1px solid color-mix(in srgb, var(--teal) 34%, var(--line));
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--teal) 16%, transparent) 0 2px, transparent 3px),
    radial-gradient(circle at 50% 50%, transparent 0 19%, color-mix(in srgb, var(--teal) 18%, transparent) 20% 21%, transparent 22% 39%, color-mix(in srgb, var(--accent) 14%, transparent) 40% 41%, transparent 42% 61%, color-mix(in srgb, var(--green) 16%, transparent) 62% 63%, transparent 64%),
    rgba(12, 25, 38, .74);
  box-shadow:
    inset 0 0 28px color-mix(in srgb, var(--teal) 13%, transparent),
    0 0 22px color-mix(in srgb, var(--accent) 10%, transparent);
}

:root[data-theme="light"] .task-empty-visual {
  border-color: color-mix(in srgb, var(--teal) 36%, var(--line));
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--teal) 26%, transparent) 0 2px, transparent 3px),
    radial-gradient(circle at 50% 50%, transparent 0 19%, color-mix(in srgb, var(--teal) 18%, transparent) 20% 21%, transparent 22% 39%, color-mix(in srgb, var(--blue) 12%, transparent) 40% 41%, transparent 42% 61%, color-mix(in srgb, var(--green) 14%, transparent) 62% 63%, transparent 64%),
    color-mix(in srgb, var(--surface) 82%, var(--teal) 5%);
  box-shadow:
    inset 0 0 26px color-mix(in srgb, var(--teal) 9%, transparent),
    0 10px 22px rgba(15, 23, 42, .07);
}

.task-empty-ring,
.task-empty-axis,
.task-empty-sweep,
.task-empty-blip {
  position: absolute;
  pointer-events: none;
}

.task-empty-ring {
  inset: var(--task-empty-ring-inset, 18px);
  border: 1px solid color-mix(in srgb, var(--line) 62%, var(--teal));
  border-radius: 50%;
  opacity: .7;
}

.task-empty-ring.is-one {
  --task-empty-ring-inset: 18px;
}

.task-empty-ring.is-two {
  --task-empty-ring-inset: 39px;
  border-color: color-mix(in srgb, var(--accent) 34%, var(--line));
}

.task-empty-ring.is-three {
  --task-empty-ring-inset: 60px;
  border-color: color-mix(in srgb, var(--green) 42%, var(--line));
}

:root[data-theme="light"] .task-empty-ring {
  border-color: color-mix(in srgb, var(--teal) 30%, var(--line));
  opacity: .82;
}

:root[data-theme="light"] .task-empty-ring.is-two {
  border-color: color-mix(in srgb, var(--blue) 22%, var(--line));
}

:root[data-theme="light"] .task-empty-ring.is-three {
  border-color: color-mix(in srgb, var(--green) 26%, var(--line));
}

.task-empty-axis {
  background: color-mix(in srgb, var(--line) 70%, transparent);
  opacity: .45;
}

:root[data-theme="light"] .task-empty-axis {
  background: color-mix(in srgb, var(--teal) 38%, var(--line));
  opacity: .34;
}

.task-empty-axis.is-x {
  left: 16px;
  right: 16px;
  top: 50%;
  height: 1px;
}

.task-empty-axis.is-y {
  top: 16px;
  bottom: 16px;
  left: 50%;
  width: 1px;
}

.task-empty-sweep {
  inset: 10px;
  border-radius: 50%;
  background: conic-gradient(from -24deg, color-mix(in srgb, var(--teal) 42%, transparent), color-mix(in srgb, var(--accent) 10%, transparent) 28deg, transparent 52deg 360deg);
  mix-blend-mode: screen;
  opacity: .76;
  transform-origin: 50% 50%;
  animation: task-empty-sweep 4.8s linear infinite;
}

:root[data-theme="light"] .task-empty-sweep {
  mix-blend-mode: multiply;
  opacity: .48;
}

.task-empty-blip {
  width: var(--task-empty-blip-size, 8px);
  height: var(--task-empty-blip-size, 8px);
  border-radius: 50%;
  background: var(--task-empty-blip-color, var(--teal));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--task-empty-blip-color, var(--teal)) 18%, transparent), 0 0 18px color-mix(in srgb, var(--task-empty-blip-color, var(--teal)) 42%, transparent);
}

:root[data-theme="light"] .task-empty-blip {
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--task-empty-blip-color, var(--teal)) 16%, transparent), 0 0 13px color-mix(in srgb, var(--task-empty-blip-color, var(--teal)) 28%, transparent);
}

.task-empty-blip.is-a {
  --task-empty-blip-color: var(--teal);
  left: 34px;
  top: 39px;
}

.task-empty-blip.is-b {
  --task-empty-blip-color: var(--amber);
  --task-empty-blip-size: 6px;
  right: 36px;
  top: 63px;
}

.task-empty-blip.is-c {
  --task-empty-blip-color: var(--green);
  --task-empty-blip-size: 7px;
  right: 48px;
  bottom: 32px;
}

.task-empty-copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.task-empty-copy > span {
  color: var(--teal);
  font-size: 10.5px;
  font-weight: 920;
  letter-spacing: 0;
  line-height: 1.1;
  text-transform: uppercase;
}

.task-empty-copy strong {
  color: var(--task-empty-title);
  font-size: 20px;
  font-weight: 920;
  line-height: 1.08;
}

.task-empty-copy p {
  max-width: 58ch;
  margin: 0;
  color: var(--task-empty-body);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

.task-empty-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  padding-top: 3px;
}

.task-empty-chips em {
  display: inline-flex;
  align-items: center;
  max-width: min(100%, 260px);
  min-height: 28px;
  border: 1px solid color-mix(in srgb, var(--line) 78%, var(--teal));
  border-radius: 999px;
  background: var(--task-empty-chip-bg);
  color: var(--task-empty-chip-text);
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  gap: 6px;
  overflow: hidden;
  padding: 0 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-empty-chips b {
  color: var(--task-empty-chip-label);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.task-empty-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.task-empty-actions .button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.task-empty-actions .button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@keyframes task-empty-sweep {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .task-empty-sweep {
    animation: none;
  }
}

@media (max-width: 900px) {
  .task-empty-state {
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
  }

  .task-empty-visual {
    width: 104px;
    height: 104px;
  }

  .task-empty-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .task-empty-state {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 12px;
    padding: 14px;
  }

  .task-empty-visual {
    justify-self: start;
    width: 92px;
    height: 92px;
  }

  .task-empty-copy strong {
    font-size: 17px;
  }

  .task-empty-actions .button {
    flex: 1 1 136px;
    justify-content: center;
  }
}

.tasks-loading-placeholder {
  display: grid;
  gap: 12px;
}

.tasks-loading-placeholder.is-list {
  gap: 8px;
}

.tasks-loading-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.tasks-loading-heading h3,
.tasks-loading-heading p {
  margin: 0;
}

.tasks-loading-heading h3 {
  color: var(--text);
  font-size: 15px;
  font-weight: 860;
}

.tasks-loading-heading p {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 680;
  line-height: 1.35;
}

.tasks-loading-heading > span {
  flex: 0 0 auto;
  border: 1px solid color-mix(in srgb, var(--amber) 38%, var(--line));
  border-radius: 999px;
  color: var(--amber);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  padding: 5px 7px;
  text-transform: uppercase;
}

.task-loading-line {
  display: block;
  width: min(var(--task-loading-width, 100%), 100%);
  max-width: 100%;
  min-height: 10px;
  border-radius: 999px;
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--surface-2) 86%, var(--line)) 0%,
      color-mix(in srgb, var(--line) 70%, var(--surface)) 42%,
      color-mix(in srgb, var(--surface-2) 86%, var(--line)) 84%
    );
  background-size: 220% 100%;
  opacity: .78;
  animation: task-placeholder-pulse 1.25s ease-in-out infinite;
}

.task-overview-tile.is-placeholder,
.tasks-chart-card.is-placeholder,
.task-row-card.is-placeholder {
  pointer-events: none;
}

.task-overview-tile.is-placeholder {
  align-content: start;
  gap: 10px;
}

.tasks-chart-card.is-placeholder {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 190px;
}

.task-row-card.is-placeholder {
  display: grid;
  gap: 10px;
}

@keyframes task-placeholder-pulse {
  0% {
    background-position: 120% 0;
  }
  100% {
    background-position: -120% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .task-loading-line {
    animation: none;
  }
}

.task-view-toggle {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.task-view-toggle button {
  display: grid;
  width: 36px;
  min-width: 36px;
  min-height: 34px;
  place-items: center;
  padding: 7px 9px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 860;
}

.task-view-toggle button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.task-view-toggle button.active {
  border-color: color-mix(in srgb, var(--teal) 36%, var(--line));
  background: var(--surface);
  color: var(--teal);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--teal) 14%, transparent);
}

.task-list-tools {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  min-width: 0;
  margin-bottom: 6px;
}

.task-search-sort {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.task-search-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--muted);
  padding: 0 10px;
}

.task-search-field svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.task-search-field input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  outline: 0;
  padding: 9px 0 9px 8px;
}

.task-search-field:focus-within {
  border-color: color-mix(in srgb, var(--teal) 46%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 10%, transparent);
}

.task-sort-toggle {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.task-sort-toggle button {
  display: grid;
  width: 32px;
  min-width: 32px;
  min-height: 32px;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  padding: 6px;
}

.task-sort-toggle button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.task-sort-toggle button:hover,
.task-sort-toggle button:focus-visible {
  color: var(--text);
}

.task-sort-toggle button:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--teal) 52%, transparent);
  outline-offset: 2px;
}

.task-sort-toggle button.active {
  border-color: color-mix(in srgb, var(--teal) 36%, var(--line));
  background: var(--surface);
  color: var(--teal);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--teal) 14%, transparent);
}

.task-state-filters {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

.tasks-chart-range {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 6px;
  min-width: 0;
}

.tasks-chart-range button {
  min-width: 46px;
  min-height: 34px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
  font-weight: 860;
  padding: 6px 8px;
}

.tasks-chart-range button:hover,
.tasks-chart-range button:focus-visible {
  color: var(--text);
}

.tasks-chart-range button:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--teal) 52%, transparent);
  outline-offset: 2px;
}

.tasks-chart-range button[aria-pressed="true"] {
  border-color: transparent;
  background: transparent;
  color: var(--teal);
  box-shadow: none;
}

.task-state-filter {
  --task-filter-color: var(--muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 46px;
  min-height: 34px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  padding: 6px 8px;
}

.task-state-filter svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.task-state-filter span {
  color: inherit;
  font-size: 11px;
  font-weight: 820;
  font-variant-numeric: tabular-nums;
}

.task-state-filter.is-running {
  --task-filter-color: var(--amber);
  color: var(--amber);
}

.task-state-filter.is-pending {
  --task-filter-color: var(--muted);
  color: var(--muted);
}

.task-state-filter.is-attention {
  --task-filter-color: var(--amber);
  color: var(--amber);
}

.task-state-filter.is-stalled {
  --task-filter-color: var(--amber);
  color: var(--amber);
}

.task-state-filter.is-errors {
  --task-filter-color: var(--red);
  color: var(--red);
}

.task-state-filter.is-resolved-today {
  --task-filter-color: var(--green);
  color: var(--green);
}

.task-state-filter.is-cancelled {
  --task-filter-color: var(--red);
  color: var(--red);
}

.task-state-filter.is-finished {
  --task-filter-color: var(--green);
  color: var(--green);
}

.task-state-filter.is-trash {
  --task-filter-color: var(--red);
  color: var(--red);
}

.task-state-filter.active {
  border-color: color-mix(in srgb, var(--task-filter-color) 42%, var(--line));
  background: color-mix(in srgb, var(--task-filter-color) 10%, var(--surface));
  box-shadow: 0 1px 0 color-mix(in srgb, var(--task-filter-color) 14%, transparent);
}

.task-row-card {
  display: grid;
  position: relative;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
  overflow: visible;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.task-row-card.has-progress::before,
.task-table-row.has-progress::before,
.task-table-detail.has-progress::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: var(--task-progress, 0%);
  height: 3px;
  border-radius: 999px;
  background: var(--ex-gradient);
  box-shadow: 0 -2px 14px color-mix(in srgb, var(--teal) 28%, transparent);
  opacity: 0.94;
  pointer-events: none;
  transition: width 260ms ease;
}

.task-table-row.is-expanded.has-progress::before {
  display: none;
}

.task-row-card:has(.task-cancel-row.is-confirming),
.task-row-card:has(.task-trash-row.is-confirming),
.task-row-card:has(.task-trash-actions.is-confirming),
.task-table-row:has(.task-cancel-row.is-confirming),
.task-table-row:has(.task-trash-row.is-confirming),
.task-table-row:has(.task-trash-actions.is-confirming) {
  z-index: 20;
}

.task-row-card.is-expanded,
.task-row-card:hover {
  border-color: color-mix(in srgb, var(--teal) 36%, var(--line));
}

.task-row-card.is-expanded:not(.is-deleted) {
  background: var(--surface-2);
}

.task-row-card.is-deleted {
  border-color: color-mix(in srgb, var(--muted) 46%, var(--line));
  box-shadow: inset 4px 0 0 var(--muted);
  background:
    repeating-linear-gradient(135deg, color-mix(in srgb, var(--muted) 10%, transparent) 0 8px, transparent 8px 16px),
    color-mix(in srgb, var(--surface-2) 84%, var(--muted));
}

.task-row-card.is-deleted.is-expanded,
.task-row-card.is-deleted:hover {
  border-color: color-mix(in srgb, var(--muted) 58%, var(--line));
  background:
    repeating-linear-gradient(135deg, color-mix(in srgb, var(--muted) 13%, transparent) 0 8px, transparent 8px 16px),
    color-mix(in srgb, var(--surface-2) 78%, var(--muted));
}

.task-row {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 58px;
  border: 0;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font: inherit;
  padding: 10px 12px;
  text-align: left;
}

.task-row:hover {
  background: var(--surface-2);
}

.task-row-card.is-deleted .task-row:hover {
  background: color-mix(in srgb, var(--muted) 9%, transparent);
}

.task-row-card.is-expanded .task-row:hover {
  background: transparent;
}

.task-row:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--teal) 72%, #ffffff);
  outline-offset: -2px;
}

.task-row-top {
  display: grid;
  grid-template-columns: auto minmax(160px, 1fr) minmax(260px, 1.35fr) auto;
  grid-template-areas: "state title context chevron";
  align-items: center;
  gap: 10px;
  min-width: 0;
  width: 100%;
}

.task-row-card.has-cancel-action .task-row-top,
.task-row-card.has-task-actions .task-row-top {
  grid-template-columns: auto minmax(160px, 1fr) minmax(260px, 1.35fr) auto auto;
  grid-template-areas: "state title context actions chevron";
}

.task-row-top > .task-state-wrap {
  grid-area: state;
}

.task-row-title {
  display: grid;
  grid-area: title;
  gap: 2px;
  min-width: 0;
}

.task-row-title strong,
.task-row-title small,
.task-row-context > * {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-row-card.is-deleted .task-row-title strong,
.task-table-row.is-deleted .task-table-main strong {
  color: color-mix(in srgb, var(--text) 58%, var(--muted));
}

.task-row-card.is-deleted .task-row-title small,
.task-row-card.is-deleted .task-row-context,
.task-table-row.is-deleted .task-table-cell {
  color: color-mix(in srgb, var(--muted) 84%, var(--surface-contrast, #ffffff));
}

.task-row-card.is-deleted .task-state,
.task-table-row.is-deleted .task-state {
  border-color: color-mix(in srgb, var(--muted) 54%, var(--line));
  background: color-mix(in srgb, var(--muted) 12%, transparent);
  color: var(--muted);
}

.task-row-context {
  display: flex;
  grid-area: context;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  min-width: 0;
  max-width: 100%;
  color: var(--muted);
  font-size: 12px;
  font-weight: 740;
  justify-self: stretch;
}

.task-row-context time {
  flex: 0 0 auto;
}

.task-row-context .task-row-duration {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
}

.task-heartbeat-chip,
.task-diagnostic-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 180px;
  min-height: 18px;
  border: 1px solid color-mix(in srgb, var(--teal) 34%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--teal) 9%, transparent);
  color: color-mix(in srgb, var(--teal) 76%, var(--text));
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
  padding: 0 7px;
}

.task-heartbeat-chip::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.78;
}

.task-heartbeat-chip.is-live::before {
  animation: task-heartbeat-pulse 2.4s ease-in-out infinite;
}

.task-heartbeat-chip.is-stale,
.task-diagnostic-chip {
  border-color: color-mix(in srgb, var(--amber) 48%, var(--line));
  background: color-mix(in srgb, var(--amber) 12%, transparent);
  color: color-mix(in srgb, var(--amber) 82%, var(--text));
}

.task-row-context span {
  flex: 0 1 auto;
  min-width: 0;
}

.task-row-context > * + * {
  position: relative;
  padding-left: 10px;
}

.task-row-context > * + *::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.48;
  transform: translateY(-50%);
}

.task-inline-message {
  display: flex;
  align-items: center;
  position: relative;
  gap: 7px;
  width: min(100%, 780px);
  min-width: 0;
  margin-top: 6px;
  padding: 0;
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
  isolation: isolate;
}

.task-inline-message-icon {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  position: relative;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  color: color-mix(in srgb, var(--teal) 76%, var(--text));
}

.task-inline-message-icon::before,
.task-inline-message-icon::after {
  content: "";
  position: absolute;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
}

.task-inline-message-icon svg {
  display: block;
  position: relative;
  z-index: 1;
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.task-inline-message time {
  flex: 0 0 auto;
  color: color-mix(in srgb, var(--muted) 84%, var(--text));
  font-size: 11px;
  font-weight: 780;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.task-inline-message-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-inline-message > * {
  position: relative;
  z-index: 1;
}

.task-progress-inline {
  display: grid;
  grid-template-columns: minmax(84px, 140px) minmax(0, auto);
  align-items: center;
  gap: 8px;
  width: min(100%, 520px);
  margin-top: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
  letter-spacing: 0;
}

.task-progress-track {
  display: block;
  position: relative;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--line) 64%, transparent);
}

.task-progress-track span {
  display: block;
  position: relative;
  width: 0;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
  background: var(--ex-gradient);
  isolation: isolate;
  transition: width 260ms ease;
}

.core-update-progress-track span,
.bulletin-progress-track span {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.task-progress-track.is-live-progress span::after,
.bulletin-progress-track.is-live-progress span::after,
.core-update-progress.is-live-progress .core-update-progress-track span::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -72%;
  width: 58%;
  min-width: 44px;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.24) 26%,
    rgba(255, 255, 255, 0.76) 50%,
    color-mix(in srgb, var(--wave-progress) 44%, rgba(255, 255, 255, 0.82)) 63%,
    transparent 100%
  );
  box-shadow: 0 0 14px color-mix(in srgb, var(--wave-progress) 36%, transparent);
  opacity: 0;
  pointer-events: none;
  transform: skewX(-18deg);
  animation: live-progress-shine 2.35s ease-in-out infinite;
}

.task-row-card.is-running.has-progress::before,
.task-table-row.is-running.has-progress::before,
.task-table-detail.is-running.has-progress::before {
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.72), color-mix(in srgb, var(--wave-progress) 42%, rgba(255, 255, 255, 0.68)), transparent) -64px 0 / 64px 100% no-repeat,
    var(--ex-gradient);
  animation: live-progress-edge-shine 2.35s ease-in-out infinite;
}

.task-progress-copy {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.task-progress-copy strong,
.task-progress-copy small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-progress-copy strong {
  color: color-mix(in srgb, var(--text) 88%, var(--teal));
  font-size: 11px;
  font-weight: 860;
}

.task-progress-copy small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.task-inline-message.is-message-changed {
  --task-message-event-color: var(--green);
}

.task-inline-message.is-message-changed .task-inline-message-icon {
  color: var(--task-message-event-color);
  animation: task-message-icon-pulse 760ms cubic-bezier(0.18, 0.92, 0.22, 1);
}

.task-inline-message.is-message-changed .task-inline-message-icon::before {
  inset: -8px;
  background:
    radial-gradient(circle, var(--task-message-event-color) 0 1.6px, transparent 2.2px) 10% 50% / 13px 13px no-repeat,
    radial-gradient(circle, var(--task-message-event-color) 0 1.3px, transparent 1.9px) 38% 0 / 13px 13px no-repeat,
    radial-gradient(circle, var(--task-message-event-color) 0 1.5px, transparent 2.1px) 92% 38% / 13px 13px no-repeat,
    radial-gradient(circle, var(--task-message-event-color) 0 1.2px, transparent 1.8px) 58% 100% / 13px 13px no-repeat;
  animation: task-state-sparks 620ms ease-out;
}

.task-inline-message.is-message-changed .task-inline-message-icon::after {
  inset: -3px;
  border: 1px solid var(--task-message-event-color);
  animation: task-state-ring 560ms ease-out;
}

.task-inline-message.error {
  --task-message-event-color: var(--red);
}

.task-inline-message.error .task-inline-message-icon {
  color: color-mix(in srgb, var(--red) 78%, var(--text));
}

.task-inline-message.result-ok .task-inline-message-icon {
  color: color-mix(in srgb, var(--green) 82%, var(--teal));
}

.task-row-card.is-running .task-inline-message:not(.error) .task-inline-message-icon,
.task-table-row.is-running .task-inline-message:not(.error) .task-inline-message-icon {
  color: color-mix(in srgb, var(--green) 82%, var(--teal));
}

.task-row-card.is-running .task-inline-message:not(.error):not(.is-message-changed) .task-inline-message-icon::before,
.task-table-row.is-running .task-inline-message:not(.error):not(.is-message-changed) .task-inline-message-icon::before {
  inset: 1px;
  border: 1px solid currentColor;
  animation: task-message-active-ring 1.8s ease-out infinite;
}

.task-row-card.is-running .task-inline-message:not(.error) .task-inline-message-icon svg,
.task-table-row.is-running .task-inline-message:not(.error) .task-inline-message-icon svg {
  animation: task-message-active-pulse 1.8s ease-in-out infinite;
}

.task-table-main .task-inline-message {
  max-width: 100%;
  margin-top: 2px;
}

.task-table-main .task-progress-inline {
  max-width: 100%;
  margin-top: 5px;
}

.task-table-cell {
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 620;
}

.task-row-chevron {
  grid-area: chevron;
  align-self: center;
  justify-self: end;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid var(--muted);
  border-right: 2px solid var(--muted);
  transform: rotate(-45deg);
  transition: transform 0.16s ease, border-color 0.16s ease;
}

.task-row-card.is-expanded .task-row-chevron,
.task-table-row.is-expanded .task-row-chevron {
  border-color: var(--accent);
  transform: rotate(45deg);
}

.task-row-meta,
.task-param-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.task-row-meta span,
.task-param-strip span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  gap: 5px;
  padding: 0 8px;
}

.task-param-strip span {
  border-radius: 7px;
  background: var(--surface-2);
}

.task-param-strip b {
  color: var(--text);
  font-weight: 850;
}

.task-state-wrap {
  display: inline-flex;
  align-items: center;
  position: relative;
  gap: 7px;
  white-space: nowrap;
}

.task-mini-spinner {
  width: 14px;
  height: 14px;
  border: 2px solid color-mix(in srgb, var(--amber) 26%, var(--line));
  border-top-color: var(--amber);
  border-radius: 999px;
  animation: job-spin 0.85s linear infinite;
}

.task-state {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  padding: 0 8px;
  white-space: nowrap;
}

.task-state.ok {
  border-color: color-mix(in srgb, var(--green) 45%, var(--line));
  color: var(--green);
}

.task-state.warn {
  border-color: color-mix(in srgb, var(--amber) 45%, var(--line));
  color: var(--amber);
}

.task-state.bad {
  border-color: color-mix(in srgb, var(--red) 45%, var(--line));
  color: var(--red);
}

.task-row-card.is-task-new,
.task-table-row.is-task-new {
  animation: task-row-plop 620ms cubic-bezier(0.18, 0.9, 0.22, 1);
}

.task-row-card.is-task-new::after,
.task-table-row.is-task-new::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 50%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 28%),
    linear-gradient(90deg, color-mix(in srgb, var(--accent) 18%, transparent), transparent 42%);
  opacity: 0;
  animation: task-row-glow 720ms ease-out;
}

.task-row-card.is-task-status-change,
.task-table-row.is-task-status-change {
  --task-event-color: var(--accent);
  animation: task-row-state-pulse 700ms ease-out;
}

.task-row-card.is-task-finished,
.task-table-row.is-task-finished {
  --task-event-color: var(--green);
}

.task-row-card.is-task-failed,
.task-table-row.is-task-failed {
  --task-event-color: var(--red);
}

.task-row-card.is-task-needs-attention,
.task-table-row.is-task-needs-attention {
  --task-event-color: var(--amber);
}

.task-row-card.is-task-filter-exit,
.task-table-row.is-task-filter-exit {
  overflow: hidden;
  pointer-events: none;
  transform-origin: 78% 50%;
  will-change: opacity, transform, clip-path, filter;
  animation: task-filter-disintegrate 920ms cubic-bezier(0.2, 0.78, 0.18, 1) forwards;
}

.task-row-card.is-task-filter-exit > *,
.task-table-row.is-task-filter-exit > * {
  animation: task-filter-content-fracture 920ms cubic-bezier(0.2, 0.78, 0.18, 1) forwards;
}

.task-row-card.is-task-filter-exit::before,
.task-table-row.is-task-filter-exit::before {
  content: "";
  position: absolute;
  inset: -18px;
  z-index: 4;
  pointer-events: none;
  background:
    linear-gradient(108deg, transparent 0 30%, color-mix(in srgb, #ffffff 82%, transparent) 41%, color-mix(in srgb, var(--task-event-color, var(--accent)) 68%, transparent) 47%, transparent 58%),
    repeating-linear-gradient(174deg, transparent 0 8px, color-mix(in srgb, var(--task-event-color, var(--accent)) 30%, transparent) 9px 10px, transparent 11px 17px);
  opacity: 0;
  transform: translateX(-118%) skewX(-12deg);
  animation: task-filter-shred-sweep 920ms cubic-bezier(0.16, 0.8, 0.22, 1) forwards;
}

.task-row-card.is-task-filter-exit::after,
.task-table-row.is-task-filter-exit::after {
  content: "";
  position: absolute;
  inset: -16px -24px;
  z-index: 5;
  pointer-events: none;
  background:
    radial-gradient(circle, color-mix(in srgb, #ffffff 74%, var(--task-event-color, var(--accent))) 0 1.8px, transparent 2.5px) 8% 20% / 26px 26px no-repeat,
    radial-gradient(circle, var(--task-event-color, var(--accent)) 0 1.5px, transparent 2.2px) 18% 74% / 24px 24px no-repeat,
    radial-gradient(circle, color-mix(in srgb, var(--task-event-color, var(--accent)) 78%, #ffffff) 0 2px, transparent 2.8px) 42% 30% / 28px 28px no-repeat,
    radial-gradient(circle, var(--task-event-color, var(--accent)) 0 1.4px, transparent 2px) 58% 82% / 22px 22px no-repeat,
    radial-gradient(circle, color-mix(in srgb, #ffffff 62%, var(--task-event-color, var(--accent))) 0 1.8px, transparent 2.6px) 76% 18% / 26px 26px no-repeat,
    radial-gradient(circle, var(--task-event-color, var(--accent)) 0 1.7px, transparent 2.4px) 92% 50% / 24px 24px no-repeat;
  filter: drop-shadow(0 0 8px color-mix(in srgb, var(--task-event-color, var(--accent)) 42%, transparent));
  opacity: 0;
  transform: translateX(-8px) scale(0.96);
  animation: task-filter-particles 920ms ease-out forwards;
}

.task-state-wrap.is-status-changed {
  color: var(--accent);
}

.task-state-wrap.is-status-ok {
  color: var(--green);
}

.task-state-wrap.is-status-warn {
  color: var(--amber);
}

.task-state-wrap.is-status-bad {
  color: var(--red);
}

.task-state-wrap.is-status-pending {
  color: var(--muted);
}

.task-state-wrap.is-status-changed .task-state {
  animation: task-state-pop 560ms cubic-bezier(0.18, 0.92, 0.22, 1);
}

.task-state-wrap.is-status-changed::before,
.task-state-wrap.is-status-changed::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.task-state-wrap.is-status-changed::before {
  inset: -11px -15px;
  background:
    radial-gradient(circle, currentColor 0 2px, transparent 2.6px) 8% 42% / 18px 18px no-repeat,
    radial-gradient(circle, currentColor 0 1.6px, transparent 2.2px) 38% 0 / 18px 18px no-repeat,
    radial-gradient(circle, currentColor 0 1.7px, transparent 2.3px) 72% 18% / 18px 18px no-repeat,
    radial-gradient(circle, currentColor 0 1.9px, transparent 2.5px) 92% 58% / 18px 18px no-repeat,
    radial-gradient(circle, currentColor 0 1.4px, transparent 2px) 56% 100% / 18px 18px no-repeat;
  opacity: 0;
  animation: task-state-sparks 620ms ease-out;
}

.task-state-wrap.is-status-changed::after {
  inset: -5px -8px;
  border: 1px solid currentColor;
  border-radius: 999px;
  opacity: 0;
  animation: task-state-ring 560ms ease-out;
}

.task-row-detail {
  display: grid;
  gap: 12px;
  max-width: 100%;
  min-width: 0;
  border-top: 0;
  background: transparent;
  overflow: hidden;
  padding: 0 12px 12px;
}

.task-detail {
  display: grid;
  gap: 12px;
  max-width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
  padding: 14px;
}

.task-detail-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.task-detail-toolbar > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.task-detail-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.task-detail-toolbar .task-detail-actions {
  margin-left: auto;
}

.task-detail-actions > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.task-detail-info-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(72px, 0.42fr) minmax(96px, 0.52fr) minmax(0, 1.7fr);
  gap: 8px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.task-detail-info-grid.is-alert-count-1 {
  grid-template-columns: minmax(150px, 1.2fr) minmax(72px, 0.42fr) minmax(108px, 0.55fr) minmax(130px, 0.85fr) minmax(72px, 0.75fr);
}

.task-detail-info-grid.is-alert-count-2 {
  grid-template-columns: minmax(150px, 1.15fr) minmax(72px, 0.4fr) minmax(108px, 0.52fr) minmax(130px, 0.78fr) minmax(130px, 0.78fr) minmax(64px, 0.56fr);
}

.task-detail-info-tile {
  display: grid;
  gap: 3px;
  max-width: 100%;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface-2) 88%, var(--surface-3));
  padding: 8px 10px;
}

.task-detail-info-tile > span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.15;
  text-transform: uppercase;
}

.task-detail-info-tile strong {
  display: block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  font-weight: 760;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-id-line,
.task-directory-line {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  min-width: 0;
  overflow: visible;
}

.task-detail-info-tile.is-directory,
.task-detail-info-tile.is-task {
  overflow: hidden;
}

.task-id-line strong,
.task-directory-path {
  display: block;
  direction: ltr;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-align: left;
}

.task-id-line strong > span,
.task-directory-path > span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-copy-button,
.task-directory-copy {
  position: relative;
  z-index: 2;
  width: 30px;
  min-width: 30px;
  height: 30px;
}

.task-copy-button:hover,
.task-copy-button:focus-visible,
.task-copy-button:active {
  border-color: var(--green);
  background: var(--green);
  color: #ffffff;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.task-copy-notice {
  position: absolute;
  top: 50%;
  right: 38px;
  z-index: 4;
  border: 1px solid color-mix(in srgb, var(--green) 50%, var(--line));
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface) 92%, var(--green));
  color: var(--green);
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
  opacity: 1;
  padding: 6px 8px;
  pointer-events: none;
  transform: translate(0, -50%);
  transition: opacity 360ms ease, transform 360ms ease;
  white-space: nowrap;
}

.task-copy-notice.is-fading {
  opacity: 0;
  transform: translate(-4px, -50%);
}

.task-file-row-list {
  display: grid;
  gap: 5px;
  margin-top: 10px;
}

.task-file-row-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface-2);
  padding: 6px 8px;
}

.task-file-row-list code {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 12px;
  font-weight: 520;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-file-row-list span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
  white-space: nowrap;
}

.task-table {
  display: grid;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
  overflow: hidden;
}

.task-table.has-task-inline-confirm {
  overflow: visible;
}

.task-table-body {
  min-width: 0;
}

.task-table-head,
.task-table-row {
  display: grid;
  grid-template-columns: minmax(86px, 0.5fr) minmax(270px, 2.45fr) minmax(128px, 0.72fr) minmax(132px, 0.75fr) minmax(70px, 0.42fr) minmax(66px, 0.38fr) minmax(78px, 0.44fr) minmax(72px, 0.4fr) minmax(84px, 0.46fr);
  align-items: center;
  gap: 10px;
}

.task-table-head {
  min-height: 38px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 11px;
  font-weight: 860;
  text-transform: uppercase;
}

.task-sort-head {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  min-width: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  letter-spacing: inherit;
  padding: 0;
  text-align: left;
  text-transform: inherit;
}

.task-sort-head:hover,
.task-sort-head:focus-visible,
.task-sort-head.is-active {
  color: var(--text);
}

.task-sort-head:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--teal) 52%, transparent);
  outline-offset: 3px;
  border-radius: 4px;
}

.task-sort-head span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-sort-arrow {
  display: inline-grid;
  place-items: center;
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  color: var(--teal);
}

.task-sort-arrow svg {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  stroke-width: 2.4;
  fill: none;
}

.task-table-row {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 54px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  cursor: pointer;
  padding: 9px 12px;
  transition: background 160ms ease, box-shadow 160ms ease;
}

.task-table-row:hover,
.task-table-row:focus-visible {
  background: var(--surface-2);
}

.task-table-row.is-expanded {
  border-bottom-color: transparent;
  background: var(--surface-2);
}

.task-table-row.is-deleted {
  box-shadow: inset 4px 0 0 var(--muted);
  background:
    repeating-linear-gradient(135deg, color-mix(in srgb, var(--muted) 9%, transparent) 0 8px, transparent 8px 16px),
    color-mix(in srgb, var(--surface) 86%, var(--muted));
}

.task-table-row.is-deleted:hover,
.task-table-row.is-deleted:focus-visible {
  background:
    repeating-linear-gradient(135deg, color-mix(in srgb, var(--muted) 12%, transparent) 0 8px, transparent 8px 16px),
    color-mix(in srgb, var(--surface) 80%, var(--muted));
}

.task-table-row.is-deleted.is-expanded {
  border-bottom-color: transparent;
  background:
    repeating-linear-gradient(135deg, color-mix(in srgb, var(--muted) 12%, transparent) 0 8px, transparent 8px 16px),
    color-mix(in srgb, var(--surface) 80%, var(--muted));
}

.task-table-row:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--teal) 52%, transparent);
  outline-offset: -2px;
}

.task-table-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.task-table-main strong,
.task-table-main span,
.task-table-value,
.task-table-cell {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-table-main strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 720;
}

.task-table-main span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
}

.task-table-main .task-inline-message,
.task-table-main .task-inline-message span {
  font-weight: 400;
}

.task-table-main .task-inline-message time {
  font-weight: 780;
}

.task-row-id {
  display: block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  overflow-wrap: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-table-value {
  color: color-mix(in srgb, var(--text) 78%, var(--muted));
  font-variant-numeric: tabular-nums;
  font-weight: 620;
}

.task-duration-value.is-status-ok {
  color: var(--green);
}

.task-duration-value.is-status-warn,
.task-duration-value.is-running {
  color: var(--amber);
}

.task-duration-value.is-status-bad {
  color: var(--red);
}

.task-duration-value.is-status-pending {
  color: var(--muted);
}

.task-duration-value.is-status-changed {
  animation: task-state-pop 560ms cubic-bezier(0.18, 0.92, 0.22, 1);
}

.task-table-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  overflow: visible;
  position: relative;
}

.task-table-actions .icon-button {
  width: 32px;
  height: 32px;
}

.task-card-actions {
  grid-area: actions;
  align-self: center;
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  gap: 8px;
  min-width: 0;
}

.task-cancel-row,
.task-trash-row,
.task-trash-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  position: relative;
  gap: 6px;
}

.task-cancel-button,
.task-trash-button,
.task-purge-button {
  border-color: color-mix(in srgb, var(--red) 28%, var(--line));
  color: var(--red);
}

.task-restore-button {
  border-color: color-mix(in srgb, var(--green) 32%, var(--line));
  color: var(--green);
}

.task-cancel-confirm,
.task-trash-confirm {
  position: absolute;
  top: 50%;
  right: calc(100% + 8px);
  z-index: 12;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 256px;
  border: 1px solid color-mix(in srgb, var(--line) 88%, #ffffff);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28);
  padding: 7px;
  transform: translateY(-50%);
}

.task-cancel-confirm span,
.task-trash-confirm span {
  flex: 0 0 auto;
  color: #17202a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
}

.task-cancel-confirm-action,
.task-trash-confirm-action {
  white-space: nowrap;
}

.task-restore-confirm-action {
  border-color: color-mix(in srgb, var(--green) 44%, var(--line));
  background: color-mix(in srgb, var(--green) 10%, var(--surface-2));
  color: var(--green);
  white-space: nowrap;
}

.task-restore-confirm-action:hover {
  border-color: var(--green);
}

.task-cancel-keep,
.task-trash-keep {
  border-color: #d7dce3;
  background: #f1f3f5;
  color: #4b5563;
  white-space: nowrap;
}

.task-cancel-keep:hover,
.task-trash-keep:hover {
  border-color: #c8ced7;
  background: #e9ecef;
}

.task-row-title .task-row-trash-countdown,
.task-table-main .task-table-trash-countdown {
  display: block;
  width: 100%;
  max-width: none;
  min-height: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: color-mix(in srgb, var(--red) 76%, var(--muted));
  font-size: 11px;
  font-weight: 820;
  letter-spacing: 0;
  line-height: 1.25;
  padding: 0;
  text-overflow: clip;
  white-space: normal;
}

.task-row-title .task-row-trash-countdown {
  margin-top: 1px;
}

.task-table-main .task-table-trash-countdown {
  margin-top: 2px;
}

.task-table-flags {
  display: block;
  margin-top: 4px;
  min-height: 0;
}

.task-table-flags:empty {
  display: none;
  margin-top: 0;
}

.task-table-flags > * + * {
  margin-left: 4px;
}

.task-load-more {
  display: flex;
  justify-content: center;
  padding: 6px 0 2px;
}

.task-cancellation-notice,
.task-deletion-notice,
.task-diagnostics-notice,
.task-claim-notice {
  display: grid;
  gap: 3px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--red) 38%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-3) 88%, var(--red));
  padding: 9px 10px;
}

.task-deletion-notice {
  border-color: color-mix(in srgb, var(--amber) 42%, var(--line));
  background: color-mix(in srgb, var(--surface-3) 88%, var(--amber));
}

.task-diagnostics-notice {
  border-color: color-mix(in srgb, var(--amber) 48%, var(--line));
  background: color-mix(in srgb, var(--surface-3) 86%, var(--amber));
}

.task-claim-notice {
  border-color: color-mix(in srgb, var(--teal) 38%, var(--line));
  background: color-mix(in srgb, var(--surface-3) 90%, var(--teal));
}

.task-claim-notice.is-stale {
  border-color: color-mix(in srgb, var(--amber) 52%, var(--line));
  background: color-mix(in srgb, var(--surface-3) 86%, var(--amber));
}

.task-cancellation-notice span,
.task-deletion-notice span,
.task-diagnostics-notice > span,
.task-claim-notice span {
  color: var(--red);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.task-deletion-notice span,
.task-diagnostics-notice > span,
.task-claim-notice.is-stale span {
  color: var(--amber);
}

.task-claim-notice span {
  color: var(--teal);
}

.task-cancellation-notice strong,
.task-deletion-notice strong,
.task-diagnostics-notice strong,
.task-claim-notice strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
}

.task-cancellation-notice small,
.task-deletion-notice small,
.task-diagnostics-notice small,
.task-claim-notice small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-diagnostics-notice article {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.task-detail-alert-tile strong,
.task-detail-alert-tile small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-progress-detail {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.task-progress-detail-head {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.task-progress-detail-head strong,
.task-progress-detail-head small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-progress-detail-head strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
}

.task-progress-detail-head small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
}

.task-progress-detail p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.task-detail-title:has(.task-progress-summary-steps) {
  flex-wrap: nowrap;
}

.task-detail-title:has(.task-progress-summary-steps) .task-detail-inline-summary {
  flex: 0 1 min(320px, 26%);
  max-width: min(320px, 26%);
}

.task-progress-summary-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr));
  flex: 999 1 420px;
  gap: 5px;
  min-width: 320px;
  max-width: none;
  width: 100%;
  margin-left: 0;
}

.task-progress-summary-step {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  min-height: 24px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface-2) 88%, transparent);
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  line-height: 1;
  padding: 0 8px;
}

.task-progress-summary-step::before,
.task-progress-steps li:has(.task-progress-step-marker)::before {
  display: none;
}

.task-progress-step-marker {
  display: inline-grid;
  place-items: center;
  content: "";
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  border-radius: 999px;
  color: currentColor;
}

.task-progress-step-marker::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: inherit;
  background: currentColor;
  opacity: 0.5;
}

.task-progress-step-marker svg {
  display: block;
  width: 12px;
  height: 12px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.task-progress-summary-step.is-done .task-progress-step-marker,
.task-progress-steps li.is-done .task-progress-step-marker {
  background: color-mix(in srgb, var(--green) 13%, transparent);
  color: var(--green);
}

.task-progress-summary-step.is-done .task-progress-step-marker::before,
.task-progress-steps li.is-done .task-progress-step-marker::before {
  display: none;
}

.task-progress-summary-step.is-newly-done .task-progress-step-marker,
.task-progress-steps li.is-newly-done .task-progress-step-marker {
  animation: task-state-pop 560ms cubic-bezier(0.18, 0.92, 0.22, 1);
}

.task-progress-summary-step.is-done,
.task-progress-summary-step.is-active {
  border-color: color-mix(in srgb, var(--teal) 38%, var(--line));
  background: color-mix(in srgb, var(--teal) 8%, var(--surface-2));
  color: color-mix(in srgb, var(--teal) 82%, var(--text));
}

.task-progress-summary-step.is-active {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--teal) 18%, transparent);
}

.task-progress-summary-step span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-progress-step-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-progress-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.task-progress-steps li {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  padding: 6px 8px;
}

.task-progress-steps li::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.48;
}

.task-progress-steps li.is-done,
.task-progress-steps li.is-active {
  border-color: color-mix(in srgb, var(--teal) 38%, var(--line));
  background: color-mix(in srgb, var(--teal) 8%, var(--surface-2));
  color: color-mix(in srgb, var(--teal) 82%, var(--text));
}

.task-progress-steps li.is-active {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--teal) 18%, transparent);
}

.task-progress-steps span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-progress-summary-step .task-progress-step-marker,
.task-progress-steps .task-progress-step-marker {
  min-width: 13px;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.task-detail-block:has(.task-progress-summary-steps) .task-progress-detail > .task-progress-steps {
  display: none;
}

@media (max-width: 1180px) {
  .task-detail-title:has(.task-progress-summary-steps) {
    flex-wrap: wrap;
  }

  .task-detail-title:has(.task-progress-summary-steps) .task-detail-inline-summary {
    flex: 1 1 auto;
    max-width: calc(100% - 120px);
  }

  .task-progress-summary-steps {
    flex: 1 1 100%;
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
    min-width: 0;
    max-width: none;
    margin-left: 18px;
  }
}

@media (max-width: 720px) {
  .task-progress-summary-steps {
    display: none;
  }

  .task-detail-block:has(.task-progress-summary-steps) .task-progress-detail > .task-progress-steps {
    display: grid;
  }
}

.task-evidence-summary {
  display: grid;
  gap: 9px;
  min-width: 0;
}

.task-evidence-summary p {
  margin: 0;
  color: var(--text);
  font-size: 13px;
  line-height: 1.45;
}

.task-evidence-empty {
  color: var(--muted) !important;
}

.task-evidence-files {
  display: grid;
  gap: 5px;
}

.task-evidence-files article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface-2);
  padding: 6px 8px;
}

.task-evidence-files code {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-evidence-files span,
.task-evidence-log-flags span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
}

.task-evidence-log-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.task-evidence-log-flags span {
  border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  padding: 2px 7px;
}

.task-table-detail {
  display: block;
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
  overflow: hidden;
}

.task-table-detail > div {
  display: block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.task-table-row.is-deleted.is-expanded + .task-table-detail {
  background:
    repeating-linear-gradient(135deg, color-mix(in srgb, var(--muted) 12%, transparent) 0 8px, transparent 8px 16px),
    color-mix(in srgb, var(--surface) 80%, var(--muted));
}

.task-retry-button {
  gap: 8px;
  min-height: 38px;
  border-color: color-mix(in srgb, var(--red) 42%, var(--line));
  background: color-mix(in srgb, var(--surface-2) 84%, var(--red));
  color: var(--text);
  font-weight: 850;
  padding: 0 14px;
  box-shadow: 0 1px 0 color-mix(in srgb, var(--red) 24%, transparent);
}

.task-retry-button:hover {
  border-color: color-mix(in srgb, var(--red) 68%, var(--line));
  background: color-mix(in srgb, var(--surface-2) 74%, var(--red));
}

.task-retry-button:disabled svg {
  animation: job-spin 0.85s linear infinite;
}

.task-retry-relation {
  display: grid;
  gap: 3px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--amber) 34%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-3) 90%, var(--amber));
  padding: 9px 10px;
}

.task-retry-relation span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.task-retry-relation strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
}

.task-retry-relation code {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-retry-form {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-3) 94%, var(--accent));
  padding: 12px;
}

.task-retry-field {
  display: grid;
  grid-column: span 6;
  gap: 5px;
  min-width: 0;
}

.task-retry-field-wide,
.task-retry-form-actions {
  grid-column: 1 / -1;
}

.task-retry-field span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.task-retry-field textarea {
  min-height: 84px;
  resize: vertical;
}

.task-retry-field input {
  min-width: 0;
}

.task-retry-params,
.task-retry-files-section {
  display: grid;
  gap: 9px;
  min-width: 0;
}

.task-retry-section-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
}

.task-retry-section-head > span,
.task-retry-files-section > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.task-retry-mode-toggle {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.task-retry-mode-toggle button {
  min-height: 30px;
  border: 0;
  border-left: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
  font-weight: 850;
  padding: 0 11px;
}

.task-retry-mode-toggle button:first-child {
  border-left: 0;
}

.task-retry-mode-toggle button.active {
  background: color-mix(in srgb, var(--accent) 16%, var(--surface-2));
  color: var(--text);
}

.task-retry-param-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
  min-width: 0;
}

.task-retry-param-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 6px;
  min-width: 0;
}

.task-retry-param-control {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.task-retry-param-field span,
.task-retry-empty-inline {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.task-retry-param-control > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-retry-param-field input,
.task-retry-param-field textarea,
.task-retry-json {
  min-width: 0;
}

.task-retry-param-field textarea,
.task-retry-json {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  resize: vertical;
}

.task-retry-param-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
}

.task-retry-param-check input {
  width: 18px;
  height: 18px;
}

.task-retry-param-remove {
  width: 40px;
  height: 40px;
}

.task-retry-param-add {
  display: grid;
  grid-template-columns: minmax(130px, 0.65fr) minmax(160px, 1fr) auto;
  gap: 8px;
  min-width: 0;
}

.task-retry-param-add input {
  min-width: 0;
}

.task-retry-file-dropzone {
  min-height: 104px;
}

.task-retry-file-list {
  margin-top: 0;
}

.task-retry-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.task-review .task-execution-panel {
  grid-column: 1 / -1;
}

.task-execution-panel {
  display: grid;
  gap: 12px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
  padding: 14px;
}

.task-execution-panel.ok {
  border-color: color-mix(in srgb, var(--green) 38%, var(--line));
  background: color-mix(in srgb, var(--surface-3) 94%, var(--green));
}

.task-execution-panel.bad {
  border-color: color-mix(in srgb, var(--red) 42%, var(--line));
  background: color-mix(in srgb, var(--surface-3) 94%, var(--red));
}

.task-execution-panel.warn {
  border-color: color-mix(in srgb, var(--amber) 42%, var(--line));
}

.task-execution-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.task-execution-head h4 {
  margin: 7px 0 0;
  overflow-wrap: anywhere;
  font-size: 16px;
}

.task-execution-head p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
  overflow-wrap: anywhere;
}

.task-detail-block summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.task-detail-block {
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.task-detail-block summary::marker {
  content: "";
}

.task-detail-block summary::-webkit-details-marker {
  display: none;
}

.task-detail-title {
  display: inline-flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  gap: 8px;
}

.task-detail-label {
  flex: 0 0 auto;
  color: var(--text);
  font-size: 14px;
  font-weight: 620;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.task-detail-inline-summary {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-weight: 520;
  line-height: 1.35;
  text-overflow: ellipsis;
  transform: translateY(1px);
  white-space: nowrap;
}

.task-detail-inline-summary::before {
  content: "· ";
  color: color-mix(in srgb, var(--muted) 75%, transparent);
}

.task-detail-chevron {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-bottom: 2px solid var(--muted);
  border-right: 2px solid var(--muted);
  transform: rotate(-45deg);
  transition: transform 0.16s ease, border-color 0.16s ease;
}

.task-detail-block[open] .task-detail-chevron {
  transform: rotate(45deg);
  border-color: var(--accent);
}

.task-detail-badge {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 21px;
  border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--line));
  border-radius: 999px;
  color: var(--accent);
  font-size: 11px;
  font-weight: 850;
  padding: 0 7px;
}

.task-log-tail {
  max-height: min(34vh, 260px);
  overflow: auto;
  overflow-wrap: anywhere;
  overscroll-behavior: contain;
  white-space: pre-wrap;
}

.task-human-result {
  display: grid;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 11px;
}

.task-human-result.ok {
  border-color: color-mix(in srgb, var(--green) 38%, var(--line));
  background: color-mix(in srgb, var(--surface-2) 88%, var(--green));
  box-shadow: inset 4px 0 0 var(--green);
}

.task-human-result.warn {
  border-color: color-mix(in srgb, var(--amber) 38%, var(--line));
  background: color-mix(in srgb, var(--surface-2) 92%, var(--amber));
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--amber) 78%, var(--line));
}

.task-human-result.bad {
  border-color: color-mix(in srgb, var(--red) 42%, var(--line));
  background: color-mix(in srgb, var(--surface-2) 88%, var(--red));
  box-shadow: inset 4px 0 0 var(--red);
}

.task-human-result > strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 860;
}

.task-human-result p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 720;
  line-height: 1.45;
}

.task-human-result a {
  color: var(--accent);
  overflow-wrap: anywhere;
  text-decoration: none;
}

.task-human-result a:hover,
.task-human-result a:focus-visible {
  text-decoration: underline;
}

.task-human-lines {
  display: grid;
  gap: 5px;
}

.task-human-result-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.task-human-result-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface-3);
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
  gap: 6px;
  padding: 0 8px;
}

.task-human-result-meta b {
  color: var(--text);
  font-weight: 850;
}

.task-execution-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nav,
.sidebar-tools,
.settings-tabs,
.task-view-toggle,
.task-sort-toggle,
.task-state-filters,
.tasks-chart-range,
.projects-subnav,
.projects-view-toggle,
.projects-filter-pills,
.web-monitor-view-toggle {
  --glass-indicator-x: 4px;
  --glass-indicator-y: 4px;
  --glass-indicator-width: 0px;
  --glass-indicator-height: calc(100% - 8px);
  --glass-indicator-inset: 2px;
  --glass-indicator-bottom-inset: 5px;
  --glass-indicator-accent: var(--accent);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: var(--glass-control-border);
  background:
    linear-gradient(145deg, var(--glass-control-shell), var(--glass-control-shade)),
    var(--surface-2);
  box-shadow:
    inset 0 1px 0 var(--glass-control-highlight),
    0 8px 22px rgba(0, 0, 0, 0.08);
}

.nav::before,
.sidebar-tools::before,
.settings-tabs::before,
.task-view-toggle::before,
.task-sort-toggle::before,
.task-state-filters::before,
.tasks-chart-range::before,
.projects-subnav::before,
.projects-view-toggle::before,
.projects-filter-pills::before,
.web-monitor-view-toggle::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: var(--glass-indicator-width);
  height: var(--glass-indicator-height);
  border: 1px solid color-mix(in srgb, var(--glass-indicator-accent) 42%, var(--line));
  border-radius: 7px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.06) 50%, color-mix(in srgb, var(--glass-indicator-accent) 18%, transparent)),
    color-mix(in srgb, var(--surface) 62%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #ffffff 34%, transparent),
    0 9px 20px color-mix(in srgb, var(--glass-indicator-accent) 16%, rgba(0, 0, 0, 0.12));
  opacity: 0;
  pointer-events: none;
  transform: translate3d(var(--glass-indicator-x), var(--glass-indicator-y), 0);
  transition:
    transform 230ms cubic-bezier(.2, .9, .2, 1),
    width 230ms cubic-bezier(.2, .9, .2, 1),
    height 230ms cubic-bezier(.2, .9, .2, 1),
    opacity 130ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease;
  -webkit-backdrop-filter: blur(12px) saturate(1.14);
  backdrop-filter: blur(12px) saturate(1.14);
  backdrop-filter: url("#sombra-control-glass") blur(12px) saturate(1.14);
}

.nav.has-glass-indicator::before,
.sidebar-tools.has-glass-indicator::before,
.settings-tabs.has-glass-indicator::before,
.task-view-toggle.has-glass-indicator::before,
.task-sort-toggle.has-glass-indicator::before,
.task-state-filters.has-glass-indicator::before,
.tasks-chart-range.has-glass-indicator::before,
.projects-subnav.has-glass-indicator::before,
.projects-view-toggle.has-glass-indicator::before,
.projects-filter-pills.has-glass-indicator::before,
.web-monitor-view-toggle.has-glass-indicator::before {
  opacity: 1;
}

.nav a,
.sidebar-tool,
.settings-tabs button,
.task-view-toggle button,
.task-sort-toggle button,
.task-state-filter,
.tasks-chart-range button,
.projects-subnav button,
.projects-view-toggle button,
.projects-filter-pills button,
.web-monitor-view-toggle button {
  --glass-control-accent: var(--accent);
  position: relative;
  isolation: isolate;
  z-index: 1;
  overflow: hidden;
  border-radius: 7px;
  transition: color 160ms ease, text-shadow 160ms ease;
}

.nav,
.sidebar-tools {
  gap: 2px;
  padding: 4px;
  border-radius: 8px;
}

.nav {
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.sidebar-tools {
  border: 1px solid var(--glass-control-border);
}

.nav a,
.sidebar-tool {
  border: 1px solid transparent;
  background: transparent;
}

.nav a:hover,
.nav a:focus-visible,
.sidebar-tools .sidebar-tool:hover,
.sidebar-tools .sidebar-tool:focus-visible {
  border-color: transparent;
  background: transparent;
  color: var(--text);
  box-shadow: none;
  outline: 0;
}

.task-state-filter {
  --glass-control-accent: var(--task-filter-color, var(--accent));
}

.nav a.active,
.sidebar-tool.active,
.settings-tabs button[aria-pressed="true"],
.task-view-toggle button.active,
.task-view-toggle button[aria-pressed="true"],
.task-sort-toggle button.active,
.task-state-filter.active,
.task-state-filter.is-linked-metric-active,
.tasks-chart-range button[aria-pressed="true"],
.projects-subnav button[aria-selected="true"],
.projects-view-toggle button.active,
.projects-filter-pills button.active,
.web-monitor-view-toggle button.active {
  border-color: transparent;
  background: transparent;
  color: color-mix(in srgb, var(--glass-control-accent) 88%, var(--text));
  box-shadow: none;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.34);
}

.nav.has-glass-indicator a.active .nav-icon {
  border-color: color-mix(in srgb, var(--glass-indicator-accent) 38%, var(--line));
  background: color-mix(in srgb, var(--surface) 36%, transparent);
  color: inherit;
}

.nav a.active::before,
.sidebar-tool.active::before,
.settings-tabs button[aria-pressed="true"]::before,
.task-view-toggle button.active::before,
.task-view-toggle button[aria-pressed="true"]::before,
.task-sort-toggle button.active::before,
.task-state-filter.active::before,
.task-state-filter.is-linked-metric-active::before,
.tasks-chart-range button[aria-pressed="true"]::before,
.projects-subnav button[aria-selected="true"]::before,
.projects-view-toggle button.active::before,
.projects-filter-pills button.active::before,
.web-monitor-view-toggle button.active::before {
  content: none;
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.04) 44%, color-mix(in srgb, var(--glass-control-accent) 22%, transparent)),
    color-mix(in srgb, var(--surface) 58%, transparent);
  -webkit-backdrop-filter: blur(12px) saturate(1.16);
  backdrop-filter: blur(12px) saturate(1.16);
  backdrop-filter: url("#sombra-control-glass") blur(12px) saturate(1.16);
}

.nav a.active::after,
.sidebar-tool.active::after,
.settings-tabs button[aria-pressed="true"]::after,
.task-view-toggle button.active::after,
.task-view-toggle button[aria-pressed="true"]::after,
.task-sort-toggle button.active::after,
.task-state-filter.active::after,
.task-state-filter.is-linked-metric-active::after,
.tasks-chart-range button[aria-pressed="true"]::after,
.projects-subnav button[aria-selected="true"]::after,
.projects-view-toggle button.active::after,
.projects-filter-pills button.active::after,
.web-monitor-view-toggle button.active::after {
  content: none;
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(118deg, rgba(255, 255, 255, 0.34), transparent 22% 68%, color-mix(in srgb, var(--glass-control-accent) 30%, transparent)),
    radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.24), transparent 34%);
  opacity: 0.68;
  pointer-events: none;
}

.settings-switch span {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  box-shadow: inset 0 1px 0 var(--glass-control-highlight);
}

.settings-switch span::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.04) 48%, color-mix(in srgb, var(--teal) 30%, transparent)),
    color-mix(in srgb, var(--surface) 58%, transparent);
  opacity: 0;
  -webkit-backdrop-filter: blur(10px) saturate(1.14);
  backdrop-filter: blur(10px) saturate(1.14);
  backdrop-filter: url("#sombra-control-glass") blur(10px) saturate(1.14);
  transition: opacity 160ms ease;
}

.settings-switch span::before {
  position: relative;
  z-index: 1;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    0 1px 5px rgba(0, 0, 0, 0.2);
}

.settings-switch input:checked + span::after {
  opacity: 1;
}

@media (max-width: 1080px) {
  #dashboard-view {
    grid-template-columns: 1fr;
  }

  .content-grid {
    grid-template-columns: 1fr;
  }

  .bulletin-history-layout,
  .tasks-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1500px) {
  .character-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1180px) {
  .character-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .brand-profile-panel {
    grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1fr);
  }

  .brand-profile-panel .button {
    justify-self: start;
  }

  .appearance-lower-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .login-screen {
    width: 100%;
    max-width: 100vw;
    min-height: 100svh;
    padding: 16px;
    place-items: center;
    overflow-y: auto;
  }

  .auth-layout {
    width: min(100%, calc(100vw - 32px));
    max-width: min(520px, calc(100vw - 32px));
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .auth-existalia-brand {
    width: clamp(132px, 38vw, 156px);
    margin-bottom: 0;
  }

  .auth-visual {
    min-height: 220px;
    order: 2;
    padding: 18px;
  }

  .auth-quote {
    width: 100%;
    padding: 18px;
  }

  .auth-quote p {
    max-width: 18ch;
    overflow-wrap: break-word;
    font-size: clamp(1.35rem, 6.5vw, 1.9rem);
    line-height: 1.04;
  }

  .login-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 24px;
  }

  .auth-logo {
    width: 70px;
    height: 70px;
    margin-bottom: 18px;
  }

  .auth-copy {
    max-width: 100%;
  }

  .shell {
    align-content: start;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    max-width: 100vw;
    overflow-x: hidden;
    width: 100%;
  }

  .shell.is-sidebar-collapsed {
    grid-template-columns: 1fr;
  }

  .sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    border-right: 0;
    min-height: auto;
    padding: 16px 20px;
    position: sticky;
    width: 100vw;
    z-index: 10;
  }

  .shell.is-sidebar-collapsed .sidebar {
    padding: 16px 20px;
  }

  .main {
    max-width: 100vw;
    width: 100vw;
  }

  .sidebar-header {
    margin-bottom: 0;
  }

  .brand {
    margin-bottom: 0;
    min-width: 0;
  }

  .brand > div,
  .brand-copy {
    min-width: 0;
  }

  .shell.is-sidebar-collapsed .brand {
    justify-content: flex-start;
  }

  .shell.is-sidebar-collapsed .brand-copy,
  .shell.is-sidebar-collapsed .nav-label {
    display: block;
  }

  .shell.is-sidebar-collapsed .nav a {
    justify-content: flex-start;
    padding: 10px 12px;
  }

  .sidebar-collapse {
    display: none;
  }

  .menu-toggle {
    display: inline-flex;
  }

  .nav {
    display: none;
    grid-column: 1 / -1;
    gap: 6px;
  }

  .sidebar.nav-open .nav {
    display: grid;
    padding-top: 4px;
    padding-bottom: 2px;
  }

  .sidebar-bottom {
    display: none;
  }

  .sidebar.nav-open .sidebar-bottom {
    display: grid;
    grid-column: 1 / -1;
    margin-top: 0;
    padding-top: 4px;
  }

  .pet-dock {
    min-height: 128px;
  }

  .topbar-actions {
    justify-content: flex-end;
  }
}

@media (max-width: 900px) {
  .settings-core-release-kpis.task-metrics-strip,
  .settings-platform-kpis.task-metrics-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .personal-notes-metrics-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .personal-notes-quick-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .personal-notes-quick-copy,
  .personal-notes-quick-body {
    grid-column: 1 / -1;
  }

  .personal-notes-toolbar {
    flex-wrap: wrap;
  }

  .personal-notes-search-field {
    flex-basis: 100%;
  }

  .personal-note-row {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .personal-note-row-meta,
  .personal-note-row .personal-note-actions {
    justify-content: flex-start;
  }

  .personal-notes-detail-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .personal-notes-detail-meta {
    position: static;
  }

  .personal-notes-map-shell {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .settings-core-release-kpis.task-metrics-strip,
  .settings-platform-kpis.task-metrics-strip,
  .core-update-events li {
    grid-template-columns: 1fr;
  }

  .login-screen {
    justify-items: center;
    padding-left: 24px;
    padding-right: 24px;
  }

  .auth-layout {
    width: min(100%, calc(100vw - 48px));
    max-width: min(520px, calc(100vw - 48px));
    justify-self: center;
  }

  .auth-form,
  .auth-provider-row {
    width: 100%;
  }

  .login-panel {
    padding: 22px;
  }

  .topbar {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
  }

  .topbar-title {
    flex: 1 1 100%;
    width: 100%;
  }

  .topbar-title h1 {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
  }

  .topbar-actions {
    flex: 1 1 100%;
    width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }

  .user-button {
    flex: 0 0 auto;
    width: max(74px, calc(100vw - 238px));
    min-width: 0;
    max-width: 160px;
  }

  .topbar-actions .icon-button,
  .topbar-actions .icon-status {
    width: 34px;
    height: 34px;
  }

  .brand-profile-panel,
  .settings-brand-form,
  .settings-asset-grid,
  .settings-background-form,
  .settings-background-previews,
  .settings-theme-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .session-chip {
    max-width: 100%;
  }

  .settings-page-layout,
  .settings-grid-form,
  .settings-users-layout,
  .settings-asset-grid,
  .settings-background-previews,
  .appearance-lower-grid,
  .settings-theme-form,
  .settings-task-config,
  .web-monitor-form,
  .web-monitor-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .settings-asset-control,
  .settings-pet-preview {
    grid-template-columns: minmax(0, 1fr);
  }

  .settings-asset-preview.logo {
    width: min(132px, 100%);
    height: auto;
    aspect-ratio: 1 / 1;
    justify-self: start;
  }

  .settings-asset-preview.hero {
    width: 100%;
    height: 132px;
  }

  .theme-color-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .web-monitor-form .settings-field-wide {
    grid-column: auto;
  }

  .personal-notes-metrics-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .personal-notes-quick-form,
  .personal-notes-toolbar,
  .personal-notes-empty-state {
    grid-template-columns: minmax(0, 1fr);
  }

  .personal-notes-quick-form {
    gap: 10px;
  }

  .personal-notes-quick-form .button,
  .personal-notes-search-field,
  .personal-notes-filter-control,
  .personal-notes-filter-pills,
  .personal-notes-view-toggle {
    width: 100%;
  }

  .personal-notes-toolbar {
    display: grid;
  }

  .personal-notes-toolbar .filter-toolbar-separator {
    display: none;
  }

  .personal-notes-filter-pills {
    justify-content: flex-start;
  }

  .personal-notes-board,
  .personal-notes-board.is-pinned-board {
    grid-template-columns: minmax(0, 1fr);
  }

  .personal-notes-map-nodes {
    grid-template-columns: minmax(0, 1fr);
  }

  .personal-note-card {
    min-height: 248px;
  }

  .personal-notes-color-swatches {
    grid-template-columns: repeat(6, 30px);
  }

  .personal-notes-empty-actions {
    justify-content: flex-start;
  }

  .personal-notes-detail-head {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .personal-notes-detail-actions {
    justify-content: flex-start;
  }

  .personal-notes-detail-title p,
  .personal-notes-detail-title h3,
  .personal-notes-detail-title span {
    white-space: normal;
  }

  .personal-notes-detail-body-field textarea {
    min-height: 320px;
  }

  .task-retry-param-add {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .task-retry-param-add input[name="newParamKey"],
  .task-retry-param-add input[name="newParamValue"] {
    grid-column: 1 / -1;
  }

  .task-metrics-strip.web-monitor-metrics-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px;
    min-width: 0;
    padding: 10px 8px;
  }

  .task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi .task-metric-icon {
    width: 32px;
    height: 32px;
  }

  .task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi .task-metric-icon svg {
    width: 20px;
    height: 20px;
  }

  .task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi .task-metric-copy span,
  .task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi .task-metric-copy small {
    font-size: 10px;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .task-metrics-strip.web-monitor-metrics-strip .web-monitor-kpi .task-metric-copy strong {
    font-size: 20px;
  }

  .web-monitor-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .web-monitor-card-head {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
  }

  .web-monitor-card-head > .web-monitor-status {
    grid-column: auto;
    justify-self: end;
  }

  .web-monitor-signal-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .web-monitor-signal.is-detail .web-monitor-sparkline svg {
    height: 88px;
  }

  .web-monitor-detail > .web-monitor-signal.is-detail {
    display: none;
  }

  .web-monitor-signal-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .web-monitor-actions .button {
    flex: 1 1 145px;
  }

  .web-monitor-table {
    border: 0;
    background: transparent;
  }

  .web-monitor-table-head {
    display: none;
  }

  .web-monitor-table-body {
    gap: 8px;
  }

  .web-monitor-table-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
  }

  .web-monitor-table-cell {
    grid-template-columns: 74px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
  }

  .web-monitor-table-cell::before {
    color: var(--muted);
    content: attr(data-label);
    font-size: 11px;
    font-weight: 860;
    text-transform: uppercase;
  }

  .web-monitor-table-monitor {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .web-monitor-table-monitor::before {
    display: none;
  }

  .web-monitor-table-actions {
    justify-content: flex-end;
  }

  .web-monitor-table-actions::before {
    display: none;
  }

  .automation-run-filters {
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .automation-run-filter-actions {
    flex-wrap: nowrap;
  }

  .automation-run-filter {
    flex: 0 0 auto;
    max-width: min(260px, calc(100vw - 64px));
  }

  .instance-manager-topline {
    grid-template-columns: minmax(0, 1fr);
  }

  .instance-manager-actions {
    justify-content: flex-start;
  }

  .automation-run-table {
    border: 0;
    background: transparent;
  }

  .automation-run-table-head {
    display: none;
  }

  .automation-run-table-body {
    gap: 8px;
  }

  .automation-run-table-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
  }

  .automation-run-table-cell {
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
  }

  .automation-run-table-cell::before {
    color: var(--muted);
    content: attr(data-label);
    font-size: 11px;
    font-weight: 860;
    text-transform: uppercase;
  }

  .automation-run-table-main {
    grid-template-columns: minmax(0, 1fr);
  }

  .automation-run-table-main::before {
    display: none;
  }

  .web-monitor-detail li {
    grid-template-columns: minmax(0, 1fr);
  }

  .web-monitor-detail li.web-monitor-check-row {
    grid-template-columns: auto auto minmax(0, 1fr);
  }

  .instance-manager-layout,
  .instance-row,
  .instance-table-row,
  .instance-actions-table .instance-table-row,
  .instance-timeline-item {
    grid-template-columns: minmax(0, 1fr);
  }

  .instance-row-meta {
    justify-items: start;
  }

  .instance-table-head {
    display: none;
  }

  .settings-tabs {
    position: static;
    grid-template-columns: minmax(0, 1fr);
  }

  .settings-tabs button {
    text-align: left;
  }

  .settings-module-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .settings-service-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .settings-service-controls {
    grid-column: 2 / -1;
    grid-template-columns: auto minmax(84px, 1fr) 48px;
    justify-content: stretch;
  }

  .settings-service-actions {
    justify-content: flex-end;
  }

  .settings-module-confirm {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(330px, calc(100vw - 56px));
    margin-top: 0;
    transform: none;
  }

  .settings-module-confirm::after {
    display: block;
    top: -6px;
    right: 18px;
    border: 0;
    border-left: 1px solid color-mix(in srgb, var(--red) 38%, var(--line));
    border-top: 1px solid color-mix(in srgb, var(--red) 38%, var(--line));
    transform: rotate(45deg);
  }

  .settings-audit-filters {
    grid-template-columns: minmax(0, 1fr);
  }

  .audit-field-search {
    grid-column: auto;
  }

  .settings-audit-controls {
    align-items: center;
  }

  .settings-audit-controls .button {
    flex: 1 1 140px;
  }

  .settings-audit-limit {
    flex: 1 1 100%;
    justify-content: space-between;
    margin-left: 0;
  }

  .settings-audit-table {
    min-width: 760px;
  }

  .panel-settings,
  .account-panel {
    grid-template-columns: 1fr;
  }

  .panel-settings-backdrop,
  .account-panel-backdrop {
    display: none;
  }

  .panel-settings-sheet,
  .account-panel-sheet {
    min-height: 100vh;
    width: 100vw;
    border-left: 0;
    padding: 18px;
  }

  .settings-pet-preview {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .pet-stage.preview {
    width: 108px;
    height: 100px;
  }

  .pet-stage.preview .pet-sprite {
    left: -5px;
    top: -2px;
    transform: scale(0.46);
  }

  .sidebar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 18px;
  }

  .shell.is-sidebar-collapsed .sidebar {
    padding: 18px;
  }

  .brand {
    min-width: 0;
  }

  .brand > div {
    min-width: 0;
  }

  .main {
    padding: 18px;
  }

  .embed-fallback .button {
    width: 100%;
  }

  h1 {
    font-size: 26px;
  }

  .today-panel .section-title {
    align-items: flex-start;
    gap: 8px;
  }

  .today-panel .section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .bulletin-panel .section-title {
    align-items: flex-start;
    gap: 8px;
  }

  .bulletin-panel .section-heading {
    align-items: flex-start;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 2px;
  }

  .bulletin-panel .panel-actions {
    flex: 0 0 auto;
    margin-left: auto;
  }

  .bulletin-panel .panel-status {
    display: none;
  }

  .bulletin-generate-head {
    flex-direction: column;
    gap: 12px;
  }

  .bulletin-generate-head h3 {
    font-size: 28px;
  }

  .today-actions {
    margin-left: auto;
  }

  .today-status {
    display: none;
  }

  .attention-item.aquarium-item {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .aquarium-scene {
    grid-column: 1 / -1;
    justify-self: start;
    width: min(100%, calc(100vw - 74px));
    max-width: calc(100vw - 74px);
    min-height: 160px;
  }

  .bulletin-feature,
  .bulletin-generated-card,
  .bulletin-item,
  .bulletin-detail-header {
    grid-template-columns: 1fr;
  }

  .bulletin-card-actions {
    justify-content: flex-end;
  }

  .bulletin-item.with-speakers {
    grid-template-columns: 1fr;
  }

  .bulletin-delete-row,
  .bulletin-delete-confirm {
    flex-wrap: wrap;
  }

  .bulletin-controls,
  .module-bulletin-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .bulletin-horoscope-save-row {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .bulletin-horoscope-save-state {
    grid-column: 1 / -1;
  }

  .bulletin-progress-inline {
    grid-column: 1 / -1;
  }

  #bulletin-refresh {
    grid-column: auto;
  }

  .bulletin-city-row select {
    width: 100%;
  }

  .bulletin-progress-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .bulletin-item .danger {
    justify-self: end;
  }

  .bulletin-item [data-open-bulletin] {
    justify-self: end;
  }

  .bulletin-tabs {
    margin: 0 -2px;
  }

  .module-section {
    padding: 14px;
  }

  .module-section-title {
    flex-wrap: wrap;
  }

  .task-view-toggle {
    display: none;
  }

  .task-list-tools {
    grid-template-columns: minmax(0, 1fr);
  }

  .task-state-filters {
    justify-content: stretch;
    width: 100%;
  }

  .task-state-filter {
    flex: 1 1 0;
  }

  .source-items {
    grid-template-columns: 1fr;
  }

  .source-toolbar {
    grid-template-columns: 1fr;
  }

  .source-analyze-row {
    grid-template-columns: 1fr;
  }

  .source-target-field {
    grid-column: 1 / -1;
  }

  .task-fields-grid,
  .task-review,
  .task-row-top,
  .automation-config-grid,
  .automation-schedule-grid {
    grid-template-columns: 1fr;
  }

  .task-field,
  .task-category-field,
  .task-status-field,
  .task-switch-field,
  .task-datetime-field {
    grid-column: 1 / -1;
    min-width: 0;
  }

  .task-wizard-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .info-grid {
    grid-template-columns: 1fr;
  }

  .automation-row-head {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .task-row-context {
    justify-content: flex-start;
    justify-self: start;
  }

  .task-row-top,
  .task-row-card.has-cancel-action .task-row-top,
  .task-row-card.has-task-actions .task-row-top {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    grid-template-areas:
      "state title actions chevron"
      "context context context context";
    align-items: start;
  }

  .task-row-top > .task-state-wrap {
    grid-area: state;
  }

  .task-row-title {
    grid-area: title;
  }

  .task-row-context {
    grid-area: context;
  }

  .task-card-actions {
    grid-area: actions;
    align-self: center;
  }

  .task-row-chevron {
    grid-area: chevron;
    align-self: center;
    justify-self: end;
  }

  .task-card-actions .task-cancel-confirm,
  .task-card-actions .task-trash-confirm {
    right: 0;
    min-width: min(276px, calc(100vw - 42px));
    max-width: calc(100vw - 42px);
  }

  .task-table-head {
    display: none;
  }

  .task-table-row {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 7px;
    padding: 11px;
  }

  .task-table-cell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 3px;
    min-width: 0;
    white-space: normal;
  }

  .task-table-cell::before {
    content: attr(data-label);
    color: var(--muted);
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 860;
    text-transform: uppercase;
  }

  .task-table-main {
    align-items: start;
  }

  .task-table-main::before {
    align-self: start;
    grid-row: 1 / span 2;
  }

  .task-table-main strong,
  .task-table-main span,
  .task-table-value {
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: left;
    white-space: normal;
  }

  .task-table-main strong,
  .task-table-main span {
    grid-column: 1;
  }

  .task-table-cell > .task-state-wrap,
  .task-table-actions > .task-row-chevron {
    justify-self: start;
  }

  .task-table-actions {
    justify-content: initial;
  }

  .task-detail-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .task-detail-toolbar .task-detail-actions {
    justify-content: flex-start;
    margin-left: 0;
  }

  .task-detail-info-grid,
  .task-detail-info-grid.is-alert-count-1,
  .task-detail-info-grid.is-alert-count-2 {
    grid-template-columns: 1fr;
  }

  .source-group-head,
  .source-item-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .source-group-actions,
  .source-card-actions {
    justify-content: flex-start;
    width: 100%;
  }

  .source-add-toggle {
    width: 100%;
  }

  .source-card-actions {
    flex-wrap: wrap;
  }

  .character-list {
    grid-template-columns: 1fr;
  }

  .character-controls {
    grid-template-columns: minmax(0, 1fr) 70px 66px auto;
  }

  .today-panel.is-collapsed .today-status {
    display: inline-flex;
  }

  .discus-fish {
    left: 14px;
    top: 54px;
    width: 64px;
  }

  .angel-fish {
    left: min(252px, calc(100vw - 116px));
    right: auto;
    top: 42px;
    width: 48px;
  }

  .angel-pair-fish {
    left: min(214px, calc(100vw - 152px));
    right: auto;
    top: 72px;
    width: 38px;
  }

  .ramirezi-fish {
    left: 96px;
    top: 78px;
    width: 32px;
  }

  .corydoras-group {
    left: min(172px, calc(100vw - 208px));
    bottom: 5px;
    width: 44px;
  }

  .plant-left {
    left: 96px;
  }

  .plant-right {
    right: 68px;
  }
}

@media (max-width: 430px) {
  .settings-section {
    padding: 14px;
  }
}

@media (max-width: 420px) {
  .main,
  .sidebar {
    padding: 14px;
  }

  .shell.is-sidebar-collapsed .sidebar {
    padding: 14px;
  }

  .brand-mark {
    width: 34px;
    height: 34px;
  }

  .panel,
  .module,
  .embed-fallback {
    padding: 14px;
  }

  .section-title {
    align-items: center;
    flex-direction: row;
  }

  .section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .today-actions {
    align-items: flex-start;
  }

  .today-status {
    display: none;
  }

  .workspace-kind {
    display: none;
  }

  .character-card-head,
  .maintenance-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .character-controls {
    grid-template-columns: minmax(0, 1fr) 60px 60px auto;
    gap: 6px;
  }

  .character-controls label span[data-short] {
    font-size: 0;
  }

  .character-controls label span[data-short]::before {
    content: attr(data-short);
    font-size: 12px;
  }

  h1 {
    font-size: 24px;
  }

  .today-panel.is-collapsed .today-status {
    display: inline-flex;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bubble,
  .fish,
  .job-spinner,
  .task-mini-spinner,
  .task-row-card.is-task-new,
  .task-row-card.is-task-status-change,
  .task-row-card.is-task-filter-exit,
  .task-row-card.is-task-filter-exit::before,
  .task-row-card.is-task-filter-exit::after,
  .task-row-card.is-task-filter-exit > *,
  .task-table-row.is-task-new,
  .task-table-row.is-task-status-change,
  .task-table-row.is-task-filter-exit,
  .task-table-row.is-task-filter-exit::before,
  .task-table-row.is-task-filter-exit::after,
  .task-table-row.is-task-filter-exit > *,
  .task-duration-value.is-status-changed,
  .task-inline-message.is-message-changed,
  .task-inline-message.is-message-changed .task-inline-message-icon,
  .task-inline-message.is-message-changed .task-inline-message-icon::before,
  .task-inline-message.is-message-changed .task-inline-message-icon::after,
  .task-row-card.is-running .task-inline-message:not(.error) .task-inline-message-icon::before,
  .task-row-card.is-running .task-inline-message:not(.error) .task-inline-message-icon svg,
  .task-row-card.is-running.has-progress::before,
  .task-table-row.is-running .task-inline-message:not(.error) .task-inline-message-icon::before,
  .task-table-row.is-running .task-inline-message:not(.error) .task-inline-message-icon svg,
  .task-table-row.is-running.has-progress::before,
  .task-progress-track.is-live-progress span::after,
  .bulletin-progress-track.is-live-progress span::after,
  .core-update-progress.is-live-progress .core-update-progress-track span::after,
  .task-state-wrap.is-status-changed .task-state,
  .task-state-wrap.is-status-changed::before,
  .task-state-wrap.is-status-changed::after,
  .task-progress-summary-step.is-newly-done .task-progress-step-marker,
  .task-progress-steps li.is-newly-done .task-progress-step-marker,
  .task-heartbeat-chip.is-live::before,
  .task-discover-categories.is-loading svg,
  .speaker-avatar-chip.active::before,
  .speaker-avatar-chip.active::after {
    animation: none;
  }
}

@keyframes job-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes live-progress-shine {
  0%,
  28% {
    left: -72%;
    opacity: 0;
  }

  42% {
    opacity: 0.96;
  }

  68% {
    left: 112%;
    opacity: 0.74;
  }

  100% {
    left: 112%;
    opacity: 0;
  }
}

@keyframes live-progress-edge-shine {
  0%,
  28% {
    background-position: -64px 0, 0 0;
  }

  68%,
  100% {
    background-position: calc(100% + 64px) 0, 0 0;
  }
}

@keyframes task-row-plop {
  0% {
    box-shadow: 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent);
    opacity: 0;
    transform: translateY(-10px) scale(0.965);
  }
  58% {
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent),
      0 12px 30px color-mix(in srgb, var(--accent) 16%, transparent);
    opacity: 1;
    transform: translateY(2px) scale(1.012);
  }
  82% {
    transform: translateY(0) scale(0.997);
  }
  100% {
    box-shadow: 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent);
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes task-row-glow {
  0% {
    opacity: 0;
  }
  28% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes task-row-state-pulse {
  0% {
    box-shadow: 0 0 0 color-mix(in srgb, var(--task-event-color, var(--accent)) 0%, transparent);
  }
  30% {
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--task-event-color, var(--accent)) 22%, transparent),
      0 12px 28px color-mix(in srgb, var(--task-event-color, var(--accent)) 13%, transparent);
  }
  100% {
    box-shadow: 0 0 0 color-mix(in srgb, var(--task-event-color, var(--accent)) 0%, transparent);
  }
}

@keyframes task-filter-disintegrate {
  0% {
    clip-path: inset(0 0 0 0 round 8px);
    filter: blur(0) saturate(1);
    opacity: 1;
    transform: translateX(0) scale(1);
  }
  16% {
    filter: blur(0) saturate(1.08);
    opacity: 1;
    transform: translateX(-1px) scale(1.006);
  }
  46% {
    clip-path: polygon(0 0, 98% 0, 100% 13%, 93% 25%, 100% 39%, 92% 53%, 100% 67%, 91% 82%, 98% 100%, 0 100%);
    filter: blur(0.2px) saturate(1.16);
    opacity: 0.94;
    transform: translateX(4px) scale(0.996);
  }
  72% {
    clip-path: polygon(62% 0, 100% 0, 94% 13%, 100% 29%, 86% 45%, 100% 60%, 84% 76%, 95% 100%, 66% 100%, 73% 84%, 65% 69%, 72% 52%, 65% 36%, 72% 18%);
    filter: blur(1.6px) saturate(1.24);
    opacity: 0.58;
    transform: translateX(18px) scale(0.972);
  }
  100% {
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    filter: blur(7px) saturate(0.72);
    opacity: 0;
    transform: translateX(38px) scale(0.93);
  }
}

@keyframes task-filter-content-fracture {
  0% {
    filter: blur(0);
    opacity: 1;
    transform: translateX(0);
  }
  44% {
    filter: blur(0);
    opacity: 1;
    transform: translateX(0);
  }
  70% {
    filter: blur(0.5px);
    opacity: 0.62;
    transform: translateX(8px);
  }
  100% {
    filter: blur(4px);
    opacity: 0;
    transform: translateX(34px);
  }
}

@keyframes task-filter-shred-sweep {
  0% {
    opacity: 0;
    transform: translateX(-118%) skewX(-12deg);
  }
  18% {
    opacity: 0;
  }
  36% {
    opacity: 0.88;
  }
  74% {
    opacity: 0.72;
    transform: translateX(18%) skewX(-12deg);
  }
  100% {
    opacity: 0;
    transform: translateX(128%) skewX(-12deg);
  }
}

@keyframes task-filter-particles {
  0% {
    background-position: 8% 20%, 18% 74%, 42% 30%, 58% 82%, 76% 18%, 92% 50%;
    opacity: 0;
    transform: translateX(-8px) scale(0.96);
  }
  28% {
    opacity: 0;
  }
  46% {
    opacity: 1;
  }
  100% {
    background-position: 28% 7%, 46% 104%, 69% 20%, 84% 96%, 101% 4%, 118% 60%;
    opacity: 0;
    transform: translateX(30px) translateY(-4px) scale(1.18);
  }
}

@keyframes task-state-pop {
  0% {
    opacity: 0.72;
    transform: scale(0.86);
  }
  46% {
    opacity: 1;
    transform: scale(1.12);
  }
  72% {
    transform: scale(0.97);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes task-state-ring {
  0% {
    opacity: 0.56;
    transform: scale(0.82);
  }
  100% {
    opacity: 0;
    transform: scale(1.34);
  }
}

@keyframes task-state-sparks {
  0% {
    opacity: 0;
    transform: scale(0.72);
  }
  22% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
    transform: scale(1.28);
  }
}

@keyframes task-message-icon-pulse {
  0% {
    transform: scale(0.82);
  }
  34% {
    transform: scale(1.22);
  }
  58% {
    transform: scale(0.94);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes task-message-active-ring {
  0% {
    opacity: 0.42;
    transform: scale(0.82);
  }
  72% {
    opacity: 0;
    transform: scale(1.72);
  }
  100% {
    opacity: 0;
    transform: scale(1.72);
  }
}

@keyframes task-message-active-pulse {
  0%,
  100% {
    transform: scale(1);
  }
  48% {
    transform: scale(1.12);
  }
}

@keyframes task-heartbeat-pulse {
  0%,
  100% {
    opacity: 0.42;
    transform: scale(0.86);
  }
  48% {
    opacity: 1;
    transform: scale(1.18);
  }
}

@keyframes speaker-ripple {
  0% {
    opacity: 0.95;
    transform: scale(0.86);
  }
  68% {
    opacity: 0.34;
    transform: scale(1.18);
  }
  100% {
    opacity: 0;
    transform: scale(1.32);
  }
}

.vault-module {
  display: grid;
  gap: 16px;
  align-content: start;
}

.vault-module.hidden {
  display: none;
}

.vault-subnav {
  flex-wrap: wrap;
  overflow: visible;
}

.vault-subnav button,
.vault-subnav .module-subnav-cta {
  flex: 1 1 92px;
  min-width: 92px;
}

.module-section.vault-monitor-section {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
}

.vault-monitor-section .module-section-title {
  margin: 0;
}

.vault-monitor-section .module-section-title h3 {
  font-size: 1rem;
}

.vault-monitor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.task-metrics-strip.vault-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.vault-metrics .vault-kpi {
  position: relative;
  cursor: pointer;
}

.vault-monitor-card {
  min-height: 54px;
  padding: 10px 14px;
  border: 0;
  border-left: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  display: grid;
  align-content: center;
  gap: 3px;
}

.vault-monitor-card:first-child {
  border-left: 0;
}

.vault-monitor-card span,
.vault-monitor-card small,
.vault-item-foot small,
.vault-detail-meta span,
.vault-audit-list small,
.vault-agent-box small {
  color: var(--muted);
}

.vault-monitor-card strong {
  font-size: 0.92rem;
}

.vault-v2-section {
  display: grid;
  gap: 12px;
}

.vault-v2-section.hidden {
  display: none;
}

.vault-v2-list {
  display: grid;
  gap: 8px;
}

.vault-v2-row {
  min-height: 66px;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.vault-v2-row > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.vault-v2-row strong,
.vault-v2-row small,
.vault-v2-row code {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-v2-row small,
.vault-v2-row code {
  color: var(--muted);
}

.vault-v2-actions,
.vault-settings-actions,
.vault-import-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.vault-import-bar {
  justify-content: flex-start;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.vault-import-bar input[type="file"] {
  min-width: min(100%, 260px);
  color: var(--muted);
}

.vault-mini-metrics,
.vault-readiness-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.vault-readiness-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vault-mini-metric {
  min-height: 50px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-3);
}

.vault-mini-metric strong,
.vault-mini-metric small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-mini-metric strong {
  color: var(--text);
  font-size: 13px;
}

.vault-mini-metric small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
}

.vault-mini-metric.is-ok strong { color: var(--teal); }
.vault-mini-metric.is-warn strong { color: var(--amber); }
.vault-mini-metric.is-bad strong { color: var(--red); }

.vault-create-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.vault-create-form .projects-form-heading,
.vault-create-form .projects-field-wide,
.vault-create-form .projects-form-actions {
  grid-column: 1 / -1;
}

.vault-list-section.is-list-surface {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  display: grid;
  gap: 12px;
}

.vault-list-section > .module-section-title {
  padding: 0 2px;
}

.vault-category-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 8px;
  border: 1px solid color-mix(in srgb, var(--line) 86%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
  scrollbar-width: thin;
}

.vault-category-strip:empty {
  display: none;
}

.vault-category-pill {
  display: inline-grid;
  grid-template-columns: minmax(0, auto) auto;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  max-width: 230px;
  flex: 0 0 auto;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 820;
  padding: 6px 10px;
}

.vault-category-pill span,
.vault-category-pill small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-category-pill small {
  min-width: 22px;
  border-radius: 999px;
  background: var(--surface-3);
  color: var(--muted);
  font-size: 11px;
  font-weight: 860;
  padding: 2px 6px;
  text-align: center;
}

.vault-category-pill:hover,
.vault-category-pill:focus-visible,
.vault-category-pill.active {
  border-color: color-mix(in srgb, var(--teal) 42%, var(--line));
  background: color-mix(in srgb, var(--teal) 10%, var(--surface));
  color: var(--text);
  outline: none;
}

.vault-category-pill.active small {
  background: color-mix(in srgb, var(--teal) 20%, var(--surface-3));
  color: var(--teal);
}

.vault-category-pill.is-hidden-category {
  opacity: 0.52;
}

.vault-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.vault-toolbar.projects-toolbar {
  grid-template-columns: minmax(280px, 1fr) minmax(140px, 180px);
}

.vault-toolbar .filter-toolbar-separator {
  display: none;
}

.vault-toolbar > .vault-search-field {
  flex: 1 1 420px;
}

.vault-bulk-toolbar,
.vault-bulk-result {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 86%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 90%, transparent);
  padding: 8px;
}

.vault-bulk-toolbar.hidden,
.vault-bulk-result.hidden {
  display: none;
}

.vault-bulk-toolbar .button.active {
  border-color: color-mix(in srgb, var(--teal) 50%, var(--line));
  background: color-mix(in srgb, var(--teal) 12%, var(--surface));
  color: var(--teal);
}

.vault-bulk-summary {
  margin-left: auto;
  min-width: 132px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 820;
  text-align: right;
  white-space: nowrap;
}

.vault-bulk-result {
  justify-content: space-between;
  background: color-mix(in srgb, var(--teal) 8%, var(--surface));
  border-color: color-mix(in srgb, var(--teal) 32%, var(--line));
}

.vault-bulk-result-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.vault-bulk-result-text strong,
.vault-bulk-result-text span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-bulk-result-text strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 860;
}

.vault-bulk-result-text span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.vault-search-field input {
  border: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
}

.vault-search-field input:focus,
.vault-search-field input:focus-visible {
  border: 0;
  outline: 0;
  box-shadow: none;
}

.vault-search-field input[type="search"]::-webkit-search-decoration,
.vault-search-field input[type="search"]::-webkit-search-cancel-button,
.vault-search-field input[type="search"]::-webkit-search-results-button,
.vault-search-field input[type="search"]::-webkit-search-results-decoration {
  appearance: none;
  -webkit-appearance: none;
}

.vault-filter-control {
  flex: 0 1 210px;
}

.vault-v2-section.is-vault-categories-panel {
  display: grid;
  gap: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.vault-v2-section.is-vault-categories-panel::before,
.vault-v2-section.is-vault-categories-panel::after {
  content: none;
  display: none;
}

.vault-v2-section.is-vault-categories-panel > :not(.task-mobile-filter-layer):not(.mobile-filter-layer) {
  z-index: auto;
}

.vault-module.is-vault-user .vault-monitor-section,
.vault-module.is-vault-user .vault-metrics,
.vault-module.is-vault-user .vault-create-section,
.vault-module.is-vault-user .vault-v2-section,
.vault-module.is-vault-user .vault-detail-section {
  display: none;
}

.vault-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 86px;
  grid-template-areas:
    "main actions"
    "credentials actions";
  gap: 10px;
  align-items: start;
  min-height: 118px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 88%, transparent);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  padding: 10px;
  cursor: default;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.vault-item.is-selection-mode {
  grid-template-columns: 34px minmax(0, 1fr) 86px;
  grid-template-areas:
    "select main actions"
    "select credentials actions";
}

.vault-item.is-selected {
  border-color: color-mix(in srgb, var(--teal) 54%, var(--line));
  background: color-mix(in srgb, var(--teal) 8%, var(--surface));
  box-shadow: 0 12px 28px color-mix(in srgb, var(--teal) 10%, transparent);
}

.vault-select-control {
  grid-area: select;
  position: relative;
  display: grid;
  place-items: center;
  align-self: start;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  cursor: pointer;
}

.vault-select-control input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.vault-select-control span {
  position: relative;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1.5px solid color-mix(in srgb, var(--line) 84%, var(--teal));
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface-2) 90%, transparent);
  color: transparent;
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--surface) 72%, transparent);
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.vault-select-control span::after {
  content: "";
  width: 6px;
  height: 11px;
  border-right: 2.25px solid #ffffff;
  border-bottom: 2.25px solid #ffffff;
  opacity: 0;
  transform: translateY(-1px) rotate(45deg) scale(0.64);
  transition: opacity 140ms ease, transform 140ms ease;
}

.vault-select-control input:checked + span {
  border-color: color-mix(in srgb, var(--teal) 76%, var(--line));
  background: var(--teal);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--teal) 20%, transparent);
}

.vault-select-control input:checked + span::after {
  opacity: 1;
  transform: translateY(-1px) rotate(45deg) scale(1);
}

.vault-select-control input:focus-visible + span {
  outline: 2px solid color-mix(in srgb, var(--teal) 52%, transparent);
  outline-offset: 2px;
}

.vault-select-control:hover span {
  transform: translateY(-1px);
}

.vault-item:hover,
.vault-item:focus-visible {
  border-color: color-mix(in srgb, var(--teal) 38%, var(--line));
  background: color-mix(in srgb, var(--teal) 4%, var(--surface));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--teal) 7%, transparent);
}

.vault-item-main,
.vault-item-side,
.vault-item-foot {
  min-width: 0;
}

.vault-item:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--teal) 72%, #ffffff);
  outline-offset: 2px;
}

.vault-item-main {
  grid-area: main;
  display: grid;
  gap: 7px;
}

.vault-item-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.vault-service-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: var(--muted);
}

.vault-service-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.vault-service-icon.is-instagram { color: #e2518f; }
.vault-service-icon.is-dropbox { color: #3d8bff; }
.vault-service-icon.is-twitter { color: #e5e7eb; }
.vault-service-icon.is-facebook { color: #4e7fe8; }
.vault-service-icon.is-linkedin { color: #2477b9; }
.vault-service-icon.is-youtube { color: #ef4444; }
.vault-service-icon.is-tiktok { color: #20c7b8; }
.vault-service-icon.is-google { color: #f2b82e; }
.vault-service-icon.is-wordpress { color: #5e8fa6; }
.vault-service-icon.is-canva { color: #7c6df0; }
.vault-service-icon.is-mail { color: var(--teal); }
.vault-service-icon.is-server { color: var(--amber); }

.vault-item-heading {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.vault-item-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.vault-item-type {
  color: var(--accent);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.vault-status-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  padding: 2px 8px;
  white-space: nowrap;
}

.vault-status-pill.is-ok {
  border-color: color-mix(in srgb, var(--teal) 48%, var(--line));
  color: var(--teal);
}

.vault-status-pill.is-warn {
  border-color: color-mix(in srgb, var(--amber) 52%, var(--line));
  color: var(--amber);
}

.vault-status-pill.is-bad {
  border-color: color-mix(in srgb, var(--red) 52%, var(--line));
  color: var(--red);
}

.vault-item-title,
.vault-item-meta,
.vault-data-value,
.vault-inline-action-label,
.vault-item-foot strong,
.vault-item-foot small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-item-title {
  color: var(--text);
  font-size: 15px;
  font-weight: 860;
  line-height: 1.2;
}

.vault-item-meta {
  color: var(--muted);
  font-size: 12px;
  font-weight: 680;
  line-height: 1.35;
}

.vault-item-side {
  display: grid;
  gap: 8px;
}

.vault-item-credentials {
  grid-area: credentials;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
}

.vault-credential-line {
  display: grid;
  min-width: 0;
}

.vault-module .vault-data-field,
.vault-help-real-card .vault-data-field {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr);
  grid-template-areas:
    "action label"
    "action value";
  align-items: center;
  gap: 2px 9px;
  height: auto !important;
  min-height: 46px !important;
  min-width: 0 !important;
  width: 100% !important;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface-2);
  color: var(--text);
  cursor: pointer;
  font: inherit;
  padding: 7px 10px;
  text-align: left;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.vault-data-field:hover,
.vault-data-field:focus-visible {
  border-color: color-mix(in srgb, var(--teal) 44%, var(--line));
  background: color-mix(in srgb, var(--teal) 7%, var(--surface));
  color: var(--text);
  box-shadow: none;
  backdrop-filter: none;
  outline: none;
}

.vault-data-field:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal) 28%, transparent);
}

.vault-data-field:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.vault-data-label {
  grid-area: label;
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
  text-transform: uppercase;
}

.vault-data-value {
  grid-area: value;
  min-width: 0;
  color: var(--text);
  font: 760 12px/1.2 var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
}

.vault-inline-action {
  grid-area: action;
  display: inline-grid;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid color-mix(in srgb, var(--teal) 56%, var(--line));
  border-radius: 7px;
  background:
    linear-gradient(180deg, color-mix(in srgb, #ffffff 12%, transparent), transparent),
    color-mix(in srgb, var(--teal) 16%, var(--surface));
  color: color-mix(in srgb, var(--teal) 86%, var(--text));
  line-height: 1;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 24%, transparent);
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
}

.vault-inline-action-icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
}

.vault-module .vault-data-field .vault-inline-action svg,
.vault-help-real-card .vault-data-field .vault-inline-action svg {
  width: 19px !important;
  height: 19px !important;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.45;
  vector-effect: non-scaling-stroke;
}

.vault-data-field:hover .vault-inline-action,
.vault-data-field:focus-visible .vault-inline-action,
.vault-data-field.is-copied .vault-inline-action {
  border-color: color-mix(in srgb, var(--teal) 68%, var(--line));
  background: var(--teal);
  color: #ffffff;
  transform: translateY(-1px);
}

.vault-data-field.is-secret-visible .vault-inline-action {
  border-color: color-mix(in srgb, var(--amber) 70%, var(--line));
  background: color-mix(in srgb, var(--amber) 14%, var(--surface));
  color: var(--amber);
}

.vault-data-field.is-secret-visible:hover .vault-inline-action,
.vault-data-field.is-secret-visible:focus-visible .vault-inline-action,
.vault-data-field.is-secret-visible.is-copied .vault-inline-action {
  background: var(--amber);
  color: #16120a;
}

.vault-secret-preview-button.is-secret-visible {
  border-color: color-mix(in srgb, var(--amber) 52%, var(--line));
  background: color-mix(in srgb, var(--amber) 8%, var(--surface));
}

.vault-data-value.is-revealed {
  color: var(--amber);
}

.vault-url-field {
  margin-top: 2px;
}

.vault-item-actions {
  grid-area: actions;
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  align-content: start;
  gap: 6px;
  min-width: 0;
}

.vault-row-action {
  min-width: 0;
  min-height: 32px;
  justify-content: center;
  padding-inline: 8px;
}

.vault-row-action span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-row-action svg {
  width: 15px;
  height: 15px;
}

.vault-row-action.is-loading {
  opacity: 0.72;
}

.vault-row-feedback {
  min-height: 14px;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 760;
  line-height: 1.25;
  text-align: left;
}

.vault-row-feedback.is-success {
  color: var(--teal);
}

.vault-row-feedback.is-error {
  color: var(--red);
}

.vault-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.vault-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface-3);
  font-size: 0.78rem;
}

.vault-item-foot {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.vault-item-foot span {
  display: grid;
  gap: 2px;
  min-width: 0;
  border-left: 1px solid var(--line);
  padding-left: 10px;
}

.vault-item-foot span:first-child {
  border-left: 0;
  padding-left: 0;
}

.vault-item-foot strong {
  color: var(--text);
  font-size: 12px;
  font-weight: 850;
}

.vault-item-foot small {
  font-size: 11px;
  font-weight: 720;
}

.vault-admin-note,
.vault-category-admin-row,
.vault-assignment-row {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.vault-admin-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
}

.vault-admin-note > div,
.vault-admin-note {
  min-width: 0;
}

.vault-admin-note strong,
.vault-admin-note small,
.vault-category-admin-row strong,
.vault-category-admin-row small,
.vault-assignment-row strong,
.vault-assignment-row small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-admin-note small,
.vault-category-admin-row small,
.vault-assignment-row small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 680;
  margin-top: 3px;
}

.vault-admin-note.is-warn {
  border-color: color-mix(in srgb, var(--amber) 36%, var(--line));
  background: color-mix(in srgb, var(--amber) 8%, var(--surface-2));
}

.vault-category-create-form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.vault-category-create-field {
  flex: 1 1 280px;
  max-width: 460px;
}

.vault-category-create-visible {
  min-height: 32px;
  border: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-2) 78%, transparent);
  padding: 0 10px;
}

.vault-category-admin-search {
  width: min(100%, 460px);
}

.vault-category-admin-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
  gap: 10px;
  min-width: 0;
}

.vault-assignment-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
}

.vault-category-admin-row,
.vault-assignment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 11px 12px;
}

.vault-category-assignment-row {
  grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
  align-items: start;
}

.vault-category-assignment-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
  min-width: 0;
}

.vault-category-assignment-chip {
  position: relative;
  display: inline-grid;
  align-items: center;
  min-width: 0;
  max-width: 210px;
  min-height: 30px;
  border: 1px solid color-mix(in srgb, var(--line) 88%, transparent);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  cursor: pointer;
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
  padding: 0 9px;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.vault-category-assignment-chip input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.vault-category-assignment-chip span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-category-assignment-chip:hover,
.vault-category-assignment-chip:focus-within {
  border-color: color-mix(in srgb, var(--teal) 48%, var(--line));
  background: color-mix(in srgb, var(--teal) 8%, var(--surface));
  color: var(--text);
}

.vault-category-assignment-chip.is-active,
.vault-category-assignment-chip:has(input:checked) {
  border-color: color-mix(in srgb, var(--teal) 62%, var(--line));
  background: color-mix(in srgb, var(--teal) 16%, var(--surface));
  color: color-mix(in srgb, var(--teal) 82%, var(--text));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--teal) 18%, transparent);
}

.vault-category-admin-row {
  min-height: 54px;
  cursor: pointer;
  padding: 10px 12px;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.vault-category-admin-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.vault-category-delete {
  width: 32px;
  height: 32px;
}

.vault-category-admin-row:hover,
.vault-category-admin-row:focus-visible {
  border-color: color-mix(in srgb, var(--teal) 38%, var(--line));
  background: color-mix(in srgb, var(--teal) 5%, var(--surface-2));
  box-shadow: 0 8px 18px color-mix(in srgb, var(--teal) 6%, transparent);
  outline: 0;
}

.vault-category-admin-row[hidden] {
  display: none;
}

.vault-category-admin-row.is-muted,
.vault-assignment-row.is-muted {
  opacity: 0.68;
}

.vault-category-toggle,
.vault-assignment-toggle {
  justify-self: end;
}

.vault-category-toggle {
  cursor: pointer;
}

.vault-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 14px;
  align-items: start;
}

.vault-detail-main,
.vault-detail-side {
  display: grid;
  gap: 12px;
}

.vault-detail-meta {
  display: grid;
  gap: 10px;
}

.vault-detail-meta > div,
.vault-metadata-form,
.vault-agent-box,
.vault-extension-box,
.vault-audit-list,
.vault-field {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.vault-detail-meta > div {
  min-height: 74px;
  padding: 12px;
  display: grid;
  gap: 5px;
}

.vault-detail-meta strong {
  overflow-wrap: anywhere;
}

.vault-step-up-open {
  overflow: hidden;
}

.vault-step-up-layer {
  position: fixed;
  inset: 0;
  z-index: 72;
  display: grid;
  place-items: center;
  padding: 18px;
  background: color-mix(in srgb, #050a0e 68%, transparent);
  backdrop-filter: blur(10px);
}

.vault-step-up-dialog {
  width: min(420px, calc(100vw - 36px));
  border: 1px solid color-mix(in srgb, var(--line) 72%, var(--teal));
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  box-shadow: 0 28px 78px rgba(0, 0, 0, 0.44);
  display: grid;
  gap: 16px;
  padding: 18px;
}

.vault-step-up-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
}

.vault-step-up-head > div,
.vault-step-up-field {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.vault-step-up-head span,
.vault-step-up-field span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
}

.vault-step-up-head h3 {
  margin: 0;
  font-size: 18px;
  letter-spacing: 0;
}

.vault-step-up-password {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  gap: 8px;
  align-items: center;
}

.vault-step-up-password input {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface-2);
  color: var(--text);
  font: inherit;
  padding: 8px 10px;
}

.vault-step-up-field > input,
.vault-step-up-field textarea {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface-2);
  color: var(--text);
  font: inherit;
  padding: 8px 10px;
}

.vault-step-up-field textarea {
  resize: vertical;
}

.vault-step-up-error {
  margin: 0;
  color: var(--danger);
  font-size: 13px;
}

.vault-step-up-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.vault-bulk-confirm-dialog {
  width: min(540px, calc(100vw - 36px));
}

.vault-bulk-confirm-summary {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 10px;
}

.vault-bulk-confirm-summary strong {
  color: var(--text);
  font-size: 15px;
  font-weight: 880;
}

.vault-bulk-confirm-summary p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.vault-bulk-confirm-summary ul {
  display: grid;
  gap: 5px;
  max-height: 150px;
  margin: 0;
  overflow: auto;
  padding: 0 0 0 18px;
  color: var(--text);
  font-size: 12px;
}

.vault-bulk-confirm-summary li {
  min-width: 0;
  overflow-wrap: anywhere;
}

.vault-metadata-form {
  padding: 12px;
  display: grid;
  gap: 12px;
}

.vault-metadata-form-head {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.vault-metadata-form-head > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.vault-metadata-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.vault-metadata-form label {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.vault-metadata-wide {
  grid-column: 1 / -1;
}

.vault-metadata-form span,
.vault-metadata-form small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
}

.vault-metadata-form input,
.vault-metadata-form select,
.vault-metadata-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
}

.vault-metadata-form input,
.vault-metadata-form select {
  min-height: 34px;
  padding: 6px 8px;
}

.vault-metadata-form textarea {
  resize: vertical;
  padding: 8px;
}

.vault-metadata-check {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.vault-metadata-check input {
  width: auto;
  min-height: auto;
}

.vault-fields {
  display: grid;
  gap: 10px;
}

.vault-field {
  min-height: 78px;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, auto) auto;
  gap: 12px;
  align-items: center;
}

.vault-field > div:first-child {
  display: grid;
  gap: 4px;
}

.vault-field small {
  color: var(--muted);
}

.vault-field code,
.vault-agent-box code {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
}

.vault-field-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.vault-field-rotate-form {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(180px, 1.1fr) minmax(180px, 1fr) auto auto;
  gap: 8px;
  align-items: end;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.vault-field-rotate-form[hidden] {
  display: none;
}

.vault-field-rotate-form label {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.vault-field-rotate-form span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
}

.vault-field-rotate-form input {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  padding: 6px 8px;
}

.vault-agent-box,
.vault-extension-box,
.vault-audit-list {
  padding: 12px;
  display: grid;
  gap: 10px;
}

.vault-extension-form {
  display: grid;
  gap: 10px;
}

.vault-extension-head {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.vault-extension-head > div,
.vault-extension-form label,
.vault-extension-form details {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.vault-extension-head small,
.vault-extension-form span,
.vault-extension-form summary {
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
}

.vault-extension-form input,
.vault-extension-form select,
.vault-extension-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
}

.vault-extension-form input,
.vault-extension-form select {
  min-height: 34px;
  padding: 6px 8px;
}

.vault-extension-form textarea {
  resize: vertical;
  padding: 8px;
}

.vault-extension-check {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.vault-extension-check input {
  width: auto;
  min-height: auto;
}

.vault-audit-list div {
  display: grid;
  gap: 3px;
  padding-block: 8px;
  border-top: 1px solid var(--line);
}

.vault-audit-list div:first-of-type {
  border-top: 0;
}

.vault-detail-actions {
  display: flex;
  gap: 8px;
}

@media (max-width: 1180px) {
  .task-metrics-strip.vault-metrics {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
}

@media (max-width: 980px) {
  .vault-readiness-grid,
  .vault-detail-grid,
  .vault-create-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .module-section.vault-monitor-section {
    grid-template-columns: 1fr;
  }

  .vault-monitor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--line);
  }

  .vault-monitor-card:nth-child(odd) {
    border-left: 0;
  }

  .vault-detail-grid,
  .vault-create-form {
    grid-template-columns: 1fr;
  }

  .vault-item-actions {
    justify-content: stretch;
    grid-template-columns: 1fr;
  }

  .vault-row-feedback {
    text-align: left;
  }

  .vault-item-foot {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vault-field {
    grid-template-columns: 1fr;
  }

  .vault-metadata-form-head,
  .vault-field-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .vault-metadata-form-grid,
  .vault-field-rotate-form {
    grid-template-columns: 1fr;
  }

  .vault-v2-row {
    grid-template-columns: 1fr;
  }

  .vault-v2-actions {
    justify-content: flex-start;
  }

  .vault-category-admin-list {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
  }

  .vault-category-create-form {
    align-items: stretch;
  }

  .vault-category-create-field {
    flex-basis: 100%;
    max-width: none;
  }

  .vault-assignment-list {
    grid-template-columns: 1fr;
  }

  .vault-category-assignment-row {
    grid-template-columns: 1fr;
  }

  .vault-category-assignment-grid {
    justify-content: flex-start;
  }

  .vault-admin-note {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 700px) {
  .vault-list {
    grid-template-columns: 1fr;
  }

  .vault-item {
    grid-template-columns: 1fr;
    grid-template-areas:
      "main"
      "credentials"
      "actions";
    gap: 10px;
  }

  .vault-item.is-selection-mode {
    grid-template-columns: 34px minmax(0, 1fr);
    grid-template-areas:
      "select main"
      "credentials credentials"
      "actions actions";
  }

  .vault-item-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vault-row-feedback {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .vault-readiness-grid,
  .vault-mini-metrics {
    grid-template-columns: 1fr;
  }

  .vault-toolbar.projects-toolbar {
    grid-template-columns: 1fr;
  }

  .vault-metrics .vault-kpi.active::after {
    left: 10px;
    right: 10px;
  }

  .vault-toolbar {
    align-items: stretch;
  }

  .vault-bulk-toolbar,
  .vault-bulk-result {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .vault-bulk-toolbar .button,
  .vault-bulk-result .button {
    flex: 1 1 auto;
    min-width: 0;
  }

  .vault-bulk-summary {
    order: -1;
    flex: 1 0 100%;
    min-width: 0;
    text-align: left;
  }

  .vault-bulk-result-text {
    flex: 1 0 100%;
  }

  .vault-bulk-result-text strong,
  .vault-bulk-result-text span {
    white-space: normal;
  }

  .vault-toolbar > .vault-search-field,
  .vault-filter-control {
    flex-basis: 100%;
  }

  .vault-item {
    padding: 10px;
  }

  .vault-item-credentials {
    grid-template-columns: 1fr;
  }

  .vault-item-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vault-row-action {
    min-width: 0;
  }

  .vault-open-detail {
    width: 100%;
  }

  .vault-item-foot {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 340px) {
  .vault-credential-line,
  .vault-item-actions {
    grid-template-columns: 1fr;
  }

  .vault-open-detail {
    width: 100%;
  }

  .vault-item-foot {
    grid-template-columns: 1fr;
  }

  .vault-item-foot span,
  .vault-item-foot span:first-child {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 8px 0 0;
  }

  .vault-item-foot span:first-child {
    border-top: 0;
    padding-top: 0;
  }
}

.campaign-leads-module {
  display: grid;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
}

.campaign-leads-module,
.campaign-leads-module * {
  box-sizing: border-box;
}

.campaign-leads-module.hidden {
  display: none !important;
}

.campaign-leads-subnav {
  margin-bottom: 0;
  max-width: 100%;
}

.task-metrics-strip.campaign-leads-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.campaign-leads-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.campaign-leads-status-row p {
  margin: 0;
}

.campaign-leads-panel {
  display: none;
  width: 100%;
  min-width: 0;
}

.campaign-leads-panel.active {
  display: grid;
  gap: 12px;
  width: 100%;
}

.campaign-leads-panel > .module-section {
  width: 100%;
  min-width: 0;
}

.campaign-leads-overview-grid,
.campaign-leads-campaign-list,
.campaign-leads-recipient-list,
.campaign-leads-template-list,
.campaign-leads-send-batches,
.campaign-leads-send-jobs,
.campaign-leads-import-preview {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.campaign-leads-process-row,
.campaign-leads-table-row,
.campaign-leads-template-row,
.campaign-leads-send-batch-row,
.campaign-leads-import-row {
  display: grid;
  align-items: center;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: none;
}

.campaign-leads-process-row {
  grid-template-columns: 48px minmax(0, 1fr) minmax(190px, auto);
  gap: 12px;
  padding: 12px;
  cursor: pointer;
}

.campaign-leads-process-row:hover,
.campaign-leads-table-row:hover,
.campaign-leads-template-row:hover,
.campaign-leads-send-batch-row:hover {
  border-color: color-mix(in srgb, var(--teal) 38%, var(--line));
}

.campaign-leads-process-index {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--teal) 12%, transparent);
  color: var(--teal);
  font: 800 12px/1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.campaign-leads-process-row strong,
.campaign-leads-main-cell strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-leads-process-row p,
.campaign-leads-main-cell p,
.campaign-leads-import-row p {
  min-width: 0;
  margin: 2px 0 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-leads-process-meta {
  display: grid;
  gap: 2px;
  justify-items: end;
  color: var(--muted);
  font-size: 12px;
}

.campaign-leads-process-meta span {
  color: var(--text);
  font-weight: 820;
}

.campaign-leads-event-strip,
.campaign-leads-import-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.campaign-leads-event-strip article,
.campaign-leads-import-summary span {
  display: grid;
  min-width: 128px;
  gap: 2px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 10px 12px;
}

.campaign-leads-event-strip span,
.campaign-leads-import-summary span {
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 820;
  text-transform: uppercase;
}

.campaign-leads-event-strip strong,
.campaign-leads-import-summary strong {
  color: var(--text);
  font-size: 18px;
}

.campaign-leads-event-strip small {
  color: var(--muted);
  font-size: 11px;
}

.campaign-leads-toolbar {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.campaign-leads-toolbar > .campaign-leads-search-field {
  flex: 999 1 300px;
  min-width: min(100%, 260px);
}

.campaign-leads-toolbar > .projects-filter-control {
  flex: 0 1 156px;
}

.campaign-leads-recipients-toolbar > .campaign-leads-filter-pills {
  flex: 0 1 auto;
}

.campaign-leads-filter-pills .projects-filter-pills {
  max-width: 100%;
  flex-wrap: nowrap;
}

.campaign-leads-filter-pills .task-state-filter {
  min-width: 42px;
  min-height: 34px;
  gap: 5px;
  padding: 6px 8px;
}

.campaign-leads-filter-pills .task-state-filter svg {
  width: 15px;
  height: 15px;
}

.campaign-leads-priority-pills button[data-campaign-leads-priority-pill="high"],
.campaign-leads-status-pills button[data-campaign-leads-status-pill="lead"] {
  --glass-control-accent: var(--amber);
}

.campaign-leads-table {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.campaign-leads-table-head,
.campaign-leads-recipient-row {
  grid-template-columns: minmax(220px, 1.25fr) minmax(170px, 0.8fr) 104px 88px minmax(120px, 0.5fr) 48px;
}

.campaign-leads-campaign-row {
  grid-template-columns: minmax(260px, 1.15fr) 110px minmax(260px, 1fr) auto;
}

.campaign-leads-table-head {
  display: grid;
  gap: 8px;
  padding: 0 12px 4px;
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 820;
  text-transform: uppercase;
}

.campaign-leads-table-row {
  gap: 8px;
  padding: 10px 12px;
}

.campaign-leads-table-row.is-active {
  border-color: color-mix(in srgb, var(--teal) 54%, var(--line));
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--teal) 80%, transparent);
}

.campaign-leads-main-cell {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.campaign-leads-row-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  color: var(--accent);
}

.campaign-leads-row-icon svg,
.campaign-leads-token-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.campaign-leads-status-pill,
.campaign-leads-priority {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 820;
  white-space: nowrap;
}

.campaign-leads-status-pill.is-success {
  border-color: color-mix(in srgb, var(--green) 42%, var(--line));
  color: var(--green);
}

.campaign-leads-status-pill.is-info {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  color: var(--accent);
}

.campaign-leads-status-pill.is-warn,
.campaign-leads-priority.is-high {
  border-color: color-mix(in srgb, var(--amber) 45%, var(--line));
  color: var(--amber);
}

.campaign-leads-status-pill.is-muted,
.campaign-leads-priority.is-normal,
.campaign-leads-priority.is-low {
  color: var(--muted);
}

.campaign-leads-row-stats {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
}

.campaign-leads-row-stats strong {
  color: var(--text);
  font-variant-numeric: tabular-nums;
}

.campaign-leads-row-actions {
  display: inline-flex;
  justify-content: flex-end;
  gap: 6px;
}

.campaign-leads-email-cell {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 12.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-leads-token-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 30px;
  border: 1px solid color-mix(in srgb, var(--teal) 30%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--teal) 8%, transparent);
  color: var(--teal);
  font-size: 12px;
  font-weight: 820;
  padding: 5px 8px;
}

.campaign-leads-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.campaign-leads-import-form {
  display: grid;
  grid-template-columns: minmax(180px, 0.35fr) minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
}

.campaign-leads-import-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 820;
}

.campaign-leads-import-textarea {
  grid-column: 1 / -1;
}

.campaign-leads-import-textarea textarea {
  min-height: 220px;
  font: 12.5px/1.55 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.campaign-leads-import-actions {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.campaign-leads-template-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.34fr) minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  min-width: 0;
}

.campaign-leads-template-list {
  align-self: start;
}

.campaign-leads-template-row {
  grid-template-columns: 36px minmax(0, 1fr) 38px;
  gap: 10px;
  padding: 10px;
  cursor: pointer;
}

.campaign-leads-template-row.is-active {
  border-color: color-mix(in srgb, var(--teal) 54%, var(--line));
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--teal) 80%, transparent);
}

.campaign-leads-template-row strong,
.campaign-leads-template-row p,
.campaign-leads-template-row small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-leads-template-row strong {
  color: var(--text);
  font-size: 13.5px;
  font-weight: 850;
}

.campaign-leads-template-row p {
  margin: 2px 0;
  color: var(--muted);
  font-size: 12px;
}

.campaign-leads-template-row small {
  color: color-mix(in srgb, var(--muted) 82%, transparent);
  font-size: 11px;
  font-weight: 760;
}

.campaign-leads-template-form textarea {
  min-height: 132px;
  font: 12.5px/1.55 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.campaign-leads-template-form .projects-field-wide {
  grid-column: 1 / -1;
}

.campaign-leads-test-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.campaign-leads-test-actions input {
  width: min(220px, 100%);
}

.campaign-leads-preview-grid {
  display: grid;
  grid-template-columns: minmax(330px, 1.15fr) minmax(230px, 0.72fr) minmax(250px, 0.72fr);
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.campaign-leads-preview-device,
.campaign-leads-preview-text {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.campaign-leads-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 24px;
  gap: 8px;
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 820;
  text-transform: uppercase;
}

.campaign-leads-preview-head small {
  color: color-mix(in srgb, var(--muted) 78%, transparent);
  font-size: 10.5px;
  font-weight: 760;
  text-transform: none;
}

.campaign-leads-preview-device iframe {
  width: 100%;
  min-width: 0;
  height: 540px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f4f7fb;
}

.campaign-leads-preview-device.is-mobile iframe {
  width: min(390px, 100%);
  justify-self: center;
}

.campaign-leads-preview-text pre {
  min-height: 540px;
  max-height: 540px;
  margin: 0;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--text);
  font: 12.5px/1.55 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  padding: 12px;
  white-space: pre-wrap;
}

.campaign-leads-send-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.38fr) minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  min-width: 0;
}

.campaign-leads-send-form {
  display: grid;
  align-self: start;
  gap: 10px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 12px;
}

.campaign-leads-send-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 820;
}

.campaign-leads-confirm-send {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 8px !important;
  border: 1px solid color-mix(in srgb, var(--amber) 36%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--amber) 7%, transparent);
  padding: 9px 10px;
}

.campaign-leads-confirm-send input {
  width: 16px;
  height: 16px;
}

.campaign-leads-seed-field input {
  font-size: 12.5px;
}

.campaign-leads-send-actions,
.campaign-leads-batch-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.campaign-leads-send-actions .form-note {
  flex: 1 1 100%;
}

.campaign-leads-send-batch-row {
  grid-template-columns: 36px minmax(0, 1fr) minmax(190px, auto) 104px;
  gap: 10px;
  padding: 10px 12px;
  cursor: pointer;
}

.campaign-leads-send-batch-row.is-active {
  border-color: color-mix(in srgb, var(--teal) 54%, var(--line));
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--teal) 80%, transparent);
}

.campaign-leads-send-batch-row strong,
.campaign-leads-send-batch-row p {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-leads-send-batch-row strong {
  color: var(--text);
  font-size: 13.5px;
  font-weight: 850;
}

.campaign-leads-send-batch-row p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.campaign-leads-send-job-head,
.campaign-leads-send-job-row {
  grid-template-columns: minmax(220px, 1.1fr) 110px minmax(180px, 0.8fr) minmax(140px, 0.7fr);
}

.campaign-leads-tracking-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.campaign-leads-tracking-sessions,
.campaign-leads-tracking-events {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
}

.campaign-leads-tracking-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto minmax(118px, auto);
  align-items: center;
  gap: 10px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 10px 12px;
}

.campaign-leads-tracking-row.is-event {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--surface-2) 92%, transparent), color-mix(in srgb, var(--surface) 98%, transparent));
}

.campaign-leads-tracking-row strong,
.campaign-leads-tracking-row p,
.campaign-leads-tracking-row small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-leads-tracking-row strong {
  color: var(--text);
  font-size: 13.5px;
  font-weight: 850;
}

.campaign-leads-tracking-row p,
.campaign-leads-tracking-row small {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.campaign-leads-dashboard-grid,
.campaign-leads-dashboard-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  margin-top: 10px;
  min-width: 0;
}

.campaign-leads-funnel,
.campaign-leads-next-actions,
.campaign-leads-export-actions,
.campaign-leads-gtm-map {
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.campaign-leads-funnel-list,
.campaign-leads-next-action-list,
.campaign-leads-gtm-event-list {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.campaign-leads-funnel-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  border-top: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  padding-top: 8px;
}

.campaign-leads-funnel-stage:first-child {
  border-top: 0;
  padding-top: 0;
}

.campaign-leads-funnel-stage span,
.campaign-leads-funnel-stage small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-leads-funnel-stage strong {
  color: var(--text);
  font-size: 15px;
  font-weight: 900;
}

.campaign-leads-next-action-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) minmax(118px, auto);
  align-items: center;
  gap: 10px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 74%, transparent);
  padding: 9px 10px;
  cursor: pointer;
}

.campaign-leads-next-action-row strong,
.campaign-leads-next-action-row p,
.campaign-leads-next-action-row small,
.campaign-leads-gtm-event-list strong,
.campaign-leads-gtm-event-list p {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-leads-next-action-row strong,
.campaign-leads-gtm-event-list strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
}

.campaign-leads-next-action-row p,
.campaign-leads-next-action-row small,
.campaign-leads-gtm-event-list p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.campaign-leads-export-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.campaign-leads-gtm-event-list article {
  min-width: 0;
  border-top: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  padding-top: 8px;
}

.campaign-leads-gtm-event-list article:first-child {
  border-top: 0;
  padding-top: 0;
}

.campaign-leads-lead-head,
.campaign-leads-lead-row {
  grid-template-columns: minmax(260px, 1.2fr) 124px 88px minmax(150px, 0.72fr) 46px;
}

.campaign-leads-lead-row {
  cursor: pointer;
}

.campaign-leads-score {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
}

.campaign-leads-score small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
}

.campaign-leads-detail-shell {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.campaign-leads-detail-title {
  margin-bottom: 0;
}

.campaign-leads-lead-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.55fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
}

.campaign-leads-lead-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.campaign-leads-lead-fields article,
.campaign-leads-lead-block {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 12px;
}

.campaign-leads-lead-fields span,
.campaign-leads-block-title span,
.campaign-leads-lead-dl dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
  text-transform: uppercase;
}

.campaign-leads-lead-fields strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 14px;
  font-weight: 880;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-leads-lead-control-form {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  padding: 12px;
}

.campaign-leads-lead-control-form label,
.campaign-leads-note-form {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.campaign-leads-lead-control-form label span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
  text-transform: uppercase;
}

.campaign-leads-lead-control-form .button {
  width: 100%;
  justify-content: center;
}

.campaign-leads-lead-columns {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 12px;
  min-width: 0;
}

.campaign-leads-block-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.campaign-leads-block-title strong {
  color: var(--text);
  font-size: 15px;
  font-weight: 880;
}

.campaign-leads-lead-dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.campaign-leads-lead-dl div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.campaign-leads-lead-dl dd {
  margin: 0;
  color: var(--text);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.campaign-leads-note-form textarea {
  min-height: 82px;
  resize: vertical;
}

.campaign-leads-note-form > div {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.campaign-leads-note-form select {
  flex: 1 1 auto;
}

.campaign-leads-note-list,
.campaign-leads-timeline {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.campaign-leads-note-list {
  margin-top: 10px;
}

.campaign-leads-note-list article,
.campaign-leads-timeline-row {
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 72%, transparent);
  padding: 10px;
}

.campaign-leads-note-list article strong,
.campaign-leads-note-list article p,
.campaign-leads-note-list article small {
  display: block;
  min-width: 0;
}

.campaign-leads-note-list article strong {
  color: var(--text);
  font-size: 12.5px;
  font-weight: 850;
}

.campaign-leads-note-list article p {
  margin: 3px 0;
  color: var(--text);
  font-size: 13px;
  line-height: 1.42;
}

.campaign-leads-note-list article small {
  color: var(--muted);
  font-size: 11px;
}

.campaign-leads-timeline-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) minmax(120px, auto);
  align-items: center;
  gap: 10px;
}

.campaign-leads-timeline-row strong,
.campaign-leads-timeline-row p,
.campaign-leads-timeline-row small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-leads-timeline-row strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
}

.campaign-leads-timeline-row p,
.campaign-leads-timeline-row small {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.campaign-leads-import-table {
  display: grid;
  gap: 6px;
}

.campaign-leads-import-row {
  grid-template-columns: 42px minmax(0, 1fr) 72px;
  gap: 10px;
  padding: 10px 12px;
}

.campaign-leads-import-row > span:first-child {
  color: var(--muted);
  font: 800 12px/1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.campaign-leads-import-row > span:last-child {
  justify-self: end;
  color: var(--green);
  font-size: 12px;
  font-weight: 820;
}

.campaign-leads-import-row.is-error {
  border-color: color-mix(in srgb, var(--red) 46%, var(--line));
}

.campaign-leads-import-row.is-error > span:last-child,
.campaign-leads-import-row .is-error {
  color: var(--red);
}

.campaign-leads-import-row .is-warning {
  color: var(--amber);
}

@media (max-width: 980px) {
  .campaign-leads-campaign-row,
  .campaign-leads-recipient-row,
  .campaign-leads-send-job-row,
  .campaign-leads-lead-row,
  .campaign-leads-table-head {
    grid-template-columns: minmax(0, 1fr);
  }

  .campaign-leads-table-head {
    display: none;
  }

  .campaign-leads-row-actions {
    justify-content: flex-start;
  }

  .campaign-leads-form,
  .campaign-leads-import-form,
  .campaign-leads-template-layout,
  .campaign-leads-send-layout,
  .campaign-leads-tracking-layout,
  .campaign-leads-dashboard-grid,
  .campaign-leads-dashboard-tools,
  .campaign-leads-lead-hero,
  .campaign-leads-lead-columns,
  .campaign-leads-preview-grid {
    grid-template-columns: 1fr;
  }

  .campaign-leads-lead-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .campaign-leads-preview-device iframe,
  .campaign-leads-preview-text pre {
    height: 460px;
    max-height: 460px;
  }
}

@media (max-width: 900px) {
  .task-metrics-strip.campaign-leads-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  #campaign-leads-module-view .campaign-leads-subnav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    max-width: 100%;
    overflow: visible;
    padding: 4px;
  }

  #campaign-leads-module-view .campaign-leads-subnav button {
    width: 100%;
    min-width: 0;
    flex: initial;
    font-size: 13px;
    padding: 9px 8px;
    white-space: normal;
  }

  .campaign-leads-status-row,
  .campaign-leads-process-row {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .campaign-leads-status-row {
    display: grid;
  }

  .campaign-leads-process-meta {
    justify-items: start;
  }

  .campaign-leads-toolbar > .campaign-leads-search-field,
  .campaign-leads-toolbar > .projects-filter-control,
  .campaign-leads-filter-pills,
  .campaign-leads-filter-pills .projects-filter-pills {
    flex: 1 1 100%;
    width: 100%;
    max-width: none;
  }

  .campaign-leads-filter-pills .projects-filter-pills {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .campaign-leads-import-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .campaign-leads-import-actions .button {
    width: 100%;
  }

  .campaign-leads-test-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .campaign-leads-test-actions input,
  .campaign-leads-test-actions .button {
    width: 100%;
  }

  .campaign-leads-send-actions,
  .campaign-leads-batch-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .campaign-leads-send-actions .button,
  .campaign-leads-batch-actions .button {
    width: 100%;
  }
}

@media (max-width: 560px) {
  #campaign-leads-module-view .campaign-leads-subnav {
    grid-template-columns: 1fr;
  }

  .campaign-leads-table-row,
  .campaign-leads-process-row,
  .campaign-leads-template-row,
  .campaign-leads-send-batch-row,
  .campaign-leads-tracking-row,
  .campaign-leads-lead-row,
  .campaign-leads-import-row {
    width: 100%;
    max-width: 100%;
  }

  .campaign-leads-tracking-row {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  .campaign-leads-tracking-row .campaign-leads-status-pill,
  .campaign-leads-tracking-row small {
    grid-column: 2;
    justify-self: start;
  }

  .campaign-leads-lead-fields {
    grid-template-columns: 1fr;
  }

  .campaign-leads-note-form > div {
    align-items: stretch;
    flex-direction: column;
  }

  .campaign-leads-note-form .button {
    width: 100%;
  }

  .campaign-leads-timeline-row {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .campaign-leads-timeline-row small {
    grid-column: 2;
  }

  .campaign-leads-next-action-row {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .campaign-leads-next-action-row small {
    grid-column: 2;
  }

  .campaign-leads-export-button-row .button {
    width: 100%;
  }
}

@media (max-width: 380px) {
  .task-metrics-strip.campaign-leads-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
