:root {
  --bg: #eef3f9;
  --bg-elev: #e6edf6;
  --panel: #ffffff;
  --text: #111827;
  --muted: #6b7280;
  --line: #d1d5db;
  --line-strong: #9ca3af;
  --accent: #1e3a8a;
  --accent-strong: #1e2f6f;
  --accent-soft: #dfe9ff;
  --success: #2f7a45;
  --warn: #9c5d1a;
  --danger: #a63e31;
  --shadow-soft: 0 34px 82px rgba(2, 6, 23, 0.46), 0 14px 30px rgba(2, 6, 23, 0.30);
  --shadow-floating: 0 34px 82px rgba(2, 6, 23, 0.46), 0 14px 30px rgba(2, 6, 23, 0.30);
  --overlay-border: #a9bcd8;
  --overlay-outline: rgba(15, 23, 42, 0.14);
  --radius-sm: 6px;
  --radius: 6px;
  --radius-lg: 10px;
  --ui-menu-shell-radius: 4px;
  --ui-menu-item-radius: 5px;

  /* Modal UI contract tokens (phase 1 additive baseline) */
  --ui-modal-backdrop-bg: rgba(0, 0, 0, 0.25);
  --ui-modal-backdrop-padding: 18px;
  --ui-modal-z: 12000;

  --ui-modal-card-bg: #ffffff;
  --ui-modal-card-border: #d1d5db;
  --ui-modal-card-radius: 4px;
  --ui-modal-card-shadow: var(--shadow-floating);
  --ui-modal-card-padding: 16px;
  --ui-modal-card-max-width: 420px;

  --ui-modal-title-size: 16px;
  --ui-modal-title-margin-bottom: 4px;
  --ui-modal-copy-size: 12.5px;
  --ui-modal-copy-margin-bottom: 12px;

  --ui-modal-action-gap: 8px;
  --ui-modal-action-row-gap: var(--ui-modal-action-gap);
  --ui-modal-action-min-height: 32px;
  --ui-modal-action-button-min-height: var(--ui-modal-action-min-height);
  --ui-modal-action-radius: 4px;
  --ui-modal-action-button-radius: var(--ui-modal-action-radius);
  --ui-modal-action-font-size: 13px;
  --ui-modal-action-button-font-size: var(--ui-modal-action-font-size);
  --ui-modal-action-font-weight: 400;
  --ui-modal-action-button-font-weight: var(--ui-modal-action-font-weight);
  --ui-modal-action-padding: 0 14px;
  --ui-modal-action-button-padding: var(--ui-modal-action-padding);
  --ui-modal-action-display: flex;
  --ui-modal-action-justify: flex-end;
  --ui-modal-action-margin-top: 10px;
  --ui-modal-action-secondary-color: #6b7280;
  --ui-modal-action-secondary-bg: transparent;
  --ui-modal-action-secondary-border: 1px solid transparent;
  --ui-modal-action-secondary-hover-border-color: transparent;
  --ui-modal-action-secondary-button-hover-border-color: var(--ui-modal-action-secondary-hover-border-color);
  --ui-modal-action-secondary-hover-bg: #f3f4f6;
  --ui-modal-action-secondary-button-hover-bg: var(--ui-modal-action-secondary-hover-bg);
  --ui-modal-action-secondary-hover-color: #0f172a;
  --ui-modal-action-secondary-button-hover-color: var(--ui-modal-action-secondary-hover-color);
  --ui-modal-action-primary-bg: #1e40af;
  --ui-modal-action-primary-color: #ffffff;
  --ui-modal-action-primary-border: 1px solid var(--ui-modal-action-primary-bg);
  --ui-modal-action-primary-hover-border-color: var(--ui-modal-action-primary-bg);
  --ui-modal-action-primary-hover-bg: #1e3a8a;
  --ui-modal-action-danger-bg: #991b1b;
  --ui-modal-action-danger-color: #ffffff;
  --ui-modal-action-danger-border: 1px solid var(--ui-modal-action-danger-bg);
  --ui-modal-action-danger-hover-border-color: var(--ui-modal-action-danger-bg);
  --ui-modal-action-danger-hover-bg: #7f1d1d;

  --ui-modal-input-width: 100%;
  --ui-modal-input-min-height: 40px;
  --ui-modal-input-font-size: 13px;
  --ui-modal-input-radius: 4px;
  --ui-modal-input-border-width: 1px;
  --ui-modal-input-border-style: solid;
  --ui-modal-input-border: #d1d5db;
  --ui-modal-input-color: var(--text);
  --ui-modal-input-bg: #f9fafb;
  --ui-modal-input-focus-border-width: var(--ui-modal-input-border-width);
  --ui-modal-input-focus-border-style: var(--ui-modal-input-border-style);
  --ui-modal-input-focus-border: #9ca3af;
  --ui-modal-input-focus-bg: #ffffff;
  --ui-modal-input-focus-outline: none;
  --ui-modal-input-padding: 10px 12px;

  --ui-modal-invite-role-option-border: var(--line);
  --ui-modal-invite-role-option-bg: var(--panel);
  --ui-modal-invite-role-option-hover-border: #cbd5e1;
  --ui-modal-invite-role-option-hover-bg: #f8fafc;
  --ui-modal-invite-role-option-selected-border: var(--line);
  --ui-modal-invite-role-option-selected-bg: #f3f4f6;
  --ui-modal-invite-role-option-selected-hover-border: #cbd5e1;
  --ui-modal-invite-role-option-selected-hover-bg: #eef2f7;
  --ui-modal-invite-role-option-radio-accent: #4b5563;
  --ui-modal-invite-role-option-title-color: var(--text);
  --ui-modal-invite-role-option-copy-color: var(--muted);
  --ui-modal-invite-role-option-copy-weight: 400;

  --ui-modal-field-label-color: var(--muted);
  --ui-modal-field-border-color: #cbd5e1;
  --ui-modal-field-focus-border-color: #94a3b8;
  --ui-modal-field-focus-ring: 0 0 0 2px rgba(30, 58, 138, 0.08);

  --ui-modal-inline-primary-bg: #eef2ff;
  --ui-modal-inline-primary-border-color: #c7d2fe;
  --ui-modal-inline-primary-color: #1f3d8f;
  --ui-modal-inline-primary-hover-bg: #e0e7ff;
  --ui-modal-inline-primary-hover-border-color: #a5b4fc;
  --ui-modal-inline-primary-hover-color: #1e3a8a;

  --ui-modal-team-field-label-color: #64748b;
  --ui-modal-team-field-border-color: #d1d5db;
  --ui-modal-team-field-bg: #ffffff;
  --ui-modal-team-field-focus-border-color: #94a3b8;
  --ui-modal-team-action-color: #475569;
  --ui-modal-team-action-bg: #ffffff;
  --ui-modal-team-action-hover-bg: #f8fafc;
  --ui-modal-team-action-hover-color: #334155;
  --ui-modal-team-action-focus-border-color: #94a3b8;

  --ui-modal-created-link-panel-border-color: #dbe3ef;
  --ui-modal-created-link-panel-bg: #f8fafc;

  --ui-modal-column-section-head-border-color: #f3f4f6;
  --ui-modal-column-section-head-title-color: #6b7280;
  --ui-modal-column-option-label-size: 13px;
  --ui-modal-column-option-label-weight: 400;
  --ui-modal-column-option-label-line-height: 1.15;
  --ui-modal-column-option-icon-color: #6b7280;
  --ui-modal-column-option-icon-hover-color: var(--ui-modal-column-option-icon-color);

  --ui-modal-status-notice-title-color: #0f172a;

  --ui-feedback-radius: 8px;
  --ui-feedback-padding: 10px 12px;
  --ui-feedback-font-size: 13px;
  --ui-feedback-line-height: 1.35;
  --ui-feedback-neutral-border: #dbe5f1;
  --ui-feedback-neutral-bg: #f8fafc;
  --ui-feedback-neutral-color: #334155;
  --ui-feedback-error-border: color-mix(in srgb, var(--danger) 35%, #fecaca);
  --ui-feedback-error-bg: #fef2f2;
  --ui-feedback-error-color: #991b1b;
  --ui-feedback-success-border: color-mix(in srgb, var(--success) 28%, #d1fae5);
  --ui-feedback-success-bg: #f0fdf4;
  --ui-feedback-success-color: #166534;
}


* { box-sizing: border-box; }
html, body { height: 100%; }
html { font-size: 16px; }
html.is-restoring-scroll body {
  visibility: hidden;
}
html.is-restoring-sidebar-scroll .sidebar-scroll-area {
  visibility: hidden;
}
body {
  margin: 0;
  background: #fff;
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 450;
  line-height: 1.4;
  overflow-x: hidden;
}

h1, h2, h3, h4, p { margin: 0; }
a { color: inherit; text-decoration: none; }
code { font-family: inherit; font-size: 0.87em; }

input, select, button, textarea {
  font: inherit;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line-strong);
  background: #fff;
  color: var(--text);
  min-height: 34px;
  padding: 7px 10px;
}

input::placeholder, textarea::placeholder { color: #98a2b3; }

label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 550;
}

button {
  border: 1px solid transparent;
  background: var(--accent);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  transition: background .16s ease, transform .06s ease, box-shadow .16s ease;
}
button:hover { background: var(--accent-strong); }
button:active { transform: translateY(1px); }
.add-column-rail-btn:active { transform: rotate(180deg); }
button.ghost {
  background: #fff;
  color: #4a4038;
  border-color: var(--line-strong);
}
button.ghost:hover { background: #eaf0fa; }
button.danger { background: #991b1b; color: #ffffff; border-color: #991b1b; }
button.danger:hover { background: #7f1d1d; }

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 42%, transparent);
  outline-offset: 2px;
}

/* App shell layout */
.app-shell {
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  min-height: 100vh;
  overflow-x: hidden;
}

.sidebar {
  background: #faf9f7;
  border-right: 1px solid #e5e7eb;
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  width: 248px;
  height: 100vh;
  overflow: hidden;
  z-index: 20;
}

.sidebar-scroll-shell {
  --sidebar-scrollbar-thumb: rgba(107, 114, 128, 0.56);
  --sidebar-fade-size: 40px;
  --sidebar-fade-bg: #faf9f7;
  --sidebar-menu-shadow-buffer: 12px;
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
  margin-right: -5px;
}
.sidebar-scroll-area {
  min-height: 0;
  height: 100%;
  overflow-y: auto;
  margin-right: calc(-5px - var(--sidebar-scrollbar-reserve, 0px));
  padding-right: calc(5px + var(--sidebar-scrollbar-reserve, 0px) + var(--sidebar-menu-shadow-buffer));
  padding-bottom: 40px;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
  scrollbar-gutter: stable;
}
.sidebar-scroll-area.is-scrolling,
.sidebar-scroll-area:hover,
.sidebar-scroll-area:focus-within {
  scrollbar-color: var(--sidebar-scrollbar-thumb) transparent;
}
.sidebar-scroll-area::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.sidebar-scroll-area::-webkit-scrollbar-track {
  background: transparent;
}
.sidebar-scroll-area::-webkit-scrollbar-thumb {
  background-color: transparent;
  border-radius: 999px;
  border: 1px solid transparent;
  background-clip: padding-box;
  transition: background-color .18s ease, border-color .18s ease;
}
.sidebar-scroll-area:hover::-webkit-scrollbar-thumb,
.sidebar-scroll-area:focus-within::-webkit-scrollbar-thumb,
.sidebar-scroll-area.is-scrolling::-webkit-scrollbar-thumb {
  background-color: var(--sidebar-scrollbar-thumb);
}
.sidebar-scroll-area::-webkit-scrollbar-thumb:hover {
  background-color: rgba(75, 85, 99, 0.72);
}
.sidebar-scroll-shell::before,
.sidebar-scroll-shell::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: var(--sidebar-fade-size);
  pointer-events: none;
  z-index: 3;
  opacity: 0;
  transition: opacity .18s ease;
}
.sidebar-scroll-shell::before {
  top: 0;
  background: linear-gradient(to bottom, var(--sidebar-fade-bg) 28%, rgba(250, 249, 247, 0));
}
.sidebar-scroll-shell::after {
  bottom: 0;
  background: linear-gradient(to top, var(--sidebar-fade-bg) 28%, rgba(250, 249, 247, 0));
}
.sidebar-scroll-shell.is-scrollable:not(.is-at-top)::before {
  opacity: 1;
}
.sidebar-scroll-shell.is-scrollable:not(.is-at-bottom)::after {
  opacity: 1;
}
body.sidebar-menu-open .sidebar-scroll-area {
  padding-right: calc(5px + var(--sidebar-scrollbar-reserve, 0px) + var(--sidebar-menu-shadow-buffer));
}
body.sidebar-menu-open .sidebar-scroll-shell::before,
body.sidebar-menu-open .sidebar-scroll-shell::after {
  opacity: 0 !important;
}

.brand {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  margin-bottom: 10px;
}
.brand-with-workspace {
  display: grid;
  gap: 8px;
  align-items: stretch;
}
.brand-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.brand-mark {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  background: #374151;
}
.brand h2 { font-size: 16px; letter-spacing: 0; font-weight: 400; color: #111827; }
.workspace-switcher-form {
  margin: 0;
}
.workspace-switcher-select {
  width: 100%;
  min-height: 30px;
  border-radius: 6px;
  border: 1px solid #d1d5db;
  background: #ffffff;
  color: #374151;
  font-size: 12px;
  padding: 4px 8px;
}

.sidebar-group { margin-top: 12px; }
.sidebar-title-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 3px;
  padding: 0;
  margin-bottom: 6px;
}
.sidebar-title {
  font-size: 12px;
  text-transform: none;
  letter-spacing: 0.01em;
  color: #6b7280;
  font-weight: 400;
  padding: 7px 9px;
}

.sidebar-nav, .sidebar-list {
  display: grid;
  gap: 1px;
}
.sidebar-list {
  position: relative;
}
.sidebar-drop-indicator {
  position: absolute;
  left: 6px;
  right: 6px;
  height: 2px;
  border-radius: 2px;
  background: #9ca3af;
  opacity: 0;
  pointer-events: none;
  transition: opacity .08s ease;
  z-index: 20;
}

.nav-link, .panel-link {
  display: block;
  border-radius: 4px;
  padding: 7px 9px;
  color: #0f172a;
  font-size: 13px;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* panel link keeps default pointer cursor */
.nav-link:hover, .panel-link:hover { background: #f0ede8; color: #111827; }
.nav-link.active, .panel-link.active {
  background: #ebe7e0;
  color: #111827;
  font-weight: 400;
}
.inbox-nav-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}
.inbox-unread-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: #e11d48;
  color: #ffffff;
  font-size: 11px;
  line-height: 1;
  font-weight: 600;
}
.inbox-unread-badge[hidden] {
  display: none !important;
}

.panel-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 3px;
  cursor: grab;
}
.panel-row.is-dragging-panel {
  cursor: grabbing;
}
.sidebar-list.is-reordering-panels .panel-row {
  user-select: none;
}
.panel-row.is-dragging-panel {
  opacity: .72;
}

