/* Victa Beats Sync Operations System — Release Hardening 2.4.1 */
:root {
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  --font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
  --bg: #f4f5f7;
  --bg-elevated: #fafbfc;
  --surface: #ffffff;
  --surface-muted: #f7f7f9;
  --surface-strong: #eef0f4;
  --text: #17181b;
  --text-soft: #44474f;
  --muted: #686c76;
  --muted-strong: #555963;
  --line: #dfe1e6;
  --line-strong: #c9ccd3;
  --accent: #5547d8;
  --accent-hover: #4436c2;
  --accent-soft: #eeecff;
  --accent-text: #392ca6;
  --success: #16754a;
  --success-soft: #e7f6ee;
  --warning: #875700;
  --warning-soft: #fff4d8;
  --danger: #ae2a22;
  --danger-soft: #ffedeb;
  --info: #2856a5;
  --info-soft: #eaf1ff;
  --focus: #7c6cf0;
  --shadow-xs: 0 1px 2px rgba(23, 24, 27, 0.04);
  --shadow-sm: 0 8px 24px rgba(23, 24, 27, 0.055);
  --shadow-md: 0 20px 55px rgba(23, 24, 27, 0.09);
  --radius-xs: 8px;
  --radius-sm: 11px;
  --radius-md: 15px;
  --radius-lg: 20px;
  --radius-xl: 26px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --space-9: 56px;
  --sidebar-width: 236px;
  --content-width: 1440px;
  --transition-fast: 140ms ease;
  --transition: 220ms ease;
  --z-sidebar: 40;
  --z-sticky: 25;
  --z-dialog: 80;
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); font-size: 15px; line-height: 1.55; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
button { color: inherit; }
h1, h2, h3, h4, p { overflow-wrap: anywhere; }
h1, h2, h3, h4 { font-family: var(--font-display); color: var(--text); }
h2 { font-size: 20px; line-height: 1.25; letter-spacing: -0.025em; }
h3 { font-size: 16px; line-height: 1.35; }
p { margin-top: 0; }
small { line-height: 1.4; }
hr { border: 0; border-top: 1px solid var(--line); margin: var(--space-6) 0; }
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
code { font-size: 0.9em; }
[hidden] { display: none !important; }

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

.skip-link {
  position: fixed;
  inset: 10px auto auto 10px;
  z-index: 100;
  transform: translateY(-150%);
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  background: var(--text);
  color: #fff;
  font-weight: 750;
  transition: transform var(--transition-fast);
}
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.icon { width: 20px; height: 20px; flex: 0 0 auto; }

