/* Track Mishnah UI 2.17.4
 * Reference-led application redesign. Presentation only; routes, forms, data,
 * permissions, and assignment behavior remain unchanged.
 */

body.app-theme-jewel {
  --app-bg: #f7f9f8;
  --app-surface: #ffffff;
  --app-surface-soft: #f3f7f5;
  --app-surface-strong: #eaf2ee;
  --app-border: #dfe7e3;
  --app-border-strong: #cbd8d2;
  --app-text: #1d2938;
  --app-text-soft: #596779;
  --app-text-muted: #7b8796;
  --app-primary: #087956;
  --app-primary-hover: #066847;
  --app-primary-soft: #e5f3ed;
  --app-primary-ink: #075f45;
  --app-learning: #b47712;
  --app-learning-soft: #fff3d8;
  --app-success: #14805c;
  --app-success-soft: #e4f4ed;
  --app-info: #4f7096;
  --app-info-soft: #eaf1f8;
  --app-danger: #b54857;
  --app-danger-soft: #fae9ec;
  --app-track: #dce5e1;
  --app-shadow-xs: 0 1px 2px rgb(20 37 31 / 5%);
  --app-shadow-sm: 0 7px 22px rgb(20 37 31 / 7%);
  --app-shadow-md: 0 18px 46px rgb(20 37 31 / 12%);
  --app-radius-sm: 8px;
  --app-radius-md: 12px;
  --app-radius-lg: 16px;
  --app-shell: 1608px;

  --tm-bg: var(--app-bg);
  --tm-bg-2: var(--app-surface-soft);
  --tm-surface: var(--app-surface);
  --tm-surface-soft: var(--app-surface-soft);
  --tm-surface-strong: var(--app-surface-strong);
  --tm-border: var(--app-border);
  --tm-border-strong: var(--app-border-strong);
  --tm-text: var(--app-text);
  --tm-text-soft: var(--app-text-soft);
  --tm-text-muted: var(--app-text-muted);
  --tm-primary: var(--app-primary);
  --tm-primary-hover: var(--app-primary-hover);
  --tm-primary-soft: var(--app-primary-soft);
  --tm-primary-strong: var(--app-primary-ink);
  --tm-learning: var(--app-learning);
  --tm-learning-soft: var(--app-learning-soft);
  --tm-success: var(--app-success);
  --tm-success-soft: var(--app-success-soft);
  --tm-danger: var(--app-danger);
  --tm-danger-soft: var(--app-danger-soft);
  --tm-shadow-xs: var(--app-shadow-xs);
  --tm-shadow-sm: var(--app-shadow-sm);
  --tm-shadow-md: var(--app-shadow-md);
  --tm-shell: var(--app-shell);

  --jewel-canvas: var(--app-bg);
  --jewel-canvas-deep: var(--app-bg);
  --jewel-surface: var(--app-surface);
  --jewel-surface-raised: var(--app-surface-soft);
  --jewel-surface-muted: var(--app-surface-soft);
  --jewel-line: var(--app-border);
  --jewel-line-strong: var(--app-border-strong);
  --jewel-text: var(--app-text);
  --jewel-text-soft: var(--app-text-soft);
  --jewel-text-muted: var(--app-text-muted);
  --jewel-teal: var(--app-primary);
  --jewel-teal-soft: var(--app-primary);
  --jewel-teal-hover: var(--app-primary-hover);
  --jewel-blue: var(--app-info);
  --jewel-gold: var(--app-learning);
  --jewel-learning: var(--app-learning);
  --jewel-green: var(--app-success);
  --jewel-danger: var(--app-danger);
  --jewel-on-accent: #ffffff;
  --jewel-chrome: var(--app-surface);
  --jewel-chrome-deep: var(--app-surface);
  --jewel-chrome-surface: var(--app-surface-soft);
  --jewel-chrome-line: var(--app-border);
  --jewel-chrome-text: var(--app-text);
  --jewel-chrome-soft: var(--app-text-soft);
  --jewel-chrome-muted: var(--app-text-muted);
  --jewel-hover: var(--app-surface-soft);
  --jewel-active: var(--app-primary-soft);
  --jewel-track: var(--app-track);
  --jewel-toolbar: var(--app-surface-soft);
  --jewel-teal-tint: var(--app-primary-soft);
  --jewel-blue-tint: var(--app-info-soft);
  --jewel-gold-tint: var(--app-learning-soft);
  --jewel-learning-tint: var(--app-learning-soft);
  --jewel-danger-tint: var(--app-danger-soft);
  --jewel-success-tint: var(--app-success-soft);
  --site-shell-width: var(--app-shell);
  --shadow-sm: var(--app-shadow-sm);
  --shadow-md: var(--app-shadow-md);

  min-height: 100vh;
  color: var(--app-text);
  background: var(--app-bg) !important;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.48;
  letter-spacing: -.004em;
}

html[data-theme="dark"] body.app-theme-jewel {
  --app-bg: #101715;
  --app-surface: #17211f;
  --app-surface-soft: #1c2925;
  --app-surface-strong: #23322e;
  --app-border: #2c3d37;
  --app-border-strong: #3c514a;
  --app-text: #eef4f1;
  --app-text-soft: #b8c6c0;
  --app-text-muted: #8fa19a;
  --app-primary: #55c39d;
  --app-primary-hover: #70d1af;
  --app-primary-soft: #1c3a31;
  --app-primary-ink: #9ce5ca;
  --app-learning: #e0ad55;
  --app-learning-soft: #3a2f1e;
  --app-success: #62c4a0;
  --app-success-soft: #1b382f;
  --app-info: #7da5ce;
  --app-info-soft: #213344;
  --app-danger: #e17e8b;
  --app-danger-soft: #3b2429;
  --app-track: #2b3b36;
  --app-shadow-xs: 0 1px 2px rgb(0 0 0 / 20%);
  --app-shadow-sm: 0 8px 24px rgb(0 0 0 / 23%);
  --app-shadow-md: 0 20px 50px rgb(0 0 0 / 34%);
  --jewel-on-accent: #0b2119;
}