.sidebar-user-chip {
  margin-top: 10px;
  flex-shrink: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #ffffff;
  padding: 8px;
  color: #111827;
}
.sidebar-user-chip:hover {
  background: #f8fafc;
  border-color: #d1d5db;
}
.sidebar-user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #e5e7eb;
  color: #374151;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.sidebar-user-avatar-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.sidebar-user-avatar [data-sidebar-user-avatar-fallback="1"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
}
.sidebar-user-text {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.sidebar-user-name {
  font-size: 13px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-user-subtitle {
  font-size: 11px;
  color: #6b7280;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-user-chevron {
  color: #9ca3af;
  font-size: 18px;
  line-height: 1;
}

.sidebar-title-row > .icon-btn {
  opacity: 0;
  pointer-events: none;
  transition: opacity .14s ease;
}
.sidebar-title-row:hover > .icon-btn,
.sidebar-title-row:focus-within > .icon-btn {
  opacity: 1;
  pointer-events: auto;
}

.icon-btn {
  width: 26px !important;
  height: 26px !important;
  min-height: 26px;
  border-radius: 4px;
  line-height: 1;
  padding: 0;
  margin-right: 2px;
  background: transparent;
  color: #9ca3af;
  border: 0;
}
.icon-btn:hover { background: #f3f4f6; color: #0f172a; }

.panel-menu { position: relative; }
.panel-menu summary {
  list-style: none;
  width: 26px;
  height: 26px;
  border-radius: 4px;
  display: grid;
  place-items: center;
  color: #9ca3af;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity .14s ease;
}
.panel-row:hover .panel-menu summary,
.panel-row:focus-within .panel-menu summary,
.panel-menu[open] summary {
  opacity: 1;
  pointer-events: auto;
}

/* Touch devices can't hover: keep board/page row menu trigger reachable there. */
@media (hover: none), (pointer: coarse) {
  .sidebar-list .panel-row .panel-menu summary {
    opacity: 1;
    pointer-events: auto;
  }
}
.panel-menu summary::-webkit-details-marker { display: none; }
.panel-menu summary:hover { background: #f3f4f6; color: #0f172a; }
.panel-menu-box {
  position: absolute;
  right: 0;
  top: 28px;
  min-width: 138px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: var(--ui-menu-shell-radius);
  padding: 6px;
  z-index: 220;
}
.panel-menu[open].panel-menu-open-up > .panel-menu-box {
  top: auto;
  bottom: 28px;
}
.col-actions-menu .panel-menu-box {
  min-width: 262px;
}
.row-actions-menu .panel-menu-box {
  min-width: 246px;
}
.panel-menu-box form { margin: 0; }
.panel-menu-box button { width: 100%; text-align: left; }
.menu-item {
  background: transparent;
  border: 0;
  color: #0f172a;
  min-height: 32px;
  border-radius: var(--ui-menu-item-radius);
  font-size: 13px;
  font-weight: 400;
  padding: 6px 8px;
}
.menu-item:hover { background: #f3f4f6; }
.menu-item.destructive { color: #9a3b31; }
.menu-item.destructive:hover { background: #fff1f2; }
.menu-item:disabled,
.menu-item.is-disabled {
  color: #94a3b8;
  cursor: not-allowed;
}
.menu-item:disabled:hover,
.menu-item.is-disabled:hover {
  background: transparent;
}
.menu-item:disabled .menu-item-icon,
.menu-item.is-disabled .menu-item-icon {
  color: #9ca3af;
  border-color: #e5e7eb;
  opacity: 0.78;
}
.menu-item-with-icon {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}
.menu-item-icon {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #7b7e89;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: var(--ui-menu-item-radius);
  flex: 0 0 auto;
}
.menu-item:hover .menu-item-icon {
  color: #6b7280;
  border-color: #dfe3ea;
}
.menu-item.destructive .menu-item-icon {
  color: #7b7e89;
  border-color: #e8e8eb;
}
.menu-item-icon svg {
  width: 18px;
  height: 18px;
}
.menu-item-label {
  min-width: 0;
  white-space: nowrap;
}
.col-actions-menu form[action$="/base-columns/estado/duplicate"],
.col-actions-menu form[action$="/base-columns/fecha/duplicate"],
.col-actions-menu form[action$="/base-columns/persona/duplicate"] {
  display: none;
}
.menu-item.disabled,
.menu-item:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.menu-item.disabled:hover,
.menu-item:disabled:hover {
  background: transparent;
}

.main {
  grid-column: 2;
  padding: 20px;
  background: #fff;
  max-width: 1680px;
  width: 100%;
  justify-self: center;
  overflow-x: auto;
}
.main.main-shell-host {
  padding: 0;
  max-width: none;
  overflow: hidden;
  background: #fff;
}
.main.main-shell-host.is-shell-loading {
  opacity: .98;
}
.main-shell-frame {
  width: 100%;
  border: 0;
  display: block;
  background: #fff;
}

.page-title { font-size: 17px; font-weight: 640; letter-spacing: -.01em; }
.page-subtitle { margin-top: 2px; color: var(--muted); font-size: 12px; }
.plain-title { margin: 2px 0 14px; }
.inbox-title {
  font-size: 24px;
  font-weight: 520;
  color: var(--text);
}
.inbox-page {
  max-width: 920px;
  display: grid;
  gap: 12px;
}
.inbox-shell-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--panel);
  padding: 14px;
}
.inbox-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.inbox-filter-group {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--ui-modal-invite-role-option-selected-bg);
  padding: 2px;
}
.inbox-filter-btn {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 6px;
}
.inbox-filter-btn.is-active {
  background: var(--panel);
  color: var(--text);
  border-color: var(--line);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}
.inbox-mark-all-btn {
  min-height: 30px;
  font-size: 12px;
  border-color: var(--line);
  color: var(--muted);
  background: var(--panel);
}
.inbox-mark-all-btn:hover {
  border-color: var(--line-strong);
  color: var(--text);
  background: var(--ui-modal-invite-role-option-selected-bg);
}
.inbox-list {
  display: grid;
  gap: 8px;
  align-content: start;
}
.inbox-card {
  border: 1px solid color-mix(in srgb, var(--line) 82%, var(--panel) 18%);
  border-radius: 10px;
  background: var(--panel);
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.inbox-card.is-unread {
  border-color: var(--ui-modal-invite-role-option-selected-border);
  background: var(--ui-modal-invite-role-option-selected-bg);
}
.inbox-card-main {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 2px;
}
.inbox-card-title {
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
  color: var(--text);
  font-weight: 560;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.inbox-card-meta {
  margin: 0;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.inbox-card-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.inbox-open-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 14px;
  line-height: 1;
  transition: border-color .15s ease, color .15s ease, background-color .15s ease;
}
.inbox-open-icon:hover {
  border-color: var(--ui-modal-invite-role-option-hover-border);
  color: var(--text);
  background: var(--ui-modal-invite-role-option-selected-bg);
}
.inbox-open-icon:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--line-strong) 28%, transparent);
}
.inbox-empty {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
}
.page-title-input {
  width: 100%;
  max-width: 900px;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.15;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  color: var(--text);
}
.page-title-input:focus {
  outline: none;
  box-shadow: inset 0 -2px 0 #93c5fd;
}
#table-title-form {
  flex: 0 1 auto;
  display: inline-block;
}
.table-title-input {
  width: auto;
  min-width: 0;
  max-width: min(680px, 80vw);
  font-size: 24px;
  font-weight: 650;
  line-height: 1.2;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0 0 2px;
  color: var(--text);
}
.table-title-input:focus {
  outline: none;
  box-shadow: inset 0 -1px 0 #93c5fd;
}

.card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  padding: 14px;
  margin-bottom: 12px;
}
.board-content {
  padding: 0 !important;
  margin-bottom: 12px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.main > section.board-content {
  box-shadow: none;
}

.table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.table-head h3 { font-size: 14px; margin-bottom: 2px; }
.table-head p { font-size: 12px; color: var(--muted); }
.phase-switcher {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.phase-switcher:empty { display: none; }
.phase-block {
  margin-bottom: 14px;
  clear: both;
}
.phase-block-primary { margin-bottom: 26px; }
.phase-block-secondary { margin-top: 30px; margin-bottom: 30px; }
.phase-table-title {
  font-size: 13px;
  font-weight: 700;
  color: #1f2937;
  margin: 0 0 6px;
}
.block-title-row {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 4px;
  width: fit-content;
}
.block-title-row-secondary { margin: 10px 0 12px; }
.block-actions-menu {
  margin-left: 1px;
}
.block-actions-menu > summary {
  width: 18px;
  height: 18px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  color: #8ea0b8;
  font-size: 13px;
  line-height: 1;
  padding: 0;
  transition: opacity .12s ease;
}
.block-title-row:hover .block-actions-menu > summary,
.block-title-row:focus-within .block-actions-menu > summary,
.block-actions-menu[open] > summary {
  opacity: 1;
  pointer-events: auto;
}
.block-actions-menu .panel-menu-box {
  left: calc(100% + 6px);
  right: auto;
  top: -4px;
  min-width: 152px;
}
.phase-title-form {
  margin: 0;
  flex: 0 1 auto;
  display: inline-block;
}
.phase-title-input-lg {
  width: auto;
  min-width: 0;
  max-width: min(760px, 86vw);
  border: 0;
  background: transparent;
  padding: 0;
  font-size: 24px;
  font-weight: 650;
  color: var(--text);
  line-height: 1.2;
}
.phase-title-input-lg:focus {
  outline: none;
  box-shadow: inset 0 -1px 0 #93c5fd;
}
.phase-add-under-first {
  margin-top: 12px;
}
.phase-add-form { margin: 0; }
.phase-add-btn {
  height: 28px;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  background: #ffffff;
  color: #6b7280;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 400;
  transition: background .14s ease, border-color .14s ease, color .14s ease;
}
.phase-add-btn:hover {
  background: #f3f4f6;
  border-color: #d1d5db;
  color: #0f172a;
}
.phase-add-btn:focus,
.phase-add-btn:focus-visible {
  outline: none;
  border-color: #9ca3af;
}

/* Board table */
.simple-table-wrap {
  position: relative;
  width: fit-content;
  max-width: none;
  border: 1px solid var(--line);
  border-radius: 4px;
  overflow: visible;
  background: #ffffff;
}
.status-summary-standalone .status-summary-text {
  font-size: 12px;
  color: #64748b;
  white-space: nowrap;
}

/* keep default table border behavior */
.simple-table {
  width: max-content;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 13px;
  font-family: inherit;
}
.simple-table th,
.simple-table td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}
.simple-table thead th {
  border-top: 0;
}
.simple-table thead th:first-child {
  border-top-left-radius: 6px;
}
.simple-table thead th:last-child {
  border-top-right-radius: 6px;
}
.simple-table th + th,
.simple-table td + td {
  border-left: 1px solid var(--line);
}
.simple-table th {
  position: relative;
  font-size: 12px;
  color: #4b5563;
  font-weight: 400;
  letter-spacing: 0.01em;
  background: #f9fafb;
  user-select: none;
}
/* edge handles use default cell padding */
.drag-handle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8ea0b8;
  cursor: grab;
  font-weight: 700;
  letter-spacing: -1px;
  user-select: none;
  background: #fff;
  border: 1px solid #d9e2ef;
  border-radius: 6px;
  width: 18px;
  height: 18px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .12s ease;
  z-index: 3;
  -webkit-user-drag: none;
  touch-action: none;
}
.drag-handle:active { cursor: grabbing; }
.simple-table td {
  position: relative;
  overflow: visible;
}
.cell-save-indicator {
  /* Autosave stays active; visual badge intentionally hidden */
  display: none !important;
}
.phase-separator-row td.phase-separator-cell {
  background: #f3f7fe;
  color: #1e3a8a;
  font-weight: 700;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.simple-table:not(.row-dragging) tbody tr[data-item-id]:not(.row-drag-active):hover td {
  background: #f3f4f6;
}
.simple-table tbody tr[data-item-id]:focus-within td {
  background: #f3f4f6;
}
.simple-table tbody tr[data-item-id].drawer-row-selected:not(.row-drag-active) td,
.simple-table tbody tr[data-item-id].drawer-row-selected:not(.row-drag-active):hover td,
.simple-table tbody tr[data-item-id].drawer-row-selected:not(.row-drag-active):focus-within td {
  background: #dbeafe !important;
  box-shadow: inset 0 1px 0 #3b82f6, inset 0 -1px 0 #3b82f6;
}
.simple-table tbody tr[data-item-id].drawer-row-selected:not(.row-drag-active) td:first-child {
  box-shadow: inset 2px 0 0 #2563eb, inset 0 1px 0 #3b82f6, inset 0 -1px 0 #3b82f6;
}
.simple-table tbody tr[data-item-id].drawer-row-selected:not(.row-drag-active) td:last-child {
  box-shadow: inset -2px 0 0 #2563eb, inset 0 1px 0 #3b82f6, inset 0 -1px 0 #3b82f6;
}
.table-status-summary-row td {
  padding: 6px 10px;
  border-top: 1px solid var(--line);
  border-bottom: 0;
  background: transparent;
}
.table-status-summary-row td + td {
  border-left-color: transparent;
}
.table-status-summary-row .status-summary-cell {
  background: transparent;
}
.table-status-summary-row td {
  border-bottom: 0;
}
.status-summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
}
.status-summary-bar {
  width: 100%;
  max-width: 220px;
  height: 12px;
  border-radius: 999px;
  background: #e6edf6;
  border: 0;
  overflow: hidden;
}
.status-summary-bar-fill {
  height: 100%;
  width: 0%;
  background: #15803d;
  border-radius: inherit;
  transition: width .18s ease;
}
.status-summary-text {
  font-size: 11.5px;
  color: #64748b;
  font-weight: 600;
  letter-spacing: .01em;
}
.row-drag-handle {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-50%, -50%);
}
.col-drag-handle {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.simple-table tbody tr[data-item-id]:hover .row-drag-handle,
.simple-table tbody tr[data-item-id]:focus-within .row-drag-handle,
.simple-table tbody tr.row-drag-active .row-drag-handle,
.simple-table thead th[data-col-token]:hover .col-drag-handle,
.simple-table thead th[data-col-token]:focus-within .col-drag-handle,
.simple-table thead th.is-dragging-col .col-drag-handle {
  opacity: 1;
  pointer-events: auto;
}
.row-actions-menu {
  position: absolute;
  left: 4px;
  top: 20px;
  z-index: 8;
}
.ticket-details-btn {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  min-height: 20px;
  border-radius: 6px;
  background: #fff;
  color: #8ea0b8;
  border: 1px solid #d9e2ef;
  padding: 0;
  line-height: 1;
  font-size: 12px;
  opacity: 0;
  pointer-events: none;
}
.simple-table tbody tr[data-item-id]:hover .ticket-details-btn,
.simple-table tbody tr[data-item-id]:focus-within .ticket-details-btn {
  opacity: 1;
  pointer-events: auto;
}
.simple-table tbody tr[data-item-id].drawer-row-selected .ticket-details-btn {
  opacity: 1;
  pointer-events: auto;
  color: #1d4ed8;
  border-color: #bfdbfe;
  background: #eff6ff;
}
.ticket-details-btn:hover {
  color: #334155;
  background: #f8fbff;
}
.ticket-details-btn:active {
  transform: translateY(-50%);
}
.col-actions-menu {
  position: absolute;
  left: 50%;
  top: 18px;
  transform: translateX(-50%);
  z-index: 8;
}
.row-actions-menu summary,
.col-actions-menu summary {
  display: none;
}
.col-actions-menu .panel-menu-box {
  left: 0;
  right: auto;
  top: 0;
}
.row-actions-menu .panel-menu-box {
  left: 0;
  right: auto;
  top: 0;
}
.simple-table tbody tr.is-dragging {
  opacity: 1;
}
:root {
  --drag-highlight-bg: #eef4ff;
  --drag-highlight-border: #2563eb;
}
.simple-table tbody tr.row-drag-active td {
  background: var(--drag-highlight-bg) !important;
  box-shadow: inset 0 2px 0 var(--drag-highlight-border), inset 0 -2px 0 var(--drag-highlight-border) !important;
}
.simple-table tbody tr.row-drag-active td:first-child {
  box-shadow: inset 2px 0 0 var(--drag-highlight-border), inset 0 2px 0 var(--drag-highlight-border), inset 0 -2px 0 var(--drag-highlight-border) !important;
}
.simple-table tbody tr.row-drag-active td:last-child {
  box-shadow: inset -2px 0 0 var(--drag-highlight-border), inset 0 2px 0 var(--drag-highlight-border), inset 0 -2px 0 var(--drag-highlight-border) !important;
}
.simple-table thead th.is-dragging-col {
  opacity: 1;
}
.simple-table .col-drag-header {
  background: var(--drag-highlight-bg) !important;
  box-shadow: inset 2px 0 0 var(--drag-highlight-border), inset -2px 0 0 var(--drag-highlight-border) !important;
  border-bottom-color: transparent !important;
}
.simple-table .col-drag-active {
  background: var(--drag-highlight-bg) !important;
  box-shadow: inset 2px 0 0 var(--drag-highlight-border), inset -2px 0 0 var(--drag-highlight-border) !important;
}
.simple-table .col-drag-top {
  background: var(--drag-highlight-bg) !important;
  box-shadow: inset 2px 0 0 var(--drag-highlight-border), inset -2px 0 0 var(--drag-highlight-border), inset 0 2px 0 var(--drag-highlight-border) !important;
}
.simple-table .col-drag-bottom {
  background: var(--drag-highlight-bg) !important;
  box-shadow: inset 2px 0 0 var(--drag-highlight-border), inset -2px 0 0 var(--drag-highlight-border), inset 0 -2px 0 var(--drag-highlight-border) !important;
}
.col-title-input {
  width: calc(100% - 14px);
  min-height: 20px;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  color: inherit;
}
.col-title-input:hover { color: #1e3a8a; }
.col-title-input:focus {
  outline: none;
  box-shadow: inset 0 -1px 0 #93c5fd;
}
.col-resize-handle {
  position: absolute;
  top: 0;
  right: 0;
  width: 10px;
  height: 100%;
  cursor: col-resize;
  opacity: 0;
  z-index: 12;
  transition: opacity .12s ease;
}
.simple-table th:hover .col-resize-handle,
.simple-table th:focus-within .col-resize-handle,
.simple-table th.col-resizing .col-resize-handle,
.col-resize-handle.is-dragging {
  opacity: 1;
}
.col-resize-handle::after {
  content: '';
  position: absolute;
  right: 5px;
  top: 18%;
  width: 1px;
  height: 64%;
  background: transparent;
}
.col-resize-handle.is-dragging::after {
  width: 2px;
  right: 4px;
  background: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.simple-table th.col-resizing {
  background: #eef4ff;
}
.simple-table .col-resize-live {
  background: transparent !important;
  box-shadow: inset 2px 0 0 #2563eb, inset -2px 0 0 #2563eb !important;
}
.simple-table .col-resize-live-top {
  box-shadow: inset 2px 0 0 #2563eb, inset -2px 0 0 #2563eb, inset 0 2px 0 #2563eb !important;
}
.simple-table .col-resize-live-bottom {
  box-shadow: inset 2px 0 0 #2563eb, inset -2px 0 0 #2563eb, inset 0 -2px 0 #2563eb !important;
}
.simple-table tr:last-child td { border-bottom: 0; }
.simple-table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 4px;
}
.simple-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 4px;
}
.simple-table tr.last-data-row td,
.simple-table tr.empty-state-row td {
  border-bottom: 0 !important;
}
.simple-table tr.empty-state-row td {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
.empty-row { color: var(--muted); }

.add-column-rail {
  display: flex;
}
.add-column-outside {
  position: absolute;
  top: 0;
  right: -37px;
  bottom: 36px;
  margin: 0;
  align-items: center;
  justify-content: center;
}
.add-column-rail-btn {
  width: 30px;
  height: 100%;
  min-height: 0;
  border-radius: 4px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  color: #6b7280;
  font-size: 12px;
  font-weight: 400;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  padding: 8px 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .14s ease;
}
.table-zone:hover .add-column-rail-btn,
.table-zone:focus-within .add-column-rail-btn,
.table-zone.show-add .add-column-rail-btn,
.add-column-rail:hover .add-column-rail-btn {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.add-column-rail-btn:hover {
  background: #f3f4f6;
  color: #0f172a;
}
.badge {
  display: inline-block;
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 4px;
  background: #f3f4f6;
  color: #0f172a;
}

.notion-like-table input,
.notion-like-table select {
  width: 100%;
  min-height: 27px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  padding: 4px 7px;
  font-size: 13px;
  font-weight: 400;
  transition: background-color .12s ease, border-color .12s ease;
}
.notion-like-table input:hover,
.notion-like-table select:hover {
  background: #f3f4f6;
}
.notion-like-table input:focus,
.notion-like-table select:focus {
  background: #ffffff;
  border-color: #d1d5db;
  outline: none;
}
.notion-like-table td.has-table-smart-link {
  position: relative;
}
.table-smart-link-chip {
  position: absolute;
  left: 8px;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  pointer-events: auto;
  z-index: 3;
  display: block;
}
.table-smart-link-chip .inline-link-chip-text {
  max-width: 100%;
}
.table-smart-link-chip-rendered {
  display: inline-flex;
  align-items: center;
  width: auto;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  overflow: hidden;
}
.table-smart-link-static {
  position: relative;
  margin: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 2px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 27px;
  padding: 4px 7px;
  box-sizing: border-box;
  overflow: hidden;
  white-space: nowrap;
  cursor: text;
  vertical-align: middle;
  pointer-events: none;
}
.table-smart-link-static.table-smart-link-has-more {
  padding-right: 7px;
}
.table-smart-link-static[href] {
  cursor: pointer;
}
.table-smart-link-static > * {
  min-width: 0;
}
.table-smart-link-static .table-smart-link-token,
.table-smart-link-static .table-smart-link-more {
  pointer-events: auto;
}
.notion-like-table td.table-smart-link-active .table-smart-link-static {
  max-width: 100%;
}
.table-smart-link-static .table-smart-link-text-segment {
  color: #0f172a;
  font-size: 13px;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 0 1 auto;
  min-width: 0;
  max-width: clamp(52px, 14vw, 180px);
}
.table-smart-link-static .table-smart-link-token {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  max-width: clamp(58px, 9vw, 108px);
  overflow: hidden;
}
.table-smart-link-static.table-smart-link-has-more .table-smart-link-token {
  max-width: clamp(52px, 8vw, 90px);
}
.table-smart-link-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  min-width: 22px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  border: 1px solid #d6dde8;
  background: #f8fafc;
  color: #64748b;
  font-size: 11px;
  font-weight: 650;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity .12s ease;
}
.notion-like-table td.table-smart-link-active:hover .table-smart-link-more,
.notion-like-table td.table-smart-link-active:focus-within .table-smart-link-more,
.table-smart-link-static:hover .table-smart-link-more,
.table-smart-link-static:focus-within .table-smart-link-more {
  opacity: 1;
  pointer-events: auto;
}
.table-smart-link-static .table-smart-link-token .inline-link-chip {
  width: auto;
  max-width: clamp(64px, 10vw, 116px);
  margin: 0;
  min-width: 0;
}
/* Initial server-rendered single-link cells (no token wrapper) */
.table-smart-link-static > .inline-link-chip {
  width: auto !important;
  max-width: clamp(64px, 10vw, 116px) !important;
  margin: 0 !important;
  min-width: 0;
}
.table-smart-link-static .inline-link-chip-text {
  max-width: clamp(46px, 7vw, 82px);
  min-width: 0;
  font-weight: 400;
}
.table-smart-link-static.table-smart-link-has-more .inline-link-chip-text {
  max-width: clamp(34px, 5.5vw, 60px);
}
.table-smart-link-static .table-smart-link-text-compact {
  flex: 0 1 auto;
  min-width: 0;
  max-width: clamp(40px, 9vw, 110px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.table-smart-link-static[hidden] {
  display: none !important;
}

.table-assignee-mention-static {
  position: relative;
  margin: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 27px;
  padding: 4px 7px;
  box-sizing: border-box;
  overflow: hidden;
  white-space: nowrap;
  cursor: text;
}

.table-assignee-mention-static .comment-mention-pill {
  margin: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table-inline-mention-static {
  position: relative;
  margin: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 27px;
  padding: 4px 7px;
  box-sizing: border-box;
  overflow: hidden;
  white-space: nowrap;
  cursor: text;
}

.table-inline-mention-static .comment-mention-pill {
  margin: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.notion-like-table td[data-col-token="base:persona"].table-assignee-mention-active input[name="assignee"],
.notion-like-table td[data-col-token="base:persona"] input[name="assignee"][data-has-assignee-mention="1"] {
  color: transparent !important;
  caret-color: transparent;
  text-shadow: none;
  opacity: 0 !important;
  pointer-events: none !important;
}

.notion-like-table td[data-col-token^="custom:"] {
  overflow: hidden;
}
.notion-like-table input.is-smart-link-previewing,
.notion-like-table td[data-col-token^="custom:"].table-smart-link-active input[name="value"],
.notion-like-table td[data-col-token^="custom:"] input[name="value"][type="text"][data-has-smart-link="1"],
.notion-like-table td[data-col-token^="custom:"].table-inline-mention-active input[name="value"][type="text"],
.notion-like-table td[data-col-token^="custom:"] input[name="value"][type="text"][data-has-inline-mention="1"] {
  color: transparent !important;
  caret-color: transparent;
  text-shadow: none;
  opacity: 0 !important;
  pointer-events: none !important;
}
.simple-table tbody td:first-child input[form][name="title"] {
  padding-right: 32px;
  font-size: 13px;
  font-weight: 400;
}
.simple-table tbody td:not(:first-child) input,
.simple-table tbody td:not(:first-child) select {
  color: #0f172a;
  font-size: 13px;
  font-weight: 400;
}
/* Data-type alignment for faster scanning */
.simple-table tbody td[data-col-token="base:prioridad"] select,
.simple-table tbody td[data-col-token="base:estado"] .status-pill-btn,
.simple-table tbody td[data-col-token="base:fecha"] input,
.simple-table tbody td[data-col-token="base:fecha"] input.flatpickr-alt-input,
.simple-table tbody td[data-col-token^="custom:"] input[type="date"],
.simple-table tbody td[data-col-token^="custom:"] input.flatpickr-alt-input {
  text-align: center;
}
.simple-table tbody td[data-col-token="base:fecha"] input[type="date"],
.simple-table tbody td[data-col-token="base:fecha"] input.flatpickr-alt-input,
.simple-table tbody td[data-col-token^="custom:"] input[type="date"],
.simple-table tbody td[data-col-token^="custom:"] input.flatpickr-alt-input {
  padding-right: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='15' rx='3'/%3E%3Cpath d='M8 3.5v3M16 3.5v3M4 10h16'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% - 10px) 50%;
  background-size: 15px 15px;
}
.simple-table tbody td[data-col-token="base:fecha"] input[type="date"]::-webkit-calendar-picker-indicator,
.simple-table tbody td[data-col-token^="custom:"] input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  display: none;
}
.simple-table tbody td[data-col-token^="custom:"] input[type="number"] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.simple-table tbody td[data-col-token="base:prioridad"] select {
  text-align-last: center;
}
.notion-like-table input:focus,
.notion-like-table select:focus {
  background: #f8fbff;
  border-color: #93b1d8;
  box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.12);
  outline: none;
}
.status-picker {
  position: relative;
  isolation: isolate;
  text-align: center;
}
.status-picker.open {
  z-index: 260;
}
.status-pill-btn {
  display: inline-block;
  width: 98px;
  max-width: 98px;
  min-height: 24px;
  border-radius: 999px;
  padding: 2px 8px;
  border: 1px solid #cfd8e3;
  text-align: center;
  background: #ffffff;
  color: #0f172a;
  font-size: 12px;
  font-weight: 520;
  line-height: 1.1;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background .14s ease, border-color .14s ease, box-shadow .14s ease, transform .14s ease;
}
.status-pill-btn:hover {
  background: #f8fafc;
  border-color: #b8c7dc;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06);
  transform: translateY(-0.5px);
}
.status-pill-btn:active {
  transform: translateY(0);
}
.status-pill-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
  border-color: #7ea2d8;
}
.status-picker-menu,
.ticket-status-menu {
  position: absolute;
  left: auto;
  right: 0;
  top: calc(100% + 8px);
  min-width: 182px;
  background: #ffffff;
  border: 1px solid #dfe6ef;
  border-radius: var(--ui-menu-shell-radius);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10);
  padding: 10px 8px 8px;
  z-index: 999;
  display: none;
}
.status-picker.open .status-picker-menu {
  display: block;
}
.status-picker-option,
.ticket-status-menu .ticket-status-pill {
  display: block;
  width: 132px;
  min-width: 132px;
  max-width: 132px;
  min-height: 28px;
  border: 1px solid transparent;
  border-radius: 999px;
  text-align: center;
  background: transparent;
  color: #0f172a;
  font-size: 11.5px;
  font-weight: 520;
  line-height: 1.1;
  padding: 4px 10px;
  margin: 0 auto 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: border-color .14s ease, box-shadow .14s ease, transform .14s ease;
}
.status-picker-option:first-child,
.ticket-status-menu .ticket-status-pill:first-child { margin-top: 8px; }
.status-picker-option:last-child,
.ticket-status-menu .ticket-status-pill:last-of-type { margin-bottom: 0; }
.status-picker-option:hover,
.ticket-status-menu .ticket-status-pill:hover {
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.05);
  transform: translateY(-0.5px);
}
.status-picker-option.active,
.ticket-status-menu .ticket-status-pill.active {
  /* Active state should keep a single clean frame; avoid legacy double-ring look. */
  box-shadow: none;
}
.status-picker-edit,
.ticket-status-edit {
  color: #51657d;
  border-radius: 7px;
  font-weight: 400;
  margin-top: 2px;
  padding-top: 6px;
}
.status-picker-edit:hover,
.ticket-status-edit:hover {
  background: #f3f6fb;
  color: #334155;
  filter: none;
}
/* title/column input padding unchanged */
.col-actions { width: 72px; }
.actions-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.danger-btn {
  background: #991b1b;
  color: #ffffff;
  border: 1px solid #991b1b;
}
.danger-btn:hover {
  background: #7f1d1d;
}
.table-zone {
  position: relative;
  display: block;
  width: max-content;
  margin-left: 0;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.table-zone::after {
  content: '';
  position: absolute;
  top: 0;
  right: -8px;
  width: 8px;
  bottom: 36px;
  pointer-events: auto;
}
.new-row-zone {
  display: block;
}
.new-row-outside {
  margin-top: 6px;
  width: 100%;
  min-height: 34px;
}
.new-row-outside form {
  width: 100%;
  margin: 0;
}
.new-row-trigger {
  width: 100%;
  text-align: center;
  height: 30px;
  min-height: 30px;
  border-radius: 4px;
  background: #f9fafb;
  color: #6b7280;
  border: 1px solid var(--line) !important;
  box-shadow: none !important;
  padding: 0 10px;
  font-size: 12px;
  line-height: 1;
  font-weight: 400;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .14s ease;
}
.table-zone:hover .new-row-trigger,
.table-zone:focus-within .new-row-trigger,
.table-zone.show-add .new-row-trigger,
.new-row-zone:hover .new-row-trigger {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.new-row-trigger:hover {
  background: #f3f4f6;
  color: #0f172a;
}
.new-row-trigger:focus,
.new-row-trigger:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.clean-slate {
  min-height: 310px;
  background:
    radial-gradient(900px 300px at 8% -10%, #dde8fb 0%, transparent 46%),
    radial-gradient(760px 300px at 98% 0%, #edf4ff 0%, transparent 44%),
    #fff;
  border-style: dashed;
}
.clean-slate h3 { font-size: 19px; font-weight: 640; margin-bottom: 7px; }
.clean-slate p { color: var(--muted); max-width: 66ch; font-size: 13px; }

.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 20px;
}
.login-wrap {
  width: 100%;
  max-width: 420px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: var(--shadow-soft);
  padding: 20px;
}
.login-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
}
.login-brand h1 { font-size: 18px; font-weight: 640; }
.login-copy { color: var(--muted); margin: 4px 0 13px; font-size: 13px; }

.form-stack { display: grid; gap: 10px; }
.form-actions { margin-top: 4px; }

.login-shell--system {
  background: var(--bg);
}
.login-wrap--system {
  width: min(620px, 100%);
  max-width: 620px;
  border-radius: var(--radius-lg);
  border-color: #d7deea;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
}
.login-wrap--auth-clean {
  padding: 26px 24px 22px;
}
.login-wrap--system .login-brand h1 {
  font-size: 20px;
  font-weight: 650;
}
.login-wrap--system .login-copy {
  margin: 6px 0 14px;
}
.form-stack--system {
  gap: 12px;
}
.login-wrap--system label {
  gap: 6px;
}
.login-wrap--system .login-input {
  font-size: var(--ui-modal-input-font-size);
  font-weight: 400;
  border-radius: var(--ui-modal-input-radius);
  border-color: var(--ui-modal-input-border);
  background: var(--ui-modal-input-bg);
}
.login-wrap--system .login-input:focus {
  border-color: var(--ui-modal-field-focus-border-color);
  background: var(--ui-modal-input-focus-bg);
  box-shadow: var(--ui-modal-field-focus-ring);
  outline: none;
}
.login-wrap--system .login-input:-webkit-autofill,
.login-wrap--system .login-input:-webkit-autofill:hover,
.login-wrap--system .login-input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--text);
  box-shadow: 0 0 0 1000px var(--ui-modal-input-bg) inset;
  -webkit-box-shadow: 0 0 0 1000px var(--ui-modal-input-bg) inset;
  font-size: var(--ui-modal-input-font-size);
}
.form-actions--system {
  justify-content: flex-start;
  margin-top: 6px;
}
.form-actions--system .ui-btn {
  min-height: var(--ui-modal-action-button-min-height);
  padding: var(--ui-modal-action-button-padding);
  border-radius: var(--ui-modal-action-button-radius);
}
.login-submit-btn {
  width: clamp(160px, 48%, 220px);
}
.login-helper-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: 2px;
}
/* auth secondary link styles removed */
.password-reset-request-card {
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px;
  background: #fff;
}
.password-reset-request-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.password-reset-request-pill {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  border: 1px solid #d7deea;
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 12px;
  color: #3b4a66;
  background: #f7f9fd;
}
.password-reset-request-date {
  margin: 6px 0 10px;
}
.password-reset-request-actions,
.password-reset-request-actions.ui-modal-actions {
  justify-content: flex-start;
}
.password-reset-request-reject-form {
  margin-top: 8px;
}

