/* Track Mishnah UI 2.17.12
 * Memorial heritage redesign: parchment, deep emerald, restrained antique gold.
 * Presentation-only release. No routes, database schema, assignment behavior,
 * reminder logic, exports, or permissions are changed by this stylesheet.
 */

body.app-theme-jewel {
  --app-bg: #f3eee4;
  --app-surface: #faf7f1;
  --app-surface-soft: #f0ebe1;
  --app-surface-strong: #e6dfd2;
  --app-border: #d4c9b5;
  --app-border-strong: #b8a88e;
  --app-text: #1c2a24;
  --app-text-soft: #3d4f46;
  --app-text-muted: #6a7a70;
  --app-primary: #0b6047;
  --app-primary-hover: #084c38;
  --app-primary-soft: #d7ebe3;
  --app-primary-ink: #0a4f3a;
  --app-learning: #9a7420;
  --app-learning-soft: #f3e8c8;
  --app-success: #0b6047;
  --app-success-soft: #d7ebe3;
  --app-info: #1f5f7a;
  --app-info-soft: #d9e6ec;
  --app-danger: #a8333d;
  --app-danger-soft: #f3ddd9;
  --app-track: #d8d0c0;
  --app-shadow-xs: 0 1px 2px rgb(28 42 36 / 5%);
  --app-shadow-sm: 0 1px 2px rgb(28 42 36 / 6%), 0 6px 18px rgb(28 42 36 / 5%);
  --app-shadow-md: 0 14px 36px rgb(28 42 36 / 12%);
  --tm-memorial-chrome: #073d2e;
  --tm-memorial-chrome-2: #0b6047;
  --tm-memorial-chrome-3: #0e6e52;
  --tm-memorial-gold: #9a7420;
  --tm-memorial-gold-line: #c4a35a;
  --tm-memorial-gold-soft: #f3e8c8;
  --tm-memorial-cream: #f7f3ea;
  --tm-memorial-sidebar-width: 236px;
  --tm-memorial-header-offset: 92px;
  --serif: Georgia, "Times New Roman", "Noto Serif Hebrew", serif;
  --sans: "Segoe UI Variable", Aptos, "Segoe UI", Arial, sans-serif;

  color: var(--app-text);
  background: var(--app-bg) !important;
  font-family: var(--sans);
}

html[data-theme="dark"] body.app-theme-jewel {
  --app-bg: #071612;
  --app-surface: #0d241c;
  --app-surface-soft: #123028;
  --app-surface-strong: #164438;
  --app-border: #1f4639;
  --app-border-strong: #2d6350;
  --app-text: #f0ebe1;
  --app-text-soft: #c9c2b4;
  --app-text-muted: #8f9a90;
  --app-primary: #2ecf9a;
  --app-primary-hover: #4fd9ad;
  --app-primary-soft: #0f3a2e;
  --app-primary-ink: #9ce5ca;
  --app-learning: #e0b84a;
  --app-learning-soft: #3a3018;
  --app-success: #2ecf9a;
  --app-success-soft: #0f3a2e;
  --app-info: #6eb8d4;
  --app-info-soft: #143040;
  --app-danger: #ff7a84;
  --app-danger-soft: #3a2224;
  --app-track: #1a3a2e;
  --app-shadow-xs: 0 1px 2px rgb(0 8 5 / 16%);
  --app-shadow-sm: 0 8px 20px rgb(0 8 5 / 22%);
  --app-shadow-md: 0 18px 48px rgb(0 6 4 / 40%);
  --tm-memorial-chrome: #061510;
  --tm-memorial-chrome-2: #0a241c;
  --tm-memorial-chrome-3: #123028;
  --tm-memorial-gold: #e0b84a;
  --tm-memorial-gold-line: #9a7420;
  --tm-memorial-gold-soft: #3a3018;
  --tm-memorial-cream: #f0ebe1;
}

body.app-theme-jewel h1,
body.app-theme-jewel h2,
body.app-theme-jewel h3,
body.app-theme-jewel .brand strong,
body.app-theme-jewel [lang="he"] {
  font-family: var(--serif);
}

body.app-theme-jewel h1,
body.app-theme-jewel h2,
body.app-theme-jewel h3 {
  letter-spacing: -.02em;
}

