/* Track Mishnah UI 2.17
 * Full visual-system refresh. Presentation only: behavior and data flow remain unchanged.
 */

body.app-theme-jewel {
  --tm-bg: #f4f7f6;
  --tm-bg-2: #eef3f1;
  --tm-surface: #ffffff;
  --tm-surface-soft: #f8faf9;
  --tm-surface-strong: #eef5f2;
  --tm-border: #dbe5e1;
  --tm-border-strong: #c6d4cf;
  --tm-text: #1b2924;
  --tm-text-soft: #52635c;
  --tm-text-muted: #75857f;
  --tm-primary: #176f5b;
  --tm-primary-hover: #115f4d;
  --tm-primary-soft: #e3f2ed;
  --tm-primary-strong: #0d4d3e;
  --tm-accent: #b47b20;
  --tm-accent-soft: #fbf0da;
  --tm-info: #356ea3;
  --tm-info-soft: #e7f0f8;
  --tm-learning: #a96d12;
  --tm-learning-soft: #fff0cf;
  --tm-success: #237153;
  --tm-success-soft: #e1f2ea;
  --tm-danger: #aa4250;
  --tm-danger-soft: #f9e8eb;
  --tm-header: #17352e;
  --tm-header-2: #1b4037;
  --tm-header-text: #f7fbf9;
  --tm-header-muted: #c4d7d0;
  --tm-shadow-xs: 0 1px 2px rgb(20 45 37 / 5%);
  --tm-shadow-sm: 0 6px 20px rgb(20 45 37 / 7%);
  --tm-shadow-md: 0 18px 44px rgb(20 45 37 / 10%);
  --tm-radius-xs: 7px;
  --tm-radius-sm: 10px;
  --tm-radius-md: 14px;
  --tm-radius-lg: 18px;
  --tm-space-1: 4px;
  --tm-space-2: 8px;
  --tm-space-3: 12px;
  --tm-space-4: 16px;
  --tm-space-5: 20px;
  --tm-space-6: 24px;
  --tm-space-8: 32px;
  --tm-shell: 1420px;

  --jewel-canvas: var(--tm-bg);
  --jewel-canvas-deep: var(--tm-header);
  --jewel-surface: var(--tm-surface);
  --jewel-surface-raised: var(--tm-surface-soft);
  --jewel-surface-muted: var(--tm-bg-2);
  --jewel-line: var(--tm-border);
  --jewel-line-strong: var(--tm-border-strong);
  --jewel-text: var(--tm-text);
  --jewel-text-soft: var(--tm-text-soft);
  --jewel-text-muted: var(--tm-text-muted);
  --jewel-teal: var(--tm-primary);
  --jewel-teal-soft: var(--tm-primary);
  --jewel-teal-hover: var(--tm-primary-hover);
  --jewel-blue: var(--tm-info);
  --jewel-gold: var(--tm-accent);
  --jewel-learning: var(--tm-learning);
  --jewel-green: var(--tm-success);
  --jewel-danger: var(--tm-danger);
  --jewel-on-accent: #fff;
  --jewel-chrome: var(--tm-header-2);
  --jewel-chrome-deep: var(--tm-header);
  --jewel-chrome-surface: #244b41;
  --jewel-chrome-line: #3b6057;
  --jewel-chrome-text: var(--tm-header-text);
  --jewel-chrome-soft: var(--tm-header-muted);
  --jewel-chrome-muted: #9fbab0;
  --jewel-hover: var(--tm-surface-strong);
  --jewel-active: var(--tm-primary-soft);
  --jewel-track: #dce7e3;
  --jewel-toolbar: #edf3f1;
  --jewel-teal-tint: var(--tm-primary-soft);
  --jewel-blue-tint: var(--tm-info-soft);
  --jewel-gold-tint: var(--tm-accent-soft);
  --jewel-learning-tint: var(--tm-learning-soft);
  --jewel-danger-tint: var(--tm-danger-soft);
  --jewel-success-tint: var(--tm-success-soft);
  --shadow-sm: var(--tm-shadow-sm);
  --shadow-md: var(--tm-shadow-md);
  --radius-sm: var(--tm-radius-xs);
  --radius-md: var(--tm-radius-sm);
  --radius-lg: var(--tm-radius-md);
  --site-shell-width: var(--tm-shell);

  background:
    radial-gradient(circle at 12% -8%, rgb(23 111 91 / 7%), transparent 30rem),
    var(--tm-bg);
  font-size: 14px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

html[data-theme="dark"] body.app-theme-jewel {
  --tm-bg: #0d1513;
  --tm-bg-2: #111c19;
  --tm-surface: #15211e;
  --tm-surface-soft: #192723;
  --tm-surface-strong: #1d2e29;
  --tm-border: #2a3b36;
  --tm-border-strong: #3a5049;
  --tm-text: #edf4f1;
  --tm-text-soft: #b9c8c2;
  --tm-text-muted: #8da099;
  --tm-primary: #68c8aa;
  --tm-primary-hover: #7bd7ba;
  --tm-primary-soft: #19382f;
  --tm-primary-strong: #9ae6cc;
  --tm-accent: #e1b665;
  --tm-accent-soft: #3b301e;
  --tm-info: #76a9d3;
  --tm-info-soft: #1d3040;
  --tm-learning: #e3b05f;
  --tm-learning-soft: #3c301c;
  --tm-success: #72c9a8;
  --tm-success-soft: #19372e;
  --tm-danger: #e1818d;
  --tm-danger-soft: #3b2428;
  --tm-header: #0a1210;
  --tm-header-2: #111d19;
  --tm-header-text: #f2f7f5;
  --tm-header-muted: #b4c6bf;
  --tm-shadow-xs: 0 1px 2px rgb(0 0 0 / 18%);
  --tm-shadow-sm: 0 8px 24px rgb(0 0 0 / 20%);
  --tm-shadow-md: 0 22px 54px rgb(0 0 0 / 28%);

  --jewel-canvas: var(--tm-bg);
  --jewel-canvas-deep: var(--tm-header);
  --jewel-surface: var(--tm-surface);
  --jewel-surface-raised: var(--tm-surface-soft);
  --jewel-surface-muted: var(--tm-bg-2);
  --jewel-line: var(--tm-border);
  --jewel-line-strong: var(--tm-border-strong);
  --jewel-text: var(--tm-text);
  --jewel-text-soft: var(--tm-text-soft);
  --jewel-text-muted: var(--tm-text-muted);
  --jewel-teal: var(--tm-primary);
  --jewel-teal-soft: var(--tm-primary);
  --jewel-teal-hover: var(--tm-primary-hover);
  --jewel-blue: var(--tm-info);
  --jewel-gold: var(--tm-accent);
  --jewel-learning: var(--tm-learning);
  --jewel-green: var(--tm-success);
  --jewel-danger: var(--tm-danger);
  --jewel-on-accent: #10201b;
  --jewel-chrome: var(--tm-header-2);
  --jewel-chrome-deep: var(--tm-header);
  --jewel-chrome-surface: #182722;
  --jewel-chrome-line: #30433d;
  --jewel-chrome-text: var(--tm-header-text);
  --jewel-chrome-soft: var(--tm-header-muted);
  --jewel-chrome-muted: #829b91;
  --jewel-hover: var(--tm-surface-strong);
  --jewel-active: var(--tm-primary-soft);
  --jewel-track: #263a34;
  --jewel-toolbar: #17241f;
  --jewel-teal-tint: var(--tm-primary-soft);
  --jewel-blue-tint: var(--tm-info-soft);
  --jewel-gold-tint: var(--tm-accent-soft);
  --jewel-learning-tint: var(--tm-learning-soft);
  --jewel-danger-tint: var(--tm-danger-soft);
  --jewel-success-tint: var(--tm-success-soft);
  --shadow-sm: var(--tm-shadow-sm);
  --shadow-md: var(--tm-shadow-md);

  background:
    radial-gradient(circle at 12% -8%, rgb(104 200 170 / 6%), transparent 30rem),
    var(--tm-bg);
}

/* --- Typography & page rhythm --- */
body.app-theme-jewel h1,
body.app-theme-jewel h2,
body.app-theme-jewel h3 {
  letter-spacing: -.025em;
  line-height: 1.16;
}
body.app-theme-jewel h1 { font-size: clamp(1.65rem, 2vw, 2.15rem); font-weight: 760; }
body.app-theme-jewel h2 { font-size: clamp(1.15rem, 1.3vw, 1.38rem); font-weight: 730; }
body.app-theme-jewel h3 { font-size: 1rem; font-weight: 700; }
body.app-theme-jewel .shell { width: min(100%, var(--tm-shell)); padding-inline: clamp(14px, 2vw, 26px); }
body.app-theme-jewel main { padding-bottom: 34px; }
body.app-theme-jewel .page-shell,
body.app-theme-jewel .dashboard-shell { padding-block: 20px 28px; }
body.app-theme-jewel .eyebrow {
  margin: 0 0 5px;
  color: var(--tm-primary);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .09em;
}
body.app-theme-jewel .muted,
body.app-theme-jewel .optional { color: var(--tm-text-muted); }

/* --- Header: compact, quiet, app-like --- */
body.app-theme-jewel .site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  color: var(--tm-header-text);
  background: color-mix(in srgb, var(--tm-header) 94%, transparent);
  border-bottom: 1px solid rgb(255 255 255 / 8%);
  box-shadow: 0 5px 18px rgb(0 0 0 / 12%);
  backdrop-filter: blur(18px) saturate(1.1);
}
body.app-theme-jewel .dedication-strip {
  background: transparent;
  border-bottom: 1px solid rgb(255 255 255 / 7%);
}
body.app-theme-jewel .header-dedication {
  min-height: 23px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tm-header-muted);
  font-size: .68rem;
  opacity: .92;
}
body.app-theme-jewel .header-inner {
  min-height: 58px;
  grid-template-columns: auto minmax(0, 1fr) minmax(160px, 220px);
  gap: 14px;
}
body.app-theme-jewel .brand { gap: 9px; text-decoration: none; }
body.app-theme-jewel .brand-mark { width: 31px; height: 31px; flex-basis: 31px; border-radius: 8px; }
body.app-theme-jewel .brand strong { font-size: .94rem; font-weight: 760; letter-spacing: -.015em; }
body.app-theme-jewel .brand small { margin-top: 1px; font-size: .58rem; letter-spacing: .02em; }
body.app-theme-jewel .project-switcher select {
  min-height: 34px;
  padding-block: 5px;
  border-radius: 8px;
  background: rgb(255 255 255 / 7%);
  border-color: rgb(255 255 255 / 14%);
  font-size: .69rem;
}
body.app-theme-jewel .main-nav { gap: 2px; font-size: .69rem; }
body.app-theme-jewel .main-nav > a,
body.app-theme-jewel .nav-button,
body.app-theme-jewel .theme-toggle,
body.app-theme-jewel .notification-toggle,
body.app-theme-jewel .nav-icon-link {
  min-height: 34px;
  border-radius: 8px;
}
body.app-theme-jewel .main-nav > a,
body.app-theme-jewel .nav-button { padding: 7px 9px; }
body.app-theme-jewel .main-nav > a:hover,
body.app-theme-jewel .nav-button:hover,
body.app-theme-jewel .theme-toggle:hover,
body.app-theme-jewel .notification-toggle:hover,
body.app-theme-jewel .nav-icon-link:hover { background: rgb(255 255 255 / 8%); }
body.app-theme-jewel .main-nav > a[aria-current="page"] {
  color: #fff;
  background: rgb(255 255 255 / 11%);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 8%);
}
body.app-theme-jewel .main-nav > a.nav-feedback-cta,
body.app-theme-jewel .main-nav > a.nav-feedback-cta[aria-current="page"] {
  color: #fff;
  background: #2e7f68;
  box-shadow: none;
}
body.app-theme-jewel .main-nav > a.nav-feedback-cta:hover { background: #368d74; }
body.app-theme-jewel .notification-count { box-shadow: 0 0 0 2px var(--tm-header); }

/* --- Page banners / hero areas --- */
body.app-theme-jewel .page-banner,
body.app-theme-jewel .project-hero {
  background: transparent;
  border: 0;
  box-shadow: none;
}
body.app-theme-jewel .page-banner-inner,
body.app-theme-jewel .page-banner-small .page-banner-inner {
  padding-block: 19px 10px;
}
body.app-theme-jewel .page-banner h1 { margin-bottom: 5px; }
body.app-theme-jewel .page-banner p:not(.eyebrow) { max-width: 72ch; color: var(--tm-text-soft); }

/* --- Cards: lighter, cleaner, more compact --- */
body.app-theme-jewel .content-card,
body.app-theme-jewel .progress-panel,
body.app-theme-jewel .management-sidebar,
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 .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 {
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-md);
  background: var(--tm-surface);
  box-shadow: var(--tm-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(14px, 1.5vw, 20px); }
body.app-theme-jewel .content-card:hover,
body.app-theme-jewel .project-card:hover,
body.app-theme-jewel .tractate-card:hover,
body.app-theme-jewel .claim-group-card:hover { border-color: var(--tm-border-strong); }
body.app-theme-jewel .card-heading,
body.app-theme-jewel .section-heading { gap: 10px; margin-bottom: 12px; }
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: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 0;
  background: var(--tm-primary-soft);
  color: var(--tm-primary-strong);
  font-size: .68rem;
  font-weight: 750;
}