/* Application shell */
.app-shell { display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); min-height: 100vh; }
.sidebar {
  position: sticky;
  top: 0;
  z-index: var(--z-sidebar);
  display: flex;
  flex-direction: column;
  width: var(--sidebar-width);
  height: 100vh;
  padding: 18px 14px max(14px, env(safe-area-inset-bottom));
  border-right: 1px solid var(--line);
  background: rgba(249, 250, 252, 0.94);
  backdrop-filter: saturate(150%) blur(20px);
  -webkit-backdrop-filter: saturate(150%) blur(20px);
}
.sidebar-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sidebar-close { display: none; }
.sidebar-backdrop { display: none; }
.brand { display: flex; align-items: center; min-width: 0; gap: 11px; padding: 5px 7px 18px; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border-radius: 13px;
  background: linear-gradient(145deg, #141518, #555964);
  color: #fff;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.18), 0 6px 18px rgba(15, 16, 18, 0.16);
  font-size: 14px;
  font-weight: 850;
  letter-spacing: -0.04em;
}
.brand-mark.small { width: 34px; height: 34px; border-radius: 11px; font-size: 12px; }
.brand-copy { min-width: 0; }
.brand b, .brand small, .mobile-brand b, .mobile-brand small { display: block; }
.brand b { font-size: 14px; line-height: 1.25; letter-spacing: -0.015em; }
.brand small { color: var(--muted); font-size: 11px; }
.primary-nav { display: grid; gap: 3px; }
.nav-link {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 44px;
  padding: 9px 11px;
  border-radius: var(--radius-sm);
  color: var(--text-soft);
  font-size: 14px;
  font-weight: 680;
  transition: background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}
.nav-link:hover { background: var(--surface-strong); color: var(--text); }
.nav-link.active { background: var(--accent-soft); color: var(--accent-text); }
.nav-link:active { transform: scale(0.985); }
.nav-icon { display: grid; place-items: center; width: 24px; color: currentColor; }
.context-nav { margin-top: 18px; padding: 14px 8px 0; border-top: 1px solid var(--line); }
.context-nav > p { margin: 0 0 7px 8px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.context-nav nav { display: grid; gap: 2px; }
.context-link {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 39px;
  padding: 8px 10px;
  border-radius: 10px;
  color: var(--muted-strong);
  font-size: 13px;
  font-weight: 650;
}
.context-link .icon { width: 17px; height: 17px; }
.context-link:hover, .context-link.active { background: var(--surface); color: var(--text); box-shadow: var(--shadow-xs); }
.sidebar-bottom { display: grid; gap: 2px; margin-top: auto; padding: 14px 7px 0; border-top: 1px solid var(--line); }
.sidebar-bottom form { margin: 0; }
.sidebar-utility {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 39px;
  gap: 9px;
  padding: 8px 9px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font-size: 13px;
  font-weight: 620;
  text-align: left;
  cursor: pointer;
}
.sidebar-utility:hover { background: var(--surface-strong); color: var(--text); }
.sidebar-utility .icon { width: 17px; height: 17px; }
.version-label { padding: 7px 9px 0; color: #92959d; font-size: 10px; }
.main { min-width: 0; }
.mobile-head, .mobile-nav { display: none; }
.content { width: min(var(--content-width), 100%); margin: 0 auto; padding: 34px clamp(18px, 3.2vw, 48px) 72px; }

/* Page orientation */
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.page-heading { min-width: 0; max-width: 820px; }
.breadcrumb { display: flex; align-items: center; gap: 7px; margin-bottom: 7px; color: var(--muted); font-size: 12px; font-weight: 650; }
.breadcrumb a:hover { color: var(--accent-text); text-decoration: underline; text-underline-offset: 3px; }
.breadcrumb span[aria-current="page"] { overflow: hidden; max-width: 48ch; text-overflow: ellipsis; white-space: nowrap; }
.page-head h1 { margin: 0; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.03; letter-spacing: -0.052em; }
.page-subtitle { max-width: 72ch; margin: 9px 0 0; color: var(--muted); font-size: 15px; }
.page-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.save-state { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; color: var(--warning); font-size: 12px; font-weight: 700; }
.save-state .icon { width: 15px; height: 15px; }
.section-nav {
  position: sticky;
  top: 10px;
  z-index: var(--z-sticky);
  display: flex;
  gap: 4px;
  margin: -8px 0 22px;
  padding: 6px;
  overflow-x: auto;
  border: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(18px);
  scrollbar-width: none;
}
.section-nav::-webkit-scrollbar { display: none; }
.section-nav a { flex: 0 0 auto; min-height: 36px; padding: 8px 11px; border-radius: 9px; color: var(--muted-strong); font-size: 12px; font-weight: 720; }
.section-nav a:hover, .section-nav a.active { background: var(--accent-soft); color: var(--accent-text); }

/* Layout primitives */
.grid { display: grid; gap: 20px; margin-bottom: 20px; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stack { display: grid; gap: 12px; }
.row { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.grow { flex: 1; min-width: 0; }
.wrap { flex-wrap: wrap; }
.actions, .actions-inline, .page-actions, .player-actions, .deliverables, .chip-list, .pill-list, .meta-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.actions { margin-top: 18px; }
.actions-inline { justify-content: flex-end; }
.toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 18px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--shadow-xs);
}
.toolbar > input, .toolbar > select, .toolbar > label { flex: 1 1 180px; }
.toolbar .search { flex: 2 1 280px; }
.toolbar .button, .toolbar .btn { flex: 0 0 auto; }
.filter-summary { display: flex; align-items: center; gap: 8px; margin: -6px 0 16px; color: var(--muted); font-size: 13px; }
.result-count { font-weight: 750; color: var(--text-soft); }

/* Surfaces and cards */
.card, .login-card, .public-card {
  border: 1px solid rgba(26, 29, 35, 0.08);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
.card { margin-bottom: 20px; padding: 22px; }
.card > :first-child { margin-top: 0; }
.card > :last-child { margin-bottom: 0; }
.card h2 { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 15px; }
.card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 16px; }
.card-header h2 { margin: 0; }
.card-description { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.card.subtle { box-shadow: none; background: var(--surface-muted); }
.card.inset { border-style: dashed; box-shadow: none; }
.card.is-highlighted { border-color: color-mix(in srgb, var(--accent) 32%, var(--line)); box-shadow: 0 12px 35px rgba(85, 71, 216, 0.1); }
.cards-list { display: grid; gap: 12px; margin-bottom: 20px; }
.item-link {
  display: block;
  min-width: 0;
  padding: 11px 12px;
  border-radius: var(--radius-sm);
  transition: background var(--transition-fast), transform var(--transition-fast);
}
.item-link:hover { background: var(--surface-muted); }
.item-link:active { transform: scale(0.995); }
.item-link small { display: block; margin-top: 3px; }
.catalog-row, .priority-card {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0;
  padding: 16px;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}
a.catalog-row:hover { border-color: color-mix(in srgb, var(--accent) 28%, var(--line)); box-shadow: var(--shadow-md); transform: translateY(-1px); }
.catalog-row .grow > b { display: block; margin-bottom: 3px; font-size: 16px; letter-spacing: -0.015em; }
.catalog-row .grow > small { display: block; }
.catalog-row .score { min-width: 48px; text-align: right; font-size: 19px; letter-spacing: -0.03em; }
.priority-card { align-items: stretch; padding: 0; overflow: hidden; }
.priority-card > h2 { display: none; }
.priority-card .callout { display: flex; align-items: center; width: 100%; min-height: 112px; margin: 0; padding: 24px; border: 0; border-radius: inherit; font-size: clamp(16px, 2vw, 20px); }
.priority-card .callout::before { content: "→"; display: grid; place-items: center; width: 42px; height: 42px; margin-right: 14px; border-radius: 50%; background: rgba(255,255,255,.72); font-size: 22px; }

/* Metrics and progress */
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.metric-grid.compact { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.metric-grid .metric, .grid.four > .card {
  min-height: 112px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-xs);
}
.metric-grid .metric span, .grid.four > .card .muted { display: block; color: var(--muted); font-size: 12px; font-weight: 720; }
.metric-grid .metric strong, .metric { display: block; margin-top: 4px; font-size: 30px; font-weight: 820; line-height: 1.1; letter-spacing: -0.045em; }
.right-score { font-size: 25px; font-weight: 820; letter-spacing: -0.04em; }
progress.readiness-progress { width: 100%; height: 8px; margin-top: 10px; overflow: hidden; border: 0; border-radius: 999px; background: var(--surface-strong); }
progress.readiness-progress::-webkit-progress-bar { background: var(--surface-strong); border-radius: 999px; }
progress.readiness-progress::-webkit-progress-value { background: var(--accent); border-radius: 999px; }
progress.readiness-progress::-moz-progress-bar { background: var(--accent); border-radius: 999px; }
.progress { width: 100%; height: 8px; margin-top: 10px; overflow: hidden; border-radius: 999px; background: var(--surface-strong); }
.progress span { display: block; height: 100%; border-radius: inherit; background: var(--accent); }

/* Buttons and links */
.button, .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  gap: 7px;
  padding: 10px 15px;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background: var(--surface-strong);
  color: var(--text);
  font-size: 14px;
  font-weight: 760;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}
.button:hover, .btn:hover { background: #e4e6eb; }
.button:active, .btn:active { transform: translateY(1px); }
.button.primary, .btn.primary { background: var(--accent); color: #fff; box-shadow: 0 6px 16px rgba(85, 71, 216, 0.18); }
.button.primary:hover, .btn.primary:hover { background: var(--accent-hover); }
.button.secondary, .btn.secondary { border-color: var(--line); background: var(--surface); color: var(--text-soft); }
.button.secondary:hover, .btn.secondary:hover { border-color: var(--line-strong); background: var(--surface-muted); color: var(--text); }
.button.danger, .btn.danger { border-color: color-mix(in srgb, var(--danger) 15%, transparent); background: var(--danger-soft); color: var(--danger); }
.button.danger:hover, .btn.danger:hover { background: #ffe3e0; }
.button.small, .btn.small { min-height: 36px; padding: 7px 10px; font-size: 12px; }
.button:disabled, .btn:disabled, button[aria-disabled="true"] { cursor: not-allowed; opacity: 0.48; box-shadow: none; }
.button.is-loading, .btn.is-loading { position: relative; pointer-events: none; }
.button.is-loading::before, .btn.is-loading::before { content: ""; width: 15px; height: 15px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: spin 650ms linear infinite; }
.icon-button { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 12px; background: transparent; color: var(--text-soft); cursor: pointer; }
.icon-button:hover { background: var(--surface-strong); color: var(--text); }
.link-button { padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }

/* Forms */
.form { display: grid; gap: 16px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 18px; }
.form-section { margin: 0; padding: 0; border: 0; }
.form-section + .form-section { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--line); }
.form-section > legend, .form-section-title { width: 100%; margin: 0 0 6px; padding: 0; color: var(--text); font-size: 18px; font-weight: 780; letter-spacing: -0.025em; }
.form-section-description { max-width: 72ch; margin: 0 0 16px; color: var(--muted); font-size: 13px; }
.field, .form-grid > label:not(.check), .stack > label:not(.check), .inline-field { display: grid; align-content: start; gap: 6px; color: var(--text-soft); font-size: 13px; font-weight: 680; }
.field.full, .full { grid-column: 1 / -1; }
.field-hint, label > small, .help-text { color: var(--muted); font-size: 12px; font-weight: 480; }
.required-note { color: var(--muted); font-size: 12px; }
input, select, textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--text);
  box-shadow: inset 0 1px 1px rgba(23,24,27,.02);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}
input:hover, select:hover, textarea:hover { border-color: #afb3bc; }
input:focus, select:focus, textarea:focus { border-color: var(--focus); box-shadow: 0 0 0 4px color-mix(in srgb, var(--focus) 14%, transparent); outline: none; }
input::placeholder, textarea::placeholder { color: #92969f; }
input[readonly] { background: var(--surface-muted); color: var(--muted-strong); }
input[type="file"] { min-height: 50px; padding: 8px; background: var(--surface-muted); }
input[type="file"]::file-selector-button { margin-right: 10px; padding: 8px 11px; border: 0; border-radius: 8px; background: var(--surface-strong); color: var(--text); font-weight: 700; cursor: pointer; }
textarea { min-height: 112px; resize: vertical; }
select { padding-right: 36px; }
fieldset.field { min-width: 0; padding: 0; border: 0; }
fieldset.field > legend { margin-bottom: 8px; }
.check { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; padding: 10px 0; color: var(--text-soft); font-size: 13px; }
.check input { width: 20px; min-width: 20px; height: 20px; min-height: 20px; margin: 0; accent-color: var(--accent); }
.check span { font-weight: 540; }
.pill-list .check { min-height: 38px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-muted); }
.form-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.inline-form { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.inline-form input:not([type="hidden"]), .inline-form select { width: auto; min-width: 220px; flex: 1; }
.search input { padding-left: 14px; }
.field-error { color: var(--danger); font-size: 12px; font-weight: 650; }
[aria-invalid="true"] { border-color: var(--danger); box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 11%, transparent); }

/* Feedback */
.flash, .callout, .notice, .result-box {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 18px;
  padding: 13px 14px;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: var(--info-soft);
  color: var(--info);
}
.flash .icon, .callout .icon { margin-top: 1px; flex: 0 0 auto; }
.flash > span { flex: 1; }
.flash.ok, .success { background: var(--success-soft); color: var(--success); }
.flash.warning, .callout.warn, .warning { background: var(--warning-soft); color: var(--warning); }
.flash.error, .callout.danger, .notice.danger, .text-danger { background: var(--danger-soft); color: var(--danger); }
.text-warning { color: var(--warning); }
.flash-close { width: 32px; height: 32px; margin: -5px -6px -5px auto; color: currentColor; }
.callout { display: block; margin: 10px 0; }
.callout a { font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.notice, .result-box { display: block; }
.note { color: var(--muted); }

/* Status system */
.status, .status-chip, .pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--surface-strong);
  color: var(--text-soft);
  font-size: 11px;
  font-weight: 780;
  line-height: 1.25;
  text-transform: none;
  white-space: nowrap;
}
.status::before, .status-chip::before { content: ""; width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: currentColor; opacity: 0.65; }
.status.ready, .status.licensed, .status.active, .status-chip.ok, .status-chip.suitable, .status-chip.active, .good { background: var(--success-soft); color: var(--success); }
.status.blocked, .status.rejected, .status.revoked, .status-chip.danger, .status-chip.unsuitable, .blocked { background: var(--danger-soft); color: var(--danger); }
.status.sent, .status.opened, .status.listened, .status.shortlist, .status.positive_signal { background: var(--accent-soft); color: var(--accent-text); }
.status.warning, .status.pending, .status.hold, .status-chip.warning { background: var(--warning-soft); color: var(--warning); }
.status.inactive { background: var(--surface-strong); color: var(--muted); }
.blocked-row { background: color-mix(in srgb, var(--danger-soft) 52%, #fff); }

/* Tables and lists */
.table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-xs); }
table { width: 100%; min-width: 720px; border-collapse: collapse; }
th, td { padding: 13px 14px; border-bottom: 1px solid #eceef1; text-align: left; vertical-align: top; }
th { position: sticky; top: 0; z-index: 1; background: #fafbfc; color: var(--muted); font-size: 10px; font-weight: 820; letter-spacing: 0.075em; text-transform: uppercase; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fbfbfc; }
td > a:not(.button):hover { color: var(--accent-text); text-decoration: underline; text-underline-offset: 3px; }
.details { display: grid; grid-template-columns: minmax(125px, auto) minmax(0, 1fr); gap: 9px 16px; margin: 0; }
.details dt { color: var(--muted); font-size: 12px; font-weight: 700; }
.details dd { min-width: 0; margin: 0; color: var(--text-soft); }
.timeline { display: grid; gap: 0; }
.timeline > div { position: relative; padding: 0 0 20px 22px; border-left: 2px solid var(--line); }
.timeline > div::before { content: ""; position: absolute; left: -6px; top: 3px; width: 10px; height: 10px; border: 2px solid var(--surface); border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.timeline > div:last-child { padding-bottom: 0; }
.timeline span, .timeline small { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.timeline p { margin: 6px 0 0; }
.sortable-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: tracks; }
.sortable-list li { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-muted); counter-increment: tracks; }
.sortable-list li::before { content: counter(tracks); display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--surface); color: var(--muted); font-size: 12px; font-weight: 800; }
.sortable-list small { grid-column: 2 / -1; color: var(--muted); }
.checklist { display: grid; gap: 7px; padding-left: 20px; }
.checklist li { padding-left: 2px; }
.checklist li.critical, .checklist li.error { color: var(--danger); }
.checklist li.warning { color: var(--warning); }
.checklist li.passed, .checklist li.ok { color: var(--success); }

/* Details, empty states and destructive actions */
details { border-radius: var(--radius-sm); }
details > summary { min-height: 44px; padding: 10px 0; color: var(--text-soft); font-weight: 740; cursor: pointer; }
details > summary::marker { color: var(--muted); }
details[open] > summary { color: var(--text); }
.empty, .empty-state { display: grid; place-items: center; min-height: 210px; padding: 40px 20px; text-align: center; color: var(--muted); }
.empty h2, .empty h3, .empty-state h2, .empty-state h3 { max-width: 36ch; margin: 8px 0 4px; color: var(--text); }
.empty p, .empty-state p { max-width: 52ch; margin: 0 0 16px; }
.empty-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 17px; background: var(--accent-soft); color: var(--accent-text); font-size: 25px; }
.danger-zone { border-color: color-mix(in srgb, var(--danger) 23%, var(--line)); background: color-mix(in srgb, var(--danger-soft) 30%, var(--surface)); box-shadow: none; }
.danger-zone > summary { color: var(--danger); }

/* Covers and catalogue */
.cover { display: grid; place-items: center; width: 78px; height: 78px; flex: 0 0 auto; overflow: hidden; border-radius: 14px; background: var(--surface-strong); color: var(--muted); font-size: 26px; }
.cover img { width: 100%; height: 100%; object-fit: cover; }
.cover-large { display: grid; place-items: center; width: min(190px, 100%); aspect-ratio: 1; margin-bottom: 16px; overflow: hidden; border-radius: 18px; background: var(--surface-strong); color: var(--muted); font-size: 40px; }
.cover-large img { width: 100%; height: 100%; object-fit: cover; }
.track-summary { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: start; }
.track-summary .cover-large { margin: 0; }
.track-facts { display: flex; gap: 8px; flex-wrap: wrap; }
.track-facts span { padding: 5px 9px; border-radius: 999px; background: var(--surface-strong); color: var(--text-soft); font-size: 12px; }

/* Dialog */
.confirm-dialog { width: min(430px, calc(100% - 28px)); padding: 0; border: 0; border-radius: var(--radius-xl); background: var(--surface); color: var(--text); box-shadow: 0 30px 90px rgba(15, 16, 18, 0.3); }
.confirm-dialog::backdrop { background: rgba(20, 21, 24, 0.48); backdrop-filter: blur(3px); }
.confirm-dialog form { display: grid; gap: 12px; padding: 25px; }
.confirm-dialog h2 { margin: 0; }
.confirm-dialog p { margin: 0; color: var(--muted-strong); }
.dialog-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--danger-soft); color: var(--danger); }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }

