:root {
  color-scheme: light;
  --primary: #155fe4;
  --primary-soft: #eaf1ff;
  --promotionscockpit-blue: #004899;
  --deep-navy: #00305b;
  --rule-blue: #d8e4f3;
  --trace: #b971ac;
  --trace-soft: rgba(185, 113, 172, 0.12);
  --maps: #a6d9e2;
  --maps-soft: rgba(166, 217, 226, 0.18);
  --paths: #f08338;
  --paths-soft: rgba(240, 131, 56, 0.12);
  --study-trace: var(--trace);
  --study-maps: var(--maps);
  --study-paths: var(--paths);
  --sidebar-bg: #062f75;
  --background: #f6f8fc;
  --surface: #ffffff;
  --surface-muted: #f8faff;
  --border: #dce3f5;
  --border-strong: #b8c7e8;
  --text: #17275f;
  --text-secondary: #334155;
  --muted: #64748b;
  --blocked: #dc2626;
  --blocked-soft: #fff4f4;
  --attention: #b7791f;
  --attention-soft: #fff8eb;
  --open: #4f6b8a;
  --open-soft: #eef4fb;
  --ready: #16834a;
  --ready-soft: #eaf8ef;
  --orange: #ff7f3f;
  --shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
  --sidebar-width: 248px;
  --sidebar-collapsed-width: 76px;
  --topbar-height: 64px;
  --radius: 8px;
  --font-family: Inter, "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background: var(--background);
  font-family: var(--font-family);
  letter-spacing: 0;
}

button {
  color: inherit;
  font: inherit;
}

a {
  color: var(--primary);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

h1,
h2,
h3,
p {
  margin-top: 0;
  letter-spacing: 0;
}

p,
button,
summary,
blockquote {
  overflow-wrap: anywhere;
}

.promotionscockpit-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  transition: grid-template-columns 0.18s ease;
}

.app-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 18px 12px 14px;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(13, 62, 149, 0.94), rgba(5, 33, 92, 0.98)),
    var(--sidebar-bg);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  transition: width 0.18s ease, padding 0.18s ease, box-shadow 0.18s ease;
  z-index: 40;
}

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

.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 48px;
  flex: 1 1 auto;
  padding: 0 4px 12px 8px;
  color: #fff;
  text-decoration: none;
}

.brand-mark {
  position: relative;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
}

.brand-mark span {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 5px;
  transform: rotate(45deg);
}

.brand-mark span:nth-child(1) {
  top: 2px;
  left: 6px;
  background: #45a1ff;
}

.brand-mark span:nth-child(2) {
  top: 14px;
  left: 18px;
  background: var(--orange);
}

.brand-mark span:nth-child(3) {
  top: 26px;
  left: 6px;
  background: #e8f1ff;
}

.sidebar-brand strong,
.sidebar-brand span,
.brand-copy {
  display: block;
}

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

.sidebar-brand strong {
  font-size: 1.1rem;
}

.sidebar-brand span {
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.78rem;
  font-weight: 700;
}

.sidebar-nav {
  display: grid;
  gap: 0;
  margin-top: 10px;
}

.sidebar-section {
  --section-accent: #7ab7ff;
  --section-surface: rgba(122, 183, 255, 0.1);
  --section-hover: rgba(122, 183, 255, 0.18);
  display: grid;
  gap: 6px;
  padding: 0 0 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.sidebar-section + .sidebar-section {
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.sidebar-section-overview {
  --section-accent: #7ab7ff;
  --section-surface: rgba(122, 183, 255, 0.12);
  --section-hover: rgba(122, 183, 255, 0.22);
}

.sidebar-section-trace {
  --section-accent: #b971ac;
  --section-surface: rgba(185, 113, 172, 0.13);
  --section-hover: rgba(185, 113, 172, 0.22);
}

.sidebar-section-maps {
  --section-accent: #a6d9e2;
  --section-surface: rgba(166, 217, 226, 0.14);
  --section-hover: rgba(166, 217, 226, 0.24);
}

.sidebar-section-paths {
  --section-accent: #f08338;
  --section-surface: rgba(240, 131, 56, 0.13);
  --section-hover: rgba(240, 131, 56, 0.22);
}

.sidebar-section-studies {
  --section-accent: #58d68d;
  --section-surface: rgba(88, 214, 141, 0.12);
  --section-hover: rgba(88, 214, 141, 0.2);
}

.sidebar-section-kairos {
  --section-accent: #f39c12;
  --section-surface: rgba(243, 156, 18, 0.13);
  --section-hover: rgba(243, 156, 18, 0.22);
}

.sidebar-section-label {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 0 8px;
  border: 0;
  color: rgba(255, 255, 255, 0.82);
  background: transparent;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
}

.sidebar-section-label::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--section-accent);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.08);
}

.sidebar-section-label:hover,
.sidebar-section-label:focus-visible {
  color: #fff;
  outline: none;
}

.sidebar-section-label-text {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-section-caret {
  width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  color: rgba(255, 255, 255, 0.72);
  transition: transform 0.16s ease, color 0.16s ease;
}

.sidebar-section-caret::before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translate(-1px, -1px);
}

.sidebar-section.is-collapsed .sidebar-section-caret {
  transform: rotate(-90deg);
}

.sidebar-section-label:hover .sidebar-section-caret,
.sidebar-section-label:focus-visible .sidebar-section-caret {
  color: #fff;
}

.sidebar-section-panel {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.sidebar-section.is-collapsed .sidebar-section-panel {
  display: none;
}

.nav-item {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: 0;
  border-radius: var(--radius);
  color: rgba(255, 255, 255, 0.76);
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.nav-item:hover,
.nav-item.is-active {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
}

.sidebar-section .nav-item:hover,
.sidebar-section .nav-item.is-active {
  background: var(--section-hover);
}

.nav-item.is-active {
  box-shadow: inset 3px 0 0 #7ab7ff;
}

.sidebar-section .nav-item.is-active {
  box-shadow: inset 3px 0 0 var(--section-accent);
}

.nav-icon {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  opacity: 0.86;
}

.nav-icon svg,
.app-icon,
.view-header-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.nav-label {
  min-width: 0;
}

.nav-icon-today {
  border-radius: 50%;
}

.nav-icon-studies {
  border-radius: 4px;
}

.nav-icon-recruitment {
  position: relative;
  border-radius: 4px;
}

.nav-icon-recruitment::before,
.nav-icon-recruitment::after {
  content: "";
  position: absolute;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: var(--sidebar-bg);
}

.nav-icon-recruitment::before {
  width: 7px;
  height: 7px;
  top: -5px;
  right: -5px;
}

.nav-icon-recruitment::after {
  width: 5px;
  height: 5px;
  right: -4px;
  bottom: -4px;
}

.nav-icon-writing {
  border-radius: 3px;
  border-top-width: 6px;
}

.nav-icon-literature {
  position: relative;
  border-radius: 3px;
  border-left-width: 6px;
}

.nav-icon-literature::after {
  content: "";
  position: absolute;
  top: 4px;
  right: 3px;
  left: 3px;
  height: 2px;
  background: currentColor;
  box-shadow: 0 5px 0 currentColor;
}

.nav-icon-documents {
  position: relative;
  border-radius: 3px;
}

.nav-icon-documents::after {
  content: "";
  position: absolute;
  right: 2px;
  bottom: 3px;
  left: 2px;
  height: 2px;
  background: currentColor;
  box-shadow: 0 -5px 0 currentColor;
}

.nav-icon-planning {
  border-radius: 50% 50% 4px 4px;
}

.nav-icon-kairos {
  position: relative;
  border-radius: 50%;
}

.nav-icon-kairos::before,
.nav-icon-kairos::after {
  content: "";
  position: absolute;
  background: currentColor;
  transform-origin: 50% 100%;
}

.nav-icon-kairos::before {
  width: 2px;
  height: 6px;
  top: 3px;
  left: 6px;
}

.nav-icon-kairos::after {
  width: 2px;
  height: 5px;
  top: 5px;
  left: 9px;
  transform: rotate(48deg);
}

.nav-icon-map {
  position: relative;
  border-radius: 50% 50% 50% 2px;
  transform: rotate(-45deg);
}

.nav-icon-map::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.nav-icon-personas {
  position: relative;
  border-radius: 50%;
}

.nav-icon-personas::before,
.nav-icon-personas::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: currentColor;
}

.nav-icon-personas::before {
  top: 3px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
}

.nav-icon-personas::after {
  right: 3px;
  bottom: 3px;
  left: 3px;
  height: 5px;
  border-radius: 7px 7px 3px 3px;
}

.sidebar-footer {
  display: grid;
  align-items: end;
  justify-items: stretch;
  gap: 8px;
  margin-top: auto;
}

.sidebar-profile {
  width: 100%;
  min-width: 0;
  flex: 0 0 auto;
  justify-self: stretch;
  justify-content: flex-start;
  margin-top: 0;
  min-height: 58px;
  padding: 7px 8px;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.08);
}

.sidebar-profile:hover,
.sidebar-profile.is-active {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.13);
  box-shadow: inset 3px 0 0 rgba(255, 255, 255, 0.28);
}

.sidebar-profile:hover .profile-avatar,
.sidebar-profile.is-active .profile-avatar {
  border-color: rgba(255, 255, 255, 0.52);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.14);
}

.profile-avatar {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #45a1ff, var(--orange));
  font-size: 0.86rem;
  font-weight: 900;
  overflow: hidden;
}

.profile-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: inherit;
}

.sidebar-profile-avatar {
  width: 42px;
  height: 42px;
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.14);
}

.sidebar-profile-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
  line-height: 1.1;
}

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

.sidebar-profile-copy strong {
  color: #fff;
  font-size: 0.86rem;
  font-weight: 900;
}

.sidebar-profile-copy span {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.72rem;
  font-weight: 760;
}

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

.topbar {
  position: sticky;
  top: 0;
  min-height: var(--topbar-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 24px;
  border-bottom: 1px solid rgba(220, 227, 245, 0.88);
  background: rgba(246, 248, 252, 0.94);
  backdrop-filter: blur(18px);
  z-index: 30;
}

.topbar-title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.view-header-icon {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(21, 95, 228, 0.18);
  border-radius: var(--radius);
  color: var(--primary);
  background: var(--primary-soft);
}

.topbar-heading {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.topbar-title h1 {
  margin: 0;
  font-size: 1.18rem;
}

.topbar-title span,
.timestamp,
.subtle,
.meta-line {
  color: var(--muted);
  font-size: 0.8rem;
}

.promotionscockpit-controls {
  padding: 12px 32px 0;
}

.controls-stack {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, 1fr) auto;
  gap: 10px 12px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.profile-top-tabs {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  padding-top: 8px;
  border-top: 1px solid rgba(26, 37, 89, 0.08);
}

.profile-top-tabs[hidden] {
  display: none;
}

.profile-top-tabs .detail-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}

.profile-top-tabs .detail-tabs::-webkit-scrollbar {
  display: none;
}

.profile-top-tabs .detail-tab {
  min-height: 44px;
  min-width: 92px;
  flex: 0 0 auto;
  padding: 0 20px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface-muted);
  font-size: 0.84rem;
  font-weight: 900;
  cursor: pointer;
}

.profile-top-tabs .detail-tab:hover,
.profile-top-tabs .detail-tab:focus-visible,
.profile-top-tabs .detail-tab.is-active {
  border-color: rgba(21, 95, 228, 0.24);
  color: var(--primary);
  background: var(--primary-soft);
  outline: none;
}

.search-shell {
  min-width: 0;
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px 0 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.search-shell:focus-within {
  border-color: rgba(21, 95, 228, 0.48);
  box-shadow: 0 0 0 3px rgba(21, 95, 228, 0.11);
}

.search-shell svg,
.filter-panel-button svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  color: var(--muted);
}

.search-input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: var(--text);
  background: transparent;
  font: inherit;
  font-weight: 700;
}

.search-input::placeholder {
  color: #7a8aa4;
}

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

.active-filter-row {
  min-width: 0;
}

.active-filter-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  max-width: 420px;
}

.active-filter-chip {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--text-secondary);
  background: var(--surface-muted);
  font-size: 0.76rem;
  font-weight: 800;
  cursor: pointer;
}

.active-filter-chip:hover,
.active-filter-chip:focus-visible {
  color: var(--primary);
  border-color: rgba(21, 95, 228, 0.28);
  outline: none;
}

.active-filter-chip strong {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1;
}

.filter-results {
  min-width: max-content;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.sidebar-collapse-toggle {
  width: 100%;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 0 0 auto;
  margin-top: 0;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius);
  color: rgba(255, 255, 255, 0.84);
  background: rgba(255, 255, 255, 0.09);
  box-shadow: 0 12px 28px rgba(2, 15, 45, 0.16);
  font-size: 0.78rem;
  font-weight: 900;
  cursor: pointer;
}

.sidebar-collapse-toggle:hover,
.sidebar-collapse-toggle:focus-visible {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.15);
  outline: none;
}

.sidebar-collapse-toggle .nav-icon {
  width: 17px;
  height: 17px;
}

.sidebar-collapse-label {
  line-height: 1;
  white-space: nowrap;
}

.filter-reset {
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  color: var(--primary);
  background: transparent;
  font-size: 0.78rem;
  font-weight: 900;
  cursor: pointer;
}

.filter-reset:hover,
.filter-reset:focus-visible {
  background: var(--primary-soft);
  outline: none;
}

.filter-shell {
  position: relative;
}

.filter-panel-button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--surface);
  font-weight: 900;
  cursor: pointer;
}

.filter-panel-button:hover,
.filter-panel-button:focus-visible,
.filter-panel-button[aria-expanded="true"] {
  border-color: rgba(21, 95, 228, 0.36);
  background: var(--primary-soft);
  outline: none;
}

.filter-panel-button__label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.filter-panel-button__badge {
  min-width: 20px;
  min-height: 20px;
  display: inline-grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  color: var(--primary);
  background: #fff;
  font-size: 0.7rem;
  line-height: 1;
}

.filter-panel-button__caret {
  color: var(--muted);
  font-size: 0.8rem;
}

.filter-panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(360px, calc(100vw - var(--sidebar-width) - 64px));
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.16);
  z-index: 45;
}

.filter-panel[hidden] {
  display: none;
}

.filter-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}

.filter-panel-title {
  margin: 0 0 3px;
  font-size: 0.94rem;
}

.filter-panel-head p {
  margin: 0;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

.filter-panel-body,
.filter-group,
.filter-option-list {
  display: grid;
  gap: 8px;
}

.filter-group h4 {
  margin: 0;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.filter-option {
  width: 100%;
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-secondary);
  background: var(--surface);
  text-align: left;
  cursor: pointer;
}

.filter-option:hover,
.filter-option:focus-visible {
  color: var(--primary);
  border-color: rgba(21, 95, 228, 0.3);
  background: var(--primary-soft);
  outline: none;
}

.filter-option.is-active {
  color: var(--text);
  border-color: rgba(21, 95, 228, 0.34);
  background: var(--primary-soft);
  box-shadow: inset 3px 0 0 var(--primary);
}

.filter-option span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 850;
}

.filter-option strong {
  color: var(--muted);
  font-size: 0.72rem;
}

.topbar-actions,
.card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.view-shell {
  width: 100%;
  max-width: none;
  padding: 24px 32px 34px;
}

.view {
  display: none;
}

.view.is-active {
  display: block;
}

body[data-view="kairos"] .promotionscockpit-controls {
  display: none;
}

body[data-view="literatureStats"] .promotionscockpit-controls {
  display: none;
}

body[data-view="kairos"] .view-shell {
  padding: clamp(8px, 0.8vw, 16px);
}

#view-kairos.is-active {
  display: grid;
  place-items: start stretch;
}

#kairosTimeline {
  width: 100%;
  min-width: 0;
}

.hero-card,
.decision-card,
.micro-row,
.milestone,
.quiet-shelf,
.shelf-card,
.study-detail-panel,
.archive-section,
.archive-row,
.profile-placeholder,
.kairos-frame,
.error-card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}

.hero-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 20px;
  border-left-width: 5px;
  box-shadow: var(--shadow);
}

.profile-placeholder {
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 720px;
  padding: 18px;
  box-shadow: var(--shadow);
}

.profile-avatar-large {
  width: 58px;
  height: 58px;
  color: #fff;
  font-size: 1rem;
}

.profile-placeholder h2 {
  margin: 4px 0 7px;
  font-size: 1.28rem;
}

.profile-placeholder p {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.42;
}

.today-tabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 100%;
  margin-bottom: 12px;
  padding: 5px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.today-tabs[hidden] {
  display: none;
}

.today-tab {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--muted);
  background: transparent;
  font-weight: 900;
  cursor: pointer;
}

.today-tab:hover,
.today-tab:focus-visible {
  color: var(--primary);
  background: var(--primary-soft);
  outline: none;
}

.today-tab.is-active {
  color: var(--text);
  border-color: var(--border);
  background: var(--surface-muted);
}

.today-tab strong {
  min-width: 22px;
  min-height: 20px;
  display: inline-grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  color: var(--primary);
  background: #fff;
  font-size: 0.7rem;
  line-height: 1;
}

.work-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.work-list-head h2 {
  margin: 4px 0 0;
  font-size: 1.28rem;
  line-height: 1.2;
}

.work-summary {
  display: flex;
  align-items: stretch;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.work-summary span {
  min-width: 92px;
  display: grid;
  gap: 2px;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 7px;
  color: var(--muted);
  background: var(--surface-muted);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.work-summary strong {
  color: var(--text);
  font-size: 1.05rem;
  line-height: 1;
  letter-spacing: 0;
}

.today-focus-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border: 1px solid rgba(21, 95, 228, 0.18);
  border-left: 5px solid var(--primary);
  border-radius: calc(var(--radius) + 2px);
  background:
    linear-gradient(135deg, rgba(21, 95, 228, 0.11), rgba(255, 255, 255, 0) 42%),
    var(--surface);
  box-shadow: var(--shadow);
}

.today-focus-panel.status-blocked {
  border-left-color: var(--blocked);
}

.today-focus-main,
.today-focus-action,
.today-focus-side {
  min-width: 0;
}

.today-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.today-focus-main h2 {
  margin: 11px 0 7px;
  color: var(--text);
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.1;
}

.today-focus-main p {
  max-width: 680px;
  margin: 0;
  color: var(--text-secondary);
  font-size: 1rem;
  line-height: 1.4;
}

.today-focus-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 14px;
}

.today-focus-chips span,
.work-target-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  max-width: 100%;
  padding: 5px 9px;
  border: 1px solid rgba(21, 95, 228, 0.16);
  border-radius: 999px;
  color: var(--text-secondary);
  background: rgba(239, 246, 255, 0.85);
  font-size: 0.76rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.today-focus-action {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 15px;
  border: 1px solid rgba(21, 95, 228, 0.16);
  border-radius: var(--radius);
  background: #fff;
}