/* --- Dashboard hierarchy --- */
body.app-theme-jewel .project-overview {
  margin-bottom: 14px;
  padding: 17px 18px;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-lg);
  background: linear-gradient(145deg, var(--tm-surface), var(--tm-surface-soft));
  box-shadow: var(--tm-shadow-sm);
}
body.app-theme-jewel .project-overview-heading { gap: 14px; }
body.app-theme-jewel .project-overview-photo { width: 58px; height: 58px; border-radius: 12px; }
body.app-theme-jewel .project-overview h1 { margin: 0 0 3px; }
body.app-theme-jewel .project-memorial-name { margin-top: 3px; color: var(--tm-text-soft); }
body.app-theme-jewel .project-occasion,
body.app-theme-jewel .deadline-pill {
  border: 0;
  border-radius: 999px;
  background: var(--tm-surface-strong);
  color: var(--tm-text-soft);
  font-weight: 680;
}
body.app-theme-jewel .dashboard-command-grid { gap: 12px; margin-bottom: 12px; }
body.app-theme-jewel .dashboard-command-card {
  min-height: 0;
  padding: 14px 16px;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-md);
  background: var(--tm-surface);
  box-shadow: var(--tm-shadow-xs);
}
body.app-theme-jewel .dashboard-command-card:hover { border-color: var(--tm-border-strong); box-shadow: var(--tm-shadow-sm); transform: translateY(-1px); }
body.app-theme-jewel .dashboard-card-heading { margin-bottom: 9px; }
body.app-theme-jewel .continue-progress-number,
body.app-theme-jewel .personal-progress-percent { font-size: 1.45rem; font-weight: 780; letter-spacing: -.04em; }
body.app-theme-jewel .continue-learning-stats,
body.app-theme-jewel .personal-goal-stats { gap: 0; border: 1px solid var(--tm-border); border-radius: 10px; overflow: hidden; background: var(--tm-surface-soft); }
body.app-theme-jewel .continue-learning-stats div,
body.app-theme-jewel .personal-goal-stats div { padding: 8px 10px; border-color: var(--tm-border); }
body.app-theme-jewel .project-progress-card .progress-metrics { gap: 6px; }
body.app-theme-jewel .project-progress-card .progress-metrics article {
  padding: 9px 10px;
  border: 0;
  border-radius: 9px;
  background: var(--tm-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: 8px; border-radius: 999px; background: var(--jewel-track); overflow: hidden; }
body.app-theme-jewel .progress-completed,
body.app-theme-jewel .progress-segments .progress-done-segment { background: var(--tm-success); }
body.app-theme-jewel .progress-segments .progress-learning-segment,
body.app-theme-jewel .progress-claimed .progress-learning-segment { background: var(--tm-learning); }
body.app-theme-jewel .dot-complete { background: var(--tm-success); }
body.app-theme-jewel .dot-learning { background: var(--tm-learning); }

/* --- Assignment / masechta rows --- */
body.app-theme-jewel .assignments-card,
body.app-theme-jewel .my-work-card,
body.app-theme-jewel .people-section-card { margin-top: 12px; }
body.app-theme-jewel .shared-assignment-list { gap: 7px; }
body.app-theme-jewel .shared-assignment-group {
  overflow: clip;
  border-radius: 12px;
  box-shadow: none;
}
body.app-theme-jewel .shared-assignment-group-heading { padding: 10px 12px; background: var(--tm-surface-soft); }
body.app-theme-jewel .shared-assignment-group[open] > .shared-assignment-group-heading { background: var(--tm-surface-strong); }
body.app-theme-jewel .shared-assignment-card { border-top: 1px solid var(--tm-border); background: var(--tm-surface); }
body.app-theme-jewel .shared-assignment-row { padding: 10px 12px; }
body.app-theme-jewel .shared-assignment-row:hover { background: var(--tm-surface-soft); }
body.app-theme-jewel .shared-assignment-card.is-learning {
  background: linear-gradient(90deg, var(--tm-learning-soft), var(--tm-surface) 34%);
}
body.app-theme-jewel .claim-group-card,
body.app-theme-jewel .tractate-card { box-shadow: none; overflow: clip; }
body.app-theme-jewel .claim-group-card > summary,
body.app-theme-jewel .tractate-card > summary { padding: 12px 14px; background: var(--tm-surface); }
body.app-theme-jewel .claim-group-card[open] > summary,
body.app-theme-jewel .tractate-card[open] > summary { background: var(--tm-surface-soft); border-bottom: 1px solid var(--tm-border); }
body.app-theme-jewel .chapter-row,
body.app-theme-jewel .chapter-toggle button { min-height: 46px; }
body.app-theme-jewel .chapter-toggle button { border-radius: 9px; }
body.app-theme-jewel .chapter-toggle button:hover { background: var(--tm-surface-strong); }
body.app-theme-jewel .status-check { border-radius: 7px; }

/* --- Forms --- */
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: 38px;
  border: 1px solid var(--tm-border-strong);
  border-radius: 9px;
  background: var(--tm-surface);
  color: var(--tm-text);
  box-shadow: none;
}
body.app-theme-jewel textarea { min-height: 92px; }
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: color-mix(in srgb, var(--tm-primary) 45%, var(--tm-border-strong)); }
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(--tm-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tm-primary) 14%, transparent);
  outline: none;
}
body.app-theme-jewel input[type="checkbox"],
body.app-theme-jewel input[type="radio"] { accent-color: var(--tm-primary); }
body.app-theme-jewel .stack-form { gap: 11px; }
body.app-theme-jewel .stack-form label:not(.check-row) { gap: 5px; color: var(--tm-text-soft); font-size: .76rem; font-weight: 700; }
body.app-theme-jewel .form-note,
body.app-theme-jewel .check-row small { font-size: .69rem; line-height: 1.4; }