body.app-theme-jewel .eyebrow {
  color: var(--tm-memorial-gold);
  letter-spacing: .08em;
}

/* Heritage header: dedication above a parchment navigation bar. */
body.app-theme-jewel .site-header {
  color: var(--app-text);
  border-bottom: 1px solid var(--tm-memorial-gold-line);
  background: var(--app-surface) !important;
  box-shadow: 0 2px 10px rgb(28 42 36 / 7%);
}

body.app-theme-jewel .dedication-strip {
  display: block;
  color: #f7f3ea;
  border-bottom: 1px solid var(--tm-memorial-gold-line);
  background: var(--tm-memorial-chrome-2);
}

body.app-theme-jewel .header-dedication {
  min-height: 27px;
  color: inherit;
  font-family: var(--serif);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .02em;
}

body.app-theme-jewel .header-inner {
  min-height: 64px;
  background: var(--app-surface);
}

body.app-theme-jewel .brand { color: var(--app-primary-ink); }
body.app-theme-jewel .brand strong { color: var(--app-primary-ink); font-size: 1.38rem; }
body.app-theme-jewel .brand-mark { color: var(--app-primary); }
body.app-theme-jewel .brand-mark img {
  filter: invert(27%) sepia(29%) saturate(1414%) hue-rotate(111deg) brightness(88%) contrast(94%);
}
html[data-theme="dark"] body.app-theme-jewel .brand-mark img {
  filter: invert(76%) sepia(35%) saturate(702%) hue-rotate(104deg) brightness(95%) contrast(90%);
}

body.app-theme-jewel .nav-primary > a {
  min-height: 64px;
  color: var(--app-text-soft);
  font-family: var(--serif);
  font-size: .88rem;
  font-weight: 700;
}
body.app-theme-jewel .nav-primary > a:hover,
body.app-theme-jewel .nav-primary > a[aria-current="page"] { color: var(--app-primary-ink); }
body.app-theme-jewel .nav-primary > a::after { height: 2px; }
body.app-theme-jewel .nav-primary > a[aria-current="page"]::after { background: var(--tm-memorial-gold-line); }
body.app-theme-jewel .nav-primary img,
body.app-theme-jewel .nav-utilities img,
body.app-theme-jewel .notification-icon,
body.app-theme-jewel .theme-icon { filter: none !important; opacity: .72; }
html[data-theme="dark"] body.app-theme-jewel .nav-primary img,
html[data-theme="dark"] body.app-theme-jewel .nav-utilities img,
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; }

body.app-theme-jewel .project-switcher select,
body.app-theme-jewel .notification-toggle,
body.app-theme-jewel .theme-toggle,
body.app-theme-jewel .account-menu > summary {
  border-color: var(--app-border);
  background: var(--app-surface-soft);
}

body.app-theme-jewel .nav-feedback-cta,
body.app-theme-jewel .nav-feedback-cta[aria-current="page"] {
  color: var(--app-primary-ink);
  border-color: var(--tm-memorial-gold-line);
  background: var(--tm-memorial-gold-soft);
  font-weight: 800;
}
body.app-theme-jewel .nav-feedback-cta:hover {
  color: #fff;
  border-color: var(--app-primary);
  background: var(--app-primary);
}
body.app-theme-jewel .nav-feedback-cta img,
html[data-theme="dark"] body.app-theme-jewel .nav-feedback-cta img { filter: none !important; }
html[data-theme="dark"] body.app-theme-jewel .nav-feedback-cta { color: var(--tm-memorial-gold); }

body.app-theme-jewel .account-avatar {
  color: var(--tm-memorial-cream);
  border: 1px solid var(--tm-memorial-gold-line);
  background: var(--tm-memorial-chrome-2);
}

/* Desktop memorial sidebar. It duplicates key routes intentionally so the
 * interface keeps the reference's persistent left-side working navigation.
 */
body.app-theme-jewel .tm-memorial-sidebar { display: none; }