.empty-card {
  text-align: left;
}
.empty-card h1 { font-size: 20px; margin-bottom: 7px; letter-spacing: -.01em; }
.empty-card p { color: var(--muted); margin-bottom: 11px; font-size: 13px; }
.users-admin-wrap { max-width: 920px; }

.ui-inline-feedback,
.error,
.success {
  margin: 0 0 12px;
  border-radius: var(--ui-feedback-radius);
  padding: var(--ui-feedback-padding);
  font-size: var(--ui-feedback-font-size);
  line-height: var(--ui-feedback-line-height);
  border: 1px solid var(--ui-feedback-neutral-border);
  background: var(--ui-feedback-neutral-bg);
  color: var(--ui-feedback-neutral-color);
}

.ui-inline-feedback ul,
.error ul,
.success ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 2px;
}

.ui-inline-feedback--error,
.error {
  border-color: var(--ui-feedback-error-border);
  background: var(--ui-feedback-error-bg);
  color: var(--ui-feedback-error-color);
}

.ui-inline-feedback--success,
.success {
  border-color: var(--ui-feedback-success-border);
  background: var(--ui-feedback-success-bg);
  color: var(--ui-feedback-success-color);
}

.helper-link { color: var(--accent); font-weight: 600; }
.helper-link:hover { text-decoration: underline; color: var(--accent-strong); }

/* Modals (legacy selectors + phase 1 contract classes) */
.modal-backdrop,
.ui-modal-backdrop {
  position: fixed;
  inset: 0;
  background: var(--ui-modal-backdrop-bg);
  display: none;
  align-items: center;
  justify-content: center;
  padding: var(--ui-modal-backdrop-padding);
  /* Keep modals above body-mounted EditorJS/table popovers (z-index: 9999). */
  z-index: var(--ui-modal-z);
}

/* Legacy modal-only hosts still use a numeric fallback stack level. */
.modal-backdrop {
  z-index: 12000;
}
.ui-modal-backdrop.open,
.ui-modal-backdrop.is-open { display: flex; }

/* Prevent floating EditorJS/table popovers from bleeding above confirm modals. */
body.has-active-modal > .tc-popover,
body.has-active-modal .ticket-block-inserter.use-editorjs .tc-popover,
body.has-active-modal .editorjs-handle-menu {
  display: none !important;
  pointer-events: none !important;
}

.ui-modal-card {
  width: 100%;
  max-width: var(--ui-modal-card-max-width);
  background: var(--ui-modal-card-bg);
  border: 1px solid var(--ui-modal-card-border);
  border-radius: var(--ui-modal-card-radius);
  box-shadow: var(--ui-modal-card-shadow);
  padding: var(--ui-modal-card-padding);
}
.ui-modal-title {
  font-size: var(--ui-modal-title-size);
  margin-bottom: var(--ui-modal-title-margin-bottom);
}
.ui-modal-copy {
  color: var(--muted);
  font-size: var(--ui-modal-copy-size);
  margin-bottom: var(--ui-modal-copy-margin-bottom);
}
.modal-input {
  width: var(--ui-modal-input-width);
  min-height: var(--ui-modal-input-min-height);
  font-size: var(--ui-modal-input-font-size);
  border-radius: var(--ui-modal-input-radius);
  border: var(--ui-modal-input-border-width) var(--ui-modal-input-border-style) var(--ui-modal-input-border);
  color: var(--ui-modal-input-color);
  background: var(--ui-modal-input-bg);
  padding: var(--ui-modal-input-padding);
}
.modal-input:focus {
  border: var(--ui-modal-input-focus-border-width) var(--ui-modal-input-focus-border-style) var(--ui-modal-input-focus-border);
  background: var(--ui-modal-input-focus-bg);
  outline: var(--ui-modal-input-focus-outline);
}
.modal-input:focus-visible {
  outline: var(--ui-modal-input-focus-outline);
}
.ui-modal-actions {
  display: var(--ui-modal-action-display);
  justify-content: var(--ui-modal-action-justify);
  gap: var(--ui-modal-action-row-gap);
  margin-top: var(--ui-modal-action-margin-top);
}
.ui-modal-actions > button,
.ui-modal-actions .ui-btn {
  min-height: var(--ui-modal-action-button-min-height);
  padding: var(--ui-modal-action-padding);
  font-size: var(--ui-modal-action-button-font-size);
  font-weight: var(--ui-modal-action-button-font-weight);
  border-radius: var(--ui-modal-action-button-radius);
}
.ui-modal-actions .ui-btn--secondary {
  background: var(--ui-modal-action-secondary-bg);
  color: var(--ui-modal-action-secondary-color);
  border: var(--ui-modal-action-secondary-border);
}
.ui-modal-actions .ui-btn--secondary:hover {
  background: var(--ui-modal-action-secondary-hover-bg);
  color: var(--ui-modal-action-secondary-hover-color);
  border-color: var(--ui-modal-action-secondary-hover-border-color);
}
.ui-modal-actions .ui-btn--primary {
  background: var(--ui-modal-action-primary-bg);
  color: var(--ui-modal-action-primary-color);
  border: var(--ui-modal-action-primary-border);
}
.ui-modal-actions .ui-btn--primary:hover {
  background: var(--ui-modal-action-primary-hover-bg);
  border-color: var(--ui-modal-action-primary-hover-border-color);
}
.ui-modal-actions .ui-btn--danger {
  background: var(--ui-modal-action-danger-bg);
  color: var(--ui-modal-action-danger-color);
  border: var(--ui-modal-action-danger-border);
}
.ui-modal-actions .ui-btn--danger:hover {
  background: var(--ui-modal-action-danger-hover-bg);
  border-color: var(--ui-modal-action-danger-hover-border-color);
}