/* --- Buttons --- */
body.app-theme-jewel .button {
  min-height: 36px;
  padding: 7px 12px;
  border-radius: 9px;
  font-weight: 720;
  letter-spacing: -.005em;
  box-shadow: none;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}
body.app-theme-jewel .button:hover:not(:disabled) { transform: translateY(-1px); }
body.app-theme-jewel .button-primary {
  color: #fff;
  border-color: var(--tm-primary);
  background: var(--tm-primary);
  box-shadow: 0 3px 9px rgb(23 111 91 / 14%);
}
html[data-theme="dark"] body.app-theme-jewel .button-primary { color: #10201b; }
body.app-theme-jewel .button-primary:hover:not(:disabled) { border-color: var(--tm-primary-hover); background: var(--tm-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(--tm-text-soft);
  border-color: var(--tm-border);
  background: var(--tm-surface-soft);
}
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(--tm-text); border-color: var(--tm-border-strong); background: var(--tm-surface-strong); }
body.app-theme-jewel .button-learning { color: var(--tm-learning); border-color: color-mix(in srgb, var(--tm-learning) 35%, var(--tm-border)); background: var(--tm-learning-soft); }
body.app-theme-jewel .button-danger { background: var(--tm-danger); border-color: var(--tm-danger); }
body.app-theme-jewel .button-small { min-height: 32px; padding: 5px 10px; font-size: .72rem; }
body.app-theme-jewel .button-tiny { min-height: 28px; padding: 4px 8px; border-radius: 7px; font-size: .66rem; }

/* --- Tables / admin / audit --- */
body.app-theme-jewel .table-wrap,
body.app-theme-jewel .data-table-wrap,
body.app-theme-jewel .audit-table-wrap {
  border: 1px solid var(--tm-border);
  border-radius: 12px;
  overflow: auto;
  background: var(--tm-surface);
}
body.app-theme-jewel table { border-collapse: separate; border-spacing: 0; }
body.app-theme-jewel th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 9px 10px;
  color: var(--tm-text-soft);
  background: var(--tm-surface-soft);
  border-bottom: 1px solid var(--tm-border);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .025em;
  text-transform: uppercase;
}
body.app-theme-jewel td { padding: 9px 10px; border-bottom-color: var(--tm-border); }
body.app-theme-jewel tbody tr:hover td { background: color-mix(in srgb, var(--tm-primary-soft) 35%, var(--tm-surface)); }
body.app-theme-jewel .management-sidebar { padding: 8px; }
body.app-theme-jewel .management-sidebar a { border-radius: 8px; }
body.app-theme-jewel .management-sidebar a:hover { background: var(--tm-surface-strong); }
body.app-theme-jewel .management-sidebar a[aria-current="page"] { color: var(--tm-primary-strong); background: var(--tm-primary-soft); }
body.app-theme-jewel .audit-view-tabs { gap: 6px; }
body.app-theme-jewel .audit-view-tabs a { padding: 7px 10px; border-radius: 9px; box-shadow: none; }