@media (min-width: 1220px) {
  body.app-theme-jewel .tm-memorial-sidebar {
    position: fixed;
    top: var(--tm-memorial-header-offset);
    bottom: 0;
    left: 0;
    z-index: 24;
    width: var(--tm-memorial-sidebar-width);
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 18px 14px 16px;
    overflow-y: auto;
    color: var(--tm-memorial-cream);
    border-right: 1px solid var(--tm-memorial-gold-line);
    background: var(--tm-memorial-chrome);
  }

  body.app-theme-jewel main,
  body.app-theme-jewel .site-footer,
  body.app-theme-jewel > .flash-stack,
  body.app-theme-jewel > .flash {
    margin-left: var(--tm-memorial-sidebar-width);
  }

  body.app-theme-jewel .tm-memorial-sidebar + .flash-stack,
  body.app-theme-jewel .tm-memorial-sidebar + .flash { margin-left: var(--tm-memorial-sidebar-width); }

  body.app-theme-jewel .tm-sidebar-nav { display: grid; gap: 5px; }
  body.app-theme-jewel .tm-sidebar-nav a {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 11px;
    color: #efe7d8;
    border: 1px solid transparent;
    border-radius: 7px;
    font-family: var(--serif);
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
  }
  body.app-theme-jewel .tm-sidebar-nav a img { filter: brightness(0) invert(1); opacity: .78; }
  body.app-theme-jewel .tm-sidebar-nav a:hover {
    color: #fff8ea;
    border-color: rgb(196 163 90 / 45%);
    background: var(--tm-memorial-chrome-3);
  }
  body.app-theme-jewel .tm-sidebar-nav a[aria-current="page"] {
    color: #fff8ea;
    border-color: var(--tm-memorial-gold-line);
    background: #0b513d;
    box-shadow: inset 3px 0 0 var(--tm-memorial-gold-line);
  }
  body.app-theme-jewel .tm-sidebar-nav a[aria-current="page"] img { opacity: 1; }

  body.app-theme-jewel .tm-sidebar-memorial {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 8px;
    margin-top: auto;
    padding: 35px 13px 18px;
    color: #ead9b7;
    border: 1px solid var(--tm-memorial-gold-line);
    border-radius: 5px;
    text-align: center;
  }
  body.app-theme-jewel .tm-sidebar-memorial::before {
    content: "";
    position: absolute;
    inset: 4px;
    pointer-events: none;
    border: 1px solid rgb(196 163 90 / 42%);
    border-radius: 3px;
  }
  body.app-theme-jewel .tm-sidebar-memorial-mark {
    position: absolute;
    top: -18px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: var(--tm-memorial-gold-line);
    border: 1px solid var(--tm-memorial-gold-line);
    border-radius: 50%;
    background: var(--tm-memorial-chrome);
  }
  body.app-theme-jewel .tm-sidebar-memorial-mark img { width: 21px; height: 21px; filter: sepia(1) saturate(5) hue-rotate(345deg) brightness(1.35); }
  body.app-theme-jewel .tm-sidebar-memorial-kicker {
    margin: 0;
    color: var(--tm-memorial-gold-line);
    font-family: var(--serif);
    font-size: .76rem;
    letter-spacing: .04em;
  }
  body.app-theme-jewel .tm-sidebar-memorial-hebrew {
    margin: 0;
    color: #e9c96d;
    font-family: var(--serif);
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.55;
  }
  body.app-theme-jewel .tm-sidebar-memorial-rule { width: 42px; height: 1px; background: var(--tm-memorial-gold-line); }
  body.app-theme-jewel .tm-sidebar-memorial-copy {
    margin: 0;
    color: #d7c9aa;
    font-family: var(--serif);
    font-size: .68rem;
    line-height: 1.6;
  }
}

/* Parchment working surfaces and restrained gold framing. */
body.app-theme-jewel .page-shell,
body.app-theme-jewel .dashboard-shell { padding-block: 18px 34px; }
body.app-theme-jewel .page-banner-inner,
body.app-theme-jewel .page-banner-small .page-banner-inner { padding-block: 18px 7px; }
body.app-theme-jewel .page-banner h1 { color: var(--app-primary-ink); }
body.app-theme-jewel .page-banner { border-bottom: 1px solid var(--app-border); background: var(--app-bg); }

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,
body.app-theme-jewel .dashboard-command-card,
body.app-theme-jewel .project-overview-heading {
  border-color: var(--app-border);
  border-radius: 8px;
  background: var(--app-surface);
  box-shadow: var(--app-shadow-sm);
}