.users-modal-backdrop {
  align-items: flex-start;
  overflow-y: auto;
  padding: clamp(14px, 3.6vh, 30px);
}
.users-modal-card {
  width: min(980px, calc(100vw - 32px));
  max-width: none;
  min-height: min(620px, calc(100vh - 56px));
  max-height: calc(100vh - 56px);
  overflow: auto;
  border-radius: var(--radius);
  border-color: var(--line);
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.16);
  padding: 18px 20px;
}
.users-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 0;
  padding-bottom: 12px;
}
.users-modal-close-btn {
  flex: 0 0 auto;
}
.users-modal-empty {
  color: var(--muted);
  font-size: 13px;
}
.users-modal-member-meta {
  font-size: 12px;
  color: var(--muted);
}
.users-tabs {
  display: grid;
  gap: 14px;
}
.users-tabs-nav {
  display: flex;
  gap: 6px;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 6px;
}
.users-tab-btn {
  border: 1px solid transparent;
  background: transparent;
  color: #4b5563;
  border-radius: 4px;
  min-height: 30px;
  padding: 0 10px;
  font-size: 13px;
  line-height: 1.1;
  font-weight: 500;
  cursor: pointer;
  transition: background .14s ease, color .14s ease, border-color .14s ease;
}
.users-tab-btn[aria-selected="true"] {
  border-color: #d1d5db;
  background: #f3f4f6;
  color: #111827;
}
.users-tab-btn:hover {
  background: #f9fafb;
  color: #111827;
}
.users-tab-btn:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 28%, transparent);
  outline-offset: 1px;
}
.users-tab-panel {
  display: grid;
  gap: 16px;
}
.users-tab-panel[hidden] {
  display: none;
}
.users-section-title {
  font-size: 13px;
  font-weight: 600;
  color: #111827;
}
.users-account-layout {
  display: grid;
  gap: 28px;
  width: min(732px, 100%);
  margin: 0 auto;
}
.users-account-section {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.users-account-section + .users-account-section {
  position: relative;
  padding-top: 24px;
}
.users-account-section + .users-account-section::before {
  content: '';
  position: absolute;
  top: -13px;
  left: 0;
  width: calc(170px + 14px + min(486px, 100%));
  border-top: 1px solid #e7edf5;
}
.users-account-section-meta {
  display: grid;
  gap: 4px;
}
.users-account-section-meta p {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
  color: #64748b;
}
.users-account-section-main {
  min-width: 0;
}
.users-profile-shell {
  display: grid;
  gap: 4px;
}
.users-profile-form {
  margin: 0;
}
.users-avatar-hero {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  margin: 0;
  padding-left: 0;
}
.users-avatar-hero-trigger {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  border: 1px solid #d1d5db;
  background: #ffffff;
  position: relative;
  display: block;
  overflow: hidden;
  cursor: pointer;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.users-avatar-hero-trigger:hover {
  border-color: #c0cad8;
  background: #f8fafc;
}
.users-avatar-hero-trigger:focus-visible {
  outline: none;
  border-color: #94a3b8;
  box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.08);
}
.users-avatar-hero-trigger .users-avatar-upload-fallback {
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: #f8fafc;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
}
.users-avatar-hero-trigger .users-avatar-upload-fallback svg {
  width: 28px;
  height: 28px;
  stroke-width: 1.55;
}
.users-avatar-hero-trigger .users-profile-avatar--preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 12px;
  object-fit: cover;
}
.users-avatar-clear-btn {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #dc2626;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  opacity: .72;
}
.users-avatar-clear-btn:hover {
  background: transparent;
  color: #b91c1c;
  text-decoration: underline;
  opacity: .92;
}
.users-avatar-clear-btn:focus-visible {
  outline: none;
  text-decoration: underline;
  opacity: 1;
}
.users-profile-fields-grid {
  padding-left: 28px;
  row-gap: 10px;
  column-gap: 14px;
  width: min(486px, 100%);
}
.users-profile-field-row {
  margin: 0;
  grid-template-columns: 132px minmax(0, 340px);
}
.users-profile-field-row .ticket-meta-field-name {
  font-size: 12px;
  color: #64748b;
  font-weight: 400;
}
.users-profile-field-row .ticket-meta-field-input {
  min-height: 30px;
  height: 30px;
  border-radius: 4px;
  padding: 0 8px;
  width: min(340px, 100%);
}
.users-profile-field-row .ticket-meta-field-input:focus {
  border-color: #d1d5db;
  box-shadow: none;
}
.users-profile-field-row--readonly {
  align-items: center;
}
.users-profile-static-value {
  width: min(340px, 100%);
  min-height: 30px;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #1f2937;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.25;
  cursor: default;
  user-select: text;
}
.users-profile-static-text {
  min-width: 0;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.users-profile-static-lock {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  opacity: .9;
}
.users-profile-static-lock svg {
  width: 12px;
  height: 12px;
  display: block;
}
.users-profile-field-row--avatar {
  align-items: flex-start;
}
.users-profile-field-row--avatar .ticket-meta-field-name {
  padding-top: 4px;
}
.users-profile-avatar {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid #d1d5db;
}
.users-profile-avatar--preview {
  width: 40px;
  height: 40px;
}
.users-avatar-upload-block {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.users-avatar-upload-preview {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  border: 1px solid #d1d5db;
  background: #ffffff;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.users-avatar-upload-fallback {
  font-size: 10px;
  color: #6b7280;
  text-align: center;
  padding: 0 3px;
}
.users-avatar-file-input--hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.users-avatar-upload-btn {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.users-avatar-file-name {
  font-size: 12px;
  color: #6b7280;
  max-width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.users-profile-actions {
  padding-left: calc(132px + 14px);
  margin-top: 4px;
  display: flex;
}
.users-profile-actions .btn-minimal {
  min-height: 30px;
  padding: 0 11px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #ffffff;
  color: #475569;
  font-size: 12px;
  font-weight: 500;
}
.users-profile-actions .btn-minimal:hover {
  background: #f8fafc;
  color: #1f2937;
}
.users-team-fields-grid {
  width: min(486px, 100%);
}
.users-team-profile-actions {
  margin-top: 0;
}
.users-team-list {
  display: grid;
  gap: 10px;
}
.users-team-row {
  margin: 0;
  padding: 4px 0 0;
  display: grid;
  gap: 8px;
}
.users-team-row + .users-team-row {
  border-top: 1px solid #eef2f7;
  padding-top: 12px;
}
.users-team-row-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 13px;
}
.users-team-members {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2px;
  font-size: 12px;
  color: #374151;
}
.users-invite-list {
  display: grid;
  gap: 0;
}
.users-invite-row {
  margin: 0;
  padding: 6px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.users-invite-row + .users-invite-row {
  border-top: 1px solid #eef2f7;
}

.users-inline-feedback {
  margin: 0;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.35;
  border: 1px solid #dbe5f1;
  background: #f8fafc;
  color: #334155;
}
.users-inline-feedback--success {
  border-color: color-mix(in srgb, var(--success) 28%, #d1fae5);
  background: #f0fdf4;
  color: #166534;
}
.users-inline-feedback--error {
  border-color: color-mix(in srgb, var(--danger) 35%, #fecaca);
  background: #fef2f2;
  color: #991b1b;
}
.users-account-action-list {
  width: min(486px, 100%);
  padding-left: 28px;
  display: grid;
  gap: 10px;
}
.users-account-action-row {
  margin: 0;
  display: grid;
  grid-template-columns: 132px minmax(0, 340px);
  align-items: center;
  gap: 14px;
}
.users-account-action-title {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  color: #64748b;
}
.users-account-action-btn,
button.users-account-action-btn.ghost {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: #475569;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  justify-self: end;
  box-shadow: none;
  transition: border-color .12s ease, background .12s ease, color .12s ease, box-shadow .12s ease;
}
.users-account-action-btn:hover,
button.users-account-action-btn.ghost:hover {
  background: #f8fafc;
  border-color: var(--line);
  color: #334155;
}
.users-account-action-btn:focus-visible,
button.users-account-action-btn.ghost:focus-visible {
  outline: none;
  border-color: #94a3b8;
  box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.08);
}
.users-account-action-btn:active,
button.users-account-action-btn.ghost:active {
  transform: none;
}
.users-account-action-btn--danger,
button.users-account-action-btn--danger.ghost {
  border-color: var(--line);
  color: #b42318;
}
.users-account-action-btn--danger:hover,
button.users-account-action-btn--danger.ghost:hover {
  border-color: var(--line);
  color: #991b1b;
  background: #fff7f7;
}
.users-account-action-btn--danger:focus-visible,
button.users-account-action-btn--danger.ghost:focus-visible {
  border-color: #d69c9c;
  box-shadow: 0 0 0 2px rgba(153, 27, 27, 0.08);
}
.users-account-action-form {
  margin: 0;
  justify-self: end;
}
.users-section-title--danger {
  color: #111827;
}
.users-account-action-list--danger {
  margin-top: 0;
}
.users-action-modal-backdrop {
  display: flex;
  z-index: 12120;
}
.users-action-modal-backdrop[hidden] {
  display: none;
}
.users-action-modal-card {
  width: min(520px, calc(100vw - 24px));
  max-width: 520px;
}
.users-action-modal-form[hidden],
.users-invite-generated-state[hidden] {
  display: none !important;
}
.users-action-modal-form {
  margin-top: 0;
  gap: 10px;
}
.users-invite-modal-copy {
  margin: 0 0 12px;
  max-width: 52ch;
}
.users-invite-role-group {
  border: 0;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.users-invite-role-group .users-modal-field-label {
  margin: 0;
  padding: 0;
}
.users-invite-role-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--ui-modal-invite-role-option-border);
  border-radius: 4px;
  background: var(--ui-modal-invite-role-option-bg);
  cursor: pointer;
  transition: border-color .14s ease, background .14s ease;
}
.users-invite-role-option input[type="radio"] {
  margin-top: 2px;
  accent-color: var(--ui-modal-invite-role-option-radio-accent);
}
.users-invite-role-option-body {
  display: grid;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
}
.users-invite-role-option-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--ui-modal-invite-role-option-title-color);
}
.users-invite-role-option-copy {
  font-size: 12px;
  line-height: 1.35;
  font-weight: var(--ui-modal-invite-role-option-copy-weight);
  color: var(--ui-modal-invite-role-option-copy-color);
}
.users-invite-role-option:hover {
  border-color: var(--ui-modal-invite-role-option-hover-border);
  background: var(--ui-modal-invite-role-option-hover-bg);
}
.users-invite-role-option.is-selected {
  border-color: var(--ui-modal-invite-role-option-selected-border);
  background: var(--ui-modal-invite-role-option-selected-bg);
}
.users-invite-role-option.is-selected:hover {
  border-color: var(--ui-modal-invite-role-option-selected-hover-border);
  background: var(--ui-modal-invite-role-option-selected-hover-bg);
}
.users-invite-generated-state {
  display: grid;
  gap: 10px;
  margin-top: 2px;
}
.users-invite-generated-notice {
  margin: 0;
}
.users-action-modal-actions {
  align-items: center;
}
.users-action-modal-form .ui-modal-actions,
.users-invite-generated-actions {
  margin-top: 2px;
}
.users-feedback-modal-actions .btn-primary-soft {
  min-width: 96px;
}
.users-modal-form {
  margin: 0;
  display: grid;
  gap: 10px;
}
.users-modal-form--inline {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: end;
}
.users-modal-form--compact {
  grid-template-columns: minmax(0, 1fr) auto;
}
.users-modal-field {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.users-modal-field--grow {
  grid-column: 1 / -1;
}
.users-modal-field-label {
  font-size: 12px;
  color: var(--ui-modal-field-label-color);
  font-weight: 550;
}
.users-modal-field input:not([type="radio"]):not([type="checkbox"]),
.users-modal-field select {
  min-height: 40px;
  padding: 8px 11px;
  border-color: var(--ui-modal-field-border-color);
}
.users-modal-field input:not([type="radio"]):not([type="checkbox"]):focus,
.users-modal-field select:focus {
  border-color: var(--ui-modal-field-focus-border-color);
  box-shadow: var(--ui-modal-field-focus-ring);
  outline: none;
}
.users-modal-form-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-start;
}
.users-modal-form-actions button {
  min-height: 40px;
  padding: 0 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 560;
  line-height: 1;
}
.users-modal-form-actions button:not(.ghost) {
  background: var(--ui-modal-inline-primary-bg);
  border-color: var(--ui-modal-inline-primary-border-color);
  color: var(--ui-modal-inline-primary-color);
}
.users-modal-form-actions button:not(.ghost):hover {
  background: var(--ui-modal-inline-primary-hover-bg);
  border-color: var(--ui-modal-inline-primary-hover-border-color);
  color: var(--ui-modal-inline-primary-hover-color);
}
.users-modal-form-actions button:not(.ghost):active {
  transform: translateY(0);
}
.users-mini-btn {
  min-height: 30px;
  padding: 0 10px;
  font-size: 12px;
}
.users-team-form {
  margin: 0;
}
.users-team-form .users-modal-field {
  gap: 4px;
}
.users-team-form .users-modal-field-label,
.users-team-members-block > .users-modal-field-label {
  font-size: 12px;
  font-weight: 400;
  color: var(--ui-modal-team-field-label-color);
}
.users-team-form .users-modal-field input,
.users-team-form .users-modal-field select,
.users-created-link-input {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--ui-modal-team-field-border-color);
  border-radius: 6px;
  background: var(--ui-modal-team-field-bg);
}
.users-team-form .users-modal-field input:focus,
.users-team-form .users-modal-field select:focus,
.users-created-link-input:focus {
  border-color: var(--ui-modal-team-field-focus-border-color);
  box-shadow: var(--ui-modal-field-focus-ring);
  outline: none;
}
.users-team-form .users-modal-form-actions {
  align-items: flex-end;
}
.users-team-form .users-modal-form-actions button,
.users-copy-link-btn {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: var(--ui-modal-team-action-bg);
  color: var(--ui-modal-team-action-color);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  box-shadow: none;
  white-space: nowrap;
}
.users-team-form .users-modal-form-actions button:hover,
.users-copy-link-btn:hover {
  background: var(--ui-modal-team-action-hover-bg);
  border-color: var(--line);
  color: var(--ui-modal-team-action-hover-color);
}
.users-team-form .users-modal-form-actions button:focus-visible,
.users-copy-link-btn:focus-visible {
  outline: none;
  border-color: var(--ui-modal-team-action-focus-border-color);
  box-shadow: var(--ui-modal-field-focus-ring);
}
.users-team-form .users-modal-form-actions button:active,
.users-copy-link-btn:active {
  transform: none;
}
.users-team-form--stack {
  display: grid;
  gap: 10px;
}
.users-team-form--create {
  margin-bottom: 2px;
}
.users-team-form--compact {
  grid-template-columns: minmax(0, 1fr) auto;
  row-gap: 8px;
}
.users-created-link-block {
  margin-top: 0;
  border: 1px solid var(--ui-modal-created-link-panel-border-color);
  border-radius: 10px;
  background: var(--ui-modal-created-link-panel-bg);
  padding: 12px;
}
.users-created-link-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}
.users-created-link-field {
  align-items: stretch;
  gap: 8px;
}
.users-created-link-field .users-created-link-row {
  width: 100%;
}
.users-created-link-input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 40px;
  padding: 0 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 13px;
  font-weight: 400;
}
.users-copy-link-btn {
  justify-self: end;
  min-width: 112px;
}
.users-invite-generated-actions .users-copy-link-btn {
  min-height: var(--ui-modal-action-button-min-height);
  padding: var(--ui-modal-action-padding);
  font-size: var(--ui-modal-action-button-font-size);
  font-weight: var(--ui-modal-action-button-font-weight);
  border-radius: var(--ui-modal-action-button-radius);
}
.users-invite-generated-actions .users-copy-link-btn.ui-btn--primary {
  background: var(--ui-modal-action-primary-bg);
  color: var(--ui-modal-action-primary-color);
  border: var(--ui-modal-action-primary-border);
}
.users-invite-generated-actions .users-copy-link-btn.ui-btn--primary:hover {
  background: var(--ui-modal-action-primary-hover-bg);
  border-color: var(--ui-modal-action-primary-hover-border-color);
  color: var(--ui-modal-action-primary-color);
}
.users-invite-main {
  display: grid;
  gap: 4px;
}
.users-invite-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.users-invite-state {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
  padding: 3px 7px;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  background: #f8fafc;
  color: #475569;
}
.users-invite-state--pending {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: #334155;
}
.users-invite-state--used {
  border-color: #d1d5db;
  background: #f8fafc;
  color: #475569;
}
.users-invite-state--revoked,
.users-invite-state--expired {
  border-color: #e2b4b4;
  background: #fff8f8;
  color: #991b1b;
}
.users-inline-action-form {
  margin: 0;
}
.users-team-members-block {
  display: grid;
  gap: 6px;
}
.users-team-member-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 6px 0;
  border-top: 1px solid #f3f4f6;
}
.users-team-member-meta {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.users-members-table-wrap {
  width: min(486px, 100%);
  overflow: visible;
}
.users-members-table {
  width: 100%;
  min-width: 340px;
  border-collapse: collapse;
}
.users-members-table th,
.users-members-table td {
  border-bottom: 1px solid #eef2f7;
  padding: 10px 8px;
  text-align: left;
  vertical-align: middle;
}
.users-members-table th {
  padding-top: 0;
  font-size: 11px;
  font-weight: 500;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.users-members-table tbody tr:last-child td {
  border-bottom: 0;
}
.users-members-username {
  font-size: 13px;
  color: #0f172a;
}
.users-members-table-actions-col,
.users-members-table-actions {
  width: 1%;
  white-space: nowrap;
  text-align: right;
}
.users-members-row-menu.panel-menu {
  display: inline-block;
}
.users-members-row-menu.panel-menu summary {
  opacity: 1;
  pointer-events: auto;
}
.users-members-row-menu.panel-menu .panel-menu-box {
  top: 30px;
  right: 0;
  min-width: 292px;
  max-width: min(340px, calc(100vw - 24px));
}
.users-members-table tbody tr:nth-last-child(-n + 2) .users-members-row-menu.panel-menu .panel-menu-box {
  top: auto;
  bottom: 30px;
}
.users-members-actions-empty {
  display: inline-block;
  width: 26px;
  height: 26px;
}

@media (max-width: 800px) {
  .users-modal-card {
    width: calc(100vw - 16px);
    min-height: calc(100vh - 32px);
    max-height: calc(100vh - 32px);
    padding: 14px;
  }
  .users-profile-fields-grid {
    padding-left: 0;
    row-gap: 10px;
    width: 100%;
  }
  .users-account-section {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .users-account-section + .users-account-section {
    padding-top: 20px;
  }
  .users-account-section + .users-account-section::before {
    top: -9px;
    width: 100%;
  }
  .users-account-action-list {
    width: 100%;
    padding-left: 0;
  }
  .users-account-action-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .users-members-table-wrap {
    width: 100%;
  }
  .users-members-table {
    min-width: 0;
  }
  .users-members-table th,
  .users-members-table td {
    padding-left: 6px;
    padding-right: 6px;
  }
  .users-action-modal-card {
    width: calc(100vw - 20px);
    max-width: 420px;
    padding: 16px;
  }
  .users-profile-field-row {
    grid-template-columns: 1fr;
    align-items: flex-start;
    gap: 4px;
  }
  .users-profile-actions {
    padding-left: 0;
  }
  .users-avatar-hero {
    padding-left: 0;
    justify-content: flex-start;
  }
  .users-avatar-hero-trigger {
    width: 68px;
    height: 68px;
  }
  .users-modal-form--inline,
  .users-modal-form--compact {
    grid-template-columns: 1fr;
  }
  .users-modal-field--grow {
    grid-column: auto;
  }
  .users-created-link-row {
    grid-template-columns: 1fr;
  }
  .users-copy-link-btn {
    width: 100%;
    min-width: 0;
  }
  .users-avatar-upload-block {
    align-items: flex-start;
  }
  .users-avatar-file-name {
    max-width: 100%;
  }
}

.column-modal-card {
  max-width: 340px;
  padding: 12px;
}
.column-modal-header {
  margin-bottom: 9px;
}
.column-modal-section {
  padding: 0;
  border: 0;
  background: transparent;
}
.column-modal-section + .column-modal-section {
  margin-top: 14px;
}
.column-modal-section-head {
  margin-bottom: 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--ui-modal-column-section-head-border-color);
}
.column-modal-section-head h4 {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--ui-modal-column-section-head-title-color);
}

.column-essential-chip-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}
.column-essential-chip-form {
  margin: 0;
}
.column-essential-chip {
  width: min(100%, 252px);
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  color: #0f172a;
  padding: 6px 9px;
  transition: background .12s ease, border-color .12s ease, color .12s ease;
}
.column-essential-chip:hover {
  background: #f3f4f6;
  border-color: transparent;
  color: #111827;
}
.column-essential-chip:hover .column-essential-chip-icon,
.column-type-pill:hover .column-type-pill-icon {
  background: #f3f4f6;
  border-color: #d1d5db;
  color: var(--ui-modal-column-option-icon-hover-color);
}
.column-essential-chip-icon,
.column-type-pill-icon {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ui-modal-column-option-icon-color);
  line-height: 1;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  background: #f9fafb;
  transition: background .12s ease, border-color .12s ease, color .12s ease;
}
.column-essential-chip-label,
.column-type-pill > span:last-child {
  flex: 1 1 auto;
  font-size: var(--ui-modal-column-option-label-size);
  font-weight: var(--ui-modal-column-option-label-weight);
  line-height: var(--ui-modal-column-option-label-line-height);
  text-align: left;
}

.column-create-form {
  margin-top: 2px;
}
.column-create-form .ui-modal-actions {
  margin-top: 16px;
}
.column-create-label {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  color: #475569;
  font-weight: 600;
}
.column-type-picker {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  margin-top: 8px;
}
.column-type-pill {
  width: min(100%, 252px);
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: #0f172a;
  font-size: 13px;
  font-weight: 400;
  padding: 6px 9px;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  transition: background .12s ease, border-color .12s ease, color .12s ease;
}
/* column option icon styles are centralized in .column-essential-chip-icon, .column-type-pill-icon */
.column-essential-chip-icon svg,
.column-type-pill-icon svg {
  width: 18px;
  height: 18px;
  stroke-width: 1.8;
}
.column-type-pill:hover {
  background: #f3f4f6;
  border-color: transparent;
  color: #111827;
}
/* column option icon hover visuals are centralized in .column-essential-chip:hover .column-essential-chip-icon, .column-type-pill:hover .column-type-pill-icon */
.column-type-pill.is-active {
  background: transparent;
  border-color: transparent;
  color: #111827;
}
.column-type-pill.is-active:hover {
  background: #f3f4f6;
}
.column-essential-chip:focus-visible,
.column-type-pill:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 1px #d1d5db;
}
.column-type-pill.is-active .column-type-pill-icon {
  background: #f9fafb;
  border-color: #e5e7eb;
  color: var(--ui-modal-column-option-icon-color);
}
.column-select-options-wrap {
  margin-top: 10px;
}
.column-select-options-wrap .column-create-label {
  margin-bottom: 6px;
}

@media (max-width: 640px) {
  .column-essential-chip-grid,
  .column-type-picker {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

.btn-minimal {
  background: transparent;
  border: 1px solid transparent;
  color: #6b7280;
  font-weight: 400;
}
.btn-minimal:hover { background: #f3f4f6; color: #0f172a; }
.btn-primary-soft {
  background: #1e40af;
  color: #ffffff;
  border: 1px solid #1e40af;
  font-weight: 400;
}
.btn-primary-soft:hover { background: #1e3a8a; }

.status-modal-card {
  max-width: 440px;
  max-height: 84vh;
  overflow: visible;
}
.status-modal-spacer { height: 10px; }
.status-editor-list {
  position: relative;
  display: grid;
  gap: 6px;
  margin-bottom: 8px;
  padding: 0 14px;
}
.status-drop-indicator {
  position: absolute;
  left: 20px;
  right: 20px;
  height: 2px;
  border-radius: 999px;
  background: #2563eb;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.14);
  opacity: 0;
  pointer-events: none;
  transition: opacity .08s ease;
  z-index: 15;
}
.status-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 26px 22px;
  gap: 8px;
  align-items: center;
  padding: 0 4px 0 22px;
}
.status-row.new-status-row {
  grid-template-columns: 1fr 26px 22px;
}
.status-remove-placeholder {
  width: 18px;
  height: 18px;
}
.status-name-input {
  min-height: 34px;
  background: #fff;
  border-color: var(--line);
}
.status-color-wrap {
  position: relative;
  overflow: visible;
}
.status-color-trigger {
  width: 26px;
  min-width: 26px;
  height: 26px;
  min-height: 26px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--swatch, #64748b);
  padding: 0;
}
.status-color-palette {
  position: absolute;
  left: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  width: 162px;
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  box-shadow: var(--shadow-floating);
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 5px;
  z-index: 240;
}
.status-color-palette[hidden] {
  display: none !important;
}
.status-color-swatch {
  width: 21px;
  height: 21px;
  min-height: 21px;
  border-radius: 5px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: var(--swatch);
  padding: 0;
}
.status-color-swatch:hover {
  transform: scale(1.03);
}
.status-delete-icon-btn {
  width: 22px;
  min-width: 22px;
  height: 22px;
  min-height: 22px;
  border: 0;
  background: transparent;
  color: #a3b0c2;
  border-radius: 5px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  padding: 0;
}
.status-delete-icon-btn:hover {
  background: #f6f8fc;
  color: #8d3328;
}
.status-drag-handle {
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  color: #a6b3c5;
  font-size: 12px;
  letter-spacing: -1px;
  cursor: grab;
  user-select: none;
  line-height: 1;
}
.status-row:hover .status-drag-handle,
.status-row:focus-within .status-drag-handle,
.status-row.is-dragging-status .status-drag-handle {
  opacity: 1;
}
.status-row.is-dragging-status {
  opacity: .72;
}
.status-drag-handle:active { cursor: grabbing; }
.status-add-head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 2px 0 6px;
  padding-left: 36px;
}
.status-add-label {
  font-size: 11px;
  color: #8da0b8;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.status-add-inline {
  display: grid;
  gap: 6px;
  align-items: center;
  padding: 0 14px;
}
#add-status-row-btn {
  min-height: 26px;
  padding: 0 8px;
  font-size: 12px;
}

.notes-cell {
  position: relative;
}
.longtext-tooltip {
  position: fixed;
  z-index: 220;
  min-width: 180px;
  max-width: 360px;
  max-height: 220px;
  overflow: auto;
  white-space: pre-wrap;
  background: #0f172a;
  color: #f8fafc;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 8px;
  padding: 8px 10px;
  box-shadow: 0 8px 24px rgba(2, 6, 23, 0.28);
  font-size: 12px;
  line-height: 1.35;
  pointer-events: none;
}

.status-notice-backdrop {
  display: grid;
  place-items: center;
}
.status-notice-card {
  width: min(520px, calc(100vw - 32px));
}
.status-notice-card h4 {
  margin: 0 0 6px;
  color: var(--ui-modal-status-notice-title-color);
}
.status-notice-card p {
  margin: 0;
  line-height: 1.45;
}
.status-notice-actions {
  margin-top: 12px;
}

.ticket-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.22);
  z-index: 320;
}
.ticket-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: min(1080px, 88vw);
  min-width: 560px;
  max-width: calc(100vw - 64px);
  height: 100vh;
  background: #fff;
  border-left: 1px solid #e5e7eb;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.08);
  z-index: 330;
  transform: translateX(100%);
  opacity: 0;
  pointer-events: none;
  transition: transform .14s ease-out, opacity .12s ease-out;
  will-change: transform, opacity;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
  scrollbar-width: thin;
  scrollbar-color: #d1d5db transparent;
  font-family: inherit;
  font-size: 13px;
  color: #0f172a;
}
.ticket-drawer-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 2px;
}