/* --- Auth and public pages --- */
body.app-theme-jewel.auth-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 0%, rgb(23 111 91 / 12%), transparent 30rem),
    radial-gradient(circle at 90% 85%, rgb(180 123 32 / 8%), transparent 28rem),
    var(--tm-bg);
}
body.app-theme-jewel .auth-shell { padding-block: clamp(30px, 6vh, 72px); }
body.app-theme-jewel .auth-card {
  width: min(100%, 430px);
  padding: clamp(22px, 4vw, 34px);
  border-radius: 18px;
  box-shadow: var(--tm-shadow-md);
}
body.app-theme-jewel .auth-card .brand-mark { width: 42px; height: 42px; }
body.app-theme-jewel .legal-card { max-width: 820px; }

/* --- Notices, dialogs, tooltips --- */
body.app-theme-jewel .flash,
body.app-theme-jewel .selection-note,
body.app-theme-jewel .project-celebration {
  border-radius: 12px;
  box-shadow: none;
}
body.app-theme-jewel .selection-note { border-color: var(--tm-border); background: var(--tm-surface-soft); }
body.app-theme-jewel .project-celebration {
  border: 1px solid color-mix(in srgb, var(--tm-success) 35%, var(--tm-border));
  background: linear-gradient(135deg, var(--tm-success-soft), var(--tm-surface));
}
body.app-theme-jewel dialog { border: 1px solid var(--tm-border); border-radius: 16px; background: var(--tm-surface); color: var(--tm-text); box-shadow: var(--tm-shadow-md); }
body.app-theme-jewel dialog::backdrop { background: rgb(5 15 12 / 58%); backdrop-filter: blur(3px); }
body.app-theme-jewel .notification-panel,
body.app-theme-jewel .info-tip-panel {
  border: 1px solid var(--tm-border);
  border-radius: 12px;
  background: var(--tm-surface);
  color: var(--tm-text);
  box-shadow: var(--tm-shadow-md);
}
body.app-theme-jewel .notification-item { border-color: var(--tm-border); }

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