/* Authentication */
.login-wrap { display: grid; min-height: 100vh; min-height: 100dvh; place-items: center; padding: max(22px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); background: radial-gradient(circle at 50% -10%, #eeecff 0, transparent 42%), var(--bg); }
.login-card { width: min(440px, 100%); padding: clamp(24px, 5vw, 36px); box-shadow: var(--shadow-md); }
.login-card .brand { padding: 0 0 24px; }
.login-card h1 { margin: 0 0 8px; font-size: clamp(30px, 7vw, 40px); letter-spacing: -0.045em; }
.login-card .form { margin-top: 24px; }
.login-card .button, .login-card .btn { width: 100%; }

/* Public pitch */
body.public { min-height: 100vh; min-height: 100dvh; background: #101114; color: #f5f5f7; }
.public-main { width: min(1160px, 100%); margin: 0 auto; padding: clamp(18px, 4vw, 54px) max(clamp(16px, 4vw, 36px), env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(clamp(16px, 4vw, 36px), env(safe-area-inset-left)); }
.public-card { padding: clamp(22px, 4vw, 38px); border-color: #30323a; background: #191a1f; color: #f5f5f7; box-shadow: 0 28px 80px rgba(0, 0, 0, 0.32); }
.public-card.narrow { max-width: 520px; margin: 8vh auto; }
.public-card h1, .public-card h2, .public-card h3, .public h1, .public h2, .public h3 { color: #f5f5f7; }
.public-card p { color: #c3c6cf; }
.public-brand { padding: 0 0 20px; color: #fff; }
.pitch { display: grid; gap: 24px; }
.pitch-head { display: grid; gap: 18px; padding: clamp(4px, 2vw, 18px) 0 8px; }
.pitch-head h1 { max-width: 15ch; margin: 0; font-size: clamp(38px, 7vw, 74px); line-height: 0.98; letter-spacing: -0.06em; }
.pitch-kicker { color: #9ea2ad; font-size: 12px; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.pitch-message { max-width: 760px; margin: 0; padding: 17px 18px; border: 1px solid #2f3138; border-radius: 16px; background: #17181c; color: #d5d7df; }
.pitch-list { display: grid; gap: 16px; }
.pitch-track { overflow: hidden; padding: clamp(18px, 3vw, 26px); border: 1px solid #30323a; border-radius: 22px; background: #191a1f; box-shadow: 0 14px 44px rgba(0,0,0,.14); transition: border-color var(--transition), background var(--transition); }
.pitch-track.is-playing { border-color: #7064e8; background: #1d1d25; box-shadow: 0 18px 55px rgba(67, 54, 194, .18); }
.track-copy { margin-bottom: 16px; }
.pitch-track h2 { margin: 0 0 5px; font-size: clamp(22px, 4vw, 30px); letter-spacing: -0.035em; }
.pitch-track p { max-width: 72ch; margin: 0 0 12px; color: #b9bdc8; }
.pitch-track .meta-row span { padding: 5px 9px; border: 1px solid #353741; border-radius: 999px; background: #24252b; color: #d8dae2; font-size: 12px; }
.recording-player { display: grid; grid-template-columns: minmax(130px, .46fr) minmax(260px, 1.55fr) auto; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid #30323a; }
.recording-player:first-of-type { border-top: 0; }
.recording-player strong { display: block; color: #f5f5f7; }
.recording-player small { display: block; margin-top: 3px; color: #9297a3; }
.recording-player audio { width: 100%; min-width: 0; height: 42px; accent-color: var(--accent); }
.recording-player.is-playing > div:first-child::before { content: attr(data-playing-label); display: block; margin-bottom: 3px; color: #9e96ff; font-size: 10px; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
.public .button.secondary, .public .btn.secondary { border-color: #3a3c45; background: #282a31; color: #f5f5f7; }
.public .button.secondary:hover, .public .btn.secondary:hover { background: #33353d; }
.public .button.primary, .public .btn.primary { background: #7064e8; }
.public .button[aria-pressed="true"] { border-color: #7c72ec; background: #34304f; color: #fff; }
.deliverables { padding-top: 14px; border-top: 1px solid #30323a; }
.pitch-footer { padding: 18px 8px; color: #8f939e; text-align: center; font-size: 12px; }
.pitch-footer a:hover { color: #fff; text-decoration: underline; }
.privacy-page { max-width: 860px; margin: 0 auto; }
.public .flash.error { background: #472522; color: #ffd5d0; }

/* Reports and utilities */
.report-json { max-height: 480px; overflow: auto; padding: 15px; border-radius: var(--radius-sm); background: #141519; color: #f2f3f6; font-size: 12px; }
.copy-field { min-width: 240px; max-width: 380px; }
.row-error { background: color-mix(in srgb, var(--danger-soft) 56%, #fff); }
.sticky-action { position: sticky; bottom: 14px; z-index: var(--z-sticky); margin: 18px 0 0 auto; box-shadow: 0 12px 35px rgba(85,71,216,.24); }

/* Responsive desktop/tablet */
@media (max-width: 1180px) {
  .grid.four, .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recording-player { grid-template-columns: minmax(120px, .45fr) minmax(220px, 1.55fr); }
  .recording-player .player-actions { grid-column: 2; justify-content: flex-start; }
}

@media (max-width: 960px) {
  :root { --sidebar-width: 220px; }
  .content { padding-inline: 24px; }
  .grid.two { grid-template-columns: 1fr; }
  .page-head { align-items: flex-start; }
  .track-summary { grid-template-columns: 150px minmax(0, 1fr); }
}

/* Mobile navigation and layout */
@media (max-width: 760px) {
  html { scroll-padding-top: 76px; }
  .app-shell { display: block; }
  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(310px, calc(100vw - 48px));
    height: 100dvh;
    padding-top: max(14px, env(safe-area-inset-top));
    transform: translateX(-105%);
    box-shadow: 18px 0 60px rgba(17,18,21,.2);
    transition: transform var(--transition);
  }
  .menu-open .sidebar { transform: translateX(0); }
  .sidebar-backdrop { position: fixed; inset: 0; z-index: calc(var(--z-sidebar) - 1); display: block; visibility: hidden; background: rgba(23,24,27,.38); opacity: 0; transition: opacity var(--transition), visibility var(--transition); }
  .menu-open .sidebar-backdrop { visibility: visible; opacity: 1; }
  .sidebar-close { display: inline-grid; }
  .mobile-head {
    position: sticky;
    top: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    min-height: calc(62px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 10px 0;
    border-bottom: 1px solid rgba(218,220,225,.85);
    background: rgba(249,250,252,.92);
    backdrop-filter: saturate(160%) blur(18px);
    -webkit-backdrop-filter: saturate(160%) blur(18px);
  }
  .mobile-brand { display: flex; align-items: center; justify-self: center; min-width: 0; gap: 9px; }
  .mobile-brand > span:last-child { min-width: 0; }
  .mobile-brand small { color: var(--muted); font-size: 9px; font-weight: 720; letter-spacing: .06em; text-transform: uppercase; }
  .mobile-brand b { overflow: hidden; max-width: 30vw; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
  .mobile-head-spacer { width: 44px; }
  .mobile-nav {
    position: fixed;
    z-index: 32;
    inset: auto 0 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-height: calc(64px + env(safe-area-inset-bottom));
    padding: 5px max(5px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(5px, env(safe-area-inset-left));
    border-top: 1px solid rgba(207,210,217,.88);
    background: rgba(251,252,253,.96);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
  }
  .mobile-nav-link { display: grid; place-items: center; align-content: center; min-width: 0; min-height: 54px; gap: 3px; padding: 4px 2px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); font-size: 9px; font-weight: 720; cursor: pointer; }
  .mobile-nav-link .icon { width: 21px; height: 21px; }
  .mobile-nav-link.active { color: var(--accent); }
  .mobile-nav-link span { overflow: hidden; width: 100%; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
  .content { width: 100%; padding: 24px 15px calc(92px + env(safe-area-inset-bottom)); }
  .page-head { display: grid; gap: 16px; margin-bottom: 20px; }
  .page-head h1 { font-size: clamp(28px, 9vw, 38px); }
  .breadcrumb { display: none; }
  .page-subtitle { font-size: 14px; }
  .page-actions { justify-content: stretch; }
  .page-actions > .button, .page-actions > .btn { flex: 1 1 auto; }
  .section-nav { top: calc(67px + env(safe-area-inset-top)); margin-inline: -4px; border-radius: 12px; }
  .grid, .grid.two, .grid.three, .grid.four, .metric-grid, .metric-grid.compact { grid-template-columns: 1fr; gap: 14px; margin-bottom: 14px; }
  .grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid.four > .card { min-height: 92px; padding: 14px; }
  .grid.four > .card .metric { font-size: 25px; }
  .card { margin-bottom: 14px; padding: 17px; border-radius: 17px; }
  .card h2 { font-size: 18px; }
  .toolbar { align-items: stretch; padding: 9px; }
  .toolbar > input, .toolbar > select, .toolbar > label, .toolbar .search { flex: 1 1 100%; }
  .toolbar .button, .toolbar .btn { width: 100%; }
  .form-grid { grid-template-columns: 1fr; gap: 14px; }
  .field.full, .full { grid-column: auto; }
  .form-actions { position: sticky; bottom: calc(70px + env(safe-area-inset-bottom)); z-index: 20; margin: 20px -7px -7px; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.94); box-shadow: var(--shadow-md); backdrop-filter: blur(14px); }
  .form-actions .button, .form-actions .btn { flex: 1 1 auto; }
  .row { align-items: flex-start; }
  .catalog-row { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; gap: 12px; padding: 14px; }
  .catalog-row .cover { grid-row: 1 / span 2; width: 62px; height: 62px; border-radius: 12px; }
  .catalog-row .grow { align-self: center; }
  .catalog-row .status { grid-column: 2; justify-self: start; }
  .catalog-row .score { grid-column: 3; grid-row: 1; }
  .catalog-row > span:not(.cover):not(.grow):not(.status) { grid-column: 2 / -1; }
  .track-summary { grid-template-columns: 92px minmax(0, 1fr); gap: 14px; }
  .track-summary .cover-large { width: 92px; border-radius: 14px; }
  .details { grid-template-columns: 1fr; gap: 3px; }
  .details dt { margin-top: 10px; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
  .details dt:first-child { margin-top: 0; }
  .details dd { margin-bottom: 2px; }
  .sortable-list li { grid-template-columns: 32px minmax(0, 1fr); }
  .sortable-list li .status-chip { grid-column: 2; justify-self: start; }
  .recording-player { grid-template-columns: 1fr; gap: 10px; padding: 16px 0; }
  .recording-player .player-actions { grid-column: auto; }
  .recording-player audio { height: 48px; }
  .sticky-action { bottom: calc(78px + env(safe-area-inset-bottom)); width: 100%; }
  .dialog-actions { display: grid; grid-template-columns: 1fr; }
  .dialog-actions .button { width: 100%; }
  .pitch-head h1 { max-width: 100%; }
}

/* Mobile table cards: no horizontal scrolling for standard tasks */
@media (max-width: 700px) {
  .table-wrap { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  table.responsive-table { min-width: 0; border: 0; }
  table.responsive-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  table.responsive-table tbody { display: grid; gap: 10px; }
  table.responsive-table tr { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-xs); }
  table.responsive-table tr:hover { background: var(--surface); }
  table.responsive-table td { display: grid; grid-template-columns: minmax(96px, 38%) minmax(0, 1fr); gap: 10px; min-height: 44px; padding: 10px 12px; border-bottom: 1px solid #eceef1; text-align: right; }
  table.responsive-table td::before { content: attr(data-label); color: var(--muted); font-size: 11px; font-weight: 760; text-align: left; text-transform: none; }
  table.responsive-table td:last-child { border-bottom: 0; }
  table.responsive-table td:empty { display: none; }
  table.responsive-table td > * { min-width: 0; justify-self: end; }
  table.responsive-table td input, table.responsive-table td select { width: 100%; min-width: 0; }
  table.responsive-table td .button, table.responsive-table td .btn { justify-self: end; }
  .copy-field { width: 100%; min-width: 0; max-width: 100%; }
}

@media (max-width: 430px) {
  .content { padding-inline: 12px; }
  .grid.four { grid-template-columns: 1fr 1fr; }
  .page-actions { display: grid; grid-template-columns: 1fr; }
  .page-actions > * { width: 100%; }
  .actions { align-items: stretch; }
  .actions > .button, .actions > .btn, .actions > form { width: 100%; }
  .actions > form .button, .actions > form .btn { width: 100%; }
  .catalog-row { grid-template-columns: 54px minmax(0, 1fr); }
  .catalog-row .cover { width: 54px; height: 54px; }
  .catalog-row .score { grid-column: 2; grid-row: auto; justify-self: start; font-size: 15px; }
  .catalog-row .status { grid-column: 2; }
  .track-summary { grid-template-columns: 1fr; }
  .track-summary .cover-large { width: 120px; }
  .recording-player .player-actions .button { flex: 1 1 auto; }
  .pitch-track { border-radius: 18px; }
  .public-main { padding-inline: 12px; }
}

@media (min-width: 1600px) {
  .content { padding-top: 46px; }
  .page-head { margin-bottom: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

@keyframes spin { to { transform: rotate(360deg); } }

/* ===== Product patterns: dense workflows ===== */
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}
.section-heading h2,.section-heading h3{margin:0}.section-heading p{margin:.35rem 0 0;color:var(--text-muted)}
.item-meta{display:flex;flex-wrap:wrap;gap:.45rem .9rem;color:var(--text-muted);font-size:var(--text-sm)}
.static-item,.risk-item,.match-list-item,.rights-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}
.static-item+.static-item,.risk-item+.risk-item,.match-list-item+.match-list-item,.rights-row+.rights-row{margin-top:var(--space-3)}
.static-item>div,.risk-item>div,.match-list-item>div,.rights-row>div{min-width:0}
.compact-empty{padding:var(--space-5);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-subtle)}
.compact-empty h3{margin:0 0 var(--space-2)}.compact-empty p{margin:0;color:var(--text-muted)}
.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-worklist{display:grid;gap:var(--space-3)}
.scope-filter,.filter-check{display:flex;align-items:center;gap:var(--space-2)}
.scope-filter{flex-wrap:wrap}.filter-check{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:999px;background:var(--surface)}
.filter-check:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.opportunity-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(9rem,.8fr) minmax(8rem,.7fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--border)}
.opportunity-row:last-child{border-bottom:0}.opportunity-row .primary-cell{min-width:0}.opportunity-row h3{margin:0 0 .3rem;font-size:var(--text-md)}
.submission-count{font-variant-numeric:tabular-nums}.match-summary{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}
.match-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}
.match-card:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.match-select-row{padding-top:.15rem}.match-card input[type=checkbox]{width:1.25rem;height:1.25rem}
.match-next{margin-top:var(--space-3);padding:var(--space-3);border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.match-reasons{display:grid;gap:var(--space-2);margin-top:var(--space-3)}
.match-section{display:grid;gap:var(--space-4)}.submission-sticky{position:sticky;bottom:calc(var(--mobile-nav-height,0px) + var(--space-3));z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);margin-top:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:blur(12px)}
.inset-disclosure{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle)}.inset-disclosure summary{padding:var(--space-4);font-weight:700;cursor:pointer}.disclosure-content{padding:0 var(--space-4) var(--space-4)}
.rights-list{display:grid;gap:var(--space-3)}.readiness-card{border-left:4px solid var(--border-strong)}.readiness-card.ready{border-left-color:var(--success)}.readiness-card.blocked{border-left-color:var(--danger)}
.track-description{max-width:70ch;color:var(--text-muted)}.anchor-section{scroll-margin-top:8rem}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.contact-identity,.company-identity{display:flex;align-items:center;gap:var(--space-4)}.identity-mark{display:grid;place-items:center;flex:0 0 3rem;width:3rem;height:3rem;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-weight:800;letter-spacing:.03em}
.contact-card-list,.company-card-list,.submission-card-list{display:grid;gap:var(--space-3)}
.contact-card,.company-card,.submission-card{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(8rem,.8fr) minmax(8rem,.8fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}
.contact-card h3,.company-card h3,.submission-card h3{margin:0 0 .25rem;font-size:var(--text-md)}
.contact-card[data-blocked="true"]{border-left:4px solid var(--danger)}
.timeline-empty{padding:var(--space-4);color:var(--text-muted);border:1px dashed var(--border);border-radius:var(--radius-md)}
.activity-composer{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-subtle)}
.danger-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.entity-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5)}
.status-block{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}
.analytics-primary{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}
.analytics-explainer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.analytics-explainer article{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md)}
.analytics-explainer h3{font-size:var(--text-sm);margin:0 0 var(--space-2)}.analytics-explainer p{font-size:var(--text-sm);color:var(--text-muted);margin:0}
.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);margin:0 0 var(--space-5);padding:0;list-style:none;counter-reset:step}.wizard-steps li{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-sm)}.wizard-steps li::before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface)}.wizard-steps li.active{color:var(--text);font-weight:700}.wizard-steps li.active::before,.wizard-steps li.done::before{border-color:var(--accent);background:var(--accent);color:#fff}
.file-drop{display:grid;place-items:center;min-height:10rem;padding:var(--space-6);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-subtle);text-align:center}.file-drop input{max-width:100%}
.public-kicker{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-light)}
.pitch-intro{max-width:72ch}.pitch-toolbar{position:sticky;top:var(--space-3);z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);border:1px solid var(--public-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--public-surface) 90%,transparent);backdrop-filter:blur(14px)}
.now-playing-copy{min-width:0}.now-playing-copy small{display:block;color:var(--public-muted)}.now-playing-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pitch-track.is-playing{border-color:var(--accent-light);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-light) 18%,transparent),var(--shadow-lg)}
.recording-player.is-playing{background:color-mix(in srgb,var(--accent) 13%,var(--public-surface-2));border-color:var(--accent-light)}
.recording-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.recording-format{font-size:var(--text-xs);color:var(--public-muted);text-transform:uppercase;letter-spacing:.06em}
.pitch-cover{width:5rem;aspect-ratio:1;border-radius:var(--radius-md);object-fit:cover;background:var(--public-surface-2)}.pitch-track-head{display:flex;align-items:flex-start;gap:var(--space-4)}
.player-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.favorite-button[aria-pressed="true"]{border-color:var(--accent-light);background:var(--accent);color:#fff}
.public-state-icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-bottom:var(--space-4);border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-size:1.4rem;font-weight:800}
.login-product{margin-bottom:var(--space-6)}.login-foot{margin-top:var(--space-5);font-size:var(--text-xs);color:var(--text-muted)}
.system-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
.check-list{display:grid;gap:var(--space-2);padding:0;list-style:none}.check-list li{display:flex;gap:var(--space-2)}.check-list li::before{content:'✓';font-weight:800;color:var(--success)}

@media (max-width:960px){
  .dashboard-metrics,.analytics-primary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-explainer{grid-template-columns:repeat(2,minmax(0,1fr))}
  .opportunity-row,.contact-card,.company-card,.submission-card{grid-template-columns:minmax(0,1fr) auto}
  .opportunity-row>:nth-child(2),.opportunity-row>:nth-child(3),.contact-card>:nth-child(2),.contact-card>:nth-child(3),.company-card>:nth-child(2),.company-card>:nth-child(3),.submission-card>:nth-child(2),.submission-card>:nth-child(3){grid-column:1}
  .system-card-grid{grid-template-columns:1fr}
}
@media (max-width:700px){
  .details-grid,.analytics-secondary,.analytics-explainer{grid-template-columns:1fr}
  .match-card{grid-template-columns:1fr}.match-select-row{order:2}
  .submission-sticky{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + var(--space-2));align-items:stretch;flex-direction:column}
  .contact-card,.company-card,.submission-card,.opportunity-row{display:block}.contact-card>*+*,.company-card>*+*,.submission-card>*+*,.opportunity-row>*+*{margin-top:var(--space-3)}
  .entity-header,.section-heading{align-items:stretch;flex-direction:column}
  .wizard-steps{grid-template-columns:repeat(2,1fr)}
  .pitch-toolbar{top:var(--space-2)}.pitch-track-head{align-items:center}.pitch-cover{width:4rem}
}
@media (max-width:430px){
  .dashboard-metrics,.analytics-primary{grid-template-columns:1fr 1fr}
  .wizard-steps{display:flex;overflow:auto;padding-bottom:var(--space-2)}.wizard-steps li{min-width:max-content}
  .pitch-track-head{align-items:flex-start}.pitch-cover{width:3.5rem}.pitch-toolbar{align-items:flex-start}
}

/* Utility and accessibility-safe composition helpers */
.full-width{width:100%}.justify-between{justify-content:space-between}.secondary-action{margin-top:var(--space-3)}
.long-copy{max-width:72ch;overflow-wrap:anywhere}.lead{font-size:var(--text-lg);color:var(--text-muted)}
.privacy-sections{display:grid;gap:var(--space-6);margin:var(--space-6) 0}.public-help{margin-top:var(--space-4);color:var(--public-muted);font-size:var(--text-sm)}
.sort-handle{display:grid;place-items:center;flex:0 0 2rem;color:var(--text-muted);font-size:1.15rem}.timeline-marker{width:.75rem;height:.75rem;margin-top:.35rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.eyebrow{display:block;margin:0 0 .25rem;font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.form-page{display:grid;gap:var(--space-5)}.switch-row{justify-content:flex-start;min-height:48px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle)}
.copy-control{display:flex;align-items:center;gap:var(--space-2);min-width:min(100%,28rem)}.copy-control input{min-width:0;flex:1}
.field-warning{margin-top:.3rem;color:var(--warning);font-size:var(--text-sm)}.filter-bar{position:relative}.search-field{flex:1 1 18rem}.search-field input{width:100%}
.privacy-section{border-left:4px solid var(--warning)}
@media(max-width:700px){.copy-control{align-items:stretch;flex-direction:column}.copy-control .button{width:100%}.switch-row{width:100%}}

/* Defensive visibility rules for consistent user-agent behaviour */
input[type="hidden"] { display: none !important; }
dialog:not([open]) { display: none !important; }
.priority-card .callout > span { display: grid; gap: 4px; min-width: 0; }
.priority-card .callout small { font-size: 12px; font-weight: 700; letter-spacing: .01em; }


/* Shared release foundation — v2.4.1 */
.mode-indicator { display:flex; align-items:center; gap:8px; min-height:39px; padding:8px 9px; border-radius:10px; background:var(--surface-strong); color:var(--text-soft); font-size:12px; font-weight:750; }
.mode-indicator::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--accent); }
.mode-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mode-option { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:12px; min-height:96px; padding:16px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); cursor:pointer; }
.mode-option:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); box-shadow:0 0 0 1px var(--accent); }
.mode-option input { margin-top:4px; }
.mode-option span, .choice-row span { display:grid; gap:3px; }
.mode-option small, .choice-row small { color:var(--muted); font-weight:480; }
.settings-stack { display:grid; gap:20px; }
.settings-save-bar { position:sticky; z-index:var(--z-sticky); bottom:calc(12px + env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius-md); background:color-mix(in srgb,var(--surface) 94%,transparent); box-shadow:var(--shadow-md); backdrop-filter:blur(18px); }

.guided-action-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.guided-action-card { display:grid; align-content:start; gap:8px; min-height:168px; padding:22px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow-xs); transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast); }
.guided-action-card:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--accent) 30%,var(--line)); box-shadow:var(--shadow-sm); }
.guided-action-card strong { font-size:18px; }
.guided-action-card span { color:var(--muted); }
.guided-next-action { display:flex; align-items:center; justify-content:space-between; gap:24px; border-color:color-mix(in srgb,var(--accent) 30%,var(--line)); background:linear-gradient(135deg,var(--surface),var(--accent-soft)); }
.guided-next-action h2 { margin:3px 0 7px; font-size:24px; }
.guided-next-action p { max-width:72ch; margin:0; color:var(--text-soft); }
.eyebrow { display:block; color:var(--accent-text); font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.guided-summary-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:20px; }
.guided-summary-grid > .card { min-width:0; }
.guided-disclosure { border-top:1px solid var(--line); margin-top:18px; padding-top:14px; }
.card.guided-disclosure { border:1px solid var(--line); padding:18px 20px; }
.guided-disclosure > summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:var(--text-soft); font-weight:760; }
.guided-disclosure[open] > summary { margin-bottom:14px; color:var(--text); }
.guided-match-preview .item-link, .guided-share-list .share-card { min-width:0; }
.match-category { flex:0 0 auto; padding:5px 9px; border-radius:999px; background:var(--surface-strong); color:var(--text-soft); font-size:12px; font-weight:760; }
.choice-list { display:grid; gap:10px; margin-bottom:18px; }
.choice-row { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:12px; min-height:52px; padding:13px 14px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface-muted); cursor:pointer; }
.choice-row input { margin-top:4px; }
.review-track-row { display:grid; gap:3px; padding:13px 0; border-bottom:1px solid var(--line); }
.review-track-row:last-child { border-bottom:0; }
.review-track-row small { color:var(--muted); }

.guided-stepper { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0 0 20px; padding:0; list-style:none; }
.guided-stepper a { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:9px; min-height:54px; padding:9px 11px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface); color:var(--muted-strong); font-size:12px; font-weight:720; }
.guided-stepper a[aria-current="step"] { border-color:var(--accent); background:var(--accent-soft); color:var(--accent-text); }
.guided-stepper .step-number { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--surface-strong); }
.guided-stepper a[aria-current="step"] .step-number { background:var(--accent); color:#fff; }
.rights-balance { display:grid; gap:7px; }
.rights-balance-meter { height:10px; overflow:hidden; border-radius:999px; background:var(--surface-strong); }
.rights-balance-meter > span { display:block; height:100%; max-width:100%; background:var(--accent); }

.guided-wizard { max-width:1060px; margin:0 auto; }
.wizard-progress { margin-bottom:20px; padding:14px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow-xs); }
.wizard-progress-copy { display:flex; justify-content:space-between; margin-bottom:10px; color:var(--text-soft); }
.wizard-progress ol { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:6px; margin:0; padding:0; list-style:none; }
.wizard-progress li { display:grid; justify-items:center; gap:5px; min-width:0; color:var(--muted); text-align:center; }
.wizard-progress li span { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; background:var(--surface-strong); font-size:12px; font-weight:800; }
.wizard-progress li small { max-width:100%; overflow:hidden; font-size:10px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.wizard-progress li[aria-current="step"] { color:var(--accent-text); }
.wizard-progress li[aria-current="step"] span { background:var(--accent); color:#fff; }
.wizard-progress li.complete span { background:var(--success-soft); color:var(--success); }
.wizard-panel { scroll-margin-top:90px; }
.wizard-panel > h2 { margin-top:6px; }
.wizard-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:22px; padding-top:17px; border-top:1px solid var(--line); }
.final-actions { justify-content:space-between; }
.guided-match-list { margin-top:14px; }
.guided-match-card { padding:18px; }
.guided-match-card.blocked { background:var(--danger-soft); border-color:color-mix(in srgb,var(--danger) 24%,var(--line)); }
.match-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.match-select-row { display:flex; align-items:flex-start; min-width:0; gap:12px; cursor:pointer; }
.match-select-row input { margin-top:5px; }
.match-select-row .grow { display:grid; min-width:0; gap:3px; }
.match-select-row small { color:var(--muted); }
.order-controls { display:flex; gap:6px; }
.icon-button { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface); cursor:pointer; }
.icon-button:hover { background:var(--surface-strong); }
.match-explanation { margin:16px 0 0; }
.match-explanation h3 { margin:0 0 8px; }
.match-next { margin:14px 0 0; padding-top:12px; border-top:1px solid var(--line); color:var(--text-soft); }
.guided-pitch-summary dd { overflow-wrap:anywhere; }
.guided-share-list { display:grid; gap:12px; margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }
.share-card { display:grid; gap:12px; padding:16px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface-muted); }
.share-card > div:first-child { display:grid; gap:2px; }
.share-card small { color:var(--muted); }
.compact-details { grid-template-columns:auto 1fr; margin:0; }