.ticket-drawer-content {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}

.ticket-drawer-scroll::-webkit-scrollbar {
  width: 10px;
}
.ticket-drawer-scroll::-webkit-scrollbar-track {
  background: transparent;
}
.ticket-drawer-scroll::-webkit-scrollbar-thumb {
  background: #b8c6d8;
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.ticket-drawer-scroll::-webkit-scrollbar-thumb:hover {
  background: #a5b6cc;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.ticket-drawer *,
.ticket-drawer input,
.ticket-drawer textarea,
.ticket-drawer button,
.ticket-drawer select {
  font-family: inherit;
}
.ticket-drawer-resizer {
  position: absolute;
  left: -5px;
  top: 0;
  bottom: 0;
  width: 10px;
  cursor: ew-resize;
}
.ticket-drawer-resizer::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: rgba(148, 163, 184, 0.32);
  transition: background .12s ease, box-shadow .12s ease;
}
.ticket-drawer-resizer::before {
  content: '';
  position: absolute;
  left: 1px;
  top: 50%;
  width: 6px;
  height: 34px;
  transform: translateY(-50%);
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.28);
}
.ticket-drawer-resizer:hover::after {
  background: rgba(100, 116, 139, 0.55);
  box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.18);
}
body.ticket-drawer-open {
  overflow: hidden;
}
body.is-resizing-ticket-drawer {
  cursor: ew-resize;
  user-select: none;
}
body.is-resizing-ticket-drawer .ticket-drawer-resizer::after {
  background: rgba(59, 130, 246, 0.7);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.18);
}
body.is-resizing-ticket-drawer .ticket-drawer-resizer::before {
  background: rgba(59, 130, 246, 0.32);
}
.ticket-drawer.open {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}
.ticket-drawer-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}
#ticket-drawer-title {
  font-size: 24px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 10px;
}
.ticket-drawer-eyebrow {
  font-size: 11px;
  text-transform: none;
  letter-spacing: 0.01em;
  color: #6b7280;
  font-weight: 400;
  margin-bottom: 4px;
}
.ticket-drawer-close {
  width: 28px;
  height: 28px;
  min-height: 28px;
  border-radius: 4px;
  background: #f9fafb;
  color: #6b7280;
  border: 1px solid #e5e7eb;
  padding: 0;
}
.ticket-drawer-close:hover {
  background: #f3f4f6;
  color: #0f172a;
}
.ticket-drawer-form {
  display: grid;
  gap: 12px;
  min-height: 0;
  overflow: visible;
  padding-right: 2px;
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}
.ticket-section {
  padding: 8px 0;
  background: transparent;
  border: 0;
}
.ticket-section + .ticket-section {
  border-top: 1px solid var(--line);
  padding-top: 14px;
  margin-top: 6px;
}
.ticket-section.ticket-section-no-divider {
  border-top: 0 !important;
  padding-top: 8px;
  margin-top: 0;
}
.ticket-section.ticket-section-no-divider + .ticket-section.ticket-section-no-divider {
  border-top: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.ticket-meta-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
}
.ticket-meta-field .ticket-inline-input {
  width: 100%;
  margin: 0;
}
.ticket-status-field .ticket-status-picker-inline {
  margin-left: 0;
  padding-left: 0;
}
.ticket-status-field .ticket-status-current-pill {
  width: 100%;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  padding: 6px 9px;
  min-height: 30px;
  border-radius: 999px;
}

/* Layout unificado del drawer */
.ticket-meta-unified {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  width: 520px;
  max-width: 100%;
  margin: 0;
  align-self: flex-start;
}
.ticket-meta-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 4px 0;
}
.ticket-meta-section + .ticket-meta-section {
  border-top: 1px solid #e8edf3;
  margin-top: 1px;
  padding-top: 10px;
}
.ticket-meta-section-head {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 0;
}
.ticket-meta-section-icon {
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #94a3b8;
}
.ticket-meta-section-icon svg {
  width: 14px;
  height: 14px;
}
.ticket-meta-section-label {
  font-size: 11px;
  font-weight: 650;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ticket-meta-fields-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  padding-left: 28px;
}
.ticket-meta-unified .ticket-meta-section:first-of-type .ticket-meta-fields-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 18px;
}
.ticket-meta-unified .ticket-meta-section:first-of-type .ticket-meta-field-compact:first-child {
  grid-column: 1 / -1;
}
.ticket-meta-unified .ticket-meta-section:first-of-type .ticket-meta-field-compact {
  min-width: 0;
}
.ticket-meta-unified .ticket-meta-section:first-of-type .ticket-meta-field-compact:nth-child(2),
.ticket-meta-unified .ticket-meta-section:first-of-type .ticket-meta-field-compact:nth-child(3) {
  grid-column: span 1;
}
.ticket-meta-fields-grid {
  display: grid;
  gap: 12px 16px;
  padding-left: 28px;
}
.ticket-meta-fields-grid-people {
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
}
#ticket-details-drawer .ticket-meta-fields-grid-people {
  row-gap: 8px;
  column-gap: 14px;
}
.ticket-meta-fields-grid-people .ticket-meta-field-inline {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  align-items: center;
  gap: 5px;
}
.ticket-meta-fields-grid-people .ticket-meta-field-inline .ticket-meta-field-name {
  margin: 0;
}
#ticket-details-drawer .ticket-meta-fields-grid-people .ticket-meta-field-inline .ticket-meta-field-input:not(.ticket-people-mention-editable) {
  margin: 0;
  min-height: 30px;
  padding: 6px 8px;
  box-sizing: border-box;
}
.ticket-meta-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.ticket-meta-fields-grid {
  row-gap: 18px;
}
.ticket-meta-field.short {
  grid-column: span 1;
}
.ticket-meta-field.full {
  grid-column: 1 / -1;
}
.ticket-meta-field-compact {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 140px;
}
.ticket-meta-fields-row .ticket-meta-field-compact {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  min-width: 0;
}
.ticket-meta-fields-row .ticket-meta-field-compact .ticket-meta-field-name {
  margin: 0;
}
.ticket-meta-field.short .ticket-meta-field-input {
  width: 170px;
  max-width: 170px;
}
#ticket-detail-responsible-editable {
  width: 170px;
  max-width: 170px;
}
.ticket-meta-fields-row .ticket-meta-field-compact .ticket-meta-field-input,
.ticket-meta-fields-row .ticket-meta-field-compact .ticket-status-picker-inline {
  margin: 0;
  width: 100%;
  max-width: 170px;
  justify-self: start;
}
#ticket-detail-due-date,
.ticket-meta-fields-row .flatpickr-input,
.ticket-meta-fields-row .flatpickr-alt-input,
#ticket-details-drawer .ticket-meta-fields-row .ticket-meta-field-compact:first-child .ticket-meta-field-input {
  text-align: center !important;
}
#ticket-details-drawer .ticket-meta-fields-row .ticket-meta-field-compact {
  flex: 0 0 auto;
}
#ticket-details-drawer .ticket-meta-fields-row .ticket-meta-field-compact .ticket-meta-field-input,
#ticket-details-drawer .ticket-meta-fields-row .ticket-meta-field-compact .ticket-status-picker-inline,
#ticket-details-drawer .ticket-meta-fields-row .ticket-meta-field-compact .flatpickr-input,
#ticket-details-drawer .ticket-meta-fields-row .ticket-meta-field-compact .flatpickr-alt-input,
#ticket-details-drawer #ticket-detail-due-date {
  width: 155px !important;
  max-width: 155px !important;
  justify-self: start;
}
#ticket-details-drawer .ticket-meta-fields-row .ticket-meta-field-compact .ticket-inline-input,
#ticket-details-drawer .ticket-meta-fields-row .ticket-meta-field-compact .ticket-meta-field-input,
#ticket-details-drawer .ticket-meta-fields-row .ticket-meta-field-compact .flatpickr-input,
#ticket-details-drawer .ticket-meta-fields-row .ticket-meta-field-compact .flatpickr-alt-input {
  min-height: 30px !important;
  height: 30px !important;
  box-sizing: border-box !important;
  border-radius: 4px !important;
  padding: 6px 8px !important;
}
#ticket-details-drawer .ticket-meta-fields-row .ticket-meta-status-shell {
  width: 155px !important;
  max-width: 155px !important;
}
#ticket-details-drawer .ticket-meta-fields-row .ticket-date-field #ticket-detail-due-date,
#ticket-details-drawer .ticket-meta-fields-row .ticket-date-field .flatpickr-alt-input {
  --drawer-date-icon-slot: 26px;
  min-height: 28px !important;
  height: 28px !important;
  line-height: 22px !important;
  text-align: center !important;
  /* Keep icon slot on the right and shift optical center to the text region. */
  padding-top: 2px !important;
  padding-bottom: 2px !important;
  padding-left: 8px !important;
  padding-right: calc(8px + var(--drawer-date-icon-slot)) !important;
  text-indent: calc((var(--drawer-date-icon-slot) / -2) - 2px);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='15' rx='3'/%3E%3Cpath d='M8 3.5v3M16 3.5v3M4 10h16'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% - 10px) 50%;
  background-size: 16px 16px;
}
.ticket-meta-field-name {
  font-size: 12px;
  font-weight: 400;
  color: #64748b;
}
.ticket-meta-field-input {
  width: 100%;
  height: 30px;
  padding: 0 8px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  font-size: 13px;
  font-weight: 400;
  color: #334155;
  transition: border-color .12s ease;
}
.ticket-meta-field-input:focus {
  outline: none;
  border-color: #d1d5db;
}
.ticket-meta-field-input::placeholder {
  color: #94a3b8;
}
.ticket-people-input-shell {
  width: 100%;
  min-width: 0;
}
#ticket-details-drawer .ticket-meta-fields-grid-people .ticket-meta-field-inline .ticket-people-mention-editable {
  margin: 0;
  min-height: 30px;
  height: auto;
  padding: 2px 8px;
  box-sizing: border-box;
  font-size: 13px;
  line-height: 24px;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  cursor: text;
}
#ticket-detail-responsible-editable {
  height: 30px;
  max-height: 30px;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}
#ticket-detail-responsible-editable .inline-mention-pill {
  position: relative;
  top: -1px;
}
#ticket-detail-contributors-editable,
#ticket-detail-informed-editable {
  max-height: none;
  overflow-x: hidden;
  overflow-y: visible;
}
.ticket-people-mention-editable:empty::before {
  content: attr(data-placeholder);
  color: #94a3b8;
  line-height: 24px;
  pointer-events: none;
}
.ticket-people-mention-editable .inline-mention-pill {
  margin: 0 5px 0 0;
  vertical-align: middle;
}
.ticket-people-mention-editable .inline-mention-pill-text {
  font-size: inherit;
}
.ticket-meta-field-input[type="date"] {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 30px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='15' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M4 11h16'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% - 8px) 50%;
  background-size: 16px;
  color-scheme: light;
  border: 1px solid var(--line) !important;
  box-shadow: none;
  background-color: #fff;
}
.ticket-meta-field-input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  display: none;
}
.ticket-meta-obj-input {
  margin-left: 34px;
  width: calc(100% - 34px);
}
.ticket-meta-status-btn {
  width: 100%;
  min-height: 30px;
  padding: 6px 9px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 13px;
  font-weight: 400;
  color: #9ca3af;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  line-height: 1;
  box-sizing: border-box;
}
/* Drawer-only: make status pill use the same visual box model as flatpickr alt input */
#ticket-details-drawer .ticket-status-picker-inline {
  width: 100%;
  margin-left: 0;
}
#ticket-details-drawer .ticket-meta-status-shell {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  min-height: 30px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-sizing: border-box;
}
#ticket-details-drawer .ticket-meta-status-shell .ticket-status-current-pill {
  position: relative;
  box-sizing: border-box !important;
  width: 98px !important;
  min-width: 98px !important;
  max-width: 98px !important;
  min-height: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  padding: 2px 8px !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 520 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
#ticket-details-drawer .ticket-meta-status-shell .ticket-status-current-pill strong,
#ticket-details-drawer .ticket-meta-status-shell .ticket-status-current-pill span {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  line-height: 1.1 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ticket-meta-divider {
  display: none;
}

.ticket-meta-unified + .ticket-section.ticket-section-no-divider {
  border-top: 1px solid var(--line) !important;
  margin-top: 8px !important;
  padding-top: 14px !important;
}