body.app-theme-jewel .content-card,
body.app-theme-jewel .dashboard-command-card,
body.app-theme-jewel .project-overview-heading { border-top-color: var(--tm-memorial-gold-line); }

body.app-theme-jewel .card-heading,
body.app-theme-jewel .dashboard-card-heading,
body.app-theme-jewel .section-heading {
  border-bottom-color: var(--app-border);
}
body.app-theme-jewel .card-heading h2,
body.app-theme-jewel .dashboard-card-heading h2,
body.app-theme-jewel .section-heading h2 { color: var(--app-primary-ink); }

body.app-theme-jewel .project-overview-heading {
  border: 1px solid var(--app-border);
  border-top: 2px solid var(--tm-memorial-gold-line);
}
body.app-theme-jewel .project-overview h1 { color: var(--app-primary-ink); }
body.app-theme-jewel .project-memorial-name { color: var(--tm-memorial-gold); font-size: 1.04rem; font-weight: 700; }
body.app-theme-jewel .project-overview-photo { border-color: var(--tm-memorial-gold-line); }

body.app-theme-jewel .dashboard-command-grid { gap: 9px; }
body.app-theme-jewel .dashboard-command-card {
  min-height: 224px;
  gap: 10px;
  padding: 14px 15px;
}
body.app-theme-jewel .continue-learning-card { border-top: 2px solid var(--app-primary); }
body.app-theme-jewel .personal-dashboard-summary.dashboard-command-card { border-top: 2px solid var(--tm-memorial-gold-line); }
body.app-theme-jewel .project-progress-card { border-top: 2px solid var(--app-primary); }
body.app-theme-jewel .dashboard-summary-link:hover { transform: none; border-color: var(--tm-memorial-gold-line); box-shadow: var(--app-shadow-sm); }
body.app-theme-jewel .continue-progress-number,
body.app-theme-jewel .personal-progress-percent { color: var(--app-primary); }

/* Controls and status language. */
body.app-theme-jewel .button { border-radius: 6px; box-shadow: none; }
body.app-theme-jewel .button-primary {
  color: #fff;
  border-color: var(--app-primary);
  background: var(--app-primary);
}
html[data-theme="dark"] body.app-theme-jewel .button-primary { color: #042018; }
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-strong);
  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-primary-ink);
  border-color: var(--tm-memorial-gold-line);
  background: var(--tm-memorial-gold-soft);
}

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 {
  border-color: var(--app-border-strong);
  border-radius: 6px;
  background: var(--app-surface);
}

body.app-theme-jewel .count-badge,
body.app-theme-jewel .current-project-mark,
body.app-theme-jewel .deadline-pill,
body.app-theme-jewel .project-occasion {
  color: #724700;
  border-color: var(--tm-memorial-gold-line);
  background: var(--tm-memorial-gold-soft);
}
html[data-theme="dark"] body.app-theme-jewel .count-badge,
html[data-theme="dark"] body.app-theme-jewel .current-project-mark,
html[data-theme="dark"] body.app-theme-jewel .deadline-pill,
html[data-theme="dark"] body.app-theme-jewel .project-occasion { color: var(--tm-memorial-gold); }

body.app-theme-jewel .progress-segments,
body.app-theme-jewel .personal-progress-track,
body.app-theme-jewel .mini-progress,
body.app-theme-jewel .progress-track { background: var(--app-track); }
body.app-theme-jewel .progress-done-segment,
body.app-theme-jewel .progress-completed,
body.app-theme-jewel .mini-progress i { background: var(--app-primary) !important; }
body.app-theme-jewel .progress-learning-segment { background: var(--app-learning) !important; }