.workflow-map { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:24px 0; padding:0; list-style:none; }
.workflow-map li { position:relative; min-height:108px; padding:16px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); }
.workflow-map li:not(:last-child)::after { content:"→"; position:absolute; right:-16px; top:42%; z-index:2; color:var(--muted); font-weight:850; }
.glossary-list { display:grid; gap:10px; }
.glossary-list details { padding:13px 15px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface); }
.glossary-list summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font-weight:780; }
.glossary-list p { color:var(--text-soft); }

@media (max-width: 960px) {
  .guided-action-grid { grid-template-columns:1fr; }
  .guided-action-card { min-height:0; }
  .guided-summary-grid { grid-template-columns:1fr; gap:0; }
  .workflow-map { grid-template-columns:1fr; }
  .workflow-map li { min-height:0; }
  .workflow-map li:not(:last-child)::after { content:"↓"; right:auto; left:24px; top:auto; bottom:-19px; }
  .guided-stepper { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .mode-options { grid-template-columns:1fr; }
  .guided-next-action { align-items:stretch; flex-direction:column; gap:16px; }
  .guided-next-action .button { width:100%; }
  .wizard-progress ol { grid-template-columns:repeat(4,minmax(0,1fr)); row-gap:10px; }
  .wizard-progress li small { display:none; }
  .match-card-head { align-items:stretch; flex-direction:column; }
  .order-controls { align-self:flex-end; }
  .wizard-actions, .final-actions { align-items:stretch; flex-direction:column-reverse; }
  .wizard-actions .button { width:100%; }
  .settings-save-bar { align-items:stretch; flex-direction:column; }
  .settings-save-bar .button { width:100%; }
}

@media (max-width: 430px) {
  .guided-stepper { grid-template-columns:1fr; }
  .guided-stepper a { min-height:48px; }
  .wizard-progress { padding:12px 10px; }
  .wizard-progress ol { grid-template-columns:repeat(4,1fr); }
  .wizard-progress li span { width:27px; height:27px; }
  .guided-match-card { padding:14px; }
  .choice-row { padding:12px; }
}

@media (max-width: 360px) {
  .wizard-progress li:nth-child(n+5) { margin-top:3px; }
  .guided-next-action h2 { font-size:21px; }
  .card.guided-disclosure { padding:15px; }
}
.guided-stepper > li { min-width:0; }
.guided-stepper > li > a, .guided-stepper > li:not(:has(a)) { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:9px; min-height:54px; padding:9px 11px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface); color:var(--muted-strong); font-size:12px; font-weight:720; }
.guided-stepper > li > a > span, .guided-stepper > li:not(:has(a)) > span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--surface-strong); }
.guided-stepper > li[aria-current="step"] > a, .guided-stepper > li[aria-current="step"]:not(:has(a)), .guided-stepper > li.active:not(:has(a)) { border-color:var(--accent); background:var(--accent-soft); color:var(--accent-text); }
.guided-stepper > li[aria-current="step"] > a > span, .guided-stepper > li[aria-current="step"]:not(:has(a)) > span, .guided-stepper > li.active:not(:has(a)) > span { background:var(--accent); color:#fff; }
.guided-form-actions, .next-action-panel { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.next-action-link { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:58px; margin-top:16px; padding:13px 15px; border-radius:var(--radius-sm); background:var(--accent-soft); color:var(--accent-text); }
.next-action-link span:first-child { display:grid; gap:2px; }
.guided-catalog-row small:last-child { margin-top:5px; color:var(--text-soft); }
@media(max-width:430px){.guided-form-actions,.next-action-panel{align-items:stretch;flex-direction:column-reverse}.guided-form-actions .button,.next-action-panel .button{width:100%}}

/* v2.4.1 release hardening */
.button{max-width:100%;white-space:normal;text-wrap:balance}.technical-management .inset-panel{padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted)}.technical-management .inset-panel h2{font-size:var(--text-lg)}.match-explanation:empty{display:none}.public-card .flash{overflow-wrap:anywhere}.share-card .copy-field{font-size:13px}.details dd,.item-meta,.card-description{overflow-wrap:anywhere}@media(max-width:430px){.page-actions,.toolbar{align-items:stretch}.page-actions .button,.toolbar .button{width:100%}.settings-save-bar{bottom:calc(var(--mobile-nav-height) + 12px + env(safe-area-inset-bottom))}}


/* Beginner-first experience retained in v2.4.1 */
.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.more-card{display:flex;align-items:flex-start;gap:14px;min-height:126px;padding:20px;color:inherit}
.more-card:hover{border-color:var(--accent);background:var(--accent-soft)}
.more-card>span:last-child{display:grid;gap:7px;min-width:0}
.more-card strong{font-size:var(--text-lg)}
.more-card small{color:var(--muted);line-height:1.55}
.more-card-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:var(--surface-strong);color:var(--accent-text);font-weight:850}
.management-disclosure{padding:0;overflow:hidden}
.management-disclosure>summary{display:flex;min-height:72px;padding:16px 20px;cursor:pointer}
.management-disclosure>summary span{display:grid;gap:4px}
.management-disclosure>summary small{color:var(--muted);font-weight:480}
.management-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 20px 20px}
.management-links a{display:flex;align-items:center;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);font-weight:700}