#ticket-detail-due-date {
  max-width: 200px;
}
.ticket-drawer-label {
  color: #6b7280;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .02em;
  display: grid;
  gap: 4px;
}
.ticket-inline-input {
  width: 100%;
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 7px 9px;
  background: #fff;
}
.ticket-inline-input[type="date"],
.notion-like-table input[type="date"][form],
.ticket-inline-input.flatpickr-alt-input,
.notion-like-table input.flatpickr-alt-input {
  color: #334155;
  font-size: 13px;
  font-weight: 400;
  color-scheme: light;
}
.ticket-inline-input[type="date"]::-webkit-calendar-picker-indicator,
.notion-like-table input[type="date"][form]::-webkit-calendar-picker-indicator {
  opacity: 0.75;
  cursor: pointer;
  filter: grayscale(20%) saturate(70%) hue-rotate(175deg);
}
.ticket-inline-input[type="date"]:hover::-webkit-calendar-picker-indicator,
.notion-like-table input[type="date"][form]:hover::-webkit-calendar-picker-indicator {
  opacity: 1;
}
.flatpickr-calendar {
  border: 1px solid #d1d5db;
  border-radius: 4px;
  box-shadow: var(--shadow-floating) !important;
  font-family: inherit;
  background: #fff;
  font-size: 11px;
  overflow: hidden;
  padding: 12px 12px 30px;
  position: relative;
}
.flatpickr-prev-month,
.flatpickr-next-month {
  border-radius: 8px;
  top: 11px !important;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
  background: #f3f4f6;
}
.flatpickr-day {
  max-width: 30px;
  height: 30px;
  line-height: 30px;
  font-size: 11.5px;
}
.flatpickr-months,
.flatpickr-month,
.flatpickr-current-month,
.flatpickr-weekdays {
  background: #fff !important;
}
.flatpickr-weekdays {
  padding: 0 10px;
  box-sizing: border-box;
}
.flatpickr-days {
  width: calc(100% - 20px) !important;
  margin: 0 10px 22px;
  box-sizing: border-box;
  overflow: hidden;
}
.flatpickr-days .dayContainer {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
.flatpickr-months {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
.flatpickr-innerContainer,
.flatpickr-rContainer,
.flatpickr-days {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
.flatpickr-innerContainer {
  padding: 0 0 10px;
  box-sizing: border-box;
}
.flatpickr-weekday {
  color: #6b7a8f !important;
  font-weight: 650;
  font-size: 10.5px;
  letter-spacing: .01em;
  text-transform: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
  color: #0f172a;
  font-weight: 680;
  font-size: 12px;
}
.flatpickr-current-month input.cur-year {
  border: 0;
  background: transparent;
  border-radius: 0;
  padding: 0;
  margin-left: 4px;
  width: 56px;
  text-align: left;
  appearance: textfield;
  -moz-appearance: textfield;
}
.flatpickr-current-month input.cur-year::-webkit-outer-spin-button,
.flatpickr-current-month input.cur-year::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.flatpickr-current-month .numInputWrapper {
  width: 56px;
}
.flatpickr-current-month .numInputWrapper span {
  display: none !important;
}
.flatpickr-calendar.open {
  animation: fpFadeIn .12s ease-out;
}
@keyframes fpFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
.flatpickr-prev-month svg,
.flatpickr-next-month svg {
  fill: #64748b;
}
.flatpickr-day {
  border-radius: 8px;
}
.flatpickr-day.today {
  border-color: #cbd5e1;
  border-radius: 8px;
}
.flatpickr-months {
  padding: 2px 4px 0;
  margin-bottom: 6px;
}
.flatpickr-current-month {
  font-size: 13px;
  padding-top: 5px;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: #1e3a8a;
  border-color: #1e3a8a;
  color: #fff;
  border-radius: 6px;
}
.flatpickr-day:hover {
  background: #f5f7fa;
  border-color: #f5f7fa;
  border-radius: 8px;
}
.fp-month-menu,
.fp-year-menu {
  position: absolute;
  top: 34px;
  z-index: 12;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  padding: 4px;
  display: grid;
  grid-template-columns: repeat(3, minmax(60px, 1fr));
  gap: 2px;
}
.fp-month-menu { left: 8px; }
.fp-year-menu { right: 8px; }
.fp-month-menu[hidden],
.fp-year-menu[hidden] {
  display: none !important;
}
.fp-month-item,
.fp-year-item {
  border: 0;
  background: transparent;
  border-radius: 7px;
  height: 26px;
  color: #475569;
  font-size: 11.5px;
  font-weight: 600;
}
.fp-month-item:hover,
.fp-year-item:hover {
  background: #f5f7fa;
  color: #1f2937;
}
.fp-month-item.active,
.fp-year-item.active {
  background: #eef2f7;
  color: #0f172a;
}
.fp-today-link {
  position: absolute;
  right: 12px;
  bottom: 8px;
  border: 0;
  background: transparent;
  color: #1e3a8a;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 6px;
}
.fp-today-link:hover {
  background: #eaf0ff;
}
.ticket-inline-input:focus,
.ticket-comment-input:focus {
  outline: none;
  border-color: #9ca3af;
  box-shadow: 0 0 0 1px rgba(156, 163, 175, 0.18);
}
.ticket-status-picker-inline {
  position: relative;
  width: 100%;
  max-width: 360px;
  justify-self: start;
  display: flex;
  align-items: center;
  margin-left: -5px;
  padding-left: 0;
}
.ticket-status-current-pill,
.ticket-status-pill {
  min-height: 28px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: #475569;
  font-size: 13px;
  font-weight: 520;
  padding: 0 12px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  margin-left: 0;
}
.ticket-status-menu:not([hidden]) {
  display: block;
}
.ticket-status-menu[hidden] {
  display: none !important;
}
@keyframes ticketMenuIn {
  from { opacity: 0; transform: translateY(-4px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.ticket-status-edit {
  display: block;
  width: 132px;
  min-width: 132px;
  max-width: 132px;
  min-height: 28px;
  margin: 2px auto 0;
  border: 0;
  background: transparent;
  font-size: 11.5px;
  text-align: center;
  padding: 6px 10px 4px;
}
.ticket-body-section {
  min-height: 0;
  border-top: 0 !important;
  border-bottom: 1px solid var(--line);
  padding-top: 0 !important;
  padding-bottom: 10px;
  margin-top: 14px !important;
  margin-bottom: 0;
}
.ticket-body-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.ticket-body-head .ticket-drawer-label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #6b7280;
  margin-bottom: 0;
}
.ticket-save-hint {
  /* Hide details drawer save microcopy (Guardando/Guardado/Sin conexión) */
  display: none !important;
}
.ticket-build-id-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #111827;
  color: #f8fafc;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: none;
}
.ticket-build-id-badge[hidden],
.ticket-build-id-badge:empty {
  display: none !important;
}
.ticket-pill-debug[hidden] {
  display: none !important;
}
.ticket-pill-debug {
  margin: 0 0 10px 60px;
  max-width: min(850px, calc(100% - 60px));
  max-height: 140px;
  overflow: auto;
  padding: 8px 10px;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
  font-size: 11px;
  line-height: 1.35;
  white-space: pre-wrap;
}
.ticket-pill-debug:empty {
  display: none;
}

.ticket-block-inserter {
  width: 850px;
  max-width: 100%;
  margin: 4px 0 18px;
  align-self: flex-start;
}
.ticket-block-builder {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}
.ticket-block-inserter.use-editorjs .ticket-block-builder {
  grid-template-columns: 1fr;
  gap: 0;
}
.ticket-block-inserter.use-editorjs .ticket-block-rail,
.ticket-block-inserter.use-editorjs #ticket-block-add-btn,
.ticket-block-inserter.use-editorjs #ticket-block-menu {
  display: none !important;
}
.ticket-block-inserter.use-editorjs .codex-editor__redactor {
  padding: 40px 40px 40px 0 !important;
}
.ticket-block-inserter.use-editorjs .ce-block__content,
.ticket-block-inserter .ce-block__content {
  max-width: 100%;
  margin-left: 60px;
}
.ticket-block-inserter.use-editorjs .ce-toolbar__content,
.ticket-block-inserter .ce-toolbar__content {
  max-width: 100%;
  margin-left: 60px;
}
.ticket-block-inserter.use-editorjs .ce-toolbar__plus,
.ticket-block-inserter .ce-toolbar__plus {
  position: absolute !important;
  left: -46px !important;
  top: 0 !important;
  right: auto !important;
  width: 26px !important;
  height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  color: #64748b !important;
}
.ticket-block-inserter.use-editorjs .ce-toolbar__plus svg,
.ticket-block-inserter .ce-toolbar__plus svg {
  width: 20px;
  height: 20px;
}
.ticket-block-inserter.use-editorjs .ce-toolbar__plus svg *,
.ticket-block-inserter .ce-toolbar__plus svg * {
  stroke-width: 1.4 !important;
}
.ticket-block-inserter.use-editorjs .ce-toolbar__plus:hover,
.ticket-block-inserter.use-editorjs .ce-toolbar__plus:focus-visible,
.ticket-block-inserter .ce-toolbar__plus:hover,
.ticket-block-inserter .ce-toolbar__plus:focus-visible {
  background: #f1f5f9 !important;
  color: #64748b !important;
  opacity: 1 !important;
}
.ticket-block-inserter.use-editorjs .ce-toolbar__actions,
.ticket-block-inserter .ce-toolbar__actions {
  padding-right: 0 !important;
  display: flex !important;
  align-items: center;
  gap: 5px;
  transform: translateX(5px) !important;
  pointer-events: none;
}
.ticket-block-inserter.use-editorjs .ce-toolbar__plus,
.ticket-block-inserter .ce-toolbar__plus,
.ticket-block-inserter.use-editorjs .ce-toolbar__settings-btn,
.ticket-block-inserter .ce-toolbar__settings-btn {
  pointer-events: auto;
}
.ticket-block-inserter.use-editorjs .ce-toolbar__settings-btn,
.ticket-block-inserter .ce-toolbar__settings-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 26px !important;
  height: 26px !important;
  border-radius: 4px !important;
  cursor: grab;
}
.ticket-block-inserter.use-editorjs .ce-toolbar__settings-btn svg,
.ticket-block-inserter .ce-toolbar__settings-btn svg {
  display: none !important;
}
.ticket-block-inserter.use-editorjs .ce-toolbar__settings-btn::before,
.ticket-block-inserter .ce-toolbar__settings-btn::before {
  content: '⋮⋮';
  display: inline-flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-size: 14px;
  line-height: 1;
  letter-spacing: -1px;
  transform: translateY(-1px);
  -webkit-text-stroke: 0.7px currentColor;
}
.ticket-block-inserter.use-editorjs .ce-toolbar__settings-btn:active,
.ticket-block-inserter .ce-toolbar__settings-btn:active {
  cursor: grabbing;
}
.ticket-block-inserter.use-editorjs .ce-popover {
  --color-shadow: rgba(2, 6, 23, 0.46) !important;
  --max-height: 360px !important;
}
.ticket-block-inserter.use-editorjs .ce-popover__container {
  -webkit-box-shadow: var(--shadow-floating) !important;
  box-shadow: var(--shadow-floating) !important;
}
.ticket-block-inserter.use-editorjs .ce-popover__search {
  display: none !important;
}
.editorjs-handle-menu {
  position: fixed;
  z-index: 2000;
  min-width: 148px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  box-shadow: var(--shadow-floating);
  padding: 6px;
}
.editorjs-handle-menu__item {
  width: 100%;
  min-height: 28px;
  padding: 4px 6px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  text-align: left;
  font-size: 12px;
}
.editorjs-handle-menu__item::before {
  content: '✕';
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #7b7e89;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.editorjs-handle-menu__item:hover::before {
  color: #6b7280;
  border-color: #d8e0ea;
}
.ticket-block-inserter.use-editorjs .ce-popover__container,
.ticket-block-inserter.use-editorjs .ce-popover-item,
.ticket-block-inserter.use-editorjs .ce-popover-item__title,
.ticket-block-inserter.use-editorjs .ce-popover-item__secondary-title,
.ticket-block-inserter.use-editorjs .ce-popover__nothing-found-message,
.ticket-block-inserter.use-editorjs .cdx-search-field__input,
body.notion-runtime-active .ce-popover__container,
body.notion-runtime-active .ce-popover-item,
body.notion-runtime-active .ce-popover-item__title,
body.notion-runtime-active .ce-popover-item__secondary-title,
body.notion-runtime-active .ce-popover__nothing-found-message,
body.notion-runtime-active .cdx-search-field__input {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  color: var(--text) !important;
}
.ticket-block-inserter.use-editorjs .ce-popover-item__title,
.ticket-block-inserter.use-editorjs .ce-popover__nothing-found-message,
body.notion-runtime-active .ce-popover-item__title,
body.notion-runtime-active .ce-popover__nothing-found-message {
  font-weight: 450 !important;
  letter-spacing: 0 !important;
}
.ticket-block-inserter.use-editorjs .ce-popover-item__secondary-title,
body.notion-runtime-active .ce-popover-item__secondary-title {
  font-weight: 500 !important;
}
.ticket-block-inserter.use-editorjs .ce-block,
.ticket-block-inserter.use-editorjs .ce-block__content {
  overflow: visible !important;
}
/* Flat editor surface (no outer frame around Notion-like content area) */
.ticket-block-inserter.use-editorjs .codex-editor,
.ticket-block-inserter.use-editorjs .ce-editor,
.ticket-block-inserter.use-editorjs .ce-editor__redactor {
  border: 0;
  border-radius: 0;
  background: transparent;
}
.ticket-block-inserter.use-editorjs .ce-editor__redactor {
  padding: 40px 40px 16px 0 !important;
}
/* Keep first block aligned with the internal editor padding. */
.ticket-block-inserter.use-editorjs .ce-editor__redactor > .ce-block:first-child,
.ticket-block-inserter.use-editorjs .ce-editor > .ce-block:first-child,
.ticket-block-inserter.use-editorjs .codex-editor__redactor > .ce-block:first-child {
  margin-top: 0 !important;
}
.ticket-block-inserter.use-editorjs .ce-editor__redactor > .ce-block:first-child .ce-block__content,
.ticket-block-inserter.use-editorjs .ce-editor > .ce-block:first-child .ce-block__content,
.ticket-block-inserter.use-editorjs .codex-editor__redactor > .ce-block:first-child .ce-block__content,
.ticket-block-inserter.use-editorjs .ce-editor__redactor > .ce-block:first-child h1,
.ticket-block-inserter.use-editorjs .ce-editor__redactor > .ce-block:first-child h2,
.ticket-block-inserter.use-editorjs .ce-editor__redactor > .ce-block:first-child h3 {
  margin-top: 0 !important;
}

.ticket-block-inserter.use-editorjs .ce-block__content,
.ticket-block-inserter.use-editorjs .ce-paragraph,
.ticket-block-inserter.use-editorjs .cdx-list,
.ticket-block-inserter.use-editorjs .cdx-list__item,
.ticket-block-inserter.use-editorjs [contenteditable]:not([contenteditable="false"]) {
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
  color: #0f172a;
}

/* Notion-style bullets: only unordered lists (do NOT affect numbered lists). */
.ticket-block-inserter.use-editorjs .cdx-list ul,
.ce-block .cdx-list ul {
  list-style-type: disc !important;
}
.ticket-block-inserter.use-editorjs .cdx-list ul li::marker,
.ce-block .cdx-list ul li::marker {
  font-size: 1.22em !important;
  font-weight: 700 !important;
  color: #111827 !important;
}
/* Fallback when bullet is rendered via pseudo-element (unordered only). */
.ticket-block-inserter.use-editorjs .cdx-list ul li::before,
.ce-block .cdx-list ul li::before {
  font-size: 1.22em !important;
  font-weight: 700 !important;
}

.ticket-block-inserter.use-editorjs .ce-block__content a:not(.inline-link-chip):not(.notion-auto-link-pill),
.ticket-block-inserter.use-editorjs .ce-paragraph a:not(.inline-link-chip):not(.notion-auto-link-pill),
.ticket-block-inserter.use-editorjs .cdx-list__item a:not(.inline-link-chip):not(.notion-auto-link-pill),
.ticket-block-inserter.use-editorjs .cdx-list__item-content a:not(.inline-link-chip):not(.notion-auto-link-pill),
.ticket-block-inserter.use-editorjs .cdx-checklist__item-text a:not(.inline-link-chip):not(.notion-auto-link-pill),
.ticket-block-inserter.use-editorjs .ce-header a:not(.inline-link-chip):not(.notion-auto-link-pill),
.ticket-block-inserter.use-editorjs .tc-table__cell-content a:not(.inline-link-chip):not(.notion-auto-link-pill),
.ticket-block-inserter.use-editorjs .tc-cell[contenteditable] a:not(.inline-link-chip):not(.notion-auto-link-pill),
.ticket-block-inserter.use-editorjs h1[contenteditable] a:not(.inline-link-chip):not(.notion-auto-link-pill),
.ticket-block-inserter.use-editorjs h2[contenteditable] a:not(.inline-link-chip):not(.notion-auto-link-pill),
.ticket-block-inserter.use-editorjs h3[contenteditable] a:not(.inline-link-chip):not(.notion-auto-link-pill),
.ticket-block-inserter.use-editorjs [contenteditable] a:not(.inline-link-chip):not(.notion-auto-link-pill) {
  color: #2563eb !important;
  text-decoration-color: currentColor;
}
.ticket-block-inserter.use-editorjs .ce-block__content a.notion-auto-link-pill,
.ticket-block-inserter.use-editorjs .ce-paragraph a.notion-auto-link-pill,
.ticket-block-inserter.use-editorjs .cdx-list__item a.notion-auto-link-pill,
.ticket-block-inserter.use-editorjs .cdx-list__item-content a.notion-auto-link-pill,
.ticket-block-inserter.use-editorjs .cdx-checklist__item-text a.notion-auto-link-pill,
.ticket-block-inserter.use-editorjs .ce-header a.notion-auto-link-pill,
.ticket-block-inserter.use-editorjs .tc-table__cell-content a.notion-auto-link-pill,
.ticket-block-inserter.use-editorjs .tc-cell[contenteditable] a.notion-auto-link-pill,
.ticket-block-inserter.use-editorjs h1[contenteditable] a.notion-auto-link-pill,
.ticket-block-inserter.use-editorjs h2[contenteditable] a.notion-auto-link-pill,
.ticket-block-inserter.use-editorjs h3[contenteditable] a.notion-auto-link-pill,
.ticket-block-inserter.use-editorjs [contenteditable] a.notion-auto-link-pill {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  max-width: clamp(58px, 9vw, 108px);
  overflow: hidden;
  line-height: 1;
  vertical-align: middle;
}
.ticket-block-inserter.use-editorjs .ce-block__content a.notion-auto-link-pill .inline-link-chip,
.ticket-block-inserter.use-editorjs .ce-paragraph a.notion-auto-link-pill .inline-link-chip,
.ticket-block-inserter.use-editorjs .cdx-list__item a.notion-auto-link-pill .inline-link-chip,
.ticket-block-inserter.use-editorjs .cdx-list__item-content a.notion-auto-link-pill .inline-link-chip,
.ticket-block-inserter.use-editorjs .cdx-checklist__item-text a.notion-auto-link-pill .inline-link-chip,
.ticket-block-inserter.use-editorjs .ce-header a.notion-auto-link-pill .inline-link-chip,
.ticket-block-inserter.use-editorjs .tc-table__cell-content a.notion-auto-link-pill .inline-link-chip,
.ticket-block-inserter.use-editorjs .tc-cell[contenteditable] a.notion-auto-link-pill .inline-link-chip,
.ticket-block-inserter.use-editorjs h1[contenteditable] a.notion-auto-link-pill .inline-link-chip,
.ticket-block-inserter.use-editorjs h2[contenteditable] a.notion-auto-link-pill .inline-link-chip,
.ticket-block-inserter.use-editorjs h3[contenteditable] a.notion-auto-link-pill .inline-link-chip,
.ticket-block-inserter.use-editorjs [contenteditable] a.notion-auto-link-pill .inline-link-chip {
  width: auto;
  max-width: clamp(64px, 10vw, 116px);
  margin: 0;
  min-width: 0;
  line-height: 1;
}
.ticket-block-inserter.use-editorjs .ce-block__content a.notion-auto-link-pill .inline-link-chip-text,
.ticket-block-inserter.use-editorjs .ce-paragraph a.notion-auto-link-pill .inline-link-chip-text,
.ticket-block-inserter.use-editorjs .cdx-list__item a.notion-auto-link-pill .inline-link-chip-text,
.ticket-block-inserter.use-editorjs .cdx-list__item-content a.notion-auto-link-pill .inline-link-chip-text,
.ticket-block-inserter.use-editorjs .cdx-checklist__item-text a.notion-auto-link-pill .inline-link-chip-text,
.ticket-block-inserter.use-editorjs .ce-header a.notion-auto-link-pill .inline-link-chip-text,
.ticket-block-inserter.use-editorjs .tc-table__cell-content a.notion-auto-link-pill .inline-link-chip-text,
.ticket-block-inserter.use-editorjs .tc-cell[contenteditable] a.notion-auto-link-pill .inline-link-chip-text,
.ticket-block-inserter.use-editorjs h1[contenteditable] a.notion-auto-link-pill .inline-link-chip-text,
.ticket-block-inserter.use-editorjs h2[contenteditable] a.notion-auto-link-pill .inline-link-chip-text,
.ticket-block-inserter.use-editorjs h3[contenteditable] a.notion-auto-link-pill .inline-link-chip-text,
.ticket-block-inserter.use-editorjs [contenteditable] a.notion-auto-link-pill .inline-link-chip-text {
  max-width: clamp(46px, 7vw, 82px);
  min-width: 0;
  font-weight: 400;
  line-height: 1.05;
}
.ticket-block-inserter.use-editorjs [contenteditable] a.notion-auto-link-pill .inline-link-chip {
  padding-top: 2px;
  padding-bottom: 2px;
}
.ticket-block-inserter.use-editorjs [contenteditable] a.notion-auto-link-pill .inline-link-chip-icon {
  width: 15px;
  height: 15px;
}
.ticket-block-inserter.use-editorjs [contenteditable] .inline-mention-pill {
  min-height: 0;
  padding-top: 2px;
  padding-bottom: 2px;
  line-height: 1;
  vertical-align: middle;
}
.ticket-block-inserter.use-editorjs [contenteditable] .inline-mention-pill .inline-mention-pill-text {
  line-height: 1;
}
.ticket-block-inserter.use-editorjs .ce-delimiter {
  line-height: 0 !important;
  text-align: left !important;
  padding: 0 !important;
  min-height: 26px !important;
  display: flex !important;
  align-items: center !important;
}
.ticket-block-inserter.use-editorjs .ce-delimiter.cdx-block {
  padding: 0 !important;
}
.ticket-block-inserter.use-editorjs .ce-delimiter::before {
  content: '' !important;
  display: block !important;
  width: 100% !important;
  height: 1px !important;
  background: #e5e7eb !important;
  line-height: 0 !important;
  letter-spacing: 0 !important;
}
.ticket-block-inserter.use-editorjs .tc-toolbox__toggler {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: #8ea0b8 !important;
  cursor: grab;
  font-weight: 700;
  letter-spacing: -1px;
  user-select: none;
  background: #fff;
  border: 1px solid #d9e2ef;
  border-radius: 6px;
  width: 18px !important;
  height: 18px !important;
}
.ticket-block-inserter.use-editorjs .tc-toolbox__toggler:active {
  cursor: grabbing;
}
.ticket-block-inserter.use-editorjs .tc-toolbox__toggler svg {
  display: none !important;
}
.ticket-block-inserter.use-editorjs .tc-toolbox__toggler::before {
  content: '⋮⋮';
  font-size: 12px;
  line-height: 1;
  -webkit-text-stroke: 0.45px currentColor;
}
.ticket-block-inserter.use-editorjs .tc-popover,
.ticket-block-inserter.use-editorjs .tc-popover__item,
.ticket-block-inserter.use-editorjs .tc-popover__item-label {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}
.ticket-block-inserter.use-editorjs .tc-toolbox {
  z-index: 30 !important;
}
.ticket-block-inserter.use-editorjs .tc-popover,
body.notion-runtime-active > .tc-popover {
  box-shadow: var(--shadow-floating) !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  padding: 6px !important;
  min-width: 180px !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}
.ticket-block-inserter.use-editorjs .tc-popover--opened,
body.notion-runtime-active > .tc-popover.tc-popover--opened {
  display: block !important;
}

/* Must appear after the open-state rule above: when any modal is open, force-hide body-mounted table popovers. */
body.has-active-modal > .tc-popover.tc-popover--opened,
body.has-active-modal.notion-runtime-active > .tc-popover.tc-popover--opened {
  display: none !important;
  pointer-events: none !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item,
body.notion-runtime-active > .tc-popover .tc-popover__item {
  display: flex !important;
  align-items: center !important;
  padding: 2px 14px 2px 2px !important;
  border-radius: 5px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  background: transparent !important;
  margin-bottom: 2px !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item:hover,
body.notion-runtime-active > .tc-popover .tc-popover__item:hover {
  background: #f3f4f6 !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item-icon,
body.notion-runtime-active > .tc-popover .tc-popover__item-icon {
  display: inline-flex !important;
  width: 26px !important;
  height: 26px !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f8fafc !important;
  border-radius: 5px !important;
  border: 1px solid #e2e8f0 !important;
  margin-right: 8px !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item-icon svg,
body.notion-runtime-active > .tc-popover .tc-popover__item-icon svg {
  width: 16px !important;
  height: 16px !important;
  color: #64748b !important;
}

/* Hide Convert to option from selection menu */
.ticket-block-inserter.use-editorjs .ce-conversion-tool,
.ticket-block-inserter.use-editorjs .ce-popover-item[data-item-name="convertTo"],
.ticket-block-inserter.use-editorjs .ce-popover-item:has(.ce-popover-item__title[data-title="Convertir a"]),
.ticket-block-inserter.use-editorjs .ce-popover-item:has(.ce-popover-item__title[data-title="Convert to"]),
.ticket-block-inserter.use-editorjs .ce-inline-toolbar__dropdown,
body.notion-runtime-active .ce-inline-toolbar__dropdown {
  display: none !important;
}

/* EditorJS 2.31+ inline toolbar uses ce-popover-item[name="convert-to"] */
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="convert-to"],
body.notion-runtime-active .ce-popover--inline .ce-popover-item[data-item-name="convert-to"] {
  display: none !important;
}
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="convert-to"] + .ce-popover-item-separator,
body.notion-runtime-active .ce-popover--inline .ce-popover-item[data-item-name="convert-to"] + .ce-popover-item-separator,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item-html[data-item-name="convert-to"] + .ce-popover-item-separator,
body.notion-runtime-active .ce-popover--inline .ce-popover-item-html[data-item-name="convert-to"] + .ce-popover-item-separator {
  display: none !important;
}

/* Normalize Notion inline text-menu icons */
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover__items,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover__items {
  display: inline-flex !important;
  gap: 4px !important;
  overflow: hidden !important;
  overflow-y: hidden !important;
  max-height: none !important;
  scrollbar-width: none !important;
}

/* Place Link action at the right side and separate it with a vertical divider. */
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover__items > .ce-popover-item[data-item-name="link"],
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover__items > .ce-popover-item[data-item-name="link"],
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover__items > .ce-popover-item-html[data-item-name="link"],
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover__items > .ce-popover-item-html[data-item-name="link"],
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-toolbar__buttons > .ce-inline-tool--link,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-toolbar__buttons > .ce-inline-tool--link {
  order: 99 !important;
  margin-left: 8px !important;
  padding-left: 8px !important;
  border-left: 1px solid #e2e8f0 !important;
}

/* Keep formatting controls before Link. */
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover__items > .ce-popover-item[data-item-name="bold"],
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover__items > .ce-popover-item[data-item-name="bold"],
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover__items > .ce-popover-item[data-item-name="italic"],
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover__items > .ce-popover-item[data-item-name="italic"],
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover__items > .ce-popover-item[data-item-name="underline"],
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover__items > .ce-popover-item[data-item-name="underline"],
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover__items > .ce-popover-item-html[data-item-name="bold"],
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover__items > .ce-popover-item-html[data-item-name="bold"],
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover__items > .ce-popover-item-html[data-item-name="italic"],
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover__items > .ce-popover-item-html[data-item-name="italic"],
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover__items > .ce-popover-item-html[data-item-name="underline"],
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover__items > .ce-popover-item-html[data-item-name="underline"] {
  order: 1 !important;
}
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover__items::-webkit-scrollbar,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover__items::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

/* gap handled by JS */
/* Legacy safety net: use container gap (not per-button margin) to avoid doubled Link-B-I spacing. */
body.notion-runtime-active .ce-inline-toolbar .ce-inline-toolbar__buttons {
  gap: 4px !important;
}

/* Never add extra static gap before underline in legacy toolbar. */
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--underline,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--underline {
  margin-left: 0 !important;
}

/* Remove inline separators that can inflate only I–U. */
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item-separator,
body.notion-runtime-active .ce-inline-toolbar .ce-popover-item-separator {
  display: none !important;
  width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

/* Critical: remove wrapper padding so Link-B-I doesn't get doubled spacing. */
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item {
  padding: 0 !important;
}
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item__icon,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item__icon,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 5px !important;
  box-sizing: border-box !important;
  margin-right: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease !important;
}
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item__icon svg,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool svg,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item__icon svg,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool svg {
  width: 16px !important;
  height: 16px !important;
  color: inherit !important;
}

/* Bold icon alignment handled by wrapper offset (stable across focus states). */

/* Hard-disable EditorJS click animation only inside inline toolbar (fixes B jump). */
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .cdx-settings-button--focused-animated,
body.notion-runtime-active .ce-inline-toolbar .cdx-settings-button--focused-animated,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-popover-item--focused,
body.notion-runtime-active .ce-inline-toolbar .ce-popover-item--focused,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-popover-item--focused .ce-popover-item__icon,
body.notion-runtime-active .ce-inline-toolbar .ce-popover-item--focused .ce-popover-item__icon,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-popover-item--focused .ce-popover-item__icon svg,
body.notion-runtime-active .ce-inline-toolbar .ce-popover-item--focused .ce-popover-item__icon svg {
  animation: none !important;
  transform: none !important;
  transition: none !important;
}

/* Kill EditorJS click/focus animation inside inline toolbar (root cause of B jump). */
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .cdx-settings-button,
body.notion-runtime-active .ce-inline-toolbar .cdx-settings-button,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .cdx-settings-button--focused,
body.notion-runtime-active .ce-inline-toolbar .cdx-settings-button--focused,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .cdx-settings-button--focused-animated,
body.notion-runtime-active .ce-inline-toolbar .cdx-settings-button--focused-animated {
  animation: none !important;
  transform: none !important;
  transition: none !important;
  box-shadow: none !important;
}

/* Keep active/focus states from changing geometry (prevents B jump/delay feeling). */
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item:hover,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item:hover,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item.ce-popover-item--active,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item.ce-popover-item--active,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item:focus,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item:focus,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item:focus-visible,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item:focus-visible {
  background: transparent !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: none !important;
}

.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item.ce-popover-item--active .ce-popover-item__icon,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item.ce-popover-item--active .ce-popover-item__icon,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--active,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--active,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool:focus,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool:focus,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool:focus-visible,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool:focus-visible {
  border: 1px solid #e2e8f0 !important;
  color: #2563eb !important;
  outline: none !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease !important;
}

.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item__icon,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item__icon svg,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item__icon,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item__icon svg {
  transition: color 140ms ease, stroke 140ms ease, fill 140ms ease, border-color 140ms ease, background-color 140ms ease !important;
}

/* Bold: single source of truth (container shift only, no glyph transforms). */
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="bold"] .ce-popover-item__icon,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="bold"] .ce-popover-item__icon,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item-html[data-item-name="bold"] > .ce-inline-tool,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item-html[data-item-name="bold"] > .ce-inline-tool,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item:has(.ce-popover-item__icon svg path[d*="M9 12L9 7.1"]) .ce-popover-item__icon,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item:has(.ce-popover-item__icon svg path[d*="M9 12L9 7.1"]) .ce-popover-item__icon,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-toolbar__buttons > .ce-inline-tool:nth-child(2),
body.notion-runtime-active .ce-inline-toolbar .ce-inline-toolbar__buttons > .ce-inline-tool:nth-child(2),
.ticket-block-inserter.use-editorjs .ce-inline-toolbar > .ce-inline-tool:nth-child(2),
body.notion-runtime-active .ce-inline-toolbar > .ce-inline-tool:nth-child(2) {
  position: relative !important;
  top: -3px !important;
  line-height: 1 !important;
}

.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="bold"].ce-popover-item--active .ce-popover-item__icon,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="bold"].ce-popover-item--active .ce-popover-item__icon,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item-html[data-item-name="bold"].ce-popover-item--active > .ce-inline-tool,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item-html[data-item-name="bold"].ce-popover-item--active > .ce-inline-tool,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-toolbar__buttons > .ce-inline-tool:nth-child(2).ce-inline-tool--active,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-toolbar__buttons > .ce-inline-tool:nth-child(2).ce-inline-tool--active,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar > .ce-inline-tool:nth-child(2).ce-inline-tool--active,
body.notion-runtime-active .ce-inline-toolbar > .ce-inline-tool:nth-child(2).ce-inline-tool--active,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool[aria-pressed="true"],
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool[aria-pressed="true"],
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-inline-tool[aria-pressed="true"],
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-inline-tool[aria-pressed="true"],
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool.is-editorjs-active,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool.is-editorjs-active,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item__icon.is-editorjs-active,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item__icon.is-editorjs-active {
  color: #2563eb !important;
}