/* --- Dense utilities --- */
body.app-theme-jewel .directory-metrics { gap: 8px; }
body.app-theme-jewel .directory-metrics article { padding: 10px 12px; box-shadow: none; }
body.app-theme-jewel .pill,
body.app-theme-jewel .status-pill,
body.app-theme-jewel .role-pill { border-radius: 999px; }
body.app-theme-jewel hr,
body.app-theme-jewel .divider { border-color: var(--tm-border); }

/* --- Responsive: designed, not merely collapsed --- */
@media (max-width: 1120px) {
  body.app-theme-jewel .header-inner {
    grid-template-columns: auto minmax(150px, 210px) auto;
    grid-template-areas: "brand project nav";
  }
  body.app-theme-jewel .main-nav > a span:not(.visually-hidden),
  body.app-theme-jewel .nav-sign-out span { display: none; }
  body.app-theme-jewel .main-nav > a { padding-inline: 8px; }
  body.app-theme-jewel .main-nav > a.nav-feedback-cta span { display: inline; }
}

@media (max-width: 820px) {
  body.app-theme-jewel .site-header { position: relative; }
  body.app-theme-jewel .header-inner {
    padding-block: 9px;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "brand project"
      "nav nav";
    gap: 8px 10px;
  }
  body.app-theme-jewel .main-nav {
    width: 100%;
    overflow-x: auto;
    padding: 2px 0 1px;
    scrollbar-width: none;
  }
  body.app-theme-jewel .main-nav::-webkit-scrollbar { display: none; }
  body.app-theme-jewel .main-nav > a,
  body.app-theme-jewel .nav-button { flex: 0 0 auto; }
  body.app-theme-jewel .dashboard-command-grid { grid-template-columns: 1fr; }
  body.app-theme-jewel .project-overview { padding: 14px; }
  body.app-theme-jewel .content-card,
  body.app-theme-jewel .progress-panel { padding: 14px; }
  body.app-theme-jewel .management-layout { gap: 12px; }
}