.next-task-card{display:grid;gap:18px;padding:clamp(20px,3vw,32px);border-color:color-mix(in srgb,var(--accent) 34%,var(--line));box-shadow:var(--shadow-md)}
.next-task-card>h2{max-width:28ch;margin:0;font-size:clamp(24px,3vw,36px);line-height:1.15}
.next-task-explanation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.next-task-explanation>div{padding:14px;border-radius:var(--radius-sm);background:var(--surface-muted)}
.next-task-explanation strong{display:block;margin-bottom:5px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.next-task-explanation p{margin:0;color:var(--text-soft)}
.next-task-card>.button{justify-self:start}
.task-alternatives{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px;color:var(--muted);font-size:13px}
.task-alternatives>span{font-weight:750}
.task-alternatives a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:700}
.compact-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}
.compact-progress>div{display:grid;gap:4px}
.compact-progress h2,.compact-progress strong{margin:0;font-size:var(--text-lg)}
.compact-progress p,.compact-progress small{margin:0;color:var(--muted)}
.catalog-progress{margin:0 0 16px}
.simple-onboarding .actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.onboarding-steps.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.onboarding-steps.four li>span{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted)}
.onboarding-steps.four b{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff}

.wizard-progress.compact ol{grid-template-columns:repeat(7,minmax(0,1fr))}
.occasion-options{display:grid;gap:12px}
.request-choice{margin-top:4px;padding:14px;border-left:3px solid var(--accent);background:var(--surface-muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.request-choice[hidden]{display:none}
.contact-details{padding:0}
.contact-details>summary{display:flex;align-items:center;min-height:52px;padding:4px 18px;cursor:pointer;font-weight:760}
.contact-details[open]>summary{border-bottom:1px solid var(--line)}
.contact-details>.disclosure-content{padding:18px}
.mode-guided .primary-nav .nav-link{min-height:46px}

@media(max-width:960px){
  .more-grid{grid-template-columns:1fr}
  .management-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .next-task-explanation{grid-template-columns:1fr}
  .onboarding-steps.four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .more-card{min-height:0}
  .management-links{grid-template-columns:1fr}
  .compact-progress{align-items:stretch;flex-direction:column}
  .compact-progress .button{width:100%}
  .task-alternatives{align-items:stretch;flex-direction:column}
  .task-alternatives a{width:100%;border-radius:var(--radius-sm)}
  .next-task-card>.button{width:100%}
  .wizard-progress.compact ol{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:430px){
  .onboarding-steps.four{grid-template-columns:1fr}
  .next-task-card{padding:18px}
  .more-card{padding:16px}
}
@media(max-width:320px){
  .mobile-nav-link{font-size:8px}
  .mobile-nav-link .icon{width:19px;height:19px}
}