/* Fallback: some EditorJS builds mark active state with cdx-settings-button--active. */
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .cdx-settings-button--active,
body.notion-runtime-active .ce-inline-toolbar .cdx-settings-button--active,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .cdx-settings-button--active .ce-popover-item__icon,
body.notion-runtime-active .ce-inline-toolbar .cdx-settings-button--active .ce-popover-item__icon,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .cdx-settings-button--active svg,
body.notion-runtime-active .ce-inline-toolbar .cdx-settings-button--active svg,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-toolbar__buttons > :nth-child(2).is-editorjs-active,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-toolbar__buttons > :nth-child(2).is-editorjs-active,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar > :nth-child(2).is-editorjs-active,
body.notion-runtime-active .ce-inline-toolbar > :nth-child(2).is-editorjs-active {
  color: #2563eb !important;
}

.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="bold"] .ce-popover-item__icon svg,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="bold"] .ce-popover-item__icon svg,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item-html[data-item-name="bold"] > .ce-inline-tool svg,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item-html[data-item-name="bold"] > .ce-inline-tool svg,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-toolbar__buttons > .ce-inline-tool:nth-child(2) svg,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-toolbar__buttons > .ce-inline-tool:nth-child(2) svg,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar > .ce-inline-tool:nth-child(2) svg,
body.notion-runtime-active .ce-inline-toolbar > .ce-inline-tool:nth-child(2) svg {
  transform: none !important;
}

/* Normalize base icon/text color across Link/B/I/U (including html-item variants). */
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item .ce-popover-item__icon,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item .ce-popover-item__icon,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item-html > .ce-inline-tool,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item-html > .ce-inline-tool {
  color: #64748b !important;
  opacity: 1 !important;
}

/* Underline glyph normalization: same visual weight/color as Link/B/I */
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--underline,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--underline,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="underline"] .ce-inline-tool,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="underline"] .ce-inline-tool,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item-html[data-item-name="underline"] > .ce-inline-tool,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item-html[data-item-name="underline"] > .ce-inline-tool,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-toolbar__buttons > :nth-child(4),
body.notion-runtime-active .ce-inline-toolbar .ce-inline-toolbar__buttons > :nth-child(4) {
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #64748b !important;
  opacity: 1 !important;
}
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--underline.ce-inline-tool--active,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--underline.ce-inline-tool--active,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item.ce-popover-item--active[data-item-name="underline"] .ce-inline-tool,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item.ce-popover-item--active[data-item-name="underline"] .ce-inline-tool,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item-html.ce-popover-item--active[data-item-name="underline"] > .ce-inline-tool,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item-html.ce-popover-item--active[data-item-name="underline"] > .ce-inline-tool,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-toolbar__buttons > :nth-child(4).ce-inline-tool--active,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-toolbar__buttons > :nth-child(4).ce-inline-tool--active {
  color: #2563eb !important;
}

/* Italic + Underline active state in blue (match Bold behavior) */
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--italic.ce-inline-tool--active,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--italic.ce-inline-tool--active,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--italic.ce-inline-tool--active i,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--italic.ce-inline-tool--active i,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="italic"].ce-popover-item--active,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="italic"].ce-popover-item--active,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="italic"].ce-popover-item--active .ce-popover-item__icon,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="italic"].ce-popover-item--active .ce-popover-item__icon,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="italic"].ce-popover-item--active .ce-popover-item__icon svg,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="italic"].ce-popover-item--active .ce-popover-item__icon svg,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="italic"].ce-popover-item--active .ce-inline-tool,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="italic"].ce-popover-item--active .ce-inline-tool,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="italic"].ce-popover-item--active .ce-inline-tool i,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="italic"].ce-popover-item--active .ce-inline-tool i,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="underline"].ce-popover-item--active .ce-popover-item__icon,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="underline"].ce-popover-item--active .ce-popover-item__icon,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="underline"].ce-popover-item--active .ce-popover-item__icon svg,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="underline"].ce-popover-item--active .ce-popover-item__icon svg {
  color: #2563eb !important;
}

.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--underline u,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--underline u,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="underline"] .ce-inline-tool u,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="underline"] .ce-inline-tool u {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 1px;
}

.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--underline.ce-inline-tool--active u,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool.ce-inline-tool--underline.ce-inline-tool--active u,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item.ce-popover-item--active[data-item-name="underline"] .ce-inline-tool u,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item.ce-popover-item--active[data-item-name="underline"] .ce-inline-tool u {
  text-decoration-thickness: 1px;
  text-decoration-line: underline;
  color: #2563eb !important;
}
/* Fallback for EditorJS variants: italic can expose active state via aria attributes instead of class names. */
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="italic"] .ce-inline-tool[aria-pressed="true"],
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="italic"] .ce-inline-tool[aria-pressed="true"],
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="italic"] .ce-inline-tool[aria-pressed="true"] i,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="italic"] .ce-inline-tool[aria-pressed="true"] i,
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="italic"] .ce-inline-tool[aria-pressed="true"] svg,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="italic"] .ce-inline-tool[aria-pressed="true"] svg {
  color: #2563eb !important;
}
.ticket-block-inserter.use-editorjs .ce-popover--inline .ce-popover-item[data-item-name="italic"] .ce-inline-tool[aria-pressed="true"] svg *,
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline .ce-popover-item[data-item-name="italic"] .ce-inline-tool[aria-pressed="true"] svg * {
  stroke: #2563eb !important;
  fill: #2563eb !important;
}

/* Inline link input: compact size to match toolbar scale */
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool-input,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool-input,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-toolbar__input,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-toolbar__input,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar input[type="text"],
body.notion-runtime-active .ce-inline-toolbar input[type="text"],
.ticket-block-inserter.use-editorjs .ce-popover--inline input[type="text"],
body.notion-runtime-active .ce-inline-toolbar .ce-popover--inline input[type="text"] {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 16px !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  max-width: 240px !important;
}

.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool-input::placeholder,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool-input::placeholder {
  font-size: 12px !important;
  font-weight: 500 !important;
}

.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool-input:focus,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool-input:focus,
.ticket-block-inserter.use-editorjs .ce-inline-toolbar .ce-inline-tool-input:focus-visible,
body.notion-runtime-active .ce-inline-toolbar .ce-inline-tool-input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Bold icon uses native EditorJS rendering to avoid click-jitter. */