body.app-theme-jewel *,
body.app-theme-jewel *::before,
body.app-theme-jewel *::after { box-sizing: border-box; }

body.app-theme-jewel a { color: var(--app-primary-ink); }
body.app-theme-jewel h1,
body.app-theme-jewel h2,
body.app-theme-jewel h3,
body.app-theme-jewel strong { color: inherit; }
body.app-theme-jewel h1 { font-size: clamp(1.65rem, 2.2vw, 2.2rem); font-weight: 750; }
body.app-theme-jewel h2 { font-size: clamp(1.15rem, 1.4vw, 1.45rem); font-weight: 730; }
body.app-theme-jewel h3 { font-size: 1rem; font-weight: 700; }
body.app-theme-jewel .shell { width: min(100%, var(--app-shell)); padding-inline: clamp(18px, 2vw, 34px); }
body.app-theme-jewel .page-shell,
body.app-theme-jewel .dashboard-shell { padding-block: 28px 38px; }
body.app-theme-jewel main { min-height: calc(100vh - 142px); padding-bottom: 0; }
body.app-theme-jewel .muted,
body.app-theme-jewel .optional { color: var(--app-text-muted); }
body.app-theme-jewel .eyebrow {
  margin: 0 0 5px;
  color: var(--app-primary-ink);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

/* Application header */
body.app-theme-jewel .site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  color: var(--app-text);
  background: var(--app-surface) !important;
  border-bottom: 1px solid var(--app-border);
  box-shadow: 0 1px 0 rgb(20 37 31 / 2%);
  backdrop-filter: none;
}
body.app-theme-jewel .dedication-strip { display: none; }
body.app-theme-jewel .header-inner {
  min-height: 88px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(24px, 3vw, 54px);
}
body.app-theme-jewel .brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--app-text);
  text-decoration: none;
  white-space: nowrap;
}
body.app-theme-jewel .brand-mark {
  width: 47px;
  height: 47px;
  display: grid;
  place-items: center;
  flex: 0 0 47px;
  color: var(--app-primary);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.app-theme-jewel .brand-mark img {
  width: 42px;
  height: 42px;
  filter: invert(31%) sepia(43%) saturate(1084%) hue-rotate(112deg) brightness(90%) contrast(99%);
}
html[data-theme="dark"] body.app-theme-jewel .brand-mark img {
  filter: invert(72%) sepia(31%) saturate(696%) hue-rotate(107deg) brightness(92%) contrast(92%);
}
body.app-theme-jewel .brand strong {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.28rem;
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.08;
}
body.app-theme-jewel .brand small { display: none; }
body.app-theme-jewel .main-nav {
  min-width: 0;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 20px;
  color: var(--app-text-soft);
  font-size: .88rem;
  font-weight: 680;
}
body.app-theme-jewel .nav-primary,
body.app-theme-jewel .nav-utilities { display: flex; align-items: center; }
body.app-theme-jewel .nav-primary { min-width: 0; gap: clamp(5px, 1vw, 16px); }
body.app-theme-jewel .nav-utilities { justify-content: flex-end; gap: 8px; }
body.app-theme-jewel .nav-primary > a {
  position: relative;
  min-height: 88px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 clamp(10px, 1vw, 16px);
  color: var(--app-text-soft);
  border-radius: 0;
  text-decoration: none;
  white-space: nowrap;
}
body.app-theme-jewel .nav-primary > a::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 0;
  left: 10px;
  height: 4px;
  border-radius: 4px 4px 0 0;
  background: transparent;
}
body.app-theme-jewel .nav-primary > a:hover,
body.app-theme-jewel .nav-primary > a[aria-current="page"] { color: var(--app-primary-ink); background: transparent; }
body.app-theme-jewel .nav-primary > a[aria-current="page"]::after { background: var(--app-primary); }
body.app-theme-jewel .nav-primary img,
body.app-theme-jewel .nav-utilities img,
body.app-theme-jewel .account-menu-panel img { opacity: .78; }
body.app-theme-jewel .nav-primary > a[aria-current="page"] img { opacity: 1; }
body.app-theme-jewel .notification-icon,
body.app-theme-jewel .theme-icon { filter: none !important; opacity: .58; }
body.app-theme-jewel .nav-feedback-cta img { filter: brightness(0) invert(1) !important; opacity: .92; }
html[data-theme="dark"] body.app-theme-jewel .notification-icon,
html[data-theme="dark"] body.app-theme-jewel .theme-icon { filter: brightness(0) invert(1) !important; opacity: .72; }
html[data-theme="dark"] body.app-theme-jewel .nav-feedback-cta img { filter: none !important; opacity: .88; }
body.app-theme-jewel .project-switcher { min-width: 0; width: clamp(150px, 13vw, 210px); }
body.app-theme-jewel .project-switcher select {
  width: 100%;
  min-height: 38px;
  padding: 7px 30px 7px 11px;
  color: var(--app-text-soft);
  border: 1px solid var(--app-border);
  border-radius: 9px;
  background: var(--app-surface-soft);
  box-shadow: none;
  font-size: .72rem;
  font-weight: 690;
  text-overflow: ellipsis;
}
body.app-theme-jewel .nav-feedback-cta,
body.app-theme-jewel .nav-feedback-cta[aria-current="page"] {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 12px;
  color: #ffffff;
  border: 1px solid var(--app-primary);
  border-radius: 9px;
  background: var(--app-primary);
  box-shadow: none;
  text-decoration: none;
  white-space: nowrap;
}
html[data-theme="dark"] body.app-theme-jewel .nav-feedback-cta,
html[data-theme="dark"] body.app-theme-jewel .nav-feedback-cta[aria-current="page"] { color: #0c241b; }
body.app-theme-jewel .nav-feedback-cta:hover { border-color: var(--app-primary-hover); background: var(--app-primary-hover); }
body.app-theme-jewel .notification-toggle,
body.app-theme-jewel .theme-toggle {
  width: 38px;
  height: 38px;
  min-height: 38px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 38px;
  padding: 0;
  color: var(--app-text-soft);
  border: 1px solid var(--app-border);
  border-radius: 50%;
  background: var(--app-surface-soft);
  box-shadow: none;
}
body.app-theme-jewel .notification-toggle:hover,
body.app-theme-jewel .notification-toggle[aria-expanded="true"],
body.app-theme-jewel .theme-toggle:hover { color: var(--app-primary-ink); border-color: var(--app-border-strong); background: var(--app-primary-soft); }
body.app-theme-jewel .theme-label { display: none; }
body.app-theme-jewel .theme-toggle .theme-icon { width: 17px; height: 17px; }
body.app-theme-jewel .notification-count { border-color: var(--app-surface); background: var(--app-primary); }
body.app-theme-jewel .account-menu { position: relative; margin-left: 3px; }
body.app-theme-jewel .account-menu > summary {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 4px 5px 4px 6px;
  color: var(--app-text);
  border-radius: 10px;
  cursor: pointer;
  list-style-position: outside;
}
body.app-theme-jewel .account-menu > summary:hover { background: var(--app-surface-soft); }
body.app-theme-jewel .account-avatar {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  color: #ffffff;
  border-radius: 50%;
  background: #173e38;
  font-size: .78rem;
  font-weight: 800;
}
html[data-theme="dark"] body.app-theme-jewel .account-avatar { color: #0c241b; background: var(--app-primary); }
body.app-theme-jewel .account-menu-name { max-width: 105px; overflow: hidden; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
body.app-theme-jewel .account-menu-panel {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  z-index: 70;
  width: 230px;
  padding: 7px;
  border: 1px solid var(--app-border);
  border-radius: 12px;
  background: var(--app-surface);
  box-shadow: var(--app-shadow-md);
}
body.app-theme-jewel .account-menu-heading { display: grid; gap: 2px; padding: 9px 10px 11px; border-bottom: 1px solid var(--app-border); }
body.app-theme-jewel .account-menu-heading strong { font-size: .82rem; }
body.app-theme-jewel .account-menu-heading small { overflow: hidden; color: var(--app-text-muted); font-size: .68rem; text-overflow: ellipsis; }
body.app-theme-jewel .account-menu-panel > a,
body.app-theme-jewel .account-menu-panel button {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  color: var(--app-text-soft);
  border: 0;
  border-radius: 8px;
  background: transparent;
  font: inherit;
  font-size: .75rem;
  font-weight: 680;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
body.app-theme-jewel .account-menu-panel > a:hover,
body.app-theme-jewel .account-menu-panel > a[aria-current="page"],
body.app-theme-jewel .account-menu-panel button:hover { color: var(--app-primary-ink); background: var(--app-primary-soft); }
body.app-theme-jewel .account-menu-panel form { margin: 0; }
body.app-theme-jewel .public-nav { justify-content: flex-end; gap: 4px; }
body.app-theme-jewel .public-nav > a { align-self: center; padding: 9px 12px; color: var(--app-text-soft); border-radius: 8px; text-decoration: none; }
body.app-theme-jewel .public-nav > a:hover,
body.app-theme-jewel .public-nav > a[aria-current="page"] { color: var(--app-primary-ink); background: var(--app-primary-soft); }
body.app-theme-jewel .notification-panel-shell { top: 100%; }
body.app-theme-jewel .notification-panel {
  margin-top: 10px;
  border: 1px solid var(--app-border);
  border-radius: 12px;
  background: var(--app-surface);
  color: var(--app-text);
  box-shadow: var(--app-shadow-md);
}
body.app-theme-jewel .service-notice { padding-block: 9px; box-shadow: none; }
body.app-theme-jewel .environment-banner { min-height: 28px; }

/* Page headings and top-level surfaces */
body.app-theme-jewel .page-banner,
body.app-theme-jewel .project-hero { color: var(--app-text); border: 0; background: transparent; box-shadow: none; }
body.app-theme-jewel .page-banner-inner,
body.app-theme-jewel .page-banner-small .page-banner-inner { min-height: 0; padding-block: 30px 9px; }
body.app-theme-jewel .page-banner h1 { margin: 0; }
body.app-theme-jewel .page-banner p:not(.eyebrow) { color: var(--app-text-soft); }
body.app-theme-jewel .page-banner-actions { gap: 8px; }
body.app-theme-jewel .page-title-line { gap: 8px; }

body.app-theme-jewel .content-card,
body.app-theme-jewel .progress-panel,
body.app-theme-jewel .project-card,
body.app-theme-jewel .tractate-card,
body.app-theme-jewel .claim-group-card,
body.app-theme-jewel .shared-assignment-group,
body.app-theme-jewel .management-sidebar,
body.app-theme-jewel .directory-metrics article,
body.app-theme-jewel .instruction-step,
body.app-theme-jewel .instruction-topic,
body.app-theme-jewel .auth-card,
body.app-theme-jewel .legal-card,
body.app-theme-jewel .owner-tool-card,
body.app-theme-jewel .security-card {
  color: var(--app-text);
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-md);
  background: var(--app-surface);
  box-shadow: var(--app-shadow-xs);
}
body.app-theme-jewel .content-card,
body.app-theme-jewel .progress-panel,
body.app-theme-jewel .owner-tool-card,
body.app-theme-jewel .security-card { padding: clamp(17px, 1.7vw, 24px); }
body.app-theme-jewel .content-card:hover,
body.app-theme-jewel .project-card:hover,
body.app-theme-jewel .tractate-card:hover { border-color: var(--app-border-strong); }
body.app-theme-jewel .card-heading,
body.app-theme-jewel .section-heading { gap: 14px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--app-border); }
body.app-theme-jewel .card-heading h2,
body.app-theme-jewel .section-heading h2 { margin: 0; }
body.app-theme-jewel .count-badge,
body.app-theme-jewel .current-project-mark {
  min-height: 25px;
  padding: 4px 9px;
  color: var(--app-primary-ink);
  border: 0;
  border-radius: 999px;
  background: var(--app-primary-soft);
  font-size: .68rem;
  font-weight: 750;
}

/* Dashboard */
body.app-theme-jewel .dashboard-shell { display: grid; gap: 18px; }
body.app-theme-jewel .project-overview {
  margin: 0;
  padding: 22px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-lg);
  background: var(--app-surface) !important;
  box-shadow: var(--app-shadow-sm);
}
body.app-theme-jewel .project-overview-heading { align-items: center; gap: 18px; padding-bottom: 18px; }
body.app-theme-jewel .project-overview-identity { gap: 14px; }
body.app-theme-jewel .project-overview-photo { width: 64px; height: 64px; border-radius: 13px; }
body.app-theme-jewel .project-overview h1 { margin: 0 0 4px; }
body.app-theme-jewel .project-context-row { margin-bottom: 2px; }
body.app-theme-jewel .project-memorial-name { margin-top: 4px; color: var(--app-text-soft); }
body.app-theme-jewel .overview-start-date { margin-block: 6px 0; color: var(--app-text-soft); }
body.app-theme-jewel .overview-deadline { margin-top: 9px; color: var(--app-text-muted); }
body.app-theme-jewel .project-occasion,
body.app-theme-jewel .deadline-pill { color: var(--app-text-soft); border: 0; background: var(--app-surface-soft); }
body.app-theme-jewel .dashboard-command-grid { gap: 12px; margin: 0; }
body.app-theme-jewel .dashboard-command-card {
  min-height: 0;
  padding: 16px;
  color: var(--app-text);
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-md);
  background: var(--app-surface);
  box-shadow: none;
  transform: none;
}
body.app-theme-jewel .dashboard-command-card:hover { border-color: var(--app-border-strong); box-shadow: var(--app-shadow-xs); transform: none; }
body.app-theme-jewel .dashboard-card-heading { margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--app-border); }
body.app-theme-jewel .dashboard-card-heading h2 { font-size: 1rem; }
body.app-theme-jewel .dashboard-card-link-cue { color: var(--app-primary-ink); }
body.app-theme-jewel .continue-progress-number,
body.app-theme-jewel .personal-progress-percent { font-size: 1.75rem; }
body.app-theme-jewel .continue-learning-stats,
body.app-theme-jewel .personal-goal-stats { border: 1px solid var(--app-border); border-radius: 10px; background: var(--app-surface-soft); }
body.app-theme-jewel .continue-learning-stats div,
body.app-theme-jewel .personal-goal-stats div { border-color: var(--app-border); }
body.app-theme-jewel .project-progress-card .progress-metrics { gap: 6px; }
body.app-theme-jewel .project-progress-card .progress-metrics article { border: 0; border-radius: 9px; background: var(--app-surface-soft); }
body.app-theme-jewel .progress-track,
body.app-theme-jewel .personal-progress-track,
body.app-theme-jewel .mini-progress,
body.app-theme-jewel .continue-progress-track { height: 7px; border-radius: 999px; background: var(--app-track); overflow: hidden; }
body.app-theme-jewel .progress-completed,
body.app-theme-jewel .progress-segments .progress-done-segment { background: var(--app-success); }
body.app-theme-jewel .progress-segments .progress-learning-segment,
body.app-theme-jewel .progress-claimed .progress-learning-segment { background: var(--app-learning); }
body.app-theme-jewel .dot-complete { background: var(--app-success); }
body.app-theme-jewel .dot-learning { background: var(--app-learning); }
body.app-theme-jewel .my-work-card,
body.app-theme-jewel .assignments-card,
body.app-theme-jewel .people-section-card { margin-top: 0; }
body.app-theme-jewel .my-portions-list-toolbar { margin-bottom: 10px; padding: 0 2px; }
body.app-theme-jewel .claim-group-list,
body.app-theme-jewel .claim-group-list.is-masonry { display: grid; grid-template-columns: 1fr; grid-auto-rows: auto; gap: 8px; }
body.app-theme-jewel .claim-group-list.is-masonry .claim-group-card-shell { grid-row-end: auto !important; }
body.app-theme-jewel .claim-group-card-shell {
  overflow: visible;
  border: 1px solid var(--app-border);
  border-radius: 11px;
  background: var(--app-surface);
  box-shadow: none;
}
body.app-theme-jewel .claim-group-card-shell.is-learning { border-color: #dfc17d; box-shadow: inset 4px 0 var(--app-learning); }
html[data-theme="dark"] body.app-theme-jewel .claim-group-card-shell.is-learning { border-color: #68542e; }
body.app-theme-jewel .claim-group-card-shell > .claim-group-card,
body.app-theme-jewel .claim-group-card-shell > .claim-group-card:last-child { border: 0; border-radius: 10px; box-shadow: none; }
body.app-theme-jewel .claim-group-summary {
  min-height: 72px;
  display: grid;
  grid-template-columns: minmax(120px, .8fr) minmax(190px, 1.25fr) minmax(190px, 1.15fr) minmax(120px, .7fr) auto;
  grid-template-areas:
    "identity portion progress-copy remaining disclosure"
    "progress progress progress progress progress";
  gap: 7px 16px;
  padding: 12px 14px;
  background: var(--app-surface);
}
body.app-theme-jewel .claim-group-card[open] > .claim-group-summary { background: var(--app-surface-soft); border-bottom: 1px solid var(--app-border); }
body.app-theme-jewel .claim-group-identity { align-self: center; }
body.app-theme-jewel .claim-group-portion { align-self: center; color: var(--app-text-soft); }
body.app-theme-jewel .claim-group-progress-copy { align-self: center; color: var(--app-text-soft); font-size: .68rem; white-space: normal; }
body.app-theme-jewel .claim-group-progress-copy strong { font-size: .76rem; }
body.app-theme-jewel .claim-group-remaining { align-self: center; color: var(--app-text-muted); }
body.app-theme-jewel .claim-group-disclosure { align-self: center; color: var(--app-primary-ink); }
body.app-theme-jewel .claim-group-progress { margin-top: 1px; }
body.app-theme-jewel .claim-group-quick-actions { gap: 7px; padding: 8px 10px; border: 0; border-top: 1px solid var(--app-border); border-radius: 0 0 10px 10px; background: var(--app-surface-soft); }

body.app-theme-jewel .shared-assignments-heading { align-items: center; }
body.app-theme-jewel .shared-assignment-heading-actions { gap: 8px; }
body.app-theme-jewel .compact-select-label { color: var(--app-text-muted); }
body.app-theme-jewel .shared-assignment-list { gap: 7px; }
body.app-theme-jewel .shared-assignment-group { overflow: hidden; border-radius: 11px; box-shadow: none; }
body.app-theme-jewel .shared-assignment-group-heading { padding: 10px 13px; color: var(--app-text-soft); background: var(--app-surface-soft); }
body.app-theme-jewel .shared-assignment-group[open] > .shared-assignment-group-heading { color: var(--app-text); background: var(--app-surface-strong); }
body.app-theme-jewel .shared-assignment-card { border-color: var(--app-border); background: var(--app-surface); }
body.app-theme-jewel .shared-assignment-card.is-learning { background: var(--app-learning-soft) !important; box-shadow: inset 4px 0 var(--app-learning); }
body.app-theme-jewel .shared-assignment-row {
  min-height: 76px;
  grid-template-columns: minmax(160px, 1fr) minmax(130px, .72fr) minmax(170px, 1fr) minmax(240px, 1.35fr) auto auto;
  gap: 14px;
  padding: 12px 15px;
  background: transparent;
}
body.app-theme-jewel .shared-assignment-row:hover,
body.app-theme-jewel .shared-assignment-row[aria-expanded="true"] { background: var(--app-surface-soft); }
body.app-theme-jewel .shared-assignment-card.is-learning .shared-assignment-row:hover,
body.app-theme-jewel .shared-assignment-card.is-learning .shared-assignment-row[aria-expanded="true"] { background: var(--app-learning-soft); }
body.app-theme-jewel .assignment-person .avatar-small { width: 36px; height: 36px; }
body.app-theme-jewel .assignment-person strong,
body.app-theme-jewel .assignment-name-hebrew,
body.app-theme-jewel .assignment-portion-hebrew,
body.app-theme-jewel .assignment-progress strong { color: var(--app-text); font-size: .82rem; }
body.app-theme-jewel .assignment-name-english,
body.app-theme-jewel .assignment-person-hebrew,
body.app-theme-jewel .completion-time { color: var(--app-text-muted); font-size: .67rem; }
body.app-theme-jewel .assignment-progress .mini-progress { width: min(100%, 280px); margin-top: 5px; }
body.app-theme-jewel .assignment-status-badge { width: fit-content; margin-top: 5px; padding: 3px 7px; font-size: .6rem; }
body.app-theme-jewel .assignment-row-quick-action .button { min-height: 34px; }
body.app-theme-jewel .assignment-row-chevron { color: var(--app-text-muted); }
body.app-theme-jewel .assignment-detail-panel { padding: 15px; border-top: 1px solid var(--app-border); background: var(--app-surface-soft); }
body.app-theme-jewel .assignment-chapter { border-color: var(--app-border); background: var(--app-surface); }
body.app-theme-jewel .assignment-chapter.is-learning { border-color: #dfc17d; background: var(--app-learning-soft); }
html[data-theme="dark"] body.app-theme-jewel .assignment-chapter.is-learning { border-color: #68542e; }
body.app-theme-jewel .people-list { gap: 0; border: 1px solid var(--app-border); border-radius: 10px; overflow: hidden; }
body.app-theme-jewel .person-row { padding: 10px 12px; border-bottom: 1px solid var(--app-border); background: var(--app-surface); }
body.app-theme-jewel .person-row:last-child { border-bottom: 0; }
body.app-theme-jewel .person-row:hover { background: var(--app-surface-soft); }

/* Assignment catalog, projects, and management */
body.app-theme-jewel .catalog-action-toolbar,
body.app-theme-jewel .batch-claim-toolbar,
body.app-theme-jewel .batch-manage-toolbar {
  border-color: var(--app-border);
  border-radius: 11px;
  background: var(--app-surface);
  box-shadow: var(--app-shadow-xs);
}
body.app-theme-jewel .seder-block { gap: 12px; }
body.app-theme-jewel .seder-heading { padding-bottom: 9px; border-bottom: 1px solid var(--app-border); }
body.app-theme-jewel .seder-part { border-color: var(--app-border); border-radius: 12px; background: var(--app-surface-soft); }
body.app-theme-jewel .seder-part-heading { padding: 12px 14px; }
body.app-theme-jewel .tractate-grid { gap: 9px; }
body.app-theme-jewel .tractate-card { overflow: hidden; box-shadow: none; }
body.app-theme-jewel .tractate-card > summary { min-height: 74px; padding: 13px 15px; background: var(--app-surface); }
body.app-theme-jewel .tractate-card[open] > summary { border-bottom: 1px solid var(--app-border); background: var(--app-surface-soft); }
body.app-theme-jewel .tractate-card-body { background: var(--app-surface); }
body.app-theme-jewel .chapter-choice,
body.app-theme-jewel .chapter-row { border-color: var(--app-border); border-radius: 9px; background: var(--app-surface); }
body.app-theme-jewel .chapter-choice:hover,
body.app-theme-jewel .chapter-row:hover { border-color: var(--app-border-strong); background: var(--app-surface-soft); }
body.app-theme-jewel .chapter-choice:has(input:checked) { border-color: var(--app-primary); background: var(--app-primary-soft); }

body.app-theme-jewel .projects-shell { display: grid; gap: 18px; }
body.app-theme-jewel .project-card-grid { grid-template-columns: 1fr; gap: 12px; }
body.app-theme-jewel .project-card { padding: 18px; }
body.app-theme-jewel .project-card.is-current { border-color: var(--app-primary); box-shadow: 0 0 0 1px var(--app-primary); }
body.app-theme-jewel .project-card-heading { gap: 12px; }
body.app-theme-jewel .project-card-progress { overflow: hidden; border: 1px solid var(--app-border); border-radius: 10px; background: var(--app-surface-soft); }
body.app-theme-jewel .project-card-progress > span { padding: 10px 12px; border-color: var(--app-border); }
body.app-theme-jewel .project-card-actions { gap: 8px; }
body.app-theme-jewel .new-project-panel { color: var(--app-text); border-color: var(--app-border); background: var(--app-surface); }
body.app-theme-jewel .new-project-panel-shell { background: var(--app-surface); }

body.app-theme-jewel .management-layout { grid-template-columns: 218px minmax(0, 1fr); gap: 16px; }
body.app-theme-jewel .management-sidebar { position: sticky; top: 108px; padding: 9px; }
body.app-theme-jewel .management-sidebar-heading { padding: 10px 10px 12px; border-bottom: 1px solid var(--app-border); }
body.app-theme-jewel .management-sidebar-nav { gap: 3px; }
body.app-theme-jewel .management-sidebar a,
body.app-theme-jewel .management-sidebar-advanced summary { min-height: 38px; padding: 8px 10px; color: var(--app-text-soft); border-radius: 8px; }
body.app-theme-jewel .management-sidebar a:hover,
body.app-theme-jewel .management-sidebar a[aria-current="page"] { color: var(--app-primary-ink); background: var(--app-primary-soft); }
body.app-theme-jewel .management-content { gap: 14px; }
body.app-theme-jewel .directory-metrics { gap: 8px; }
body.app-theme-jewel .directory-metrics article { padding: 11px 13px; box-shadow: none; }

/* Tables, forms, and controls */
body.app-theme-jewel .table-wrap,
body.app-theme-jewel .data-table-wrap,
body.app-theme-jewel .audit-table-wrap {
  border: 1px solid var(--app-border);
  border-radius: 11px;
  background: var(--app-surface);
  box-shadow: none;
}
body.app-theme-jewel table { border-collapse: separate; border-spacing: 0; }
body.app-theme-jewel th {
  top: 0;
  padding: 10px 11px;
  color: var(--app-text-soft);
  border-bottom: 1px solid var(--app-border);
  background: var(--app-surface-soft);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .04em;
}
body.app-theme-jewel td { padding: 10px 11px; border-bottom-color: var(--app-border); }
body.app-theme-jewel tbody tr:hover td { background: var(--app-surface-soft); }
body.app-theme-jewel .audit-view-tabs { gap: 6px; }
body.app-theme-jewel .audit-view-tabs a { padding: 8px 11px; border: 1px solid var(--app-border); border-radius: 9px; background: var(--app-surface); box-shadow: none; }

body.app-theme-jewel input:not([type="checkbox"]):not([type="radio"]),
body.app-theme-jewel select,
body.app-theme-jewel textarea,
body.app-theme-jewel .copy-row input,
body.app-theme-jewel .filter-multiselect > summary {
  min-height: 40px;
  color: var(--app-text);
  border: 1px solid var(--app-border-strong);
  border-radius: 9px;
  background: var(--app-surface);
  box-shadow: none;
}
body.app-theme-jewel textarea { min-height: 98px; }
body.app-theme-jewel input:not([type="checkbox"]):not([type="radio"]):hover,
body.app-theme-jewel select:hover,
body.app-theme-jewel textarea:hover { border-color: var(--app-primary); }
body.app-theme-jewel input:not([type="checkbox"]):not([type="radio"]):focus,
body.app-theme-jewel select:focus,
body.app-theme-jewel textarea:focus {
  border-color: var(--app-primary);
  outline: 3px solid var(--app-primary-soft);
  outline-offset: 0;
  box-shadow: none;
}
body.app-theme-jewel input[type="checkbox"],
body.app-theme-jewel input[type="radio"] { accent-color: var(--app-primary); }
body.app-theme-jewel .stack-form { gap: 12px; }
body.app-theme-jewel .stack-form label:not(.check-row) { gap: 5px; color: var(--app-text-soft); font-size: .76rem; font-weight: 700; }
body.app-theme-jewel .check-row { border-color: var(--app-border); background: var(--app-surface); }
body.app-theme-jewel .check-row:hover { background: var(--app-surface-soft); }

body.app-theme-jewel .button {
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 9px;
  font-weight: 710;
  box-shadow: none;
  transform: none;
}
body.app-theme-jewel .button:hover:not(:disabled) { transform: none; }
body.app-theme-jewel .button-primary { color: #ffffff; border-color: var(--app-primary); background: var(--app-primary); box-shadow: 0 3px 9px rgb(8 121 86 / 13%); }
html[data-theme="dark"] body.app-theme-jewel .button-primary { color: #0c241b; }
body.app-theme-jewel .button-primary:hover:not(:disabled) { border-color: var(--app-primary-hover); background: var(--app-primary-hover); }
body.app-theme-jewel .button-outline,
body.app-theme-jewel .button-light,
body.app-theme-jewel .button-quiet,
body.app-theme-jewel .button-subtle { color: var(--app-text-soft); border-color: var(--app-border); background: var(--app-surface); }
body.app-theme-jewel .button-outline:hover:not(:disabled),
body.app-theme-jewel .button-light:hover:not(:disabled),
body.app-theme-jewel .button-quiet:hover:not(:disabled),
body.app-theme-jewel .button-subtle:hover:not(:disabled) { color: var(--app-text); border-color: var(--app-border-strong); background: var(--app-surface-soft); }
body.app-theme-jewel .button-learning { color: var(--app-learning); border-color: #dfc17d; background: var(--app-learning-soft); }
html[data-theme="dark"] body.app-theme-jewel .button-learning { border-color: #68542e; }
body.app-theme-jewel .button-danger { color: #ffffff; border-color: var(--app-danger); background: var(--app-danger); }
body.app-theme-jewel .button-small { min-height: 34px; padding: 6px 11px; }
body.app-theme-jewel .button-tiny { min-height: 30px; padding: 5px 9px; border-radius: 7px; }

/* Auth, legal, notices, and dialogs */
body.app-theme-jewel.auth-page { min-height: 100vh; background: var(--app-bg) !important; }
body.app-theme-jewel .auth-shell { padding-block: clamp(34px, 7vh, 80px); }
body.app-theme-jewel .auth-card { width: min(100%, 440px); padding: clamp(24px, 4vw, 36px); border-radius: 17px; box-shadow: var(--app-shadow-md); }
body.app-theme-jewel .auth-card .brand-mark { width: 46px; height: 46px; }
body.app-theme-jewel .auth-intro img.brand-mark {
  width: 44px;
  height: 44px;
  object-fit: contain;
  filter: invert(31%) sepia(43%) saturate(1084%) hue-rotate(112deg) brightness(90%) contrast(99%);
}
html[data-theme="dark"] body.app-theme-jewel .auth-intro img.brand-mark {
  filter: invert(72%) sepia(31%) saturate(696%) hue-rotate(107deg) brightness(92%) contrast(92%);
}
body.app-theme-jewel .legal-card { max-width: 860px; }
body.app-theme-jewel .flash,
body.app-theme-jewel .selection-note,
body.app-theme-jewel .project-celebration { border-radius: 11px; box-shadow: none; }
body.app-theme-jewel .selection-note { border-color: var(--app-border); background: var(--app-surface-soft); }
body.app-theme-jewel .project-celebration { border: 1px solid var(--app-border-strong); background: var(--app-success-soft) !important; }
body.app-theme-jewel dialog { color: var(--app-text); border: 1px solid var(--app-border); border-radius: 15px; background: var(--app-surface); box-shadow: var(--app-shadow-md); }
body.app-theme-jewel dialog::backdrop { background: rgb(8 18 15 / 62%); backdrop-filter: blur(3px); }
body.app-theme-jewel .info-tip-panel { color: var(--app-text); border-color: var(--app-border); background: var(--app-surface); box-shadow: var(--app-shadow-md); }
body.app-theme-jewel .info-tip-trigger { color: var(--app-text-muted); }

/* Footer */
body.app-theme-jewel .site-footer { margin-top: 8px; color: var(--app-text-muted); border-top: 1px solid var(--app-border); background: var(--app-surface); }
body.app-theme-jewel .footer-inner { min-height: 58px; }

/* Responsive */
@media (max-width: 1380px) {
  body.app-theme-jewel .header-inner { gap: 24px; }
  body.app-theme-jewel .nav-primary { gap: 3px; }
  body.app-theme-jewel .nav-primary > a { padding-inline: 10px; }
  body.app-theme-jewel .project-switcher { width: 155px; }
  body.app-theme-jewel .nav-feedback-cta span { display: none; }
  body.app-theme-jewel .nav-feedback-cta { width: 38px; justify-content: center; padding: 0; border-radius: 50%; }
  body.app-theme-jewel .account-menu-name { display: none; }
}

@media (max-width: 1080px) {
  body.app-theme-jewel .header-inner {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: 58px 48px;
    align-items: center;
    padding-top: 5px;
  }
  body.app-theme-jewel .brand { grid-column: 1; grid-row: 1; }
  body.app-theme-jewel .brand-mark { width: 40px; height: 40px; flex-basis: 40px; }
  body.app-theme-jewel .brand-mark img { width: 36px; height: 36px; }
  body.app-theme-jewel .brand strong { font-size: 1.1rem; }
  body.app-theme-jewel .main-nav { grid-column: 1 / -1; grid-row: 1 / 3; display: contents; }
  body.app-theme-jewel .nav-primary { grid-column: 1 / -1; grid-row: 2; overflow-x: auto; align-self: stretch; scrollbar-width: none; }
  body.app-theme-jewel .nav-primary::-webkit-scrollbar { display: none; }
  body.app-theme-jewel .nav-primary > a { min-height: 48px; flex: 0 0 auto; }
  body.app-theme-jewel .nav-utilities { grid-column: 2; grid-row: 1; }
  body.app-theme-jewel .management-layout { grid-template-columns: 1fr; }
  body.app-theme-jewel .management-sidebar { position: static; }
  body.app-theme-jewel .management-sidebar-nav { display: flex; overflow-x: auto; padding-bottom: 2px; }
  body.app-theme-jewel .management-sidebar-nav a { flex: 0 0 auto; }
  body.app-theme-jewel .claim-group-summary {
    grid-template-columns: minmax(130px, .8fr) minmax(180px, 1fr) minmax(190px, 1.1fr) auto;
    grid-template-areas:
      "identity portion progress-copy disclosure"
      "remaining remaining remaining remaining"
      "progress progress progress progress";
  }
  body.app-theme-jewel .shared-assignment-row,
  body.app-theme-jewel .assignments-card[data-assignment-group-mode="participant"] .shared-assignment-row,
  body.app-theme-jewel .assignments-card[data-assignment-group-mode="status"] .shared-assignment-row,
  body.app-theme-jewel .assignments-card[data-assignment-group-mode="masechta"] .shared-assignment-row { grid-template-columns: 1fr 1fr; gap: 12px 18px; }
  body.app-theme-jewel .assignment-row-quick-action { justify-self: start; }
}

@media (max-width: 760px) {
  body.app-theme-jewel { font-size: 14px; }
  body.app-theme-jewel .shell { padding-inline: 13px; }
  body.app-theme-jewel .page-shell,
  body.app-theme-jewel .dashboard-shell { padding-block: 18px 28px; }
  body.app-theme-jewel .header-inner { gap: 8px; }
  body.app-theme-jewel .project-switcher { width: min(43vw, 185px); }
  body.app-theme-jewel .nav-feedback-cta { display: none; }
  body.app-theme-jewel .brand strong { font-size: 1rem; }
  body.app-theme-jewel .account-menu > summary { padding-right: 0; }
  body.app-theme-jewel .account-avatar { width: 36px; height: 36px; flex-basis: 36px; }
  body.app-theme-jewel .page-banner-inner,
  body.app-theme-jewel .page-banner-small .page-banner-inner { padding-block: 21px 6px; }
  body.app-theme-jewel .project-overview { padding: 15px; }
  body.app-theme-jewel .project-overview-heading { align-items: flex-start; padding-bottom: 14px; }
  body.app-theme-jewel .project-overview-heading > .button { width: 100%; }
  body.app-theme-jewel .dashboard-command-grid { grid-template-columns: 1fr; }
  body.app-theme-jewel .content-card,
  body.app-theme-jewel .progress-panel { padding: 14px; }
  body.app-theme-jewel .card-heading { align-items: flex-start; }
  body.app-theme-jewel .my-work-heading-actions,
  body.app-theme-jewel .shared-assignment-heading-actions { justify-content: flex-start; }
  body.app-theme-jewel .claim-group-summary {
    min-height: 0;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "identity disclosure"
      "portion portion"
      "progress-copy progress-copy"
      "remaining remaining"
      "progress progress";
    padding: 12px;
  }
  body.app-theme-jewel .shared-assignment-row,
  body.app-theme-jewel .assignments-card[data-assignment-group-mode="participant"] .shared-assignment-row,
  body.app-theme-jewel .assignments-card[data-assignment-group-mode="status"] .shared-assignment-row,
  body.app-theme-jewel .assignments-card[data-assignment-group-mode="masechta"] .shared-assignment-row { grid-template-columns: 1fr; gap: 10px; padding: 12px; }
  body.app-theme-jewel .assignment-person,
  body.app-theme-jewel .assignment-masechta,
  body.app-theme-jewel .assignment-portion,
  body.app-theme-jewel .assignment-progress { padding-bottom: 8px; border-bottom: 1px solid var(--app-border); }
  body.app-theme-jewel .assignment-row-chevron { position: absolute; top: 14px; right: 12px; }
  body.app-theme-jewel .shared-assignment-row { position: relative; }
  body.app-theme-jewel .project-card-grid { grid-template-columns: 1fr; }
  body.app-theme-jewel .project-card-progress { grid-template-columns: 1fr; }
  body.app-theme-jewel .footer-inner { justify-content: center; text-align: center; }
}

@media (max-width: 520px) {
  body.app-theme-jewel .header-inner { grid-template-columns: auto 1fr; }
  body.app-theme-jewel .brand span:last-child { display: none; }
  body.app-theme-jewel .project-switcher { width: min(44vw, 165px); }
  body.app-theme-jewel .notification-toggle { display: none; }
  body.app-theme-jewel .theme-toggle { width: 36px; height: 36px; min-height: 36px; flex-basis: 36px; }
  body.app-theme-jewel .nav-primary > a { padding-inline: 11px; font-size: .76rem; }
  body.app-theme-jewel .nav-primary > a img { width: 17px; height: 17px; }
  body.app-theme-jewel .account-menu-panel { right: -3px; width: min(230px, calc(100vw - 26px)); }
  body.app-theme-jewel .project-overview-photo { width: 48px; height: 48px; }
  body.app-theme-jewel .project-overview-identity { align-items: flex-start; }
  body.app-theme-jewel .overview-deadline-hebrew { align-items: flex-start; }
  body.app-theme-jewel .button { min-height: 40px; }
}

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