@media (max-width: 560px) {
  body.app-theme-jewel { font-size: 13.5px; }
  body.app-theme-jewel .shell { padding-inline: 12px; }
  body.app-theme-jewel .page-shell,
  body.app-theme-jewel .dashboard-shell { padding-block: 14px 22px; }
  body.app-theme-jewel .dedication-strip { display: none; }
  body.app-theme-jewel .header-inner {
    grid-template-columns: 1fr;
    grid-template-areas: "brand" "project" "nav";
  }
  body.app-theme-jewel .project-switcher { width: 100%; }
  body.app-theme-jewel .project-switcher select { width: 100%; }
  body.app-theme-jewel .main-nav > a,
  body.app-theme-jewel .nav-button,
  body.app-theme-jewel .theme-toggle,
  body.app-theme-jewel .notification-toggle,
  body.app-theme-jewel .nav-icon-link { min-height: 36px; }
  body.app-theme-jewel .main-nav > a.nav-feedback-cta span { display: inline; }
  body.app-theme-jewel .project-overview-heading { align-items: flex-start; }
  body.app-theme-jewel .project-overview-photo { width: 48px; height: 48px; }
  body.app-theme-jewel .project-context-row { gap: 6px; }
  body.app-theme-jewel .dashboard-command-card { padding: 13px; }
  body.app-theme-jewel .shared-assignment-row { padding: 9px 10px; }
  body.app-theme-jewel .button { min-height: 38px; }
}