/* Assignment/claim workspaces: use emerald bands sparingly for hierarchy. */
body.app-theme-jewel .catalog-action-toolbar,
body.app-theme-jewel .bulk-action-toolbar,
body.app-theme-jewel .admin-assignment-bar {
  border-color: var(--app-border);
  background: var(--app-surface-soft);
}
body.app-theme-jewel .seder-heading,
body.app-theme-jewel .shared-assignment-group > summary {
  border-color: var(--app-border);
  background: var(--app-surface-soft);
}
body.app-theme-jewel .shared-assignment-group[open] > summary { border-bottom-color: var(--tm-memorial-gold-line); }
body.app-theme-jewel .tractate-card[open] { border-color: var(--tm-memorial-gold-line); }
body.app-theme-jewel .tractate-card > summary:hover,
body.app-theme-jewel .claim-group-summary:hover { background: var(--tm-memorial-gold-soft); }
body.app-theme-jewel .claim-group-card[open] > .claim-group-summary { border-bottom-color: var(--tm-memorial-gold-line); }
body.app-theme-jewel .chapter-status,
body.app-theme-jewel .assignment-chapter { border-color: var(--app-border); background: var(--app-surface); }
body.app-theme-jewel .chapter-status.is-learning,
body.app-theme-jewel .assignment-chapter.is-learning { border-color: var(--tm-memorial-gold-line); background: var(--tm-memorial-gold-soft); }
body.app-theme-jewel .chapter-status.is-complete,
body.app-theme-jewel .assignment-chapter.is-complete { border-color: #8db7a5; background: var(--app-success-soft); }

/* Data tables get the reference's dark green header without turning the whole
 * page into a dark theme. */
body.app-theme-jewel table thead th,
body.app-theme-jewel .audit-table thead th,
body.app-theme-jewel .feedback-request-table-head {
  color: #f7f3ea;
  border-color: #1a7359;
  background: var(--tm-memorial-chrome-2);
}
body.app-theme-jewel table tbody tr:hover { background: var(--tm-memorial-gold-soft); }

/* Dialogs, notices, and footer. */
body.app-theme-jewel .new-project-panel,
body.app-theme-jewel .hebrew-keyboard,
body.app-theme-jewel .photo-crop-dialog,
body.app-theme-jewel .notification-panel,
body.app-theme-jewel .account-menu-panel {
  border-color: var(--tm-memorial-gold-line);
  background: var(--app-surface);
}
body.app-theme-jewel .selection-note { color: #724700; border-color: var(--tm-memorial-gold-line); background: var(--tm-memorial-gold-soft); }
html[data-theme="dark"] body.app-theme-jewel .selection-note { color: var(--tm-memorial-gold); }
body.app-theme-jewel .site-footer {
  color: #c4b79a;
  border-top: 1px solid var(--tm-memorial-gold-line);
  background: var(--tm-memorial-chrome);
}
body.app-theme-jewel .footer-inner strong,
body.app-theme-jewel .footer-inner a { color: #efe7d8; }
body.app-theme-jewel .footer-inner a:hover { color: #e4c86d; }

/* Authentication/public pages use the same heritage materials without the
 * signed-in sidebar. */
body.app-theme-jewel.auth-page .auth-card {
  border: 1px solid var(--app-border);
  border-top: 2px solid var(--tm-memorial-gold-line);
  background: var(--app-surface);
}
body.app-theme-jewel.auth-page .auth-theme-toggle { border-color: var(--tm-memorial-gold-line); }

@media (max-width: 1219px) {
  body.app-theme-jewel main,
  body.app-theme-jewel .site-footer,
  body.app-theme-jewel > .flash-stack,
  body.app-theme-jewel > .flash { margin-left: 0; }
}

@media (max-width: 900px) {
  body.app-theme-jewel .header-inner { padding-block: 6px; }
  body.app-theme-jewel .nav-primary > a { min-height: 44px; }
  body.app-theme-jewel .dashboard-command-card { min-height: 0; }
}

@media (max-width: 640px) {
  body.app-theme-jewel .header-inner { background: var(--app-surface); }
  body.app-theme-jewel .main-nav > a,
  body.app-theme-jewel .nav-button,
  body.app-theme-jewel .theme-toggle { border-color: var(--app-border); background: var(--app-surface-soft); }
  body.app-theme-jewel .dedication-strip { display: block; }
  body.app-theme-jewel .header-dedication { min-height: 25px; padding-block: 3px; font-size: .75rem; }
  body.app-theme-jewel .dashboard-command-grid { gap: 8px; }
}

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