.today-focus-action span,
.work-action-strip span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.today-focus-action strong {
  color: var(--text);
  font-size: 1.05rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.today-focus-side {
  display: grid;
  grid-auto-rows: 1fr;
  gap: 7px;
  min-width: 108px;
}

.today-focus-side span {
  display: grid;
  align-content: center;
  gap: 1px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 7px;
  color: var(--muted);
  background: var(--surface-muted);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.today-focus-side strong {
  color: var(--text);
  font-size: 1.05rem;
  line-height: 1;
  letter-spacing: 0;
}

.hero-card h2 {
  margin-bottom: 8px;
  font-size: 1.55rem;
  line-height: 1.12;
}

.hero-card p,
.decision-card p,
.micro-row em,
.milestone p,
.shelf-card p,
.archive-row span {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.42;
}

.primary-button,
.text-button {
  min-height: 34px;
  border-radius: var(--radius);
  font-weight: 900;
  cursor: pointer;
}

.primary-button {
  max-width: 260px;
  padding: 9px 12px;
  border: 0;
  color: #fff;
  background: var(--primary);
  text-align: left;
}

.text-button {
  padding: 7px 10px;
  border: 1px solid var(--border-strong);
  color: var(--primary);
  background: var(--primary-soft);
}

.micro-status {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.today-step-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.work-item {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-top-width: 4px;
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.work-rank {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  margin-top: 2px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--text-secondary);
  background: var(--surface-muted);
  font-size: 0.78rem;
  font-weight: 900;
}

.work-item-body {
  min-width: 0;
}

.work-item-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.work-item h3 {
  margin: 9px 0 5px;
  font-size: 0.98rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.work-item p {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.work-action-strip {
  display: grid;
  gap: 3px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}

.work-action-strip strong {
  color: var(--text);
  font-size: 0.91rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.work-target-pill {
  margin-top: 10px;
}

.start-hero {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid rgba(21, 95, 228, 0.16);
  border-left: 5px solid var(--primary);
  border-radius: calc(var(--radius) + 2px);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.start-hero h2 {
  margin: 0;
  color: var(--text);
  font-size: 1.65rem;
  line-height: 1.12;
}

.start-hero p {
  max-width: 780px;
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.45;
}

.start-study-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.start-study-card {
  min-width: 0;
}

.start-study-card--trace {
  --start-study-accent: var(--trace);
  --start-study-accent-soft: var(--trace-soft);
  --start-study-accent-text: #8b4f83;
}

.start-study-card--maps {
  --start-study-accent: var(--maps);
  --start-study-accent-soft: var(--maps-soft);
  --start-study-accent-text: #327886;
}

.start-study-card--paths {
  --start-study-accent: var(--paths);
  --start-study-accent-soft: var(--paths-soft);
  --start-study-accent-text: #a2511c;
}

.start-study-button {
  width: 100%;
  height: 100%;
  min-height: 300px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--border);
  border-top: 5px solid var(--primary);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--surface);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
  text-align: left;
  cursor: pointer;
}

.start-study-button:hover,
.start-study-button:focus-visible {
  border-color: var(--start-study-accent, rgba(21, 95, 228, 0.34));
  background: var(--start-study-accent-soft, var(--primary-soft));
  outline: none;
}

.start-study-card.status-ready .start-study-button {
  border-top-color: var(--start-study-accent, var(--ready));
}

.start-study-card.status-attention .start-study-button {
  border-top-color: var(--start-study-accent, var(--attention));
}

.start-study-card.status-open .start-study-button {
  border-top-color: var(--start-study-accent, var(--open));
}

.start-study-logo-wrap {
  display: grid;
  place-items: center;
  min-height: 170px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}

.start-study-logo-surface {
  min-width: 0;
  min-height: 94px;
  display: grid;
  place-items: center;
}

.start-study-logo {
  display: block;
  width: 100%;
  max-height: 128px;
  object-fit: contain;
}

.start-study-fallback {
  color: var(--primary);
  font-size: 1.8rem;
  font-weight: 950;
}

.start-study-copy {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.start-study-copy strong {
  color: var(--text);
  font-size: 1rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.start-study-copy > span:last-child {
  color: var(--muted);
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.start-study-progress {
  min-width: 0;
  align-self: end;
  display: grid;
  gap: 6px;
}

.start-study-progress-track {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--start-study-accent) 16%, #ffffff);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--start-study-accent) 20%, transparent);
}

.start-study-progress-track span {
  display: block;
  width: var(--start-study-progress, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--start-study-accent), color-mix(in srgb, var(--start-study-accent) 78%, #ffffff));
}

.start-study-progress-label {
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 850;
  line-height: 1.15;
}

.start-study-progress-label span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.start-study-progress-label strong {
  flex: 0 0 auto;
  color: var(--start-study-accent-text, var(--primary));
  font-size: 0.7rem;
  font-weight: 950;
}

.start-study-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}

.start-dashboard {
  --start-visual-height: clamp(250px, 25vw, 340px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 14px;
}

.start-dashboard-column {
  min-width: 0;
  display: grid;
  gap: 10px;
  align-self: stretch;
}

.start-dashboard-panel {
  min-width: 0;
  height: 100%;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--border);
  border-top: 4px solid var(--start-panel-accent, var(--primary));
  border-radius: calc(var(--radius) + 1px);
  background: linear-gradient(180deg, #fff 0%, var(--surface) 100%);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.start-dashboard-panel--studies {
  grid-column: 1 / -1;
  --start-panel-accent: var(--primary);
  --start-panel-accent-text: var(--primary);
  height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.start-dashboard-panel--literature {
  height: auto;
  --start-panel-accent: var(--primary);
  --start-panel-accent-text: var(--primary);
}

.start-dashboard-column--literature {
  grid-column: 1 / -1;
}

.start-dashboard-panel--map {
  --start-panel-accent: var(--trace);
  --start-panel-accent-text: #8b4f83;
}

.start-dashboard-panel--study-slot {
  grid-template-rows: auto auto auto;
  align-content: start;
}

.start-dashboard-panel--maps-slot {
  --start-panel-accent: var(--maps);
  --start-panel-accent-text: #327886;
  --start-slot-soft: var(--maps-soft);
}

.start-dashboard-panel--paths-slot {
  --start-panel-accent: var(--paths);
  --start-panel-accent-text: #a2511c;
  --start-slot-soft: var(--paths-soft);
}

.start-study-slot-body {
  width: 100%;
  height: var(--start-visual-height);
  min-height: 0;
  margin: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: clamp(10px, 1.2vw, 18px);
  border: 1px solid rgba(216, 228, 243, 0.9);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(255, 255, 255, 0.9)),
    var(--start-slot-soft, var(--surface-muted));
}

button.start-study-slot-body {
  appearance: none;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: inherit;
}

button.start-study-slot-body:hover,
button.start-study-slot-body:focus-visible {
  border-color: color-mix(in srgb, var(--start-panel-accent) 42%, var(--border));
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.09);
}

button.start-study-slot-body:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--start-panel-accent) 34%, #ffffff);
  outline-offset: 2px;
}

.start-study-slot-graphic {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  object-position: center;
  border-radius: calc(var(--radius) - 2px);
}

.start-dashboard-panel-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 52px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}

.start-dashboard-panel-head--action-only {
  justify-content: flex-end;
}

.start-dashboard-panel-foot {
  display: flex;
  justify-content: flex-end;
}

.start-dashboard-panel-head .eyebrow {
  color: var(--start-panel-accent-text, var(--primary));
}

.start-dashboard-panel-head h3 {
  margin: 0;
  color: var(--text);
  font-size: 1.05rem;
  line-height: 1.18;
}

.start-dashboard-action {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 9px;
  border: 1px solid rgba(21, 95, 228, 0.18);
  border-radius: 7px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.76rem;
  font-weight: 900;
  cursor: pointer;
}

.start-dashboard-action:hover,
.start-dashboard-action:focus-visible {
  border-color: rgba(21, 95, 228, 0.38);
  background: #dbeafe;
  outline: none;
}

.start-dashboard-action-icon {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

.start-study-stack {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: start;
  gap: 14px;
}

.start-dashboard .start-study-button {
  min-height: 226px;
  height: auto;
  grid-template-columns: 1fr;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  padding: 12px;
  border-top: 4px solid var(--start-study-accent, var(--primary));
  border-left-width: 1px;
  border-radius: 8px;
  box-shadow: none;
}

.start-dashboard .start-study-card.status-ready .start-study-button {
  border-top-color: var(--start-study-accent, var(--ready));
}

.start-dashboard .start-study-card.status-attention .start-study-button {
  border-top-color: var(--start-study-accent, var(--attention));
}

.start-dashboard .start-study-card.status-open .start-study-button {
  border-top-color: var(--start-study-accent, var(--open));
}

.start-dashboard .start-study-logo-wrap {
  min-height: 118px;
  padding: 10px;
  border-color: var(--start-study-accent-soft, rgba(21, 95, 228, 0.16));
  background: linear-gradient(180deg, #fff 0%, var(--start-study-accent-soft, #f8fbff) 100%);
}

.start-dashboard .start-study-logo-surface {
  min-height: 96px;
}

.start-dashboard .start-study-logo {
  width: 100%;
  max-height: 96px;
  object-position: center;
}

.start-dashboard .start-study-copy {
  align-content: start;
  gap: 8px;
}

.start-dashboard .start-study-copy strong {
  display: -webkit-box;
  overflow: hidden;
  font-size: 1.16rem;
  line-height: 1.12;
  overflow-wrap: normal;
  hyphens: auto;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.start-dashboard .start-study-copy > span:last-child {
  display: -webkit-box;
  overflow: hidden;
  color: var(--muted);
  font-size: 0.82rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.start-dashboard .start-study-meta {
  align-self: end;
  justify-content: flex-start;
}

.study-overview-page {
  --study-overview-accent: var(--primary);
  --study-overview-accent-soft: var(--primary-soft);
  min-width: 0;
  display: grid;
  gap: 14px;
}

.study-overview-page.start-study-card--trace {
  --study-overview-accent: var(--trace);
  --study-overview-accent-soft: var(--trace-soft);
}

.study-overview-page.start-study-card--maps {
  --study-overview-accent: var(--maps);
  --study-overview-accent-soft: var(--maps-soft);
}

.study-overview-page.start-study-card--paths {
  --study-overview-accent: var(--paths);
  --study-overview-accent-soft: var(--paths-soft);
}

.study-overview-feature {
  min-width: 0;
}

.study-overview-feature .start-study-card {
  width: 100%;
}

.study-overview-feature .start-study-button {
  min-height: 260px;
  grid-template-columns: minmax(280px, 0.38fr) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 18px;
  border-top-color: var(--study-overview-accent);
}

.study-overview-feature .start-study-logo-wrap {
  grid-row: 1 / 3;
  min-height: 220px;
  border-color: color-mix(in srgb, var(--study-overview-accent) 18%, var(--border));
  background: linear-gradient(180deg, #fff 0%, var(--study-overview-accent-soft) 100%);
}

.study-overview-feature .start-study-logo-surface {
  min-height: 168px;
}

.study-overview-feature .start-study-logo {
  max-height: 156px;
}

.study-overview-feature .start-study-copy {
  align-self: center;
  gap: 9px;
}

.study-overview-feature .start-study-copy strong {
  font-size: 1.55rem;
  line-height: 1.08;
}

.study-overview-feature .start-study-copy > span:last-child {
  max-width: 720px;
  font-size: 0.94rem;
}

.study-overview-feature .start-study-progress {
  align-self: end;
}

.study-overview-card-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.study-overview-info-card {
  min-width: 0;
  min-height: 226px;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--border);
  border-top: 4px solid var(--study-overview-accent);
  border-radius: calc(var(--radius) + 1px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.94)),
    var(--study-overview-accent-soft);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.study-overview-info-head {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.study-overview-info-head span {
  color: color-mix(in srgb, var(--study-overview-accent) 72%, var(--text));
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.15;
  text-transform: uppercase;
}

.study-overview-info-head strong {
  color: var(--text);
  font-size: 1rem;
  line-height: 1.15;
}

.study-overview-info-card p {
  margin: 0;
  color: var(--text);
  font-size: 0.88rem;
  font-weight: 760;
  line-height: 1.35;
}

.study-overview-info-list {
  min-width: 0;
  display: grid;
  gap: 8px;
  margin: 0;
}

.study-overview-info-list div {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding-left: 10px;
  border-left: 3px solid color-mix(in srgb, var(--study-overview-accent) 62%, var(--border));
}

.study-overview-info-list dt {
  color: color-mix(in srgb, var(--study-overview-accent) 70%, var(--text));
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.15;
}

.study-overview-info-list dd {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 760;
  line-height: 1.25;
}

.start-zotero-banner {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  justify-items: center;
  gap: 9px;
  padding: 10px;
  border: 1px solid rgba(21, 95, 228, 0.18);
  border-radius: 8px;
  background: linear-gradient(135deg, #eef6ff 0%, #fff 68%);
}

.start-zotero-mark {
  min-width: 0;
  width: 100%;
  min-height: 64px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(21, 95, 228, 0.1), 0 8px 18px rgba(21, 95, 228, 0.12);
}

.start-zotero-logo {
  display: block;
  width: 100%;
  max-width: 210px;
  max-height: 62px;
  object-fit: contain;
}

.literature-zotero-banner {
  margin-bottom: 14px;
}

.literature-zotero-banner .start-zotero-banner {
  border-color: rgba(21, 95, 228, 0.16);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.literature-zotero-banner .start-zotero-mark {
  min-height: 78px;
}

.literature-zotero-banner .start-zotero-logo {
  max-width: 260px;
  max-height: 72px;
}

.start-zotero-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.start-zotero-copy strong {
  color: var(--text);
  font-size: 1rem;
  line-height: 1.15;
}

.start-zotero-copy span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.start-zotero-count {
  min-width: 0;
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  align-items: baseline;
  column-gap: 6px;
  justify-items: center;
  gap: 2px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.1;
}

.start-zotero-count strong {
  color: var(--primary);
  font-size: 1.3rem;
  line-height: 1;
}

.start-literature-metrics,
.trace-map-summary,
.start-study-slot-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.start-literature-metrics span,
.trace-map-summary span,
.start-study-slot-metrics span {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--surface-muted);
  color: var(--muted);
  font-size: 0.73rem;
  font-weight: 850;
  line-height: 1.2;
}

.trace-map-summary span {
  padding: 12px;
  border-color: rgba(185, 113, 172, 0.2);
  border-left: 4px solid var(--trace);
  background: #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.start-study-slot-metrics span {
  padding: 12px;
  border-color: color-mix(in srgb, var(--start-panel-accent) 24%, var(--border));
  border-left: 4px solid var(--start-panel-accent);
  background: #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.trace-map-summary span:first-child {
  border-left-color: var(--orange);
}

.start-literature-metrics strong,
.trace-map-summary strong,
.start-study-slot-metrics strong {
  color: var(--text);
  font-size: 1.2rem;
  line-height: 1;
}

.start-literature-list {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.start-literature-item {
  min-width: 0;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 10px;
  padding: 11px;
  border-bottom: 1px solid var(--border);
}

.start-literature-item:last-child {
  border-bottom: 0;
}

.start-literature-copy {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.start-literature-copy strong {
  color: var(--text);
  font-size: 0.86rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.start-literature-copy > span {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 760;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.start-literature-tags {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.trace-map-preview {
  overflow: hidden;
  display: grid;
  place-items: center;
  height: var(--start-visual-height);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #f8f3fb;
  aspect-ratio: auto;
}

.trace-mini-map {
  width: auto;
  max-width: 100%;
  height: 100%;
  aspect-ratio: 100 / 124;
  display: block;
}

.trace-mini-map-bg {
  fill: #edf4ff;
}

.trace-mini-map-state {
  fill: #fff;
  stroke: #c4d0e8;
  stroke-width: 0.35;
  vector-effect: non-scaling-stroke;
}

.trace-mini-map-outline {
  fill: none;
  stroke: #5f77a8;
  stroke-width: 0.9;
  vector-effect: non-scaling-stroke;
}

.trace-mini-map-marker {
  vector-effect: non-scaling-stroke;
}

.trace-mini-map-marker--gastro {
  fill: var(--orange);
  stroke: #fff;
  stroke-width: 0.35;
}

.trace-mini-map-marker--recruited {
  fill: #b971ac;
  stroke: #00305b;
  stroke-width: 0.55;
  paint-order: stroke fill;
}

.work-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-width: 0;
}

.evidence-task {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  padding: 13px;
  border: 1px solid var(--border);
  border-left-width: 4px;
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.evidence-task-body {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.evidence-task-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.document-badge,
.location-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface-muted);
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.1;
}

.document-badge {
  color: var(--primary);
  border-color: rgba(21, 95, 228, 0.2);
  background: var(--primary-soft);
}

.location-badge {
  color: var(--muted);
}

.evidence-claim h3 {
  margin: 5px 0 0;
  font-size: 1.02rem;
  line-height: 1.28;
}

.evidence-quote {
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.evidence-quote span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.evidence-quote p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.42;
}

.evidence-source-drawer summary {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 9px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--primary);
  background: var(--surface);
  font-size: 0.78rem;
  font-weight: 900;
  cursor: pointer;
}

.evidence-source-drawer[open] summary {
  margin-bottom: 8px;
  background: var(--primary-soft);
}

.persona-grid {
  display: grid;
  gap: 12px;
}

.persona-org-chart {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.persona-selected-panel {
  width: 100%;
}

.persona-selected-panel .persona-detail-panel {
  border: 1px solid var(--border);
  border-left: 4px solid var(--border-strong);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.org-chart-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.org-chart-head h2 {
  margin: 3px 0 0;
  color: var(--text);
  font-size: 1.12rem;
  line-height: 1.2;
}

.org-chart-body {
  display: grid;
  justify-items: center;
  gap: 0;
}

.org-leader {
  width: min(520px, 100%);
}

.org-line {
  width: min(720px, 72%);
  height: 28px;
  border-top: 2px solid var(--border-strong);
  border-right: 2px solid var(--border-strong);
  border-left: 2px solid var(--border-strong);
  border-radius: 8px 8px 0 0;
  margin-top: 12px;
}

.org-report-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.org-node {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 9px;
  justify-items: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-top-width: 4px;
  border-radius: var(--radius);
  color: var(--text);
  background: var(--surface-muted);
  text-align: center;
}

button.org-node {
  cursor: pointer;
}

button.org-node:hover,
button.org-node:focus-visible {
  border-color: var(--primary);
  background: var(--primary-soft);
  outline: none;
}

.org-node.is-selected {
  border-color: var(--primary);
  background: var(--primary-soft);
  box-shadow: 0 14px 30px rgba(21, 95, 228, 0.14);
}

.org-node.status-blocked {
  border-top-color: var(--blocked);
}

.org-node.status-attention {
  border-top-color: var(--attention);
}

.org-node.status-open {
  border-top-color: var(--open);
}

.org-node.status-ready {
  border-top-color: var(--ready);
}

.org-node--leader {
  grid-template-columns: auto minmax(0, 1fr);
  justify-items: start;
  align-items: center;
  padding: 14px;
  text-align: left;
  background:
    linear-gradient(180deg, rgba(234, 241, 255, 0.68), rgba(255, 255, 255, 0.96)),
    var(--surface);
}

.org-portrait {
  width: 74px;
  height: 74px;
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(11, 18, 32, 0.14);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.org-node--leader .org-portrait {
  width: 88px;
  height: 88px;
  border-radius: 22px;
}

.org-portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.org-portrait-initials {
  width: 100%;
  height: 100%;
  display: inline-grid;
  place-items: center;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 1rem;
  font-weight: 950;
}

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

.org-title-stack {
  display: grid;
  gap: 2px;
  justify-items: center;
  line-height: 1.14;
}

.org-node--leader .org-title-stack {
  justify-items: start;
}

.org-cxo {
  color: var(--primary);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.org-full-title {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.org-copy strong {
  margin-top: 3px;
  color: var(--text);
  font-size: 1rem;
  line-height: 1.2;
}

.org-node--leader .org-copy strong {
  font-size: 1.18rem;
}

.org-collaboration {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.org-collaboration span {
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-secondary);
  background: var(--surface-muted);
  font-size: 0.82rem;
  line-height: 1.36;
}

.persona-detail-panel {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-left: 4px solid var(--border-strong);
  background: var(--surface);
}

.persona-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  padding: 5px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.persona-tab {
  min-height: 34px;
  flex: 0 0 auto;
  padding: 7px 11px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--muted);
  background: transparent;
  font-weight: 900;
  cursor: pointer;
}

.persona-tab:hover,
.persona-tab:focus-visible {
  color: var(--primary);
  background: var(--primary-soft);
  outline: none;
}

.persona-tab.is-active {
  color: var(--text);
  border-color: var(--border);
  background: var(--surface);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.persona-tab-panel {
  display: grid;
  gap: 12px;
}

.persona-full-card {
  width: 100%;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(234, 241, 255, 0.64), rgba(255, 255, 255, 0.98)),
    var(--surface);
}

.persona-full-card h3 {
  margin: 5px 0 8px;
  font-size: 1.12rem;
  line-height: 1.25;
}

.persona-full-card p {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.42;
}

.persona-full-card p + p {
  margin-top: 8px;
}

.persona-profile-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.persona-profile-pair > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.persona-section {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}

.persona-section h3 {
  margin: 3px 0 0;
  font-size: 1.02rem;
  line-height: 1.25;
}

.persona-section p {
  margin: 0;
  color: var(--muted);
  line-height: 1.42;
}

.persona-section-head,
.persona-task-head,
.persona-automation-head,
.persona-automation-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.persona-section-head > strong {
  color: var(--text);
  font-size: 0.92rem;
}

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

.persona-task-list,
.persona-text-list,
.persona-automation-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.persona-task-list li,
.persona-text-list li,
.persona-automation-list li {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--border);
  border-left-width: 4px;
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.persona-task-list li {
  display: grid;
  gap: 5px;
}

.persona-task-list strong,
.persona-automation-list strong {
  color: var(--text);
  line-height: 1.28;
}

.persona-task-list p,
.persona-automation-list p {
  margin: 0;
  color: var(--muted);
  line-height: 1.38;
}

.persona-text-list li {
  color: var(--text-secondary);
  line-height: 1.36;
}

.persona-automation-list li {
  display: grid;
  gap: 8px;
}

.persona-automation-head > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.persona-automation-meta {
  align-items: center;
  flex-wrap: wrap;
  padding-top: 7px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.3;
}

.persona-automation-meta code {
  max-width: 100%;
  padding: 3px 6px;
  overflow-wrap: anywhere;
  border-radius: 6px;
  color: var(--open);
  background: var(--open-soft);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.72rem;
}

.micro-row {
  min-height: 48px;
  display: grid;
  grid-template-columns: 150px 86px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 9px 12px;
  border-left-width: 4px;
  text-align: left;
  cursor: pointer;
}

.micro-row span,
.eyebrow {
  color: var(--muted);
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.micro-row strong {
  color: var(--text);
  font-size: 0.9rem;
}

.decision-grid,
.decision-list,
.timeline,
.shelf-body,
.archive-body {
  display: grid;
  gap: 10px;
}

.decision-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.decision-card {
  min-height: 156px;
  padding: 13px;
  border-left-width: 4px;
}

.study-accordion-list {
  display: grid;
  gap: 12px;
}

.study-switch-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.study-switch-tab {
  min-width: 0;
  min-height: 96px;
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 13px;
  border: 1px solid var(--border);
  border-left: 4px solid var(--border-strong);
  border-radius: var(--radius);
  color: var(--muted);
  background: var(--surface);
  text-align: left;
  cursor: pointer;
  box-shadow: var(--shadow);
}

.study-switch-tab:hover,
.study-switch-tab:focus-visible {
  color: var(--primary);
  background: var(--primary-soft);
  outline: none;
}

.study-switch-tab.is-active {
  color: var(--text);
  border-color: var(--primary);
  border-left-color: var(--primary);
  background: var(--surface);
}

.study-switch-tab strong {
  min-width: 0;
  color: var(--text);
  font-size: 1.02rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.study-switch-tab > span:last-child {
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.study-switch-index {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.study-accordion {
  display: grid;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  overflow: hidden;
  box-shadow: var(--shadow);
}

.study-accordion.is-open {
  overflow: visible;
}

.study-accordion-head {
  width: 100%;
  min-height: 96px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid transparent;
  background: var(--surface);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.study-accordion-head:hover,
.study-accordion-head:focus-visible {
  background: var(--primary-soft);
  outline: none;
}

.study-accordion.is-open .study-accordion-head {
  border-bottom-color: var(--border);
  background: var(--surface-muted);
}

.study-type-icon {
  width: 54px;
  height: 54px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 16px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 1.1rem;
  font-weight: 900;
}

.study-accordion-title {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.study-accordion-title strong {
  color: var(--text);
  font-size: 1.08rem;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.study-accordion-title > span:last-child {
  color: var(--muted);
  line-height: 1.38;
}

.study-accordion-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  max-width: 420px;
}

.study-count-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface);
  font-size: 0.75rem;
  font-weight: 800;
  white-space: nowrap;
}

.study-toggle-icon {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface);
}

.study-toggle-icon svg {
  width: 18px;
  height: 18px;
  transition: transform 160ms ease;
}

.study-accordion.is-open .study-toggle-icon {
  color: var(--primary);
  background: var(--primary-soft);
}

.study-accordion.is-open .study-toggle-icon svg {
  transform: rotate(180deg);
}

.decision-card h3,
.milestone h3,
.shelf-card h3 {
  margin: 8px 0 7px;
  font-size: 1rem;
  line-height: 1.24;
}

.card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.64rem;
  font-weight: 900;
  white-space: nowrap;
}

.status-pill.status-blocked {
  color: var(--blocked);
  background: var(--blocked-soft);
  border-color: rgba(220, 38, 38, 0.2);
}

.status-pill.status-attention {
  color: var(--attention);
  background: var(--attention-soft);
  border-color: rgba(183, 121, 31, 0.2);
}

.status-pill.status-open {
  color: var(--open);
  background: var(--open-soft);
  border-color: rgba(79, 107, 138, 0.2);
}

.status-pill.status-ready {
  color: var(--ready);
  background: var(--ready-soft);
  border-color: rgba(22, 131, 74, 0.2);
}

.status-blocked {
  border-left-color: var(--blocked);
}

.status-attention {
  border-left-color: var(--attention);
}

.status-open {
  border-left-color: var(--open);
}

.status-ready {
  border-left-color: var(--ready);
}

.view-toolbar {
  display: flex;
  justify-content: flex-end;
  min-height: 28px;
  margin-bottom: 10px;
}

.study-detail-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin-top: 0;
  padding: 16px;
  border: 0;
  border-left: 4px solid var(--border-strong);
  border-radius: 0;
  background: var(--surface);
  box-shadow: none;
}

.study-panel-head {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--border);
  border-left: 4px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.study-panel-title {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.study-panel-title h2 {
  margin: 0;
  color: var(--text);
  font-size: 1.18rem;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.study-panel-title p {
  margin: 0;
  color: var(--muted);
  line-height: 1.38;
}

.study-panel-meta {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.study-cockpit-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  max-width: 100%;
  padding: 5px;
  overflow-x: visible;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.study-cockpit-tab {
  min-height: 34px;
  flex: 0 0 auto;
  padding: 7px 11px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--muted);
  background: transparent;
  font-weight: 900;
  cursor: pointer;
}

.study-cockpit-tab:hover,
.study-cockpit-tab:focus-visible {
  color: var(--primary);
  background: var(--primary-soft);
  outline: none;
}

.study-cockpit-tab.is-active {
  color: var(--text);
  border-color: var(--border);
  background: var(--surface);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.study-cockpit-tab-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.study-cockpit-card {
  min-width: 0;
  width: 100%;
  grid-column: 1 / -1;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}

.study-cockpit-card--progress {
  grid-column: 1 / -1;
}

.study-focus-card {
  grid-column: 1 / -1;
  min-height: 100%;
  border-color: rgba(21, 95, 228, 0.22);
  background:
    linear-gradient(180deg, rgba(234, 241, 255, 0.76), rgba(255, 255, 255, 0.98)),
    var(--surface);
}

.study-card-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.study-card-head h3,
.study-focus-card h3 {
  margin: 4px 0 0;
  font-size: 1rem;
  line-height: 1.25;
}

.study-card-head > strong {
  color: var(--text);
  font-size: 1.18rem;
  line-height: 1;
}

.study-cockpit-card p,
.study-focus-card p {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.42;
}

.study-progress-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--open-soft);
}

.study-progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--primary);
}

.study-inline-details {
  margin-top: 10px;
}

.study-inline-details summary {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--primary);
  background: var(--surface);
  font-size: 0.78rem;
  font-weight: 900;
  cursor: pointer;
}

.study-inline-details[open] summary {
  margin-bottom: 10px;
  background: var(--primary-soft);
}

.study-progress-steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.study-progress-steps li {
  position: relative;
  display: grid;
  gap: 3px;
  min-height: 0;
  padding: 10px 10px 10px 30px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.study-progress-steps li > span {
  position: absolute;
  top: 12px;
  left: 10px;
  width: 11px;
  height: 11px;
  border: 2px solid currentColor;
  border-radius: 999px;
  color: var(--open);
  background: var(--surface);
}

.study-progress-steps li.status-ready > span {
  color: var(--ready);
  background: var(--ready);
}

.study-progress-steps li.status-attention > span {
  color: var(--attention);
  background: var(--attention-soft);
}

.study-progress-steps strong {
  color: var(--text);
  font-size: 0.82rem;
  line-height: 1.25;
}

.study-progress-steps em {
  color: var(--muted);
  font-size: 0.76rem;
  font-style: normal;
  line-height: 1.3;
}

.study-fact-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.study-fact-list div {
  display: grid;
  gap: 3px;
  padding-top: 9px;
  border-top: 1px solid var(--border);
}

.study-fact-list div:first-child {
  padding-top: 0;
  border-top: 0;
}

.study-fact-list dt {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.study-fact-list dd {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.38;
}

.next-action-line {
  display: grid;
  gap: 4px;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid rgba(21, 95, 228, 0.15);
  border-radius: var(--radius);
  background: var(--primary-soft);
}

.next-action-line span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.next-action-line strong {
  color: var(--text);
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.study-compact-list,
.study-evidence-list,
.study-document-list,
.study-mini-docs {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.study-compact-list li,
.study-evidence-list li,
.study-document-list li,
.study-mini-docs li {
  display: grid;
  gap: 3px;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
  line-height: 1.34;
}

.study-evidence-list strong,
.study-document-list strong {
  color: var(--text);
  font-size: 0.86rem;
  line-height: 1.28;
}

.study-evidence-list span,
.study-document-list span,
.study-mini-docs span {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.34;
}

.study-mini-docs {
  margin-top: 10px;
}

.study-mini-docs strong {
  color: var(--text);
  font-size: 0.82rem;
  line-height: 1.25;
}

.study-detail-panel .empty-note {
  margin: 0;
}

.questionnaire-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 14px;
  padding: 6px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.questionnaire-tab {
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--muted);
  background: transparent;
  font-size: 0.82rem;
  font-weight: 900;
  cursor: pointer;
}

.questionnaire-tab:hover,
.questionnaire-tab:focus-visible {
  color: var(--primary);
  background: var(--primary-soft);
  outline: none;
}

.questionnaire-tab.is-active {
  color: var(--text);
  border-color: var(--border);
  background: var(--surface-muted);
}

.questionnaire-tab-panel {
  display: grid;
  gap: 14px;
}

.questionnaire-panel {
  position: relative;
  overflow: hidden;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.questionnaire-panel--full {
  width: 100%;
}

.questionnaire-panel p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.45;
}

.questionnaire-facts {
  margin-top: 2px;
}

.questionnaire-hypotheses,
.questionnaire-source-list,
.questionnaire-step-list,
.questionnaire-pretest-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.questionnaire-hypothesis,
.questionnaire-analysis-card,
.questionnaire-pretest-card {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.questionnaire-hypothesis strong {
  color: var(--text);
  font-size: 0.86rem;
  line-height: 1.28;
}

.questionnaire-source-list {
  margin-top: 14px;
}

.questionnaire-source-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
  line-height: 1.22;
}

.questionnaire-source-list li > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.questionnaire-source-list strong,
.questionnaire-source-list a {
  color: var(--primary);
  font-size: 0.78rem;
  font-weight: 900;
}

.questionnaire-source-list a {
  text-decoration: none;
}

.questionnaire-source-list a:hover {
  text-decoration: underline;
}

.questionnaire-source-list span:not(.questionnaire-file-badge) {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 800;
}

.questionnaire-file-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 26px;
  padding: 4px 8px;
  border: 1px solid rgba(21, 95, 228, 0.26);
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.questionnaire-file-badge--md,
.questionnaire-file-badge--markdown {
  color: var(--ready);
  border-color: rgba(22, 131, 74, 0.22);
  background: var(--ready-soft);
}

.questionnaire-file-badge--json {
  color: #a15c00;
  border-color: rgba(217, 119, 6, 0.24);
  background: #fff7ed;
}

.questionnaire-hypothesis > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.questionnaire-hypothesis span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 24px;
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.72rem;
  font-weight: 900;
}

.questionnaire-hypothesis p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.82rem;
  line-height: 1.42;
}

.questionnaire-analysis-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.questionnaire-analysis-panel {
  display: grid;
  gap: 18px;
}

.questionnaire-model-panel {
  display: grid;
  gap: 18px;
}

.questionnaire-logic-panel {
  display: grid;
  gap: 18px;
}

.questionnaire-logic-overview {
  display: grid;
  gap: 10px;
}

.questionnaire-logic-accordion {
  display: grid;
  gap: 8px;
}

.questionnaire-logic-accordion-item {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #ffffff;
}

.questionnaire-logic-accordion-item summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 12px;
  cursor: pointer;
  list-style: none;
}

.questionnaire-logic-accordion-item summary::-webkit-details-marker {
  display: none;
}

.questionnaire-logic-accordion-item summary::after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  content: "⌄";
  font-size: 0.78rem;
  font-weight: 900;
}

.questionnaire-logic-accordion-item[open] summary::after {
  transform: rotate(180deg);
}

.questionnaire-logic-accordion-item summary span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.questionnaire-logic-accordion-item summary strong {
  color: var(--text);
  font-size: 0.86rem;
  line-height: 1.28;
}

.questionnaire-logic-accordion-body {
  padding: 0 12px 12px;
}

.questionnaire-analysis-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

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

.questionnaire-analysis-head span,
.questionnaire-analysis-section-head span,
.questionnaire-analysis-status span,
.questionnaire-analysis-methods > section > span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.questionnaire-analysis-head strong {
  color: var(--text);
  font-size: 1.04rem;
  line-height: 1.25;
}

.questionnaire-analysis-head p {
  max-width: 860px;
  color: var(--text-secondary);
  font-size: 0.84rem;
}

.questionnaire-analysis-count {
  display: grid;
  justify-items: end;
  gap: 2px;
  min-width: 112px;
  padding: 10px 12px;
  border: 1px solid rgba(21, 95, 228, 0.22);
  border-radius: 8px;
  color: var(--primary);
  background: var(--primary-soft);
}

.questionnaire-analysis-count strong {
  color: var(--primary);
  font-size: 1.35rem;
  line-height: 1;
}

.questionnaire-analysis-count span {
  color: var(--primary);
  font-size: 0.68rem;
}

.questionnaire-analysis-focus {
  display: grid;
  gap: 12px;
}

.questionnaire-analysis-focus-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.questionnaire-example-panel .questionnaire-analysis-focus-grid {
  grid-template-columns: 1fr;
}

.questionnaire-analysis-focus-card {
  display: grid;
  align-content: start;
  gap: 9px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--border);
  border-top: 3px solid var(--primary);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
}

.questionnaire-example-panel .questionnaire-analysis-focus-card {
  grid-template-columns: minmax(0, 0.86fr) minmax(280px, 0.9fr);
  grid-template-areas:
    "top chart"
    "title chart"
    "text chart"
    "note chart";
  gap: 8px 18px;
  align-items: center;
  padding: 14px;
}

.questionnaire-analysis-focus-top {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
}

.questionnaire-example-panel .questionnaire-analysis-focus-top {
  grid-area: top;
}

.questionnaire-analysis-focus-top > span {
  color: var(--muted);
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0;
  text-align: right;
  text-transform: uppercase;
}

.questionnaire-analysis-focus-card > strong {
  color: var(--text);
  font-size: 0.88rem;
  line-height: 1.25;
}

.questionnaire-example-panel .questionnaire-analysis-focus-card > strong {
  grid-area: title;
  font-size: 0.98rem;
}

.questionnaire-analysis-focus-card p,
.questionnaire-analysis-focus-card em {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.76rem;
  font-style: normal;
  line-height: 1.35;
}

.questionnaire-analysis-focus-card em {
  color: var(--muted);
}

.questionnaire-example-panel .questionnaire-analysis-focus-card p {
  grid-area: text;
}

.questionnaire-example-panel .questionnaire-analysis-focus-card em {
  grid-area: note;
}

.questionnaire-analysis-mini-chart {
  display: grid;
  gap: 6px;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
}

.questionnaire-example-panel .questionnaire-analysis-mini-chart {
  grid-area: chart;
}

.questionnaire-analysis-mini-bar {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 34px;
  gap: 7px;
  align-items: center;
}

.questionnaire-analysis-mini-bar span,
.questionnaire-analysis-mini-bar em {
  color: var(--muted);
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 800;
}

.questionnaire-analysis-mini-bar em {
  text-align: right;
}

.questionnaire-analysis-mini-bar strong {
  position: relative;
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9eef8;
}

.questionnaire-analysis-mini-bar strong::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--value);
  border-radius: inherit;
  background: var(--primary);
  content: "";
}

.questionnaire-analysis-mini-bar--good strong::before {
  background: var(--ready);
}

.questionnaire-analysis-mini-bar--mid strong::before {
  background: #d97706;
}

.questionnaire-analysis-mini-bar--risk strong::before {
  background: #dc2626;
}

.questionnaire-analysis-mini-bar--neutral strong::before {
  background: #4f6b8a;
}

.questionnaire-analysis-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--border);
}

.questionnaire-analysis-status section {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  background: #ffffff;
}

.questionnaire-analysis-status strong {
  color: var(--text);
  font-size: 0.82rem;
  line-height: 1.35;
}

.questionnaire-model-paths {
  display: grid;
  gap: 10px;
}

.questionnaire-model-path-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}

.questionnaire-model-path-card {
  display: grid;
  align-content: start;
  gap: 9px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #ffffff;
}

.questionnaire-model-path-card > strong {
  color: var(--text);
  font-size: 0.84rem;
  line-height: 1.28;
}

.questionnaire-model-path-card > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.questionnaire-model-path-card code {
  display: inline-flex;
  max-width: 100%;
  padding: 4px 6px;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--primary);
  background: var(--surface-muted);
  font-size: 0.7rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.questionnaire-analysis-methods {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.questionnaire-analysis-methods > section {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding-left: 12px;
  border-left: 3px solid var(--border-strong);
}

.questionnaire-analysis-methods > section:first-child {
  border-left-color: var(--primary);
}

.questionnaire-analysis-methods > section div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.questionnaire-analysis-methods strong,
.questionnaire-analysis-method-list span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 7px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--text-secondary);
  background: var(--surface-muted);
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1.2;
}

.questionnaire-analysis-workflow,
.questionnaire-analysis-matrix {
  display: grid;
  gap: 10px;
}

.questionnaire-analysis-section-head {
  display: grid;
  gap: 3px;
}

.questionnaire-analysis-section-head strong {
  color: var(--text);
  font-size: 0.92rem;
}

.questionnaire-analysis-workflow ol {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.questionnaire-analysis-workflow li {
  position: relative;
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 116px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.questionnaire-analysis-workflow li:not(:last-child)::before {
  position: absolute;
  top: 26px;
  right: -11px;
  width: 12px;
  height: 2px;
  background: var(--border-strong);
  content: "";
  z-index: 2;
}

.questionnaire-analysis-workflow li:not(:last-child)::after {
  position: absolute;
  top: 21px;
  right: -12px;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--border-strong);
  border-right: 2px solid var(--border-strong);
  content: "";
  transform: rotate(45deg);
  z-index: 2;
}

.questionnaire-analysis-workflow li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(21, 95, 228, 0.24);
  border-radius: 999px;
  color: var(--primary);
  background: #ffffff;
  font-size: 0.68rem;
  font-weight: 900;
}

.questionnaire-analysis-workflow li strong {
  color: var(--text-secondary);
  font-size: 0.82rem;
  line-height: 1.35;
}

.questionnaire-analysis-matrix {
  margin-top: 2px;
}

.questionnaire-analysis-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1.1fr) minmax(140px, 0.7fr) minmax(180px, 0.9fr);
  gap: 14px;
  align-items: start;
  padding: 13px 0;
  border-top: 1px solid var(--border);
}

.questionnaire-analysis-row:last-child {
  border-bottom: 1px solid var(--border);
}

.questionnaire-analysis-hypothesis {
  min-width: 0;
}

.questionnaire-analysis-question {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.questionnaire-analysis-question strong {
  color: var(--text);
  font-size: 0.88rem;
  line-height: 1.28;
}

.questionnaire-analysis-question p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.8rem;
  line-height: 1.38;
}

.questionnaire-analysis-question em {
  color: var(--muted);
  font-size: 0.74rem;
  font-style: normal;
  line-height: 1.35;
}

.questionnaire-analysis-variables,
.questionnaire-analysis-method-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.questionnaire-analysis-variables code {
  display: inline-flex;
  max-width: 100%;
  padding: 4px 6px;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--primary);
  background: #ffffff;
  font-size: 0.7rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.questionnaire-analysis-card span,
.questionnaire-pretest-card span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.questionnaire-analysis-card strong,
.questionnaire-pretest-card strong {
  color: var(--text);
  line-height: 1.28;
}

.questionnaire-analysis-card p,
.questionnaire-pretest-card p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.82rem;
  line-height: 1.4;
}

.questionnaire-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.questionnaire-step-list {
  margin-top: 12px;
  padding-left: 18px;
  list-style: decimal;
  color: var(--text-secondary);
  line-height: 1.38;
}

.questionnaire-question {
  display: grid;
  gap: 3px;
  max-width: none;
  padding: 2px 0;
}

.questionnaire-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  min-height: 26px;
  border: 1px solid rgba(21, 95, 228, 0.28);
  border-radius: 999px;
  color: var(--primary);
  background: #ffffff;
  box-shadow: 0 1px 4px rgba(21, 95, 228, 0.12);
  font-size: 0.68rem;
  font-weight: 900;
}

.questionnaire-question strong {
  color: var(--text);
  font-size: 0.82rem;
  line-height: 1.24;
}

.questionnaire-question em,
.questionnaire-table td em {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-top: 5px;
  padding: 3px 7px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface);
  font-size: 0.72rem;
  font-style: normal;
  line-height: 1.35;
}

.questionnaire-table code {
  display: block;
  color: var(--primary);
  font-size: 0.72rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.questionnaire-variable {
  display: grid;
  gap: 4px;
  align-content: start;
}

.questionnaire-hypothesis-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  padding: 3px 7px;
  border: 1px solid rgba(21, 95, 228, 0.24);
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
  overflow-wrap: anywhere;
}

.questionnaire-hypothesis-badge--h1 {
  color: #0f766e;
  border-color: rgba(15, 118, 110, 0.25);
  background: #ecfdf5;
}

.questionnaire-hypothesis-badge--h2 {
  color: #7c3aed;
  border-color: rgba(124, 58, 237, 0.24);
  background: #f5f3ff;
}

.questionnaire-hypothesis-badge--h3 {
  color: #a15c00;
  border-color: rgba(217, 119, 6, 0.24);
  background: #fff7ed;
}

.questionnaire-hypothesis-badge--h4 {
  color: #be123c;
  border-color: rgba(225, 29, 72, 0.2);
  background: #fff1f2;
}

.questionnaire-options {
  display: grid;
  gap: 6px;
  max-width: none;
  margin: 0;
}

.questionnaire-answer-option,
.questionnaire-option-more,
.questionnaire-flag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 8px;
  border: 1px solid var(--border);
  border-radius: 7px;
  color: var(--text-secondary);
  background: #ffffff;
  font-size: 0.7rem;
  line-height: 1.25;
}

.questionnaire-answer-option {
  justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  gap: 6px;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

.questionnaire-answer-option:hover,
.questionnaire-answer-option:focus-visible {
  color: var(--primary);
  border-color: rgba(21, 95, 228, 0.32);
  background: var(--primary-soft);
  outline: none;
}

.questionnaire-answer-option > span {
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: var(--surface);
}

.questionnaire-answer-option strong {
  min-width: 0;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.questionnaire-answer-option.is-selected {
  color: var(--primary);
  border-color: rgba(21, 95, 228, 0.38);
  background: #eaf1ff;
}

.questionnaire-answer-option.is-selected > span {
  box-shadow: inset 0 0 0 3px #eaf1ff;
  background: var(--primary);
}

.questionnaire-option-more {
  color: var(--muted);
  background: var(--surface-muted);
}

.questionnaire-flag {
  display: flex;
  width: fit-content;
  max-width: 320px;
  margin-bottom: 5px;
  border-color: rgba(217, 119, 6, 0.22);
  color: #9f4d12;
  background: #fff7ed;
}

.muted-cell {
  color: var(--muted);
}

.directory-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.evidence-toolbar {
  align-items: flex-end;
}

.directory-toolbar strong,
.directory-toolbar span {
  display: block;
}

.directory-toolbar strong {
  font-size: 1rem;
}

.directory-toolbar span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.directory-search {
  width: min(320px, 100%);
  display: grid;
  gap: 5px;
}

.directory-search input,
.directory-search select {
  width: 100%;
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--surface);
  font: inherit;
}

.directory-search select {
  appearance: none;
  padding-right: 32px;
  background:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%) right 14px center / 6px 6px no-repeat,
    linear-gradient(135deg, var(--muted) 50%, transparent 50%) right 9px center / 6px 6px no-repeat,
    var(--surface);
}

.filter-action {
  display: flex;
  align-items: flex-end;
  min-height: 36px;
}

.column-visibility-shell {
  position: relative;
}

.column-toggle-button {
  min-height: 42px;
  white-space: nowrap;
}

.column-panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 25;
  width: min(300px, calc(100vw - 32px));
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.column-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.column-panel-head strong {
  color: var(--text);
  font-size: 0.88rem;
}

.column-panel-head span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.column-option-list {
  display: grid;
  gap: 7px;
}

.column-option {
  min-height: 32px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
  color: var(--text-secondary);
  font-size: 0.82rem;
  font-weight: 800;
}

.column-option input {
  flex: 0 0 auto;
}

.document-table-wrap {
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.document-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 860px;
  font-size: 0.84rem;
}

.literature-table {
  min-width: 1460px;
}

.literature-stat-hero {
  margin-bottom: 8px;
  padding: 9px 12px;
  border: 1px solid var(--border);
  border-left: 3px solid var(--primary);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.literature-stat-hero h2 {
  margin: 0;
  color: var(--text);
  font-size: 1.08rem;
  line-height: 1.18;
}

.literature-stat-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}

.literature-stat-metric {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.literature-stat-metric span,
.literature-stat-metric em {
  color: var(--muted);
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 850;
}

.literature-stat-metric strong {
  color: var(--text);
  font-size: 1.18rem;
  line-height: 1;
}

.literature-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.literature-stat-card,
.literature-insight-section {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.literature-stat-card--wide,
.literature-insight-section {
  grid-column: 1 / -1;
}

.literature-stat-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.literature-stat-card-head h3 {
  margin: 2px 0 0;
  color: var(--text);
  font-size: 0.94rem;
  line-height: 1.22;
}

.literature-stat-card-head > span {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 850;
  white-space: nowrap;
}

.literature-stat-bars {
  display: grid;
  gap: 7px;
}

.literature-stat-bar {
  display: grid;
  gap: 4px;
}

.literature-stat-bar div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.literature-stat-bar span {
  min-width: 0;
  color: var(--text);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.literature-stat-bar strong {
  color: var(--muted);
  font-size: 0.78rem;
  white-space: nowrap;
}

.literature-stat-bar i,
.literature-quality-grid i {
  height: 8px;
  display: block;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-muted);
}

.literature-stat-bar i span {
  height: 100%;
  display: block;
  border-radius: inherit;
  background: var(--stat-color, var(--primary));
}

.literature-stat-columns {
  min-height: 112px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(30px, 1fr));
  align-items: end;
  gap: 5px;
  padding: 4px 2px 0;
}

.literature-stat-card--compact-years {
  align-self: start;
}

.literature-stat-card--compact-years .literature-stat-columns {
  max-width: 500px;
  grid-template-columns: repeat(var(--stat-column-count), minmax(20px, 1fr));
}

.literature-stat-column {
  min-width: 0;
  height: 112px;
  display: grid;
  grid-template-rows: 13px minmax(0, 1fr) 26px;
  align-items: end;
  justify-items: center;
  gap: 4px;
}

.literature-stat-column span,
.literature-stat-column em {
  color: var(--muted);
  font-size: 0.64rem;
  font-style: normal;
  font-weight: 850;
  line-height: 1.05;
}

.literature-stat-column i {
  width: 100%;
  min-width: 14px;
  max-width: 20px;
  display: block;
  border-radius: 7px 7px 2px 2px;
  background: linear-gradient(180deg, #45a1ff 0%, var(--primary) 100%);
}

.literature-stat-column em {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.literature-stat-donut-layout {
  display: grid;
  grid-template-columns: 112px minmax(150px, 200px);
  justify-content: start;
  gap: 8px;
  align-items: center;
}

.literature-stat-donut {
  position: relative;
  width: 112px;
  aspect-ratio: 1;
  margin: 0;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.literature-stat-donut::after {
  content: "";
  position: absolute;
  inset: 28%;
  border-radius: 50%;
  background: var(--surface);
  box-shadow: inset 0 0 0 1px var(--border);
}

.literature-stat-donut-center {
  position: absolute;
  inset: 28%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  pointer-events: none;
  text-align: center;
}

.literature-stat-donut-center strong,
.literature-stat-donut-center span {
  display: block;
}

.literature-stat-donut-center strong {
  color: var(--text);
  font-size: 1.04rem;
  line-height: 1;
}

.literature-stat-donut-center span {
  color: var(--muted);
  font-size: 0.61rem;
  font-weight: 850;
}

.literature-stat-legend {
  width: 100%;
  max-width: 200px;
  display: grid;
  gap: 4px;
  justify-self: start;
  min-width: 0;
}

.literature-stat-legend-row {
  display: grid;
  width: fit-content;
  max-width: 100%;
  grid-template-columns: 9px fit-content(118px) auto auto;
  gap: 6px;
  align-items: center;
  min-width: 0;
  color: var(--text);
  font-size: 0.7rem;
  font-weight: 800;
}

.literature-stat-legend-row span:nth-child(2) {
  min-width: 0;
  overflow-wrap: anywhere;
}

.literature-stat-legend-row strong,
.literature-stat-legend-row em {
  color: var(--muted);
  font-style: normal;
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.literature-stat-legend-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
}

.literature-stat-note,
.literature-country-source {
  margin: -4px 0 10px;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

.literature-country-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 10px;
  align-items: stretch;
}

.literature-country-map-shell {
  min-width: 0;
  min-height: 320px;
  padding: 7px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.literature-country-map {
  width: 100%;
  height: 320px;
  overflow: hidden;
  border-radius: calc(var(--radius) - 2px);
  background: #eaf1ff;
}

.literature-country-side {
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
}

.literature-country-side-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.literature-country-side-head strong {
  color: var(--text);
  font-size: 0.84rem;
}

.literature-country-reset {
  min-height: 28px;
  padding: 0 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--primary);
  font-size: 0.72rem;
  font-weight: 900;
  cursor: pointer;
}

.literature-country-list {
  display: grid;
  gap: 6px;
  align-content: start;
}

.literature-country-row {
  width: 100%;
  min-height: 42px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
  padding: 6px 8px;
  border: 1px solid var(--border);
  border-left: 3px solid var(--country-color, var(--primary));
  border-radius: var(--radius);
  background: var(--surface);
  text-align: left;
  cursor: pointer;
}

.literature-country-row--summary {
  color: var(--muted);
  border-left-color: var(--border-strong);
  background: var(--surface-muted);
  cursor: default;
}

.literature-country-row:hover,
.literature-country-row:focus-visible,
.literature-country-row.is-active {
  border-color: var(--country-color, var(--primary));
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
  outline: none;
}

.literature-country-row.is-active {
  background: color-mix(in srgb, var(--country-color, var(--primary)) 10%, #ffffff);
}

.literature-country-flag {
  font-size: 0.98rem;
  line-height: 1;
}

.literature-country-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.literature-country-copy strong,
.literature-country-copy em {
  min-width: 0;
  overflow-wrap: anywhere;
}

.literature-country-copy strong {
  color: var(--text);
  font-size: 0.78rem;
  line-height: 1.18;
}

.literature-country-copy em {
  color: var(--muted);
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 800;
}

.literature-country-count {
  min-width: 28px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--surface-muted);
  color: var(--text);
  font-size: 0.72rem;
  font-weight: 950;
}

.literature-country-source {
  margin: 10px 0 0;
}

.literature-topic-cloud {
  min-height: 150px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.literature-topic-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0.25rem 0.52rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  background: var(--surface);
  color: var(--topic-color, var(--primary));
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.04);
  font-size: var(--topic-size, 1rem);
  font-weight: 900;
  line-height: 1.05;
  white-space: nowrap;
}

.literature-map-country-label {
  color: #334155;
  font-size: 0.74rem;
  font-weight: 900;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.98),
    0 0 5px rgba(255, 255, 255, 0.95);
  white-space: nowrap;
}

.literature-map-popup {
  display: grid;
  gap: 4px;
  min-width: 190px;
  color: var(--text);
  font-family: var(--font-family);
  line-height: 1.3;
}

.literature-map-popup strong {
  font-size: 0.9rem;
}

.literature-map-popup span,
.literature-map-popup em {
  color: var(--muted);
  font-size: 0.78rem;
  font-style: normal;
}

.literature-detail-section {
  grid-column: 1 / -1;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.literature-detail-section summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
}

.literature-detail-section summary::-webkit-details-marker {
  display: none;
}

.literature-detail-section summary span,
.literature-detail-section summary strong,
.literature-detail-section summary em {
  display: block;
}

.literature-detail-section summary strong {
  color: var(--text);
  font-size: 0.92rem;
}

.literature-detail-section summary em {
  margin-top: 1px;
  color: var(--muted);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
}

.literature-detail-caret {
  color: var(--muted);
  font-weight: 900;
  transition: transform 160ms ease;
}

.literature-detail-section[open] .literature-detail-caret {
  transform: rotate(180deg);
}

.literature-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0 10px 10px;
}

.literature-quality-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.literature-quality-grid article {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.literature-quality-grid article div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.literature-quality-grid strong,
.literature-quality-grid span {
  font-size: 0.78rem;
}

.literature-quality-grid span {
  color: var(--muted);
  font-weight: 800;
  white-space: nowrap;
}

.literature-quality-grid i span {
  height: 100%;
  display: block;
  border-radius: inherit;
  background: var(--ready);
}

.literature-insight-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.literature-insight-card {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid var(--border);
  border-left: 4px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.literature-insight-card strong {
  color: var(--text);
  line-height: 1.22;
}

.literature-insight-card span,
.literature-insight-card em {
  color: var(--muted);
  font-size: 0.78rem;
  font-style: normal;
  line-height: 1.35;
}

.literature-insight-card em {
  font-weight: 900;
}

.recruitment-table {
  min-width: 940px;
  table-layout: fixed;
  font-size: 0.78rem;
}

.recruitment-table th,
.recruitment-table td {
  padding: 8px 8px;
}

.recruitment-table .table-static-heading {
  min-height: 22px;
  letter-spacing: 0;
}

.recruitment-table .col-row-number {
  width: 42px;
}

.recruitment-table .col-organization {
  width: 238px;
}

.recruitment-table .col-person-name {
  width: 112px;
}

.recruitment-table .col-location {
  width: 128px;
}

.recruitment-table .col-state {
  width: 164px;
}

.recruitment-table .col-study-label {
  width: 88px;
}

.recruitment-table .col-priority {
  width: 72px;
}

.recruitment-table .col-status-label {
  width: 116px;
}

.recruitment-table .col-candidate-type {
  width: 132px;
}

.recruitment-table .col-next-action {
  width: 230px;
}

.recruitment-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.recruitment-study-tabs {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.recruitment-study-tab {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 7px;
  color: var(--text-secondary);
  background: var(--surface-muted);
  font-size: 0.78rem;
  font-weight: 900;
  cursor: pointer;
}

.recruitment-study-tab:hover,
.recruitment-study-tab:focus-visible,
.recruitment-study-tab.is-active {
  outline: none;
}

.recruitment-study-tab--all:hover,
.recruitment-study-tab--all:focus-visible,
.recruitment-study-tab--all.is-active {
  color: var(--primary);
  border-color: rgba(21, 95, 228, 0.3);
  background: var(--primary-soft);
}

.recruitment-study-tab--1 {
  color: #155fe4;
  background: #eaf1ff;
  border-color: rgba(21, 95, 228, 0.18);
}

.recruitment-study-tab--1:hover,
.recruitment-study-tab--1:focus-visible,
.recruitment-study-tab--1.is-active {
  color: #155fe4;
  background: #dbeafe;
  border-color: rgba(21, 95, 228, 0.32);
}

.recruitment-study-tab--2 {
  color: #9f4d12;
  background: #fff2e6;
  border-color: rgba(217, 119, 6, 0.22);
}

.recruitment-study-tab--2:hover,
.recruitment-study-tab--2:focus-visible,
.recruitment-study-tab--2.is-active {
  color: #9f4d12;
  background: #ffedd5;
  border-color: rgba(217, 119, 6, 0.36);
}

.recruitment-study-tab--3 {
  color: #16834a;
  background: #eaf8ef;
  border-color: rgba(22, 131, 74, 0.2);
}

.recruitment-study-tab--3:hover,
.recruitment-study-tab--3:focus-visible,
.recruitment-study-tab--3.is-active {
  color: #16834a;
  background: #dcfce7;
  border-color: rgba(22, 131, 74, 0.34);
}

.recruitment-study-tab strong {
  color: currentColor;
  opacity: 0.78;
  font-size: 0.72rem;
}

.recruitment-study-count {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  white-space: nowrap;
}

.practice-map-workspace {
  --practice-map-canvas-height: max(560px, min(760px, calc(100vh - 194px)));
  --practice-map-top-height: var(--practice-map-canvas-height);
  display: grid;
  grid-template-columns: 380px minmax(0, 1fr);
  gap: 18px;
  min-height: calc(100vh - 194px);
}

.practice-map-workspace.has-practice-detail {
  grid-template-columns: 380px minmax(0, 1fr);
}

.practice-map-workspace.is-list-collapsed,
.practice-map-workspace.has-practice-detail.is-list-collapsed {
  grid-template-columns: 72px minmax(0, 1fr);
}

.practice-map-panel,
.practice-map-box {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.practice-map-panel {
  min-height: 0;
  height: var(--practice-map-top-height);
  max-height: var(--practice-map-top-height);
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px;
  overflow: hidden;
}

.practice-map-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.practice-map-panel-title {
  min-width: 0;
}

.practice-map-panel-head h2 {
  margin: 5px 0 8px;
  font-size: 1.42rem;
  line-height: 1.12;
}

.practice-map-panel-head p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.practice-map-panel-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.practice-map-site-count {
  flex: 0 0 auto;
  min-width: 56px;
  display: grid;
  place-items: center;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--surface-muted);
}

.practice-map-site-count span {
  color: var(--primary);
  font-size: 1.22rem;
  font-weight: 900;
  line-height: 1;
}

.practice-map-list-toggle {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(21, 95, 228, 0.18);
  border-radius: 9px;
  color: var(--text-secondary);
  background: var(--surface-muted);
  cursor: pointer;
}

.practice-map-list-toggle:hover,
.practice-map-list-toggle:focus-visible {
  border-color: rgba(21, 95, 228, 0.34);
  color: var(--primary);
  background: var(--primary-soft);
  outline: none;
}

.practice-map-list-toggle-icon {
  width: 20px;
  height: 20px;
}

.practice-map-workspace.is-list-collapsed .practice-map-panel {
  align-items: center;
  padding: 12px 8px;
}

.practice-map-workspace.is-list-collapsed .practice-map-panel-head {
  width: 100%;
  flex-direction: column;
  justify-content: flex-start;
}

.practice-map-workspace.is-list-collapsed .practice-map-panel-title,
.practice-map-workspace.is-list-collapsed .practice-map-list {
  display: none;
}

.practice-map-workspace.is-list-collapsed .practice-map-panel-actions {
  flex-direction: column;
}

.practice-map-workspace.is-list-collapsed .practice-map-site-count {
  min-width: 0;
  width: 46px;
  padding: 8px 6px;
}

.practice-map-source-note {
  padding: 10px 12px;
  border: 1px solid rgba(21, 95, 228, 0.17);
  border-radius: 7px;
  color: var(--text-secondary);
  background: var(--primary-soft);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.35;
}

.practice-map-list {
  min-height: 0;
  display: grid;
  gap: 8px;
  overflow: auto;
  padding-right: 2px;
}

.practice-map-row {
  width: 100%;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 7px;
  color: var(--text);
  background: var(--surface-muted);
  text-align: left;
  cursor: pointer;
}

.practice-map-row:hover,
.practice-map-row:focus-visible,
.practice-map-row.is-active {
  border-color: rgba(21, 95, 228, 0.34);
  background: #eef5ff;
  outline: none;
}

.practice-map-logo {
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #cbd8f0;
  background: #eef3ff;
  box-shadow: 0 4px 12px rgba(16, 46, 110, 0.1);
}

.practice-map-logo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.practice-map-logo--logo {
  background: #fff;
}

.practice-map-logo--logo img {
  padding: 5px;
  object-fit: contain;
}

.practice-map-logo--detail.practice-map-logo--logo img {
  padding: 10px;
}

.practice-map-logo > span {
  color: var(--primary);
  font-weight: 900;
}

.practice-map-logo--list {
  width: 42px;
  height: 34px;
  border-radius: 9px;
}

.practice-map-logo--list > span {
  font-size: 0.74rem;
}

.practice-map-logo--detail {
  width: 112px;
  height: 82px;
  flex: 0 0 112px;
  border-radius: 14px;
}

.practice-map-logo--detail > span {
  font-size: 1.15rem;
}

.practice-map-row strong {
  display: block;
  font-size: 0.84rem;
  line-height: 1.25;
}

.practice-map-row-copy {
  min-width: 0;
}

.practice-map-row-copy > span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.35;
}

.practice-map-row-badges {
  display: flex !important;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  margin-top: 7px !important;
}

.practice-map-row-badges .study-badge,
.practice-map-row-badges .soft-chip {
  min-height: 20px;
  padding: 2px 7px;
  font-size: 0.66rem;
}

.practice-map-row-badges .practice-doctor-count-chip {
  min-height: 20px;
  padding: 2px 7px;
  border: 1px solid rgba(21, 95, 228, 0.18);
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.66rem;
  font-weight: 900;
}

.practice-doctor-count-chip--single {
  color: #155fe4 !important;
  border-color: rgba(21, 95, 228, 0.2) !important;
  background: #eaf1ff !important;
}

.practice-doctor-count-chip--team {
  color: #16834a !important;
  border-color: rgba(22, 131, 74, 0.2) !important;
  background: #eaf8ef !important;
}

.practice-doctor-count-chip--large {
  color: #8a4d0f !important;
  border-color: rgba(183, 121, 31, 0.24) !important;
  background: #fff8eb !important;
}

.practice-map-area {
  min-width: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}

.practice-map-box {
  position: relative;
  min-height: 560px;
  height: var(--practice-map-canvas-height);
  overflow: hidden;
}

.practice-map-canvas {
  width: 100%;
  height: 100%;
  min-height: 560px;
  background: #eef3fb;
}

.practice-map-canvas.leaflet-container {
  color: var(--text);
  background: #eef3fb;
  font-family: var(--font-family);
}

.practice-map-canvas .leaflet-tile {
  background: transparent;
}

.practice-map-neighbor-country {
  pointer-events: none;
}

.practice-map-study-country-highlight {
  pointer-events: auto;
  cursor: pointer;
  transition: filter 0.16s ease;
}

.practice-map-study-country-highlight:hover,
.practice-map-study-country-highlight.is-active {
  filter: drop-shadow(0 2px 7px rgba(16, 46, 110, 0.22));
}

.practice-map-controls {
  position: absolute;
  z-index: 500;
  top: 16px;
  left: 16px;
  right: 16px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.practice-map-dropdown {
  position: relative;
}

.practice-map-dropdown[hidden],
.practice-map-study-chips[hidden] {
  display: none !important;
}

.practice-map-study-chips {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 4px;
  border: 1px solid rgba(21, 95, 228, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 8px 24px rgba(16, 46, 110, 0.1);
}

.practice-map-study-chip {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--text-secondary);
  background: transparent;
  font-size: 0.76rem;
  font-weight: 900;
  cursor: pointer;
}

.practice-map-study-chip strong {
  color: inherit;
  font-size: 0.68rem;
}

.practice-map-study-chip:hover,
.practice-map-study-chip:focus-visible,
.practice-map-study-chip.is-active {
  border-color: rgba(21, 95, 228, 0.28);
  color: var(--primary);
  background: #fff;
  outline: none;
}

.practice-map-toggle,
.practice-map-icon-button,
.practice-map-dropdown-menu button {
  border: 1px solid rgba(21, 95, 228, 0.18);
  color: var(--text);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 24px rgba(16, 46, 110, 0.12);
  font-weight: 900;
  cursor: pointer;
}

.practice-map-toggle {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.82rem;
}

.practice-map-icon-button {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  font-size: 1rem;
}

.practice-map-toggle:hover,
.practice-map-toggle:focus-visible,
.practice-map-icon-button:hover,
.practice-map-icon-button:focus-visible {
  color: var(--primary);
  outline: none;
}

.practice-map-dropdown-menu {
  position: absolute;
  top: calc(100% + 7px);
  left: 0;
  width: 230px;
  max-height: 320px;
  display: grid;
  gap: 5px;
  padding: 8px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 36px rgba(16, 46, 110, 0.17);
}

.practice-map-dropdown-menu[hidden] {
  display: none !important;
}

.practice-map-dropdown-menu button {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 9px;
  border-radius: 7px;
  box-shadow: none;
  font-size: 0.76rem;
  text-align: left;
}

.practice-map-dropdown-menu button:hover,
.practice-map-dropdown-menu button:focus-visible,
.practice-map-dropdown-menu button.is-active {
  border-color: rgba(21, 95, 228, 0.34);
  color: var(--primary);
  background: var(--primary-soft);
  outline: none;
}

.practice-map-legend {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 500;
  min-width: 176px;
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid rgba(21, 95, 228, 0.15);
  border-radius: var(--radius);
  color: var(--text-secondary);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 28px rgba(16, 46, 110, 0.13);
  font-size: 0.78rem;
}

.practice-map-legend strong {
  color: var(--text);
  font-size: 0.74rem;
  letter-spacing: 0;
  text-transform: uppercase;
}

.practice-map-legend span {
  display: flex;
  align-items: center;
  gap: 7px;
  font-weight: 800;
}

.practice-map-legend i {
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
  border: 2px solid rgba(255, 255, 255, 0.95);
  border-radius: 999px;
  background: var(--map-marker-color, var(--primary));
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
}

.practice-map-legend-dot--1 {
  --map-marker-color: #155fe4;
}

.practice-map-legend-dot--2 {
  --map-marker-color: #d97706;
}

.practice-map-legend-dot--3 {
  --map-marker-color: #16834a;
}

.practice-map-fallback {
  position: absolute;
  inset: 72px 16px 16px;
  z-index: 520;
  display: grid;
  place-items: center;
  padding: 18px;
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius);
  color: var(--muted);
  background: rgba(255, 255, 255, 0.92);
  font-size: 0.9rem;
  font-weight: 800;
  text-align: center;
}

.practice-map-fallback[hidden] {
  display: none !important;
}

.cat-marker {
  width: 12px;
  height: 12px;
  border: 2px solid rgba(255, 255, 255, 0.95);
  border-radius: 999px;
  background: var(--map-marker-color, var(--primary));
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
}

.cat-marker--study-1 {
  --map-marker-color: #b971ac;
}

.cat-marker--study-2 {
  --map-marker-color: #a6d9e2;
}

.cat-marker--study-3 {
  --map-marker-color: #f08338;
}

.cat-marker--trace {
  --map-marker-color: #b971ac;
}

.cat-marker-active {
  transform: scale(1.45);
  box-shadow: 0 0 0 5px rgba(21, 95, 228, 0.18), 0 5px 12px rgba(16, 46, 110, 0.26);
}

.practice-map-leaflet-marker {
  border: 0;
  background: transparent;
}

.practice-map-marker-shell {
  position: relative;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
}

.practice-map-marker-shell.is-active {
  width: 46px;
  height: 46px;
}

.practice-map-marker-shell.is-active::before,
.practice-map-marker-shell.is-active::after {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  content: "";
}

.practice-map-marker-shell.is-active::before {
  background: rgba(21, 95, 228, 0.18);
  box-shadow: 0 0 0 8px rgba(21, 95, 228, 0.1);
}

.practice-map-marker-shell.is-active::after {
  inset: 9px;
  border: 2px solid rgba(255, 255, 255, 0.95);
  box-shadow: 0 0 0 3px rgba(21, 95, 228, 0.34);
}

.practice-map-marker-shell.is-active .cat-marker-active {
  position: relative;
  z-index: 1;
  width: 24px;
  height: 24px;
  border-width: 3px;
  background: #155fe4;
  transform: none;
  box-shadow: 0 8px 20px rgba(16, 46, 110, 0.34);
}

.practice-map-state-label,
.practice-map-city-label {
  pointer-events: none;
  color: rgba(31, 47, 91, 0.48);
  font-family: var(--font-family);
  font-weight: 800;
  letter-spacing: 0;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.72);
  text-transform: uppercase;
  white-space: nowrap;
}

.practice-map-state-label {
  font-size: 0.52rem;
}

.practice-map-city-label {
  color: rgba(51, 65, 85, 0.5);
  font-size: 0.54rem;
}

.practice-map-country-label {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 3px 8px;
  border: 1px solid rgba(37, 99, 235, 0.24);
  border-radius: 999px;
  color: #1e3a8a;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 8px 18px rgba(16, 46, 110, 0.13);
  font-family: var(--font-family);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}

.practice-map-country-label:hover,
.practice-map-country-label.is-active {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 22px rgba(16, 46, 110, 0.18);
}

.practice-map-country-label--nld {
  border-color: rgba(234, 88, 12, 0.26);
  color: #9a3412;
}

.practice-map-country-label--est {
  border-color: rgba(124, 58, 237, 0.26);
  color: #5b21b6;
}

.practice-map-country-label--fin {
  border-color: rgba(15, 118, 110, 0.26);
  color: #115e59;
}

.practice-map-popup {
  min-width: 190px;
  color: var(--text);
  font-family: var(--font-family);
}

.practice-map-popup strong {
  display: block;
  margin-bottom: 4px;
  font-size: 0.88rem;
}

.practice-map-popup span {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
}

.practice-map-detail-panel {
  grid-column: 1 / -1;
  min-width: 0;
  min-height: 0;
  display: none;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.practice-map-workspace.has-practice-detail .practice-map-detail-panel {
  display: block;
}

.profile-page-shell {
  width: min(760px, 100%);
  margin: 0 auto;
}

.project-profile-panel {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.project-profile-panel .profile-panel__body {
  display: grid;
  gap: 14px;
  padding: 14px;
}

.project-profile-tabs {
  display: flex;
  gap: 6px;
  padding: 5px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.project-profile-tabs .detail-tab {
  min-height: 38px;
  min-width: 94px;
  flex: 0 0 auto;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: calc(var(--radius) - 1px);
  color: var(--muted);
  background: transparent;
  font-size: 0.82rem;
  font-weight: 950;
  cursor: pointer;
}

.project-profile-tabs .detail-tab:hover,
.project-profile-tabs .detail-tab:focus-visible,
.project-profile-tabs .detail-tab.is-active {
  border-color: rgba(21, 95, 228, 0.18);
  color: var(--primary);
  background: var(--surface);
  outline: none;
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.06);
}

.project-profile-panel .profile-tab-panel {
  display: grid;
  gap: 14px;
}

.project-profile-panel .profile-tab-panel[hidden] {
  display: none;
}

.project-profile-panel .profile-section {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
}

.project-profile-panel .profile-section h3 {
  margin: 0 0 14px;
  color: var(--text);
  font-size: 0.95rem;
  font-weight: 950;
}

.project-profile-panel .profile-hero {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
}

.project-profile-panel .profile-photo-action {
  display: grid;
  justify-items: center;
}

.project-profile-panel .profile-avatar-detail {
  width: 128px;
  height: 128px;
  border: 1px solid var(--border);
  color: #fff;
  background: linear-gradient(135deg, var(--primary), var(--orange));
  font-size: 1.95rem;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.project-profile-panel .profile-identity-copy {
  min-width: 0;
  display: grid;
  gap: 7px;
  align-content: center;
}

.project-profile-panel .profile-eyebrow {
  width: fit-content;
  padding: 4px 9px;
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.project-profile-panel .profile-identity-copy h3 {
  margin: 0;
  color: var(--text);
  font-size: 1.45rem;
  line-height: 1.12;
  font-weight: 950;
}

.project-profile-panel .profile-team-line {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 800;
}

.project-profile-panel .profile-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.profile-status-pill {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border: 1px solid rgba(22, 131, 74, 0.2);
  border-radius: 999px;
  color: var(--ready);
  background: var(--ready-soft);
  font-size: 0.72rem;
  font-weight: 950;
  line-height: 1;
}

.profile-status-pill--soft {
  border-color: var(--border);
  color: var(--primary);
  background: var(--primary-soft);
}

.project-profile-panel .profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.project-profile-panel .profile-field {
  min-width: 0;
  display: grid;
  gap: 6px;
  align-content: start;
  padding: 11px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.project-profile-panel .profile-field--wide {
  grid-column: 1 / -1;
}

.project-profile-panel .profile-field-label {
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 950;
}

.project-profile-panel .profile-field-value {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.35;
  font-weight: 800;
}

.project-profile-panel .profile-role-card {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.project-profile-panel .profile-role-card div {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.project-profile-panel .profile-role-card strong {
  color: var(--text);
  font-size: 0.9rem;
  font-weight: 950;
}

.project-profile-panel .profile-role-card span:not(.profile-status-pill) {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.38;
  font-weight: 760;
}

.project-profile-panel .profile-team-section {
  display: grid;
  gap: 14px;
}

.project-profile-panel .profile-team-section h3 {
  margin-bottom: 0;
}

.project-profile-panel .profile-team-section .persona-org-chart {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.project-profile-panel .profile-team-section .org-report-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 760px) {
  .profile-page-shell {
    width: 100%;
  }

  .project-profile-panel {
    border-radius: 0;
    box-shadow: none;
  }

  .project-profile-panel .profile-panel__body {
    padding: 10px;
  }

  .project-profile-tabs {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .project-profile-tabs::-webkit-scrollbar {
    display: none;
  }

  .project-profile-panel .profile-hero,
  .project-profile-panel .profile-grid,
  .project-profile-panel .profile-team-section .org-report-grid,
  .project-profile-panel .profile-role-card {
    grid-template-columns: 1fr;
  }

  .project-profile-panel .profile-hero {
    gap: 16px;
    text-align: center;
    justify-items: center;
  }

  .project-profile-panel .profile-avatar-detail {
    width: 112px;
    height: 112px;
  }

  .project-profile-panel .profile-eyebrow,
  .project-profile-panel .profile-meta,
  .project-profile-panel .profile-role-card .profile-status-pill {
    justify-self: center;
  }

  .project-profile-panel .profile-meta {
    justify-content: center;
  }
}

.practice-map-detail-panel .detail-toolbar {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.practice-map-detail-panel .detail-counter {
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 850;
}

.practice-map-detail-panel .detail-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.practice-map-detail-panel .detail-close {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: var(--radius);
  color: var(--text);
  background: #f2f5ff;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
}

.practice-map-detail-panel .detail-close:hover,
.practice-map-detail-panel .detail-close:focus-visible {
  color: var(--primary);
  outline: none;
}

.practice-map-detail-panel .detail-content {
  padding: 18px;
}

.practice-map-detail-panel .detail-profile {
  display: grid;
  gap: 14px;
}

.practice-map-detail-panel .detail-profile-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 14px;
  align-items: center;
}

.practice-map-detail-panel .detail-profile-main {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}

.practice-map-detail-panel .detail-profile-copy {
  min-width: 0;
}

.practice-map-detail-panel .detail-profile-copy h3 {
  margin: 0;
  color: var(--text);
  font-size: 1.12rem;
  line-height: 1.16;
}

.practice-map-detail-panel .detail-profile-role {
  margin-top: 5px;
  color: #4d5d8f;
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.practice-map-detail-panel .detail-profile-subline {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1.4;
}

.practice-map-detail-panel .detail-profile-meta {
  display: flex;
  align-items: stretch;
}

.practice-map-detail-panel .detail-meta-control {
  width: 100%;
  display: grid;
  gap: 4px;
}

.practice-map-detail-panel .detail-meta-control__label {
  color: var(--primary);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
}

.practice-map-detail-panel .detail-owner-trigger {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid #bfd3ff;
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.78rem;
  font-weight: 900;
}

.practice-map-detail-panel .detail-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: none;
}

.practice-map-detail-panel .detail-tabs::-webkit-scrollbar {
  display: none;
}

.practice-map-detail-panel .detail-tab {
  min-height: 34px;
  flex: 0 0 auto;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface);
  font-size: 0.74rem;
  font-weight: 900;
  cursor: pointer;
}

.practice-map-detail-panel .detail-tab:hover,
.practice-map-detail-panel .detail-tab:focus-visible,
.practice-map-detail-panel .detail-tab.is-active {
  border-color: rgba(21, 95, 228, 0.24);
  color: var(--primary);
  background: var(--primary-soft);
  outline: none;
}

.practice-map-detail-panel .detail-tab-panel[hidden] {
  display: none !important;
}

.practice-map-detail-panel .section-block {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(26, 37, 89, 0.1);
}

.practice-map-detail-panel .detail-section-title {
  margin: 0 0 8px;
  color: #243271;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.practice-map-detail-panel .detail-line-list {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
}

.practice-map-detail-panel .detail-line {
  min-height: 42px;
  display: grid;
  grid-template-columns: minmax(94px, 0.42fr) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border-bottom: 1px solid #edf1f8;
  font-size: 0.74rem;
}

.practice-map-detail-panel .detail-line:last-child {
  border-bottom: 0;
}

.practice-map-detail-panel .detail-line__label {
  color: var(--muted);
  font-weight: 900;
}

.practice-map-detail-panel .detail-line__value {
  min-width: 0;
  color: var(--text);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.practice-map-detail-panel .detail-line--empty {
  background: #fff8e6;
}

.practice-map-detail-panel .detail-line--empty .detail-line__value {
  color: #8a641f;
  font-weight: 750;
}

.practice-map-detail-panel .detail-line__value a {
  color: var(--primary);
  text-decoration: none;
}

.practice-map-detail-panel .detail-line__value a:hover {
  text-decoration: underline;
}

.practice-map-detail-panel .detail-info-card {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
  color: var(--text-secondary);
  font-size: 0.8rem;
  font-weight: 750;
  line-height: 1.4;
}

.practice-map-detail-panel .detail-info-card strong {
  display: block;
  color: var(--text);
  font-size: 0.78rem;
}

.practice-map-detail-panel .detail-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.practice-map-detail-panel .sector-pill {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  border: 1px solid rgba(21, 95, 228, 0.18);
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.72rem;
  font-weight: 900;
}

.practice-map-mini-site {
  min-height: 110px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  border: 1px solid #dbe4fb;
  border-radius: 16px;
  color: var(--primary);
  background: linear-gradient(180deg, #f9fbff 0%, #f1f5ff 100%);
  text-align: center;
}

.practice-map-mini-site span {
  font-size: 1.45rem;
  font-weight: 900;
  line-height: 1;
}

.practice-map-mini-site strong {
  color: var(--text);
  font-size: 0.84rem;
}

body.practice-map-detail-open {
  overflow: auto;
}

.practice-map-detail-drawer.detail-drawer {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
  pointer-events: none;
}

.practice-map-detail-drawer.detail-drawer.is-open {
  display: block;
}

.practice-map-detail-drawer .detail-overlay {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.28);
  pointer-events: auto;
}

.practice-map-detail-drawer .practice-map-detail-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  grid-column: auto;
  width: min(520px, calc(100vw - 24px));
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: auto;
  border: 0;
  border-left: 1px solid var(--border);
  border-radius: 0;
  background: #fff;
  box-shadow: -18px 0 42px rgba(15, 23, 42, 0.18);
  pointer-events: auto;
}

.practice-map-detail-drawer .practice-map-detail-panel .detail-toolbar {
  align-items: stretch;
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.practice-map-detail-statusbar {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
}

.practice-map-detail-statusbar span {
  min-width: 0;
  display: grid;
  gap: 2px;
  align-content: center;
  padding: 7px 9px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--surface-muted);
}

.practice-map-detail-statusbar em {
  color: var(--muted);
  font-size: 0.64rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

.practice-map-detail-statusbar strong {
  min-width: 0;
  color: var(--text);
  font-size: 0.76rem;
  font-weight: 900;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.practice-map-detail-statusbar span:first-child {
  border-color: rgba(22, 131, 74, 0.2);
  background: #eaf8ef;
}

.practice-map-detail-drawer .practice-map-detail-panel .detail-content {
  flex: 1 1 auto;
  overflow: visible;
}

.practice-map-detail-drawer .practice-map-detail-panel .detail-profile-top {
  grid-template-columns: 1fr;
  align-items: start;
}

.practice-map-detail-drawer .practice-map-detail-panel .detail-profile-main {
  align-items: flex-start;
}

.practice-map-detail-drawer .practice-map-detail-panel .detail-profile-copy h3 {
  max-width: 100%;
  font-size: 1.12rem;
  line-height: 1.18;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.practice-map-detail-drawer .practice-map-logo--detail {
  width: 74px;
  height: 58px;
  flex: 0 0 74px;
  border-radius: 10px;
}

.practice-map-detail-drawer .practice-map-logo--detail.practice-map-logo--logo img {
  padding: 7px;
}

.practice-map-detail-drawer .practice-map-detail-panel .detail-line {
  grid-template-columns: minmax(92px, 0.34fr) minmax(0, 1fr);
}

.document-table th,
.document-table td {
  padding: 11px 12px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

.document-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: var(--muted);
  background: var(--surface-muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.table-heading-row {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}

.table-heading-label {
  min-width: 0;
  color: inherit;
  font-weight: 900;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.table-heading-actions {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
}

.table-sort-button {
  width: 100%;
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  font-weight: 900;
  letter-spacing: 0;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
}

.table-sort-button:hover,
.table-sort-button:focus-visible {
  color: var(--primary);
  outline: none;
}

.table-sort-button em {
  min-width: 28px;
  color: var(--primary);
  font-size: 0.62rem;
  font-style: normal;
  text-align: right;
}

.table-static-heading {
  min-height: 28px;
  display: flex;
  align-items: center;
  color: inherit;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.recruitment-table .table-sort-button span {
  white-space: nowrap;
}

.table-sort-shell,
.table-filter-shell,
.table-column-action-shell {
  position: relative;
  flex: 0 0 auto;
}

.table-sort-control,
.table-filter-button,
.table-column-action-button {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--muted);
  background: var(--surface);
  cursor: pointer;
}

.table-sort-control {
  width: auto;
  min-width: 30px;
  padding: 0 6px;
  font-size: 0.66rem;
  font-weight: 900;
}

.table-sort-control span {
  line-height: 1;
}

.table-filter-button svg {
  width: 15px;
  height: 15px;
}

.table-column-action-button {
  width: auto;
  min-width: 32px;
  display: inline-flex;
  gap: 5px;
  padding: 0 6px;
  font-size: 0.62rem;
  font-weight: 900;
}

.table-column-action-button svg {
  width: 14px;
  height: 14px;
}

.table-column-action-button span {
  line-height: 1;
  white-space: nowrap;
}

.table-sort-control:hover,
.table-sort-control:focus-visible,
.table-sort-control[aria-expanded="true"],
.table-sort-control.is-active,
.table-filter-button:hover,
.table-filter-button:focus-visible,
.table-filter-button[aria-expanded="true"],
.table-filter-button.is-active,
.table-column-action-button:hover,
.table-column-action-button:focus-visible,
.table-column-action-button[aria-expanded="true"],
.table-column-action-button.is-active {
  color: var(--primary);
  border-color: rgba(21, 95, 228, 0.32);
  background: var(--primary-soft);
  outline: none;
}

.table-filter-popover {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  z-index: 35;
  width: min(260px, calc(100vw - 44px));
  max-height: 320px;
  overflow: auto;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
  text-transform: none;
  letter-spacing: 0;
}

.table-column-popover {
  width: min(300px, calc(100vw - 44px));
}

.table-filter-popover-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.table-menu-section + .table-menu-section {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}

.table-menu-section-title {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.table-filter-popover-head strong {
  color: var(--text);
  font-size: 0.82rem;
  letter-spacing: 0;
  text-transform: none;
}

.table-filter-popover-head button {
  min-height: 26px;
  padding: 4px 7px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.7rem;
  font-weight: 900;
  cursor: pointer;
}

.table-filter-option-list {
  display: grid;
  gap: 5px;
}

.table-filter-option {
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 7px;
  border: 1px solid var(--border);
  border-radius: 7px;
  color: var(--text-secondary);
  background: var(--surface-muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.table-filter-option:hover,
.table-filter-option:focus-visible,
.table-filter-option.is-active {
  color: var(--primary);
  border-color: rgba(21, 95, 228, 0.26);
  background: var(--primary-soft);
  outline: none;
}

.table-filter-option span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.table-filter-option strong {
  color: var(--muted);
  font-size: 0.7rem;
}

.table-filter-input {
  width: 100%;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid var(--border);
  border-radius: 7px;
  color: var(--text);
  background: var(--surface);
  font: inherit;
  font-size: 0.8rem;
  letter-spacing: 0;
  text-transform: none;
}

.table-filter-input::placeholder {
  color: var(--muted);
}

.table-filter-inline-clear {
  width: 100%;
  min-height: 28px;
  margin-top: 7px;
  border: 1px solid var(--border);
  border-radius: 7px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.72rem;
  font-weight: 900;
  cursor: pointer;
}

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

.document-table tbody tr:hover {
  background: #fbfdff;
}

.questionnaire-table-wrap {
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.questionnaire-table {
  min-width: 0;
  border-collapse: separate;
  border-spacing: 0 8px;
  table-layout: fixed;
}

.questionnaire-table th {
  position: static;
  padding: 0 8px 5px;
  border-bottom: 0;
  background: transparent;
}

.questionnaire-table td {
  padding: 10px 8px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}

.questionnaire-row td {
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.questionnaire-row .col-questionnaire-id {
  background: #f8fbff;
}

.questionnaire-row .col-questionnaire-question {
  border-left-color: rgba(21, 95, 228, 0.24);
  background: #fbfdff;
}

.questionnaire-row .col-questionnaire-answer {
  background: #fcfdff;
}

.questionnaire-table td:first-child {
  border-left: 1px solid rgba(21, 95, 228, 0.24);
  border-radius: 8px 0 0 8px;
}

.questionnaire-table td:last-child {
  border-right: 1px solid var(--border);
  border-radius: 0 8px 8px 0;
}

.questionnaire-table tbody tr:hover {
  background: transparent;
}

.questionnaire-table tbody tr:hover td {
  border-color: var(--border-strong);
  background: #fbfdff;
}

.questionnaire-table .col-questionnaire-id {
  width: 48px;
}

.questionnaire-table .col-questionnaire-question {
  width: 32%;
}

.questionnaire-table .col-questionnaire-variable {
  width: 16%;
}

.questionnaire-table .col-questionnaire-hypothesis {
  width: 16%;
}

.questionnaire-table .col-questionnaire-answer {
  width: 28%;
}

.document-title {
  max-width: 340px;
  font-weight: 900;
  line-height: 1.28;
}

.document-note,
.document-path,
.document-meta,
.document-stage {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.35;
}

.document-path {
  font-size: 0.72rem;
  overflow-wrap: anywhere;
}

.document-meta,
.document-stage {
  font-size: 0.76rem;
}

.literature-number {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 7px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--text-secondary);
  background: var(--surface-muted);
  font-size: 0.72rem;
  font-weight: 900;
  white-space: nowrap;
}

.literature-title {
  max-width: 390px;
}

.recruitment-title {
  max-width: 215px;
}

.recruitment-person {
  max-width: 100px;
}

.person-search-chip {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border: 1px solid rgba(21, 95, 228, 0.22);
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.7rem;
  font-weight: 900;
  line-height: 1.15;
  white-space: nowrap;
}

.recruitment-number {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 20px;
  color: var(--muted);
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.recruitment-table .region-cell {
  gap: 5px;
}

.recruitment-table .region-flag {
  width: 16px;
  font-size: 0.9rem;
}

.literature-authors,
.literature-journal,
.doi-link,
.empty-cell {
  display: block;
  color: var(--text-secondary);
  line-height: 1.35;
}

.literature-authors {
  max-width: 170px;
}

.literature-journal {
  max-width: 180px;
}

.doi-link {
  max-width: 210px;
  overflow-wrap: anywhere;
}

.empty-cell {
  color: var(--muted);
}

.empty-cell--blank {
  min-height: 18px;
}

.region-cell {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  font-weight: 800;
}

.region-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  font-size: 1rem;
  line-height: 1;
}

.study-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 900;
  white-space: nowrap;
}

.study-badge--1 {
  color: #155fe4;
  background: #eaf1ff;
  border-color: rgba(21, 95, 228, 0.18);
}

.study-badge--2 {
  color: #9f4d12;
  background: #fff2e6;
  border-color: rgba(217, 119, 6, 0.22);
}

.study-badge--3 {
  color: #16834a;
  background: #eaf8ef;
  border-color: rgba(22, 131, 74, 0.2);
}

.priority-chip {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  margin-right: 5px;
  padding: 2px 7px;
  border: 1px solid rgba(21, 95, 228, 0.16);
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 0.64rem;
  font-weight: 900;
  white-space: nowrap;
}

.priority-chip.priority-a {
  color: #b91c1c;
  background: #fff1f2;
  border-color: rgba(185, 28, 28, 0.22);
}

.priority-chip.priority-b {
  color: #9f4d12;
  background: #fff7ed;
  border-color: rgba(217, 119, 6, 0.24);
}

.priority-chip.priority-c {
  color: #475569;
  background: #f1f5f9;
  border-color: rgba(100, 116, 139, 0.24);
}

.soft-chip {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 7px;
  border-radius: 999px;
  color: var(--open);
  background: var(--open-soft);
  font-size: 0.72rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.category-chip,
.citation-chip {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 7px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
  white-space: nowrap;
}

.category-science {
  color: #0f766e;
  border-color: rgba(15, 118, 110, 0.18);
  background: #e9fbf7;
}

.category-policy {
  color: #8a4b12;
  border-color: rgba(180, 83, 9, 0.2);
  background: #fff4df;
}

.category-law {
  color: #6d28d9;
  border-color: rgba(109, 40, 217, 0.18);
  background: #f3ecff;
}

.category-orientation {
  color: #1d4ed8;
  border-color: rgba(29, 78, 216, 0.18);
  background: #eaf1ff;
}

.category-local {
  color: #9d174d;
  border-color: rgba(157, 23, 77, 0.18);
  background: #fff0f6;
}

.category-archive {
  color: #475569;
  border-color: rgba(71, 85, 105, 0.2);
  background: #f1f5f9;
}

.category-unknown {
  color: #5b6472;
  border-color: rgba(91, 100, 114, 0.2);
  background: #f6f8fb;
}

.citation-chip.is-cited {
  color: var(--ready);
  border-color: rgba(22, 131, 74, 0.2);
  background: var(--ready-soft);
}

.citation-chip.is-open {
  color: var(--open);
  border-color: rgba(79, 107, 138, 0.2);
  background: var(--open-soft);
}

.detail-drawer {
  display: inline-block;
}

.detail-drawer summary,
.quiet-shelf > summary,
.archive-section > summary {
  color: var(--primary);
  font-weight: 900;
  cursor: pointer;
}

.detail-drawer[open] {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}

.detail-drawer p {
  margin-bottom: 8px;
}

.detail-drawer blockquote {
  margin: 10px 0 0;
  padding: 10px;
  border-left: 3px solid var(--border-strong);
  background: var(--surface-muted);
  color: var(--text-secondary);
  line-height: 1.45;
}

.source-list,
.document-list {
  display: grid;
  gap: 7px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.source-list li,
.document-list li,
.archive-row {
  display: grid;
  gap: 4px;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-muted);
}

.source-list span,
.document-list span {
  color: var(--muted);
  font-size: 0.8rem;
}

.quiet-shelf {
  margin-top: 14px;
  padding: 13px;
}

.shelf-body {
  margin-top: 12px;
}

.shelf-card {
  padding: 12px;
  border-left-width: 4px;
}

.timeline {
  position: relative;
}

.kairos-frame {
  --chronos-min-width: 1120px;
  width: 100%;
  max-width: none;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-gutter: stable;
  box-shadow: var(--shadow);
}

.chronos-schedule {
  display: grid;
  gap: 20px;
  width: max(100%, var(--chronos-min-width));
}

.chronos-mobile-timeline {
  display: none;
}

.chronos-mobile-range-control {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 8px;
}

.chronos-mobile-range-label {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
}

.chronos-mobile-range-label.is-active {
  color: var(--promotionscockpit-blue);
}

.chronos-mobile-range-switch {
  width: 52px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 3px;
  border: 1px solid rgba(21, 95, 228, 0.22);
  border-radius: 999px;
  background: var(--surface-muted);
  cursor: pointer;
}

.chronos-mobile-range-switch[aria-checked="true"] {
  justify-content: flex-end;
  border-color: rgba(21, 95, 228, 0.34);
  background: var(--primary-soft);
}

.chronos-mobile-range-switch:focus-visible {
  outline: 2px solid rgba(21, 95, 228, 0.28);
  outline-offset: 2px;
}

.chronos-mobile-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--promotionscockpit-blue);
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.16);
}

.chronos-mobile-timeline-grid {
  display: grid;
  grid-template-columns: 48px repeat(var(--chronos-mobile-columns), minmax(0, 1fr));
  grid-template-rows: 20px 18px repeat(var(--chronos-mobile-rows), 34px);
  gap: 4px;
  position: relative;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.chronos-mobile-timeline-corner,
.chronos-mobile-timeline-year,
.chronos-mobile-timeline-quarter {
  min-width: 0;
  display: grid;
  place-items: center;
  border-radius: 6px;
  font-weight: 900;
  line-height: 1;
}

.chronos-mobile-timeline-corner {
  color: var(--promotionscockpit-blue);
  background: var(--surface-muted);
  font-size: 0.62rem;
}

.chronos-mobile-timeline-year {
  color: var(--text);
  background: color-mix(in srgb, var(--promotionscockpit-blue) 8%, #fff);
  font-size: 0.68rem;
}

.chronos-mobile-timeline-quarter {
  color: var(--muted);
  background: var(--surface-muted);
  font-size: 0.54rem;
}

.chronos-mobile-timeline-package,
.chronos-mobile-timeline-phase {
  min-width: 0;
  position: relative;
  z-index: 2;
  border-radius: 7px;
  font-family: inherit;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.chronos-mobile-timeline-package {
  width: 100%;
  height: 28px;
  align-self: center;
  padding: 0 3px;
  border: 1px solid color-mix(in srgb, var(--chronos-phase-strong) 22%, var(--border));
  color: var(--chronos-phase-strong);
  background: color-mix(in srgb, var(--chronos-phase-strong) 9%, #fff);
  font-size: 0.58rem;
}

.chronos-mobile-timeline-package.is-selected-package {
  border-color: var(--chronos-phase-strong);
  background: color-mix(in srgb, var(--chronos-phase-strong) 14%, #fff);
}

.chronos-mobile-timeline-track {
  height: 28px;
  align-self: center;
  border-radius: 7px;
  background: repeating-linear-gradient(
    90deg,
    rgba(184, 199, 232, 0.28) 0,
    rgba(184, 199, 232, 0.28) calc(100% / var(--chronos-mobile-columns) - 1px),
    rgba(255, 255, 255, 0.88) calc(100% / var(--chronos-mobile-columns) - 1px),
    rgba(255, 255, 255, 0.88) calc(100% / var(--chronos-mobile-columns))
  );
}

.chronos-mobile-timeline-phase {
  height: 26px;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--chronos-phase-strong) 28%, var(--border));
  color: var(--text);
  background: linear-gradient(180deg, color-mix(in srgb, var(--chronos-phase-strong) 18%, #fff), #fff);
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.06);
}

.chronos-mobile-timeline-phase::after {
  content: "";
  position: absolute;
  right: 4px;
  bottom: 3px;
  left: 4px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--chronos-phase-strong) 0 var(--chronos-progress),
    rgba(184, 199, 232, 0.4) var(--chronos-progress) 100%
  );
}

.chronos-mobile-timeline-phase span {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 0.56rem;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chronos-mobile-timeline.is-year-view .chronos-mobile-timeline-grid {
  grid-template-columns: 54px repeat(var(--chronos-mobile-columns), minmax(0, 1fr));
  grid-template-rows: 26px 24px repeat(var(--chronos-mobile-rows), 48px);
  gap: 6px;
  padding: 10px;
}

.chronos-mobile-timeline.is-year-view .chronos-mobile-timeline-package,
.chronos-mobile-timeline.is-year-view .chronos-mobile-timeline-track {
  height: 38px;
}

.chronos-mobile-timeline.is-year-view .chronos-mobile-timeline-phase {
  min-height: 38px;
  height: 42px;
  padding: 0 6px 5px;
}

.chronos-mobile-timeline.is-year-view .chronos-mobile-timeline-phase span {
  font-size: 0.66rem;
  line-height: 1.08;
  white-space: nowrap;
}

.chronos-mobile-timeline.is-year-view .chronos-mobile-timeline-year {
  font-size: 0.78rem;
}

.chronos-mobile-timeline.is-year-view .chronos-mobile-timeline-quarter {
  font-size: 0.62rem;
}

.chronos-mobile-timeline-package:hover,
.chronos-mobile-timeline-package:focus-visible,
.chronos-mobile-timeline-phase:hover,
.chronos-mobile-timeline-phase:focus-visible,
.chronos-mobile-timeline-phase.is-selected {
  outline: none;
  border-color: color-mix(in srgb, var(--chronos-phase-strong) 44%, var(--border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--chronos-phase-strong) 16%, transparent);
}

.chronos-mobile-timeline-phase.is-active-phase {
  border-color: color-mix(in srgb, var(--chronos-phase-strong) 46%, var(--border));
  background: linear-gradient(180deg, color-mix(in srgb, var(--chronos-phase-strong) 24%, #fff), #fff);
}

.chronos-mobile-timeline-today {
  position: relative;
  z-index: 4;
  pointer-events: none;
}

.chronos-mobile-timeline-today::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--chronos-mobile-today-offset);
  width: 2px;
  border-radius: 999px;
  background: var(--promotionscockpit-blue);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.86);
}

.chronos-mobile-timeline-today span {
  display: none;
}

.chronos-progress-meter {
  position: relative;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(184, 199, 232, 0.48);
}

.chronos-progress-meter::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--chronos-progress);
  border-radius: inherit;
  background: var(--primary);
}

.chronos-progress-meter::after {
  content: "";
  position: absolute;
  top: -2px;
  bottom: -2px;
  left: var(--chronos-target);
  width: 2px;
  border-radius: 999px;
  background: #17275f;
}

.chronos-progress-meter.is-actual-only::after {
  display: none;
}

.chronos-grid {
  --chronos-label-width: clamp(250px, 18vw, 380px);
  display: grid;
  grid-template-columns: var(--chronos-label-width) repeat(16, minmax(54px, 1fr));
  grid-template-rows: 44px 34px repeat(var(--chronos-rows), minmax(clamp(96px, 13vh, 145px), 1fr));
  min-height: clamp(520px, calc(100vh - var(--topbar-height) - 190px), 720px);
  overflow: hidden;
  background: linear-gradient(90deg, #f8fbff 0, #ffffff 56%, #f5f8ff 100%);
}

.chronos-label-head,
.chronos-year,
.chronos-quarter,
.chronos-package {
  display: flex;
  align-items: center;
  border-color: rgba(203, 213, 225, 0.6);
}

.chronos-label-head {
  padding: 0 12px;
  border-right: 1px solid rgba(203, 213, 225, 0.82);
  color: var(--text-secondary);
  font-weight: 900;
}

.chronos-year,
.chronos-quarter {
  justify-content: center;
  border-bottom: 1px solid rgba(203, 213, 225, 0.52);
  color: var(--text-secondary);
}

.chronos-year {
  background: rgba(234, 241, 255, 0.55);
  font-size: 0.98rem;
  font-weight: 900;
}

.chronos-quarter {
  background: rgba(248, 250, 252, 0.72);
  font-size: 0.68rem;
  font-weight: 500;
}

.chronos-package {
  gap: 10px;
  padding: 12px;
  border: 0;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
  border-right: 1px solid rgba(203, 213, 225, 0.82);
  color: var(--text);
  background: linear-gradient(90deg, color-mix(in srgb, var(--chronos-phase-strong) 9%, #fff), rgba(255, 255, 255, 0.76));
  text-align: left;
  cursor: pointer;
  transition: background 0.16s ease, box-shadow 0.16s ease, color 0.16s ease;
}

.chronos-package:hover,
.chronos-package:focus-visible,
.chronos-package.is-selected-package {
  color: color-mix(in srgb, var(--chronos-phase-strong) 86%, #17275f);
  background: linear-gradient(90deg, color-mix(in srgb, var(--chronos-phase-strong) 15%, #fff), rgba(255, 255, 255, 0.86));
  outline: none;
  box-shadow: inset 4px 0 0 var(--chronos-phase-strong);
}

.chronos-package strong {
  min-width: 0;
  font-size: 0.9rem;
  line-height: 1.35;
}

.chronos-package-copy {
  min-width: 0;
  display: grid;
  gap: 6px;
  align-content: center;
}

.chronos-package-mark {
  width: min(178px, 100%);
  height: auto;
  max-height: 46px;
  display: block;
  object-fit: contain;
  object-position: left center;
}

.chronos-package-number {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 999px;
  color: #fff;
  background-color: var(--chronos-phase-strong);
  font-size: 0.75rem;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.13);
}

.chronos-track {
  border-top: 1px solid rgba(226, 232, 240, 0.9);
  background-image: linear-gradient(to right, rgba(226, 232, 240, 0.62) 1px, transparent 1px);
  background-size: calc(100% / 16) 100%;
}

.chronos-phase {
  position: relative;
  align-self: center;
  min-width: 0;
  min-height: clamp(52px, 5vh, 72px);
  display: grid;
  place-items: center;
  padding: 10px 16px 14px 7px;
  border: 0;
  color: var(--chronos-phase-text, #fff);
  background: linear-gradient(180deg, color-mix(in srgb, var(--chronos-phase) 90%, #fff), var(--chronos-phase));
  box-shadow: 0 9px 20px var(--chronos-shadow);
  font-size: clamp(0.62rem, 0.54vw, 0.82rem);
  font-weight: 900;
  line-height: 1.18;
  text-align: center;
  cursor: pointer;
  overflow: hidden;
}

.chronos-phase span {
  max-width: 100%;
  hyphens: auto;
  overflow-wrap: normal;
}

.chronos-phase > span:not(.chronos-phase-progress) {
  position: relative;
  z-index: 2;
}

.chronos-phase-progress {
  position: absolute;
  right: 8px;
  bottom: 7px;
  left: 8px;
  z-index: 2;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.38);
}

.chronos-phase-progress::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--chronos-progress);
  border-radius: inherit;
  background: var(--chronos-progress-fill, #fff);
}

.chronos-phase-progress::after {
  content: "";
  position: absolute;
  top: -2px;
  bottom: -2px;
  left: var(--chronos-target);
  width: 2px;
  border-radius: 999px;
  background: var(--chronos-progress-target, rgba(23, 39, 95, 0.86));
}

.chronos-phase.is-first {
  border-radius: 12px 0 0 12px;
}

.chronos-phase.is-last {
  border-radius: 0 12px 12px 0;
}

.chronos-phase.is-first.is-last {
  border-radius: 12px;
}

.chronos-phase:hover,
.chronos-phase:focus-visible,
.chronos-phase.is-selected {
  outline: none;
  box-shadow:
    0 0 0 3px rgba(21, 95, 228, 0.14),
    0 12px 24px var(--chronos-shadow);
  transform: translateY(-1px);
}

.chronos-phase.is-active-phase {
  color: #fff;
  background: var(--chronos-phase-strong);
  color: var(--chronos-active-phase-text, var(--chronos-phase-text, #fff));
}

.chronos-today-cell {
  position: relative;
  z-index: 7;
  pointer-events: none;
}

.chronos-today-line {
  position: absolute;
  top: 70px;
  bottom: 8px;
  width: 2px;
  background: #17275f;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.92);
}

.chronos-today-line span {
  position: absolute;
  top: 8px;
  left: 7px;
  padding: 3px 6px;
  border-radius: 999px;
  color: #fff;
  background: #17275f;
  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0;
}

.chronos-theme-trace,
.chronos-theme-pink {
  --chronos-phase: #ca8fc3;
  --chronos-phase-strong: var(--study-trace);
  --chronos-phase-text: #ffffff;
  --chronos-active-phase-text: #ffffff;
  --chronos-shadow: rgba(185, 113, 172, 0.24);
}

.chronos-theme-maps,
.chronos-theme-teal {
  --chronos-phase: #c7e9ef;
  --chronos-phase-strong: var(--study-maps);
  --chronos-phase-text: var(--deep-navy);
  --chronos-active-phase-text: var(--deep-navy);
  --chronos-progress-fill: var(--promotionscockpit-blue);
  --chronos-progress-target: rgba(0, 48, 91, 0.74);
  --chronos-shadow: rgba(0, 72, 153, 0.13);
}

.chronos-theme-paths,
.chronos-theme-violet {
  --chronos-phase: #f5b487;
  --chronos-phase-strong: var(--study-paths);
  --chronos-phase-text: var(--deep-navy);
  --chronos-active-phase-text: #ffffff;
  --chronos-shadow: rgba(240, 131, 56, 0.24);
}

.chronos-theme-promotionscockpit,
.chronos-theme-amber {
  --chronos-phase: var(--promotionscockpit-blue);
  --chronos-phase-strong: var(--deep-navy);
  --chronos-phase-text: #ffffff;
  --chronos-active-phase-text: #ffffff;
  --chronos-shadow: rgba(0, 48, 91, 0.24);
}

.chronos-package-number.chronos-theme-pink {
  background-color: #ec3e95;
}

.chronos-package-number.chronos-theme-teal {
  background-color: #1eb9a8;
}

.chronos-package-number.chronos-theme-violet {
  background-color: #a346f2;
}

.chronos-package-number.chronos-theme-amber {
  background-color: #ff9f0a;
}

.chronos-signal-ready {
  --chronos-signal: var(--ready);
  --chronos-signal-soft: var(--ready-soft);
}

.chronos-signal-attention {
  --chronos-signal: var(--attention);
  --chronos-signal-soft: var(--attention-soft);
}

.chronos-signal-blocked {
  --chronos-signal: var(--blocked);
  --chronos-signal-soft: var(--blocked-soft);
}

.chronos-signal-open {
  --chronos-signal: var(--open);
  --chronos-signal-soft: var(--open-soft);
}

body.chronos-drawer-open {
  overflow: hidden;
}

.chronos-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 620;
  background: rgba(246, 248, 252, 0.68);
  backdrop-filter: blur(3px) saturate(0.88);
}

.chronos-drawer-shell {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 630;
  width: min(540px, calc(100vw - 28px));
  display: grid;
  align-items: stretch;
  padding: 16px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: transparent;
}

.chronos-drawer-shell:focus {
  outline: none;
}

.chronos-detail-panel {
  position: relative;
  display: grid;
  gap: 14px;
  margin-top: 0;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--chronos-phase-strong) 22%, var(--border));
  border-top: 7px solid var(--chronos-phase-strong);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--chronos-phase-strong) 5%, #fff), #fff 38%),
    var(--surface);
  box-shadow: 0 -10px 26px rgba(15, 23, 42, 0.08), 0 22px 44px rgba(15, 23, 42, 0.11);
}

.chronos-drawer-shell .chronos-detail-panel {
  min-height: calc(100vh - 32px);
  align-content: start;
  margin: 0;
  box-shadow: -18px 0 40px rgba(15, 23, 42, 0.16), 0 26px 54px var(--chronos-shadow);
}

.chronos-drawer-shell .chronos-detail-panel::before {
  display: none;
}

.chronos-detail-panel.is-selected {
  box-shadow: 0 -10px 26px rgba(15, 23, 42, 0.08), 0 26px 54px var(--chronos-shadow);
}

.chronos-drawer-shell .chronos-detail-panel.is-selected {
  box-shadow: -18px 0 40px rgba(15, 23, 42, 0.16), 0 26px 54px var(--chronos-shadow);
}

.chronos-detail-panel::before {
  content: "";
  position: absolute;
  top: -16px;
  right: 8px;
  left: 8px;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(100, 116, 139, 0.38), transparent);
}

.chronos-detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
}

.chronos-detail-head h2 {
  margin: 2px 0 4px;
  font-size: 1.05rem;
}

.chronos-drawer-close {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--chronos-phase-strong) 22%, var(--border));
  border-radius: 999px;
  color: var(--chronos-phase-strong);
  background: color-mix(in srgb, var(--chronos-phase-strong) 8%, #fff);
  cursor: pointer;
}

.chronos-drawer-close:hover,
.chronos-drawer-close:focus-visible {
  outline: none;
  color: #fff;
  background: var(--chronos-phase-strong);
  box-shadow: 0 8px 18px var(--chronos-shadow);
}

.chronos-drawer-close-icon {
  width: 18px;
  height: 18px;
  stroke-width: 2.4;
}

.chronos-detail-badges {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  flex-wrap: wrap;
  max-width: none;
}

.chronos-meta-badge {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb, var(--chronos-phase-strong) 22%, var(--border));
  border-radius: 999px;
  color: var(--chronos-phase-strong);
  background: color-mix(in srgb, var(--chronos-phase-strong) 10%, #fff);
  font-size: 0.7rem;
  font-weight: 950;
  white-space: nowrap;
}

.chronos-meta-badge--study {
  color: #fff;
  background: var(--chronos-phase-strong);
  border-color: var(--chronos-phase-strong);
  box-shadow: 0 7px 16px var(--chronos-shadow);
}

.chronos-meta-badge:is(button) {
  appearance: none;
  cursor: pointer;
}

.chronos-meta-badge:is(button):hover,
.chronos-meta-badge:is(button):focus-visible {
  transform: translateY(-1px);
  outline: 2px solid color-mix(in srgb, var(--chronos-phase-strong) 24%, transparent);
  outline-offset: 2px;
}

.chronos-meta-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}

.chronos-status {
  min-width: max-content;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb, var(--chronos-signal) 24%, transparent);
  border-radius: 999px;
  color: var(--chronos-signal);
  background: var(--chronos-signal-soft);
  font-size: 0.72rem;
  font-weight: 950;
}

.chronos-detail-body {
  display: grid;
  gap: 12px;
}

.chronos-progress-row {
  display: grid;
  grid-template-columns: minmax(130px, 0.34fr) minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--chronos-phase-strong) 18%, var(--border));
  border-radius: var(--radius);
  background: linear-gradient(90deg, color-mix(in srgb, var(--chronos-phase-strong) 13%, #fff), #fff);
}

.chronos-progress-row div:first-child {
  display: grid;
  gap: 2px;
}

.chronos-progress-row span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.chronos-progress-row strong {
  color: var(--text);
  font-size: 1.08rem;
  font-weight: 950;
}

.chronos-progress-row small {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
}

.chronos-progress-row small.is-negative {
  color: var(--blocked);
}

.chronos-progress-row small.is-positive {
  color: var(--ready);
}

.chronos-detail-grid,
.chronos-detail-sections {
  display: grid;
  gap: 10px;
}

.chronos-detail-grid {
  grid-template-columns: minmax(0, 1fr);
}

.chronos-fact,
.chronos-detail-section {
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--chronos-card-accent, var(--chronos-phase-strong)) 18%, var(--border));
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--chronos-card-accent, var(--chronos-phase-strong)) 8%, #fff), #fff 72%),
    var(--surface-muted);
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--chronos-card-accent, var(--chronos-phase-strong)) 82%, transparent);
}

.chronos-fact {
  display: grid;
  gap: 6px;
}

.chronos-card-heading {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.chronos-card-icon-svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  color: var(--chronos-card-accent, var(--chronos-phase-strong));
  stroke-width: 2.3;
}

.chronos-card-tone-decision {
  --chronos-card-accent: #155fe4;
}

.chronos-card-tone-next {
  --chronos-card-accent: #1eb9a8;
}

.chronos-card-tone-todos {
  --chronos-card-accent: #a346f2;
}

.chronos-card-tone-risks {
  --chronos-card-accent: #b7791f;
}

.chronos-card-tone-dependencies {
  --chronos-card-accent: #ec3e95;
}

.chronos-fact strong {
  color: var(--text);
  font-size: 0.84rem;
  line-height: 1.35;
}

.chronos-detail-sections {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.chronos-detail-section ul {
  display: grid;
  gap: 6px;
  margin: 8px 0 0;
  padding-left: 18px;
  color: var(--text-secondary);
  font-size: 0.82rem;
  line-height: 1.35;
}

.chronos-detail-section a {
  overflow-wrap: anywhere;
}

.chronos-card-tone-documents {
  --chronos-card-accent: #155fe4;
}

.chronos-material-section ul {
  padding-left: 0;
  list-style: none;
}

.chronos-material-section li {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.78);
}

.chronos-material-section strong,
.chronos-material-section a {
  min-width: 0;
  color: var(--text);
  font-size: 0.82rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.chronos-material-section span {
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.3;
}

@media (max-width: 620px) {
  .chronos-drawer-shell {
    width: 100vw;
    padding: 10px;
  }

  .chronos-drawer-shell .chronos-detail-panel {
    min-height: calc(100vh - 20px);
  }

  .chronos-progress-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

.milestone {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border-left-width: 4px;
}

.milestone-marker {
  width: 10px;
  height: 10px;
  margin-top: 7px;
  border-radius: 50%;
  background: currentColor;
  color: var(--primary);
}

.milestone.status-blocked .milestone-marker {
  color: var(--blocked);
}

.milestone.status-attention .milestone-marker {
  color: var(--attention);
}

.milestone.status-ready .milestone-marker {
  color: var(--ready);
}

.archive-section {
  overflow: hidden;
}

.archive-section > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
}

.archive-body {
  padding: 0 12px 12px;
}

.empty-note,
.error-card {
  padding: 12px;
  color: var(--muted);
  background: var(--surface-muted);
}

@media (min-width: 981px) {
  .promotionscockpit-shell.is-sidebar-collapsed {
    grid-template-columns: var(--sidebar-collapsed-width) minmax(0, 1fr);
  }

  .promotionscockpit-shell.is-sidebar-collapsed .app-sidebar {
    padding-right: 10px;
    padding-left: 10px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-head {
    align-items: center;
    flex-direction: column;
    gap: 10px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-brand {
    min-height: 38px;
    justify-content: center;
    padding: 0;
  }

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

  .promotionscockpit-shell.is-sidebar-collapsed .brand-mark span {
    width: 12px;
    height: 12px;
    border-radius: 4px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .brand-mark span:nth-child(2) {
    top: 12px;
    left: 16px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .brand-mark span:nth-child(3) {
    top: 22px;
  }

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

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-nav {
    gap: 12px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-section {
    gap: 6px;
    padding: 0 0 12px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-section-panel {
    display: grid;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .nav-item {
    min-height: 42px;
    justify-content: center;
    gap: 0;
    padding: 9px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .nav-item.is-active {
    box-shadow: inset 0 -3px 0 var(--section-accent, #7ab7ff);
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-profile {
    justify-content: center;
    gap: 0;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-footer {
    display: grid;
    gap: 8px;
    justify-items: center;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-profile {
    width: 100%;
    min-height: 48px;
    padding: 4px;
  }

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

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-collapse-toggle {
    width: 100%;
    height: 40px;
    padding: 0;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-collapse-label {
    display: none;
  }

}

@media (max-width: 1180px) {
  .org-report-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .practice-map-workspace {
    grid-template-columns: 320px minmax(0, 1fr);
  }

  .org-collaboration {
    grid-template-columns: 1fr;
  }

  .study-cockpit-card,
  .study-focus-card,
  .study-cockpit-card--progress {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .promotionscockpit-shell {
    grid-template-columns: minmax(0, var(--sidebar-width)) minmax(0, 1fr);
    min-height: 100dvh;
  }

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

  .app-sidebar {
    position: sticky;
    top: 0;
    height: 100dvh;
    min-height: 0;
    padding: 14px 10px;
  }

  .sidebar-head {
    align-items: flex-start;
  }

  .sidebar-collapse-toggle {
    display: inline-flex;
  }

  .sidebar-brand {
    padding-bottom: 12px;
  }

  .sidebar-nav {
    display: grid;
  }

  .sidebar-section {
    display: grid;
    gap: 6px;
    overflow: visible;
  }

  .sidebar-section-label {
    display: flex;
  }

  .sidebar-section.is-collapsed .sidebar-section-panel {
    display: none;
  }

  .sidebar-section-panel {
    display: grid;
    gap: 6px;
    overflow: visible;
  }

  .sidebar-profile {
    margin-top: 0;
    width: 54px;
  }

  .nav-item {
    width: 100%;
    flex: 0 1 auto;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .app-sidebar {
    padding-right: 10px;
    padding-left: 10px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-head {
    align-items: center;
    flex-direction: column;
    gap: 10px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-brand {
    min-height: 38px;
    justify-content: center;
    padding: 0;
  }

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

  .promotionscockpit-shell.is-sidebar-collapsed .brand-mark span {
    width: 12px;
    height: 12px;
    border-radius: 4px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .brand-mark span:nth-child(2) {
    top: 12px;
    left: 16px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .brand-mark span:nth-child(3) {
    top: 22px;
  }

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

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-nav {
    gap: 12px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-section {
    gap: 6px;
    padding: 0 0 12px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-section-panel {
    display: grid;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .nav-item {
    min-height: 42px;
    justify-content: center;
    gap: 0;
    padding: 9px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .nav-item.is-active {
    box-shadow: inset 0 -3px 0 var(--section-accent, #7ab7ff);
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-profile {
    justify-content: center;
    gap: 0;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-footer {
    display: grid;
    gap: 8px;
    justify-items: center;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-profile {
    width: 100%;
    min-height: 48px;
    padding: 4px;
  }

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

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-collapse-toggle {
    width: 100%;
    height: 40px;
    padding: 0;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-collapse-label {
    display: none;
  }

  .filter-panel {
    width: min(360px, calc(100vw - 28px));
  }

  .practice-map-workspace {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .practice-map-workspace.has-practice-detail,
  .practice-map-workspace.is-list-collapsed,
  .practice-map-workspace.has-practice-detail.is-list-collapsed {
    grid-template-columns: 1fr;
  }

  .practice-map-panel {
    height: auto;
    max-height: none;
  }

  .practice-map-workspace.is-list-collapsed .practice-map-panel {
    align-items: stretch;
  }

  .practice-map-workspace.is-list-collapsed .practice-map-panel-head,
  .practice-map-workspace.is-list-collapsed .practice-map-panel-actions {
    flex-direction: row;
  }

  .practice-map-list {
    max-height: 320px;
  }

  .practice-map-detail-panel {
    height: auto;
  }

  .literature-country-layout,
  .literature-stat-donut-layout {
    grid-template-columns: 1fr;
  }

  .literature-country-side {
    grid-template-rows: auto auto;
  }

  .literature-country-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .literature-detail-grid {
    grid-template-columns: 1fr;
  }

  .questionnaire-overview,
  .questionnaire-section-grid {
    grid-template-columns: 1fr;
  }

  .today-focus-panel {
    grid-template-columns: 1fr;
  }

  .today-focus-side {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .today-step-grid {
    grid-template-columns: 1fr;
  }

  .start-study-grid {
    grid-template-columns: 1fr;
  }

  .start-dashboard {
    grid-template-columns: 1fr;
  }

  .start-study-stack {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  }
}

@media (max-width: 760px) {
  .topbar,
  .hero-card,
  .card-meta,
  .work-list-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .view-shell {
    padding: 16px 14px 24px;
  }

  .promotionscockpit-controls {
    padding: 10px 14px 0;
  }

  .controls-stack {
    grid-template-columns: 1fr;
    padding: 8px;
  }

  .filter-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .active-filter-list {
    justify-content: flex-start;
    max-width: none;
  }

  .filter-results {
    min-width: 0;
  }

  .filter-shell,
  .column-visibility-shell,
  .filter-panel-button {
    width: 100%;
  }

  .filter-panel-button {
    justify-content: space-between;
  }

  .filter-panel {
    position: static;
    width: 100%;
    margin-top: 8px;
  }

  .column-panel {
    position: static;
    width: 100%;
    margin-top: 8px;
  }

  .practice-map-panel {
    padding: 12px;
  }

  .practice-map-panel-head h2 {
    font-size: 1.2rem;
  }

  .practice-map-detail-panel .detail-profile-main {
    align-items: flex-start;
  }

  .practice-map-logo--detail {
    width: 96px;
    height: 70px;
    flex-basis: 96px;
  }

  .practice-map-detail-panel .detail-profile-top {
    grid-template-columns: 1fr;
  }

  .practice-map-detail-panel .detail-line {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .practice-map-box,
  .practice-map-canvas {
    min-height: 520px;
    height: 520px;
  }

  .literature-country-map-shell,
  .literature-country-map {
    min-height: 300px;
    height: 300px;
  }

  .literature-country-list {
    grid-template-columns: 1fr;
  }

  .literature-stat-columns {
    min-height: 112px;
    overflow-x: visible;
    grid-template-columns: repeat(var(--stat-column-count), minmax(16px, 1fr));
    gap: 5px;
  }

  .literature-stat-column {
    height: 112px;
  }

  .literature-topic-cloud {
    justify-content: flex-start;
  }

  .literature-topic-chip {
    max-width: 100%;
    white-space: normal;
  }

  .practice-map-controls {
    top: 10px;
    left: 10px;
    right: 10px;
    align-items: flex-start;
  }

  .practice-map-dropdown {
    min-width: 0;
    flex: 1 1 auto;
  }

  .practice-map-toggle {
    width: 100%;
    justify-content: space-between;
  }

  .practice-map-dropdown-menu {
    width: 100%;
  }

  .practice-map-legend {
    right: 10px;
    bottom: 10px;
    left: 10px;
    min-width: 0;
  }

  .study-accordion-head {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
  }

  .study-accordion-meta {
    grid-column: 2 / 3;
    justify-content: flex-start;
    max-width: none;
  }

  .study-switch-tabs {
    grid-template-columns: 1fr;
  }

  .study-switch-tab {
    min-height: 0;
  }

  .study-panel-head {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
  }

  .study-panel-meta {
    grid-column: 2 / 3;
    justify-content: flex-start;
  }

  .study-count-pill {
    white-space: normal;
    line-height: 1.25;
  }

  .study-toggle-icon {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
  }

  .study-type-icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
  }

  .sidebar-section-panel {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(68px, 1fr));
    gap: 6px;
    overflow: visible;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-section.is-collapsed .sidebar-section-panel {
    display: none;
  }

  .nav-item {
    min-height: 52px;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 7px 4px;
    font-size: 0.68rem;
    text-align: center;
  }

  .nav-item span:last-child {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .nav-icon {
    width: 16px;
    height: 16px;
  }

  .sidebar-profile {
    width: 100%;
    justify-content: flex-start;
  }

  .sidebar-profile > span:last-child {
    text-align: left;
  }

  .decision-grid,
  .micro-row,
  .persona-grid {
    grid-template-columns: 1fr;
  }

  .work-item {
    grid-template-columns: 1fr;
  }

  .today-focus-panel {
    padding: 14px;
  }

  .today-focus-main h2 {
    font-size: 1.32rem;
  }

  .today-focus-action {
    padding: 12px;
  }

  .today-focus-side {
    grid-template-columns: 1fr;
  }

  .start-study-button {
    min-height: 0;
  }

  .start-dashboard {
    --start-visual-height: 150px;
    gap: 10px;
  }

  .start-dashboard-column--map,
  .start-dashboard-column--maps-slot,
  .start-dashboard-column--paths-slot {
    min-height: 0;
  }

  .start-dashboard-panel {
    gap: 10px;
    padding: 10px;
  }

  .start-dashboard-panel-head {
    min-height: 0;
    gap: 8px;
    padding-bottom: 8px;
  }

  .start-dashboard-panel-head h3 {
    font-size: 0.98rem;
  }

  .start-study-slot-body {
    padding: 8px;
  }

  .start-dashboard-action {
    min-height: 30px;
    padding: 5px 8px;
  }

  .start-study-stack {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .study-overview-page {
    gap: 10px;
  }

  .study-overview-feature .start-study-button {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    min-height: 0;
    gap: 10px;
    padding: 10px;
  }

  .study-overview-feature .start-study-logo-wrap {
    grid-row: auto;
    min-height: 112px;
    padding: 8px;
  }

  .study-overview-feature .start-study-logo-surface {
    min-height: 82px;
  }

  .study-overview-feature .start-study-logo {
    max-height: 76px;
  }

  .study-overview-feature .start-study-copy {
    gap: 5px;
  }

  .study-overview-feature .start-study-copy strong {
    font-size: 1.12rem;
  }

  .study-overview-feature .start-study-copy > span:last-child {
    font-size: 0.82rem;
  }

  .study-overview-card-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .study-overview-info-card {
    min-height: 0;
    gap: 9px;
    padding: 12px;
  }

  .study-overview-info-card p {
    font-size: 0.82rem;
  }

  .study-overview-info-list {
    gap: 7px;
  }

  .study-overview-info-list dd {
    font-size: 0.76rem;
  }

  .start-dashboard .start-study-button {
    grid-template-columns: minmax(150px, 58%) minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    min-height: 94px;
    gap: 9px;
    padding: 8px;
    border-top-width: 1px;
    border-left-width: 4px;
  }

  .start-dashboard .start-study-card.status-ready .start-study-button {
    border-left-color: var(--ready);
  }

  .start-dashboard .start-study-card.status-attention .start-study-button {
    border-left-color: var(--attention);
  }

  .start-dashboard .start-study-card.status-open .start-study-button {
    border-left-color: var(--open);
  }

  .start-dashboard .start-study-logo-wrap {
    grid-row: auto;
    min-height: 0;
    height: 64px;
    padding: 4px 6px;
  }

  .start-study-logo-wrap {
    min-height: 124px;
  }

  .start-dashboard .start-study-logo-surface,
  .start-study-logo-surface {
    min-height: 0;
  }

  .start-dashboard .start-study-logo {
    width: 100%;
    max-height: 56px;
  }

  .start-dashboard .start-study-copy {
    gap: 4px;
  }

  .start-dashboard .start-study-copy .eyebrow {
    font-size: 0.62rem;
  }

  .start-dashboard .start-study-copy strong {
    font-size: 1rem;
  }

  .start-dashboard .start-study-copy > span:last-child {
    display: none;
  }

  .start-dashboard .start-study-progress {
    grid-column: 1 / -1;
    gap: 0;
  }

  .start-dashboard .start-study-progress-track {
    height: 5px;
  }

  .start-dashboard .start-study-progress-label {
    display: none;
  }

  .start-zotero-banner {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 9px;
  }

  .start-zotero-mark {
    min-height: 44px;
    padding: 8px 10px;
  }

  .start-zotero-logo {
    max-width: 120px;
    max-height: 40px;
  }

  .start-zotero-count {
    min-width: 0;
    justify-items: center;
  }

  .start-literature-metrics,
  .trace-map-summary,
  .start-study-slot-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .start-literature-metrics span,
  .trace-map-summary span,
  .start-study-slot-metrics span {
    padding: 8px;
  }

  .start-literature-item {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 8px;
    padding: 9px;
  }

  .start-literature-list {
    display: none;
  }

  .trace-map-preview {
    height: var(--start-visual-height);
    display: grid;
    place-items: center;
    aspect-ratio: auto;
    min-height: 0;
  }

  .trace-mini-map {
    width: auto;
    max-width: 100%;
    height: 100%;
    min-height: 0;
  }

  .literature-stat-metrics,
  .literature-stat-grid,
  .literature-insight-grid {
    grid-template-columns: 1fr;
  }

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

  .literature-stat-card--wide,
  .literature-insight-section,
  .literature-detail-section {
    grid-column: auto;
  }

  .literature-quality-grid {
    grid-template-columns: 1fr;
  }

  .work-item-top {
    align-items: flex-start;
    flex-direction: column;
  }

  .work-meta {
    justify-content: flex-start;
  }

  .evidence-task {
    grid-template-columns: 1fr;
  }

  .work-rank {
    margin-top: 0;
  }

  .work-summary {
    width: 100%;
    justify-content: stretch;
  }

  .work-summary span {
    min-width: 0;
    flex: 1 1 120px;
  }

  .persona-org-chart {
    padding: 12px;
  }

  .org-report-grid {
    grid-template-columns: 1fr;
  }

  .org-line {
    width: 2px;
    height: 18px;
    border-top: 0;
    border-right: 0;
    border-left: 2px solid var(--border-strong);
    border-radius: 0;
    margin-top: 8px;
  }

  .org-node,
  .org-node--leader {
    grid-template-columns: auto minmax(0, 1fr);
    justify-items: start;
    align-items: center;
    text-align: left;
  }

  .org-title-stack {
    justify-items: start;
  }

  .org-portrait {
    width: 58px;
    height: 58px;
    border-radius: 15px;
  }

  .org-node--leader .org-portrait {
    width: 66px;
    height: 66px;
    border-radius: 17px;
  }

  .persona-detail-panel {
    padding: 12px;
  }

  .persona-section-grid {
    grid-template-columns: 1fr;
  }

  .persona-profile-pair {
    grid-template-columns: 1fr;
  }

  .persona-section-head,
  .persona-task-head,
  .persona-automation-head,
  .persona-automation-meta {
    align-items: flex-start;
    flex-direction: column;
  }

  .study-detail-panel {
    grid-template-columns: 1fr;
    padding: 12px;
  }

  .study-cockpit-card,
  .study-focus-card,
  .study-cockpit-card--progress {
    grid-column: 1 / -1;
  }

  .study-card-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .study-progress-steps {
    grid-template-columns: 1fr;
  }

  .questionnaire-panel {
    padding: 12px;
  }

  .questionnaire-analysis-head,
  .questionnaire-analysis-methods {
    grid-template-columns: 1fr;
  }

  .questionnaire-analysis-head {
    display: grid;
  }

  .questionnaire-analysis-count {
    justify-items: start;
    width: 100%;
  }

  .questionnaire-analysis-status {
    grid-template-columns: 1fr;
  }

  .questionnaire-example-panel .questionnaire-analysis-focus-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "top"
      "title"
      "text"
      "chart"
      "note";
  }

  .questionnaire-analysis-workflow ol {
    grid-template-columns: 1fr;
  }

  .questionnaire-analysis-workflow li {
    min-height: 0;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
  }

  .questionnaire-analysis-workflow li:not(:last-child)::before,
  .questionnaire-analysis-workflow li:not(:last-child)::after {
    display: none;
  }

  .questionnaire-analysis-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .directory-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .filter-action .text-button {
    width: 100%;
  }

  .recruitment-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .recruitment-study-count {
    white-space: normal;
  }

  .document-table {
    min-width: 0;
  }

  .document-table,
  .document-table tbody,
  .document-table tr,
  .document-table td {
    display: block;
    width: 100%;
  }

  .document-table thead {
    display: none;
  }

  .document-table tr {
    padding: 12px;
    border-bottom: 1px solid var(--border);
  }

  .document-table td {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 10px;
    padding: 7px 0;
    border-bottom: 0;
  }

  .questionnaire-table .col-questionnaire-id,
  .questionnaire-table .col-questionnaire-question,
  .questionnaire-table .col-questionnaire-variable,
  .questionnaire-table .col-questionnaire-hypothesis,
  .questionnaire-table .col-questionnaire-answer {
    width: 100%;
  }

  .document-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
  }

  .document-title {
    max-width: none;
  }

  .recruitment-title,
  .recruitment-person {
    max-width: none;
  }

  .primary-button {
    max-width: none;
    width: 100%;
  }

  .kairos-frame {
    --chronos-min-width: 1120px;
    width: calc(100vw - 28px);
    margin-inline: -4px;
  }

  .chronos-detail-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .chronos-detail-sections {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  }
}

@media (max-width: 760px) {
  :root {
    --sidebar-width: 300px;
    --sidebar-collapsed-width: 64px;
  }

  body {
    overflow-x: hidden;
  }

  .promotionscockpit-shell,
  .promotionscockpit-shell.is-sidebar-collapsed {
    grid-template-columns: 0 minmax(0, 1fr);
    min-height: 100dvh;
  }

  .app-main {
    width: calc(100vw - var(--sidebar-collapsed-width));
    max-width: calc(100vw - var(--sidebar-collapsed-width));
    margin-left: var(--sidebar-collapsed-width);
  }

  .app-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(var(--sidebar-width), calc(100vw - 18px));
    height: 100dvh;
    max-height: 100dvh;
    padding: 10px 8px;
    box-shadow: 16px 0 34px rgba(9, 35, 89, 0.22);
  }

  .promotionscockpit-shell.is-sidebar-collapsed .app-sidebar {
    width: var(--sidebar-collapsed-width);
    padding-right: 6px;
    padding-left: 6px;
    box-shadow: none;
  }

  .sidebar-head,
  .promotionscockpit-shell:not(.is-sidebar-collapsed) .sidebar-head {
    align-items: flex-start;
    flex-direction: row;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-head {
    align-items: center;
    flex-direction: column;
    gap: 10px;
  }

  .sidebar-brand {
    min-height: 54px;
    padding: 0 6px 10px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-brand {
    justify-content: center;
    padding: 0 0 10px;
  }

  .sidebar-section-panel {
    grid-template-columns: 1fr;
  }

  .sidebar-section-label {
    display: flex;
    padding-right: 8px;
    padding-left: 8px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-section-label {
    display: none;
  }

  .nav-item {
    min-height: 42px;
    flex-direction: row;
    justify-content: flex-start;
    gap: 10px;
    padding: 9px 10px;
    font-size: 0.84rem;
    text-align: left;
  }

  .nav-item span:last-child {
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .nav-item {
    min-height: 44px;
    justify-content: center;
    gap: 0;
    padding: 0;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .nav-label {
    display: none;
  }

  .nav-icon {
    width: 18px;
    height: 18px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .nav-icon {
    width: 19px;
    height: 19px;
  }

  .sidebar-profile {
    width: 100%;
    justify-content: flex-start;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-profile {
    width: 100%;
    justify-content: center;
    gap: 0;
  }

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

  .sidebar-collapse-toggle {
    min-height: 40px;
    display: inline-flex;
    border-radius: 12px;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-collapse-toggle {
    height: 40px;
    padding: 0;
  }

  .promotionscockpit-shell.is-sidebar-collapsed .sidebar-collapse-label {
    display: none;
  }
}

@media (max-width: 760px) {
  body[data-view="kairos"] .view-shell {
    padding: 10px;
  }

  #kairosTimeline {
    display: grid;
    gap: 12px;
  }

  .chronos-mobile-timeline {
    display: grid;
  }

  .kairos-frame {
    display: none;
  }
}

@media (max-width: 360px) {
  .start-dashboard-action {
    width: 38px;
    justify-content: center;
    padding: 5px;
  }

  .start-dashboard-action span {
    display: none;
  }

  .start-dashboard .start-study-button {
    grid-template-columns: 1fr;
  }

  .start-dashboard .start-study-copy {
    display: none;
  }

  .start-dashboard .start-study-logo-wrap {
    height: 66px;
  }

  .start-dashboard .start-study-logo {
    max-height: 58px;
  }
}