@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; }
}

/* v2.17.1 density + low-hint refinement */
body.app-theme-jewel .catalog-action-toolbar { padding: 7px 9px; gap: 5px; margin-bottom: 10px; }
body.app-theme-jewel .batch-claim-toolbar { grid-template-columns: minmax(180px,.7fr) auto minmax(180px,.55fr) auto; gap: 6px 9px; }
body.app-theme-jewel .batch-manage-toolbar { grid-template-columns: minmax(180px,.7fr) auto 1fr; gap: 6px 9px; padding-top: 6px; }
body.app-theme-jewel .batch-toolbar-intro { gap: 0; }
body.app-theme-jewel .batch-toolbar-intro .eyebrow { font-size: .58rem; line-height: 1.1; }
body.app-theme-jewel .batch-toolbar-intro > strong { font-size: .72rem; line-height: 1.2; }
body.app-theme-jewel .batch-assign-to select,
body.app-theme-jewel .batch-reassign-to select { min-height: 32px; padding-block: 4px; }
body.app-theme-jewel .catalog-action-toolbar .button { min-height: 32px; padding: 5px 10px; }
body.app-theme-jewel .catalog-action-toolbar .count-badge { min-height: 26px; padding: 3px 8px; }

body.app-theme-jewel .shared-assignment-list { gap: 3px; }
body.app-theme-jewel .shared-assignment-card { border-top-color: color-mix(in srgb, var(--tm-border) 70%, transparent); }
body.app-theme-jewel .shared-assignment-row { min-height: 0; padding: 6px 10px; gap: 7px; cursor: pointer; transition: background .12s ease; }
body.app-theme-jewel .shared-assignment-row:focus-visible { outline: 2px solid var(--tm-accent); outline-offset: -2px; }
body.app-theme-jewel .shared-assignment-row[aria-expanded="true"] { background: var(--tm-surface-soft); }
body.app-theme-jewel .assignment-person .avatar-small { width: 28px; height: 28px; }
body.app-theme-jewel .assignment-name-hebrew,
body.app-theme-jewel .assignment-portion-hebrew,
body.app-theme-jewel .assignment-person strong,
body.app-theme-jewel .assignment-progress strong { font-size: .76rem; }
body.app-theme-jewel .assignment-name-english,
body.app-theme-jewel .completion-time,
body.app-theme-jewel .assignment-person-hebrew { font-size: .62rem; }
body.app-theme-jewel .mini-progress { height: 5px; }
body.app-theme-jewel .assignment-status-badge { padding: 2px 6px; font-size: .56rem; }
body.app-theme-jewel .assignment-row-quick-action .button { min-height: 30px; padding: 4px 9px; }
body.app-theme-jewel .assignment-row-chevron { display: inline-grid; place-items: center; width: 22px; font-size: 1.2rem; color: var(--tm-text-muted); transition: transform .15s ease; }
body.app-theme-jewel .shared-assignment-row[aria-expanded="true"] .assignment-row-chevron { transform: rotate(90deg); }
body.app-theme-jewel .assignment-detail-panel { border-top: 1px solid var(--tm-border); }

@media (max-width: 760px) {
  body.app-theme-jewel .catalog-action-toolbar { padding: 7px; }
  body.app-theme-jewel .batch-claim-toolbar,
  body.app-theme-jewel .batch-manage-toolbar { grid-template-columns: 1fr; }
  body.app-theme-jewel .shared-assignment-row { padding: 8px; }
}