.ticket-block-inserter.use-editorjs .tc-popover__item-label,
body.notion-runtime-active > .tc-popover .tc-popover__item-label {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 22px !important;
  font-weight: 400 !important;
  color: #111827 !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item.is-danger-table,
.ticket-block-inserter.use-editorjs .tc-popover__item--confirm,
body.notion-runtime-active > .tc-popover .tc-popover__item.is-danger-table,
body.notion-runtime-active > .tc-popover .tc-popover__item--confirm {
  background: transparent !important;
  color: #9a3b31 !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item.is-danger-table .tc-popover__item-label,
.ticket-block-inserter.use-editorjs .tc-popover__item--confirm .tc-popover__item-label,
body.notion-runtime-active > .tc-popover .tc-popover__item.is-danger-table .tc-popover__item-label,
body.notion-runtime-active > .tc-popover .tc-popover__item--confirm .tc-popover__item-label {
  color: #9a3b31 !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item.is-danger-table .tc-popover__item-icon,
.ticket-block-inserter.use-editorjs .tc-popover__item--confirm .tc-popover__item-icon,
body.notion-runtime-active > .tc-popover .tc-popover__item.is-danger-table .tc-popover__item-icon,
body.notion-runtime-active > .tc-popover .tc-popover__item--confirm .tc-popover__item-icon {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item.is-danger-table .tc-popover__item-icon svg,
.ticket-block-inserter.use-editorjs .tc-popover__item--confirm .tc-popover__item-icon svg,
body.notion-runtime-active > .tc-popover .tc-popover__item.is-danger-table .tc-popover__item-icon svg,
body.notion-runtime-active > .tc-popover .tc-popover__item--confirm .tc-popover__item-icon svg {
  color: #64748b !important;
  fill: #64748b !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item.is-danger-table:hover,
.ticket-block-inserter.use-editorjs .tc-popover__item--confirm:hover,
body.notion-runtime-active > .tc-popover .tc-popover__item.is-danger-table:hover,
body.notion-runtime-active > .tc-popover .tc-popover__item--confirm:hover {
  background: #fff1f2 !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item.is-danger-table,
.ticket-block-inserter.use-editorjs .tc-popover__item--confirm {
  background: transparent !important;
  color: #9a3b31 !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item.is-danger-table:hover,
.ticket-block-inserter.use-editorjs .tc-popover__item--confirm:hover {
  background: #fff1f2 !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item--confirm .tc-popover__item-icon {
  background: #fff !important;
  border-color: #e5e7eb !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item--confirm .tc-popover__item-icon svg {
  transform: none !important;
}
.ticket-block-inserter.use-editorjs .tc-popover__item-label {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}
.ticket-block-inserter.use-editorjs .tc-wrap {
  --color-border: var(--line) !important;
  --color-background: #f9fafb !important;
  --color-text-secondary: #6b7280 !important;
}
.ticket-block-inserter.use-editorjs .tc-table {
  border-left: 1px solid var(--line) !important;
  border-radius: 6px 0 0 0 !important;
  overflow: hidden !important;
}
.ticket-block-inserter.use-editorjs .tc-table--heading .tc-row:first-child {
  border-bottom: 1px solid var(--line) !important;
}
.ticket-block-inserter.use-editorjs .tc-table--heading .tc-row:first-child:after {
  bottom: -1px !important;
  border-bottom: 1px solid var(--line) !important;
}
.ticket-block-inserter.use-editorjs .tc-add-row {
  padding-left: 0 !important;
  height: var(--cell-size) !important;
  width: 100% !important;
  display: grid !important;
  place-items: center start !important;
}
.ticket-block-inserter.use-editorjs .tc-add-row svg,
.ticket-block-inserter.use-editorjs .tc-add-column svg {
  width: 20px !important;
  height: 20px !important;
  padding: 5px !important;
  color: #6b7280 !important;
  background-color: var(--color-background) !important;
}
.ticket-block-inserter.use-editorjs .tc-add-row svg path,
.ticket-block-inserter.use-editorjs .tc-add-column svg path {
  stroke-width: 1.6 !important;
}
.ticket-block-inserter.use-editorjs .tc-row:first-child .tc-cell:first-child {
  border-top-left-radius: 6px !important;
}
.ticket-block-inserter.use-editorjs .tc-row:first-child .tc-cell:last-child,
.ticket-block-inserter.use-editorjs .tc-row:last-child .tc-cell:first-child,
.ticket-block-inserter.use-editorjs .tc-row:last-child .tc-cell:last-child {
  border-radius: 0 !important;
}
.ticket-block-inserter.use-editorjs .tc-toolbox--column {
  top: 0 !important;
  transform: translate(-50%, -50%) !important;
  z-index: 6;
}
.ticket-block-inserter.use-editorjs .tc-toolbox--row {
  left: 0 !important;
  transform: translate(-50%, -50%) !important;
  z-index: 6;
}
.ticket-block-inserter.use-editorjs .ce-block__content h1,
.ticket-block-inserter.use-editorjs .ce-block__content h2,
.ticket-block-inserter.use-editorjs .ce-block__content h3 {
  font-family: inherit;
  color: #0f172a;
}
.ticket-block-inserter.use-editorjs .ce-block__content h1,
.ticket-block-inserter.use-editorjs .ce-block__content h2,
.ticket-block-inserter.use-editorjs .ce-block__content h3 {
  margin: 0;
}
.ticket-block-inserter.use-editorjs .ce-block.is-editorjs-heading-h1 {
  margin-top: 0.78em;
  margin-bottom: 0.34em;
}
.ticket-block-inserter.use-editorjs .ce-block.is-editorjs-heading-h2 {
  margin-top: 0.72em;
  margin-bottom: 0.3em;
}
.ticket-block-inserter.use-editorjs .ce-block.is-editorjs-heading-h3 {
  margin-top: 0.64em;
  margin-bottom: 0.26em;
}
.ticket-block-inserter.use-editorjs .ce-block:first-child.is-editorjs-heading-h1,
.ticket-block-inserter.use-editorjs .ce-block:first-child.is-editorjs-heading-h2,
.ticket-block-inserter.use-editorjs .ce-block:first-child.is-editorjs-heading-h3 {
  margin-top: 0.2em;
}
.ticket-block-inserter.use-editorjs .ce-block.is-editorjs-delimiter {
  margin-top: 10px;
  margin-bottom: 10px;
}
.ticket-block-inserter.use-editorjs .ce-block:first-child.is-editorjs-delimiter {
  margin-top: 4px;
}
.ticket-block-inserter.use-editorjs .ce-block__content h1[contenteditable],
.ticket-block-inserter.use-editorjs .ce-block__content h1[contenteditable="true"] {
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em;
}
.ticket-block-inserter.use-editorjs .ce-block__content h2[contenteditable],
.ticket-block-inserter.use-editorjs .ce-block__content h2[contenteditable="true"] {
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.24 !important;
  letter-spacing: -0.015em;
}
.ticket-block-inserter.use-editorjs .ce-block__content h3[contenteditable],
.ticket-block-inserter.use-editorjs .ce-block__content h3[contenteditable="true"] {
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
}
.ticket-block-inserter.use-editorjs .ce-block__content h1[data-placeholder]:empty::before,
.ticket-block-inserter.use-editorjs .ce-block__content h2[data-placeholder]:empty::before,
.ticket-block-inserter.use-editorjs .ce-block__content h3[data-placeholder]:empty::before {
  content: attr(data-placeholder);
  color: #94a3b8;
}
.ticket-block-inserter.use-editorjs .ce-block__content h1[contenteditable]:focus,
.ticket-block-inserter.use-editorjs .ce-block__content h2[contenteditable]:focus,
.ticket-block-inserter.use-editorjs .ce-block__content h3[contenteditable]:focus,
.ticket-block-inserter.use-editorjs .ce-block__content h1[contenteditable]:focus-visible,
.ticket-block-inserter.use-editorjs .ce-block__content h2[contenteditable]:focus-visible,
.ticket-block-inserter.use-editorjs .ce-block__content h3[contenteditable]:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
}
.ticket-block-inserter.use-editorjs .ce-block.is-editorjs-drop-target-before .ce-block__content,
.ticket-block-inserter.use-editorjs .ce-block.is-editorjs-drop-target-after .ce-block__content {
  position: relative;
}
.ticket-block-inserter.use-editorjs .ce-block.is-editorjs-drop-target-before .ce-block__content::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -4px;
  height: 3px;
  border-radius: 999px;
  background: #2563eb;
  pointer-events: none;
}
.ticket-block-inserter.use-editorjs .ce-block.is-editorjs-drop-target-after .ce-block__content::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 3px;
  border-radius: 999px;
  background: #2563eb;
  pointer-events: none;
}
.ticket-block-rail {
  position: relative;
  display: flex;
  justify-content: center;
  padding-top: 2px;
}
.ticket-block-canvas {
  min-height: 120px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  display: grid;
  gap: 0;
}
.ticket-block-empty {
  color: #94a3b8;
  font-size: 13px;
  padding: 8px 0 8px 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.ticket-block-card {
  direction: ltr;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  transition: opacity .12s ease;
}
.ticket-block-card.is-dragging {
  opacity: 0.62;
}
.ticket-block-controls {
  direction: ltr;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-self: start;
  gap: 4px;
  min-height: 20px;
  margin-top: -3px;
  opacity: 0;
  transition: opacity .12s ease;
}
.ticket-block-card:hover .ticket-block-controls,
.ticket-block-card:focus-within .ticket-block-controls,
.ticket-block-card.is-dragging .ticket-block-controls,
.ticket-block-card.is-menu-open .ticket-block-controls {
  opacity: 1;
}
.ticket-block-canvas.is-text-editing .ticket-block-card:not(:hover):not(.is-menu-open) .ticket-block-controls {
  opacity: 0;
  pointer-events: none;
}
.ticket-block-inline-add,
.ticket-block-handle {
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #7c8ea6;
  font-size: 13px;
  cursor: pointer;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ticket-block-inline-add {
  order: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity .12s ease, background .12s ease, color .12s ease;
}
.ticket-block-handle {
  order: 2;
  cursor: grab;
}
.ticket-block-card:hover .ticket-block-inline-add,
.ticket-block-card:focus-within .ticket-block-inline-add,
.ticket-block-card.is-dragging .ticket-block-inline-add,
.ticket-block-card.is-menu-open .ticket-block-inline-add {
  opacity: 1;
  pointer-events: auto;
}
.ticket-block-card.is-line-selected .ticket-block-body {
  background: #eff5ff;
  border-radius: 6px;
}
.ticket-block-inline-add:hover,
.ticket-block-handle:hover {
  background: #f1f5fb;
  color: #475569;
}
.ticket-block-handle:active {
  cursor: grabbing;
}
/* delete button intentionally removed: notion-like delete via keyboard */
.ticket-block-body {
  min-width: 0;
  padding-top: 0;
}
.ticket-block-editable {
  margin: 0;
  border: 0;
  outline: none;
  min-height: 20px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  color: #1e293b;
}
.ticket-block-text {
  padding-top: 0;
}
.ticket-block-text:empty::before {
  content: "\200b";
}
.ticket-block-list {
  margin: 0;
  padding-left: 22px;
}
.ticket-block-list li {
  margin: 0;
}
.ticket-block-divider {
  margin: 8px 0;
  border: 0;
  border-top: 1px solid #d9e2ef;
}
.ticket-block-table {
  width: 100%;
  border-collapse: collapse;
}
.ticket-block-table th,
.ticket-block-table td {
  border: 1px solid #dde5f1;
  padding: 6px 8px;
  text-align: left;
  font-size: 13px;
  outline: none;
}
.ticket-block-table th {
  background: #f8fbff;
  font-weight: 600;
}
.ticket-block-embed {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px dashed #cbd7ea;
  border-radius: 8px;
  padding: 8px 10px;
  background: #f8fbff;
}
.ticket-block-embed-thumb {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #e8f0ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ticket-block-embed-main {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.ticket-block-embed-main strong {
  font-size: 12px;
  color: #334155;
}
.ticket-block-embed-main a {
  font-size: 13px;
  color: #1d4ed8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ticket-block-embed-actions {
  display: inline-flex;
  gap: 6px;
}
.ticket-block-embed-btn {
  border: 1px solid #d5deeb;
  border-radius: 6px;
  background: #fff;
  color: #475569;
  font-size: 12px;
  padding: 3px 7px;
  min-height: 24px;
}
.ticket-block-embed-btn:hover {
  border-color: #b4c3da;
  background: #f8fbff;
}
.ticket-block-add-btn {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px dashed var(--line-strong);
  background: #fff;
  color: #4b5563;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition: background .12s ease, color .12s ease, border-color .12s ease;
}
.ticket-block-add-btn:hover,
.ticket-block-add-btn[aria-expanded="true"] {
  background: #f3f4f6;
  color: #111827;
  border-color: #94a3b8;
}
.ticket-block-menu {
  position: absolute;
  top: 38px;
  left: 0;
  display: grid;
  gap: 4px;
  min-width: 180px;
  padding: 8px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.18);
  z-index: 2200;
}
.ticket-block-menu[hidden] {
  display: none !important;
}
.ticket-block-menu button {
  border: 0;
  border-radius: 6px;
  background: transparent;
  text-align: left;
  padding: 6px 8px;
  font-size: 13px;
  color: #1f2937;
  cursor: pointer;
  font-weight: 520;
}
.ticket-block-menu button:hover {
  background: #f3f4f6;
}
.inline-link-chip {
  --chip-color: #1f4f95;
  --chip-bg: #ffffff;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid color-mix(in srgb, var(--chip-color) 24%, #cbd5e1);
  border-radius: 7px;
  background: #ffffff;
  color: var(--chip-color);
  padding: 3px 9px;
  margin: 1px 2px;
  font-size: 12.5px;
  line-height: 1.15;
  vertical-align: middle;
  cursor: pointer;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  transition: background .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.inline-link-chip:hover {
  border-color: color-mix(in srgb, var(--chip-color) 34%, #cbd5e1);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.05);
}
.inline-link-chip-icon {
  position: relative;
  width: 17px;
  height: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  flex: 0 0 auto;
  overflow: hidden;
}
.inline-link-chip-logo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}
.inline-link-chip-fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  line-height: 1;
}
.inline-link-chip-fallback::before {
  content: attr(data-icon);
}
.inline-link-chip-fallback-badge {
  background: var(--chip-icon-bg, #334155);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  border-radius: 4px;
  letter-spacing: .01em;
}
.inline-link-chip-text {
  max-width: 420px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 560;
}
.inline-mention-pill,
.comment-mention-pill {
  --mention-token-color: #3f3f46;
  --mention-token-color-muted: #71717a;
  --mention-token-bg: #f5f5f6;
  --mention-token-bg-muted: #f8f8f9;
  --mention-token-border: #e4e4e7;
  --mention-token-border-muted: #ececf1;
  --mention-token-font-size: 13px;
  --mention-token-font-weight: 480;
  --mention-token-line-height: 1.25;
  --mention-token-radius: 6px;
  --mention-token-padding-y: 1px;
  --mention-token-padding-x: 7px;
  --mention-token-avatar-size: 15px;
}
.inline-mention-pill {
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin: 0 2px;
  padding: var(--mention-token-padding-y) var(--mention-token-padding-x);
  min-height: 24px;
  box-sizing: border-box;
  border: 1px solid var(--mention-token-border);
  border-radius: var(--mention-token-radius);
  background: var(--mention-token-bg);
  color: var(--mention-token-color);
  font-size: var(--mention-token-font-size);
  line-height: var(--mention-token-line-height);
  vertical-align: middle;
  text-decoration: none;
  box-shadow: none;
  user-select: none;
}
.inline-mention-pill-avatar {
  display: none !important;
  width: 0;
  height: 0;
  border-radius: 999px;
  overflow: hidden;
}
.inline-mention-pill-avatar-image,
.inline-mention-pill-avatar-fallback {
  display: none !important;
}
.inline-mention-pill-text {
  font-weight: var(--mention-token-font-weight);
  white-space: nowrap;
  letter-spacing: 0.01em;
}
.inline-mention-pill.inline-mention-pill-display-name .inline-mention-pill-text {
  font-size: 0;
}
.inline-mention-pill.inline-mention-pill-display-name .inline-mention-pill-text::before {
  content: attr(data-display-name);
  font-size: var(--mention-token-font-size);
  font-weight: var(--mention-token-font-weight);
  line-height: var(--mention-token-line-height);
  white-space: nowrap;
  letter-spacing: 0.01em;
}
.inline-mention-pill:hover,
.comment-mention-pill:hover {
  border-color: #d4d4d8;
  background: #efeff1;
}
.mention-suggest-menu {
  position: fixed;
  z-index: 2600;
  min-width: 220px;
  max-width: min(380px, calc(100vw - 16px));
  max-height: min(280px, calc(100vh - 16px));
  overflow-y: auto;
  border: 1px solid #dbe4f0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.16);
  padding: 6px;
}
.mention-suggest-menu[hidden] {
  display: none !important;
}
.mention-suggest-item {
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: transparent;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  text-align: left;
  cursor: pointer;
}
.mention-suggest-item:hover,
.mention-suggest-item.is-active {
  background: #f1f5f9;
}
.mention-suggest-avatar {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  overflow: hidden;
  background: #e2e8f0;
  color: #334155;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.mention-suggest-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.mention-suggest-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.mention-suggest-title {
  color: #0f172a;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mention-suggest-subtitle {
  color: #64748b;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ticket-drawer-textarea {
  display: none;
}
/* Unified shadow source of truth for modal/dropdown shells */
.ui-modal-card,
.panel-menu-box,
.status-picker-menu,
.ticket-status-menu,
.status-color-palette,
.status-notice-card {
  box-shadow: var(--shadow-floating) !important;
}
.ticket-comments-section {
  border: 0;
  border-radius: 0;
  background: transparent;
  margin: 0;
  padding: 14px 0 0;
  box-sizing: border-box;
  width: 520px;
  max-width: 100%;
  position: static;
  clear: both;
  align-self: flex-start;
}
.ticket-comments-title {
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: .03em;
  padding-left: 0;
  width: 100%;
  box-sizing: border-box;
}
.ticket-comments-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: none;
  overflow: visible;
  margin-top: 10px;
  padding-left: 0;
  width: 100%;
  box-sizing: border-box;
  clear: both;
}
.ticket-comment-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 4px 0 2px;
}
.ticket-comment-card + .ticket-comment-card:not(.ticket-comment-reply-card) {
  border-top: 1px solid #e5e7eb;
  padding-top: 12px;
}
.ticket-comment-reply-card {
  border-left: 1px solid #d1d5db;
  background: transparent;
  border-radius: 0;
  padding: 4px 0 4px 10px;
}
.ticket-inline-reply {
  margin-top: 8px;
}
.ticket-inline-reply-input {
  min-height: 68px;
}
.ticket-inline-reply-actions {
  margin-top: 6px;
  gap: 6px;
}
.ticket-comment-meta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  font-size: 11.5px;
  color: #9ca3af;
  margin-bottom: 5px;
}

.ticket-comment-meta strong {
  color: #6b7280;
  font-weight: 560;
}
.ticket-comment-reply-btn {
  border: 0;
  background: transparent;
  color: #9ca3af;
  font-size: 13px;
  line-height: 1;
  width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: .25;
  transition: opacity .12s ease, color .12s ease, background .12s ease;
}
.ticket-comment-card:hover .ticket-comment-reply-btn,
.ticket-comment-reply-btn:focus-visible {
  opacity: 1;
}
.ticket-comment-reply-btn:hover {
  background: #f8fbff;
  color: #64748b;
}
.ticket-comment-menu {
  position: relative;
}
.ticket-comment-more-btn {
  width: 22px;
  height: 22px;
  min-height: 22px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #9ca3af;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: .5;
  transition: opacity .12s ease, color .12s ease, background .12s ease;
}
.ticket-comment-card:hover .ticket-comment-more-btn,
.ticket-comment-more-btn:focus-visible {
  opacity: 1;
}
.ticket-comment-more-btn:hover {
  background: #f3f4f6;
  color: #475569;
}
.ticket-comment-menu-box {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 176px;
  z-index: 220;
}
.ticket-comment-menu-box[hidden] {
  display: none !important;
}
.ticket-comment-menu-box .menu-item {
  width: 100%;
  text-align: left;
}
.ticket-comment-menu-box .menu-item + .menu-item {
  margin-top: 2px;
}
.ticket-comment-body {
  font-size: 13px;
  color: #0f172a;
  line-height: 1.45;
  white-space: pre-wrap;
  font-weight: 400;
}
.ticket-comment-body.is-deleted {
  color: #94a3b8;
  font-style: italic;
}
.comment-smart-link-chip {
  margin: 0 3px;
}
.comment-mention-pill {
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin: 0 2px;
  padding: var(--mention-token-padding-y) var(--mention-token-padding-x);
  min-height: 24px;
  box-sizing: border-box;
  border: 1px solid var(--mention-token-border);
  border-radius: var(--mention-token-radius);
  background: var(--mention-token-bg);
  color: var(--mention-token-color);
  font-size: var(--mention-token-font-size);
  line-height: var(--mention-token-line-height);
  font-weight: var(--mention-token-font-weight);
  vertical-align: middle;
  text-decoration: none;
  max-width: 100%;
}
.comment-mention-pill-avatar {
  display: none !important;
  width: 0;
  height: 0;
  border-radius: 999px;
  overflow: hidden;
}
.comment-mention-pill-avatar-image,
.comment-mention-pill-avatar-fallback {
  display: none !important;
}
.comment-mention-pill-text {
  white-space: nowrap;
}
.comment-mention-pill.is-inactive {
  border-color: var(--mention-token-border-muted);
  background: var(--mention-token-bg-muted);
  color: var(--mention-token-color-muted);
  font-weight: 500;
}
.ticket-comment-form {
  display: block;
  margin-top: 10px;
  padding-left: 0;
  width: 100%;
  box-sizing: border-box;
}
.ticket-comment-replying {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  color: #64748b;
  background: #f8fbff;
  border: 1px solid #d6e0ee;
  border-radius: 8px;
  padding: 6px 8px;
  margin-bottom: 8px;
}
.ticket-comment-replying button {
  border: 0;
  background: transparent;
  color: #475569;
  font-size: 12px;
}
.ticket-comment-input {
  width: 100%;
  min-height: 84px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 11px;
  font-size: 13px;
  line-height: 1.45;
  background: #fff;
}
.ticket-comment-empty {
  color: #94a3b8;
  font-size: 13px;
}
.ticket-comment-form .ticket-drawer-actions {
  justify-content: flex-end;
  margin-top: 8px;
}
.ticket-comment-form .btn-minimal {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: #475569;
  font-weight: 600;
  min-height: 31px;
  padding: 0 12px;
}
.ticket-comment-form .btn-minimal:hover {
  background: #f8fbff;
  border-color: #9fb3cc;
}
.ticket-drawer-actions {
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 900px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .sidebar-scroll-shell {
    flex: 1 1 auto;
    min-height: auto;
    margin-right: 0;
  }
  .sidebar-scroll-shell::before,
  .sidebar-scroll-shell::after {
    display: none;
  }
  .sidebar-scroll-area {
    min-height: auto;
    height: auto;
    overflow: visible;
    margin-right: 0;
    padding-right: 0;
    padding-bottom: 0;
  }
  body.sidebar-menu-open .sidebar-scroll-area {
    padding-right: 0;
  }
  .main {
    grid-column: 1;
    padding: 14px;
  }
  .inbox-page {
    max-width: 100%;
    gap: 10px;
  }
  .inbox-shell-card {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
  }
  .inbox-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    position: sticky;
    top: 0;
    z-index: 4;
    background: var(--panel);
    padding-bottom: 6px;
  }
  .inbox-filter-group {
    width: 100%;
  }
  .inbox-filter-btn {
    flex: 1 1 0;
    min-height: 34px;
    text-align: center;
  }
  .inbox-mark-all-btn {
    width: 100%;
    min-height: 34px;
  }
  .inbox-card {
    border-radius: 9px;
    padding: 10px;
  }
  .inbox-card-meta {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
  .inbox-card-actions {
    width: auto;
    gap: 0;
  }
  .inbox-open-icon {
    width: 30px;
    height: 30px;
  }

  .login-shell--system {
    padding: 16px;
  }
  .login-wrap--system {
    max-width: 100%;
  }

  .ticket-drawer {
    width: 100vw;
    min-width: 0;
    max-width: 100vw;
    border-left: 0;
    border-radius: 0;
    padding: 12px;
  }

  .ticket-drawer-header,
  .ticket-drawer-form,
  .ticket-comments-section,
  .ticket-meta-unified,
  .ticket-drawer-content {
    max-width: 100%;
  }

  .ticket-comments-section {
    padding-left: 0;
    padding-right: 0;
    margin: 0;
    width: 100%;
  }

  .ticket-meta-unified {
    margin: 0;
    width: 100%;
  }

  .ticket-drawer-content {
    margin: 0;
    width: 100%;
  }

  .ticket-block-inserter {
    width: 100%;
    margin-left: 0;
  }
  .ticket-block-builder {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .ticket-block-rail {
    justify-content: flex-start;
    padding-top: 0;
  }
  .ticket-block-card {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 6px;
  }
  /* mobile keeps same hover/focus behavior as desktop */

  .ticket-block-menu {
    left: 0;
    right: auto;
  }

  #ticket-detail-due-date,
  .ticket-status-picker-inline {
    max-width: 100%;
    width: 100%;
    margin-left: 0;
  }

  .ticket-comments-title,
  .ticket-comments-list,
  .ticket-comment-form {
    margin-left: 0;
    padding-left: 0;
    width: 100%;
    max-width: 100%;
  }

  .ticket-comment-input {
    max-width: 100%;
  }
  /* add-column icon removed; using right rail */
}
.inbox-work-surface {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 14px;
}

.inbox-work-list {
  min-width: 0;
}

.inbox-detail {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  padding: 12px;
  min-height: 180px;
}

.inbox-detail-empty,
.inbox-detail-meta,
.inbox-detail-summary,
.inbox-detail-changes {
  margin: 0;
  color: var(--muted);
}

.inbox-detail-card {
  display: grid;
  gap: 10px;
}

.inbox-detail-title {
  margin: 0;
  color: var(--text);
  font-weight: 600;
}

.inbox-detail-meta {
  margin-top: 3px;
  font-size: 12px;
}

.inbox-detail-summary {
  color: var(--text);
  line-height: 1.45;
}

.inbox-detail-changes {
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.inbox-detail-open {
  justify-self: start;
}

.inbox-detail-edit {
  display: grid;
  gap: 8px;
}

.inbox-detail-edit-row {
  display: grid;
  gap: 4px;
}

.inbox-detail-edit-label {
  font-size: 12px;
  color: var(--muted);
}

.inbox-detail-edit-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.inbox-detail-edit-input {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--text);
  padding: 0 10px;
}

.inbox-detail-edit-submit {
  min-height: 34px;
}

.inbox-detail-comment {
  display: grid;
  gap: 8px;
}

.inbox-detail-comment-input {
  width: 100%;
  min-height: 76px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--text);
  padding: 8px 10px;
}

.inbox-detail-comment-actions {
  display: flex;
  justify-content: flex-end;
}

.inbox-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.inbox-card.is-selected {
  outline: 1px solid var(--line);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--line) 30%, transparent);
}

@media (max-width: 1100px) {
  .inbox-work-surface {
    grid-template-columns: 1fr;
  }

  .inbox-detail {
    order: -1;
  }

  .inbox-detail-edit-control {
    grid-template-columns: 1fr;
  }
}

/* cache bust 1771531100 */
