    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --cream:      #F6F0E5;
      --parchment:  #EDE3CF;
      --amber:      #93591C;
      --amber-lt:   #E2A84E;
      --brown:      #6B4928;
      --dark:       #1E1109;
      --ink:        #3A250E;
      --muted:      #8A6A4A;
      --warm-white: #FBF7F0;
    }

    html { scroll-behavior: smooth; }
    body {
      font-family: 'Jost', sans-serif;
      background: var(--cream);
      color: var(--ink);
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    body::after {
      content: '';
      position: fixed; inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.032'/%3E%3C/svg%3E");
      pointer-events: none; z-index: 9999;
    }

    nav {
      position: relative;
      display: flex; align-items: center; justify-content: space-between;
      padding: 1.1rem 3.5rem;
      background: rgba(246,240,229,.93);
      backdrop-filter: blur(16px);
      border-bottom: 1px solid rgba(147,89,28,.13);
      z-index: 500;
    }
    .nav-logo {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.35rem; font-weight: 600;
      color: var(--brown); letter-spacing: .03em; text-decoration: none;
    }
    .nav-logo span { color: var(--amber); }

    .nav-right {
      display: flex;
      align-items: center;
      gap: 1.5rem;
    }
    .nav-links {
      display: flex;
      align-items: center;
      gap: 1.75rem;
    }
    .nav-link {
      font-size: .76rem;
      font-weight: 400;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--muted);
      text-decoration: none;
      transition: color .2s;
    }
    .nav-link:hover { color: var(--brown); }

    .nav-user {
      display: flex;
      align-items: center;
      gap: .85rem;
      color: var(--muted);
      font-size: .9rem;
    }
    .nav-user strong {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.1rem;
      font-weight: 600;
      color: var(--brown);
    }
    .signout-link {
      font-size: .74rem;
      letter-spacing: .1em;
      text-transform: uppercase;
      text-decoration: none;
      color: var(--muted);
      transition: color .2s;
    }
    .signout-link:hover { color: var(--amber); }

    .nav-profile-wrap {
      position: relative;
    }
    .nav-profile-btn {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      border: 1.5px solid rgba(147,89,28,.45);
      padding: 0;
      cursor: pointer;
      overflow: hidden;
      background: var(--parchment);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: border-color .2s, box-shadow .2s;
    }
    .nav-profile-btn:hover,
    .nav-profile-btn[aria-expanded="true"] {
      border-color: var(--amber);
      box-shadow: 0 0 0 2px rgba(147,89,28,.15);
    }
    .nav-profile-btn img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .nav-profile-initials {
      font-family: 'Jost', sans-serif;
      font-size: .72rem;
      font-weight: 600;
      color: var(--amber);
      line-height: 1;
    }
    .nav-profile-dropdown {
      position: absolute;
      top: calc(100% + .5rem);
      right: 0;
      min-width: 220px;
      background: var(--warm-white);
      border: 1.5px solid rgba(147,89,28,.28);
      border-radius: 2px;
      box-shadow: 0 12px 36px rgba(30,17,9,.12);
      padding: .85rem .95rem;
      z-index: 600;
    }
    .nav-profile-dropdown.hidden { display: none !important; }
    .nav-profile-dropdown__name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.15rem;
      font-weight: 600;
      color: var(--brown);
      line-height: 1.25;
      margin-bottom: .15rem;
    }
    .nav-profile-dropdown__parish {
      font-size: .78rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.4;
      margin-bottom: .55rem;
    }
    .nav-profile-verified {
      display: inline-block;
      font-size: .62rem;
      font-weight: 500;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--green);
      background: rgba(58,122,74,.12);
      padding: .2rem .45rem;
      border-radius: 2px;
      margin-bottom: .55rem;
    }
    .nav-profile-verified.hidden { display: none !important; }
    .nav-profile-dropdown a {
      display: block;
      font-size: .76rem;
      font-weight: 500;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--muted);
      text-decoration: none;
      padding: .45rem 0;
      border-top: 1px solid rgba(147,89,28,.15);
      transition: color .15s;
    }
    .nav-profile-dropdown a:first-of-type { border-top: none; padding-top: 0; }
    .nav-profile-dropdown a:hover { color: var(--amber); }

    main {
      flex: 1;
      width: 100%;
      max-width: 1120px;
      margin: 0 auto;
      padding: 3rem 2rem 4rem;
      position: relative;
      z-index: 1;
    }

    .welcome {
      margin-bottom: 2.2rem;
    }
    .welcome h1 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2rem, 5vw, 3.2rem);
      font-weight: 400;
      color: var(--dark);
      line-height: 1.1;
    }
    .welcome p {
      margin-top: .6rem;
      font-size: .95rem;
      color: var(--muted);
      font-weight: 300;
      line-height: 1.7;
    }

    .actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.2rem;
      margin-bottom: 2.4rem;
    }

    .lang-toggle {
      display: flex;
      background: rgba(147,89,28,.1);
      border: 1px solid rgba(147,89,28,.22);
      border-radius: 3px;
      overflow: hidden;
    }
    .lang-btn {
      padding: .35rem .75rem;
      border: none;
      cursor: pointer;
      font-family: 'Jost', sans-serif;
      font-size: .72rem;
      font-weight: 500;
      letter-spacing: .1em;
      background: transparent;
      color: var(--muted);
      transition: all .15s;
    }
    .lang-btn.active { background: var(--amber); color: white; }
    .lang-btn:not(.active):hover { background: rgba(147,89,28,.15); color: var(--brown); }

    .hidden { display: none !important; }

    .your-homilies {
      margin-top: .25rem;
    }
    .homilies-tabs {
      display: flex;
      gap: 0;
    }
    .homilies-tab {
      font-family: 'Jost', sans-serif;
      font-size: .78rem;
      font-weight: 500;
      letter-spacing: .08em;
      text-transform: uppercase;
      padding: .7rem 1.15rem;
      border: none;
      background: transparent;
      color: var(--muted);
      cursor: pointer;
      position: relative;
      transition: color .15s;
    }
    .homilies-tab:hover { color: var(--brown); }
    .homilies-tab.active { color: var(--dark); }
    .homilies-tab.active::after {
      content: '';
      position: absolute;
      left: .85rem;
      right: .85rem;
      bottom: -1px;
      height: 2px;
      background: var(--amber);
    }
    .homily-card__draft-pill {
      font-family: 'Jost', sans-serif;
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
      padding: .24rem .55rem;
      border-radius: 999px;
      background: #E2A84E;
      color: #6B4928;
      flex-shrink: 0;
      line-height: 1.2;
    }
    .homily-card__draft-type-pill {
      font-family: 'Jost', sans-serif;
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
      padding: .24rem .55rem;
      border-radius: 999px;
      flex-shrink: 0;
      line-height: 1.2;
    }
    .homily-card__draft-type-pill--audio {
      background: #E8F0FE;
      color: #3B5BDB;
    }
    .homily-card__draft-type-pill--written {
      background: #F3E8FF;
      color: #6B21A8;
    }
    .homilies-loading {
      font-family: 'Jost', sans-serif;
      font-size: .88rem;
      font-style: italic;
      font-weight: 300;
      color: var(--muted);
      margin-bottom: .75rem;
    }
    .homilies-empty-card {
      text-align: center;
      font-family: 'Jost', sans-serif;
      font-size: .92rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.65;
      background: var(--cream);
      border: 1px solid var(--parchment);
      border-radius: 8px;
      padding: 1.35rem 1.25rem;
      max-width: 100%;
    }
    .homilies-cards {
      display: flex;
      flex-direction: column;
      gap: 0;
      width: 100%;
    }
    .homily-card {
      background: #F6F0E5;
      border: 1px solid #EDE3CF;
      border-radius: 8px;
      padding: 20px;
      margin-bottom: 12px;
      width: 100%;
    }
    .homily-card:last-child { margin-bottom: 0; }
    .homily-card__head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 1rem;
      margin-bottom: .4rem;
    }
    .homily-card__head-main {
      min-width: 0;
      flex: 1;
    }
    .homily-card__delete {
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 4px 6px;
      border: none;
      background: transparent;
      color: #8B2222;
      cursor: pointer;
      border-radius: 4px;
      transition: background .15s ease, color .15s ease;
    }
    .homily-card__delete:hover {
      background: rgba(139, 34, 34, 0.1);
      color: #6a1a1a;
    }
    .homily-card__delete:focus-visible {
      outline: 2px solid #8B2222;
      outline-offset: 2px;
    }
    .homily-card__delete svg {
      display: block;
      width: 18px;
      height: 18px;
    }
    .homilies-flash {
      font-family: 'Jost', sans-serif;
      font-size: .88rem;
      font-weight: 500;
      color: #3A7A4A;
      margin-bottom: .75rem;
    }
    .homilies-flash.hidden { display: none !important; }

    .converting-banner {
      display: flex;
      align-items: flex-start;
      gap: .85rem;
      max-width: 1100px;
      margin: 0 auto 1.4rem;
      padding: .85rem 1.1rem;
      background: rgba(147,89,28,.1);
      border: 1px solid rgba(147,89,28,.3);
      border-radius: 6px;
      color: var(--brown, #6B4928);
      font-family: 'Jost', sans-serif;
      font-size: .9rem;
      line-height: 1.5;
    }
    .converting-banner.hidden { display: none !important; }
    .converting-banner__text { flex: 1; }
    .converting-banner__dismiss {
      flex-shrink: 0;
      background: transparent;
      border: none;
      color: var(--amber, #93591C);
      font-size: 1.25rem;
      line-height: 1;
      cursor: pointer;
      padding: 0 .15rem;
      transition: opacity .15s;
    }
    .converting-banner__dismiss:hover { opacity: .7; }
    .homily-card__title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.28rem;
      font-weight: 600;
      color: #6B4928;
      line-height: 1.25;
      margin-bottom: .4rem;
    }
    .homily-card__title-edit {
      margin-bottom: .4rem;
    }
    .homily-card__title-display-row {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: .35rem .65rem;
    }
    .homily-card__title-display-row .homily-card__title {
      margin-bottom: 0;
    }
    .homily-card__title-edit-link {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      color: #93591C;
      background: none;
      border: none;
      padding: 0;
      cursor: pointer;
      line-height: 1.3;
      text-decoration: none;
    }
    .homily-card__title-edit-link:hover {
      text-decoration: underline;
    }
    .homily-card__title-edit-link:focus-visible {
      outline: 2px solid var(--amber);
      outline-offset: 2px;
    }
    .homily-card__title-editor.hidden {
      display: none !important;
    }
    .homily-card__title-display-row.hidden {
      display: none !important;
    }
    .homily-card__title-input-row {
      display: flex;
      align-items: center;
      gap: .5rem;
      flex-wrap: wrap;
    }
    .homily-card__title-input {
      flex: 1;
      min-width: 0;
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.28rem;
      font-weight: 600;
      color: #6B4928;
      line-height: 1.25;
      padding: 4px 10px;
      border: 1px solid rgba(147,89,28, 0.45);
      border-radius: 4px;
      background: var(--warm-white);
    }
    .homily-card__title-input:focus {
      outline: 2px solid var(--amber);
      outline-offset: 1px;
    }
    .homily-card__title-save {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      padding: 4px 12px;
      border-radius: 4px;
      cursor: pointer;
      flex-shrink: 0;
      border: 1px solid #3A7A4A;
      color: #3A7A4A;
      background: transparent;
      transition: background .15s ease, color .15s ease;
    }
    .homily-card__title-save:hover:not(:disabled) {
      background: #3A7A4A;
      color: #F6F0E5;
    }
    .homily-card__title-save:disabled {
      opacity: .55;
      cursor: default;
    }
    .homily-card__title-save.homily-card__title-save--pending:disabled {
      cursor: wait;
    }
    .homily-card__title-cancel {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      padding: 4px 12px;
      border-radius: 4px;
      cursor: pointer;
      flex-shrink: 0;
      border: 1px solid #8A6A4A;
      color: #8A6A4A;
      background: transparent;
      transition: background .15s ease, color .15s ease;
    }
    .homily-card__title-cancel:hover {
      background: rgba(138, 106, 74, 0.12);
      color: #6B4928;
    }
    .homily-card__title-feedback {
      display: block;
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      margin-top: 4px;
      line-height: 1.3;
    }
    .homily-card__title-feedback.hidden {
      display: none !important;
    }
    .homily-card__title-feedback--ok {
      color: #3A7A4A;
    }
    .homily-card__title-feedback--err {
      color: #8B2222;
    }
    .homily-card__date {
      font-family: 'Jost', sans-serif;
      font-size: .86rem;
      font-weight: 300;
      color: var(--muted);
      margin-bottom: .75rem;
    }
    .homily-card__parish {
      font-family: 'Jost', sans-serif;
      font-size: .92rem;
      font-weight: 300;
      color: var(--muted);
      margin-top: .25rem;
      margin-bottom: 0;
    }
    .homily-card__badges {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .5rem;
    }
    .homily-badge {
      font-family: 'Jost', sans-serif;
      font-size: .68rem;
      font-weight: 500;
      letter-spacing: .04em;
      padding: .28rem .55rem;
      border-radius: 4px;
      line-height: 1.2;
    }
    .homily-badge--draft {
      background: #EDE3CF;
      color: #6B4928;
    }
    .homily-badge--recorded {
      background: #E2A84E;
      color: #1E1109;
    }

    .homily-card__publish {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .5rem .65rem;
      margin-top: .85rem;
    }
    .homily-view-link {
      display: inline-block;
      padding: 4px 12px;
      background: transparent;
      color: #93591C;
      border: 1px solid #93591C;
      border-radius: 4px;
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.04em;
      text-decoration: none;
      transition: background 0.15s ease, color 0.15s ease;
      cursor: pointer;
    }
    .homily-view-link:hover {
      background: #93591C;
      color: #F6F0E5;
    }
    .homily-publish-note {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 300;
      color: #8A6A4A;
      line-height: 1.45;
      max-width: 100%;
    }
    .homily-publish-btn,
    .homily-unpublish-btn {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      padding: 4px 12px;
      border-radius: 4px;
      cursor: pointer;
      background: transparent;
      transition: background .15s ease, color .15s ease, border-color .15s ease;
    }
    .homily-publish-btn {
      border: 1px solid #3A7A4A;
      color: #3A7A4A;
    }
    .homily-publish-btn:hover:not(:disabled) {
      background: #3A7A4A;
      color: #F6F0E5;
    }
    .homily-unpublish-btn {
      border: 1px solid #8B2222;
      color: #8B2222;
    }
    .homily-unpublish-btn:hover:not(:disabled) {
      background: #8B2222;
      color: #F6F0E5;
    }
    .homily-publish-btn:disabled,
    .homily-unpublish-btn:disabled {
      opacity: .55;
      cursor: wait;
    }
    .homily-publish-error {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 400;
      color: #8B2222;
      line-height: 1.3;
    }

    .btn-primary {
      display: inline-block;
      padding: .55rem 1rem;
      background: var(--amber);
      color: var(--warm-white);
      border: none;
      font-family: 'Jost', sans-serif;
      font-size: .76rem;
      font-weight: 500;
      letter-spacing: .08em;
      text-transform: uppercase;
      border-radius: 2px;
      cursor: pointer;
      transition: background .2s, transform .15s;
    }
    .btn-primary:hover:not(:disabled) {
      background: var(--brown);
    }
    .btn-primary--danger {
      background: #8B2222;
    }
    .btn-primary--danger:hover:not(:disabled) {
      background: #6a1a1a;
    }
    .btn-primary:disabled {
      opacity: .55;
      cursor: wait;
    }
    .btn-text {
      background: none;
      border: none;
      padding: .5rem 0;
      font-family: 'Jost', sans-serif;
      font-size: .85rem;
      font-weight: 500;
      color: var(--muted);
      cursor: pointer;
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    .btn-text:hover {
      color: var(--ink);
    }
    .btn-outline {
      display: inline-block;
      padding: 4px 12px;
      border: 1.5px solid var(--amber);
      background: transparent;
      color: var(--amber);
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      border-radius: 4px;
      cursor: pointer;
      transition: background .15s ease, color .15s ease, border-color .15s ease;
    }
    .btn-outline:hover:not(:disabled) {
      background: rgba(147,89,28,.1);
      color: var(--brown);
      border-color: var(--brown);
    }
    .btn-outline:disabled {
      opacity: .55;
      cursor: wait;
    }
    .published-card__unpublish-btn {
      border-color: #8B2222;
      color: #8B2222;
    }
    .published-card__unpublish-btn:hover:not(:disabled) {
      background: rgba(139,34,34,.08);
      color: #8B2222;
      border-color: #8B2222;
    }
    .published-card__parish {
      font-family: 'Jost', sans-serif;
      font-size: .88rem;
      font-weight: 400;
      color: var(--muted);
      margin: .25rem 0 0;
      line-height: 1.45;
    }
    .published-card__actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .65rem 1rem;
      margin-top: .85rem;
    }
    .delete-homily-modal,
    .unpublish-homily-modal {
      position: fixed;
      inset: 0;
      z-index: 1000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.5rem;
    }
    .delete-homily-modal.hidden,
    .unpublish-homily-modal.hidden {
      display: none !important;
    }
    .delete-homily-modal__overlay,
    .unpublish-homily-modal__overlay {
      position: absolute;
      inset: 0;
      background: rgba(30, 17, 9, 0.6);
    }
    .delete-homily-modal__card,
    .unpublish-homily-modal__card {
      position: relative;
      z-index: 1;
      background: #F6F0E5;
      border-radius: 12px;
      padding: 32px;
      max-width: 420px;
      width: 100%;
      box-shadow: 0 12px 40px rgba(30, 17, 9, 0.25);
    }
    .delete-homily-modal__title,
    .unpublish-homily-modal__title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.65rem;
      font-weight: 600;
      color: var(--ink);
      margin: 0 0 .75rem;
      line-height: 1.25;
    }
    .delete-homily-modal__message,
    .unpublish-homily-modal__message {
      font-family: 'Jost', sans-serif;
      font-size: .95rem;
      font-weight: 400;
      color: var(--ink);
      line-height: 1.65;
      margin: 0 0 1.5rem;
    }
    .delete-homily-modal__actions,
    .unpublish-homily-modal__actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .75rem 1rem;
    }

    .homily-transcribe-wrap {
      display: inline-flex;
      align-items: center;
    }
    .homily-transcribe-btn {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      padding: 4px 12px;
      border-radius: 4px;
      cursor: pointer;
      background: transparent;
      transition: background .15s ease, color .15s ease, border-color .15s ease;
      border: 1.5px solid #3A7A4A;
      color: #3A7A4A;
    }
    .homily-transcribe-btn:hover:not(:disabled) {
      background: #3A7A4A;
      color: #ffffff;
    }
    .homily-transcribe-btn:disabled {
      opacity: .55;
      cursor: wait;
    }
    .homily-transcribe-btn.homily-transcribe-btn--processing,
    .homily-transcribe-btn.homily-transcribe-btn--processing:disabled {
      opacity: 0.6;
      cursor: default;
    }
    .homily-transcribe-label {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      line-height: 1.3;
    }
    .homily-transcribe-label--processing {
      color: #8A6A4A;
      cursor: default;
    }
    .homily-transcribe-label--complete {
      color: #3A7A4A;
      cursor: default;
    }
    .homily-transcribe-retry {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      padding: 4px 12px;
      border-radius: 4px;
      cursor: pointer;
      background: transparent;
      border: 1px solid #8B2222;
      color: #8B2222;
      transition: background .15s ease, color .15s ease, border-color .15s ease;
    }
    .homily-transcribe-retry:hover {
      background: #8B2222;
      color: #F6F0E5;
    }

    .homily-draft-coaching-wrap {
      display: inline-flex;
      align-items: center;
    }
    .homily-draft-coaching-btn {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      padding: 4px 12px;
      border-radius: 4px;
      cursor: pointer;
      background: transparent;
      border: 1px solid #93591C;
      color: #93591C;
      transition: background .15s ease, color .15s ease, border-color .15s ease;
    }
    .homily-draft-coaching-btn:hover:not(:disabled) {
      background: #93591C;
      color: #F6F0E5;
    }
    .homily-draft-coaching-btn:disabled {
      opacity: .55;
      cursor: wait;
    }
    .homily-draft-coaching-label {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      line-height: 1.3;
    }
    .homily-draft-coaching-label--pending {
      color: #8A6A4A;
    }
    .homily-draft-coaching-label--complete {
      color: #93591C;
    }
    .homily-draft-coaching-retry {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      padding: 4px 12px;
      border-radius: 4px;
      cursor: pointer;
      background: transparent;
      border: 1px solid #8B2222;
      color: #8B2222;
      transition: background .15s ease, color .15s ease, border-color .15s ease;
    }
    .homily-draft-coaching-retry:hover:not(:disabled) {
      background: #8B2222;
      color: #F6F0E5;
    }
    .homily-draft-coaching-retry:disabled {
      opacity: .55;
      cursor: wait;
    }

    .homily-audio-draft-wrap {
      display: inline-flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.5rem 0.65rem;
    }
    .homily-draft-transcribed-label {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      line-height: 1.3;
      color: #3a7d44;
    }
    .homily-confirm-transcript-btn {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      font-weight: 500;
      padding: 4px 12px;
      border-radius: 4px;
      cursor: pointer;
      background: #93591C;
      border: 1px solid #93591C;
      color: #F6F0E5;
      transition: background .15s ease, color .15s ease, border-color .15s ease;
    }
    .homily-confirm-transcript-btn:hover:not(:disabled) {
      background: #9A6530;
      border-color: #9A6530;
    }
    .homily-confirm-transcript-btn:disabled {
      opacity: .55;
      cursor: wait;
    }

    .action-card {
      background: rgba(255,255,255,.72);
      border: 1.5px solid rgba(147,89,28,.24);
      border-radius: 2px;
      padding: 1.6rem 1.4rem;
      box-shadow: 0 12px 40px rgba(30,17,9,.06);
      display: flex;
      flex-direction: column;
      min-height: 260px;
    }
    .card-icon {
      width: 44px;
      height: 44px;
      border-radius: 2px;
      background: rgba(147,89,28,.1);
      border: 1px solid rgba(147,89,28,.25);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: .95rem;
    }
    .card-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.6rem;
      font-weight: 400;
      color: var(--dark);
      margin-bottom: .4rem;
      line-height: 1.2;
    }
    .card-subtitle {
      font-size: .92rem;
      color: var(--muted);
      line-height: 1.7;
      font-weight: 300;
      margin-bottom: 1.3rem;
      flex: 1;
    }
    .card-btn {
      display: inline-block;
      width: fit-content;
      padding: .75rem 1.15rem;
      background: var(--amber);
      color: var(--warm-white);
      border: none;
      text-decoration: none;
      border-radius: 2px;
      font-family: 'Jost', sans-serif;
      font-size: .76rem;
      font-weight: 500;
      letter-spacing: .12em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background .2s, transform .15s;
    }
    .card-btn:hover { background: var(--brown); transform: translateY(-1px); }

    footer {
      border-top: 1px solid rgba(147,89,28,.13);
      text-align: center;
      color: var(--muted);
      font-size: .82rem;
      padding: 1.2rem;
      position: relative;
      z-index: 1;
    }

    @media (max-width: 900px) {
      nav { padding: 1rem 1.5rem; }
      main { padding: 2rem 1.5rem 3rem; }
      .actions { grid-template-columns: 1fr; }
    }

    .status-badge-needs-review,
    .status-badge-transcribed,
    .status-badge-transcribing,
    .status-badge-report-generating,
    .status-badge-report-pending,
    .status-badge-coaching-complete,
    .status-badge-report-failed {
      border-radius: 4px;
      padding: calc(.28rem - 1.5px) calc(.55rem - 1.5px);
      box-sizing: border-box;
      font-family: 'Jost', sans-serif;
      font-size: .68rem;
      font-weight: 500;
      letter-spacing: .04em;
      line-height: 1.2;
    }
    .status-badge-needs-review {
      border: 1.5px solid #93591C;
      color: #93591C;
      background: transparent;
    }
    .status-badge-transcribed {
      border: 1.5px solid #3A7A4A;
      color: #ffffff;
      background: #3A7A4A;
    }
    .status-badge-transcribing {
      border: 1.5px solid #3A7A4A;
      color: #3A7A4A;
      background: transparent;
      opacity: 0.6;
    }
    .status-badge-report-generating,
    .status-badge-report-pending {
      border: 1.5px solid #93591C;
      background: #F6F0E5;
      color: #8A6A4A;
    }
    .status-badge-report-generating {
      opacity: 0.6;
    }
    .status-badge-coaching-complete {
      border: 1.5px solid #93591C;
      color: #ffffff;
      background: #93591C;
    }
    .status-badge-report-failed {
      border: 1.5px solid #C62828;
      color: #C62828;
      background: transparent;
    }

.homilies-sort-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem;
  margin-bottom: 1rem;
}
.homilies-sort-row.hidden { display: none !important; }

.homilies-sort-label {
  font-family: 'Jost', sans-serif;
  font-size: .78rem;
  font-weight: 400;
  color: var(--muted);
}

.homilies-sort-select {
  font-family: 'Jost', sans-serif;
  font-size: .78rem;
  font-weight: 400;
  color: var(--ink);
  background: var(--parchment);
  border: 1px solid rgba(147,89,28,.4);
  border-radius: 4px;
  padding: .3rem .55rem;
  cursor: pointer;
  outline: none;
  transition: border-color .15s;
}
.homilies-sort-select:focus {
  border-color: var(--amber);
}

.homilies-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-top: .5rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(147,89,28,.18);
}
.homilies-footer.hidden { display: none !important; }

.homilies-showing-text {
  font-family: 'Jost', sans-serif;
  font-size: .82rem;
  font-weight: 300;
  color: var(--muted);
}

.homilies-see-all-link {
  font-family: 'Jost', sans-serif;
  font-size: .82rem;
  font-weight: 500;
  color: var(--amber);
  text-decoration: none;
  transition: color .15s;
}
.homilies-see-all-link:hover {
  color: var(--brown);
  text-decoration: underline;
}

.homilies-tabs-row {
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(147,89,28,.22);
  margin-bottom: 1rem;
}
.homilies-view-all-link {
  margin-left: auto;
  font-family: 'Jost', sans-serif;
  font-size: .78rem;
  font-weight: 500;
  color: var(--amber);
  text-decoration: none;
  padding: .7rem 0 .7rem .75rem;
  white-space: nowrap;
  transition: color .15s;
}
.homilies-view-all-link:hover {
  color: var(--brown);
  text-decoration: underline;
}

.nav-dashboard-wrap { position: relative; }
.nav-dashboard-wrap.hidden { display: none !important; }
.nav-dashboard-btn { font-size: .76rem; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); background: none; border: none; cursor: pointer; font-family: 'Jost', sans-serif; padding: 0; display: inline-flex; align-items: center; gap: .3rem; transition: color .2s; }
.nav-dashboard-btn:hover { color: var(--brown); }
.nav-dashboard-btn.active { color: var(--brown); font-weight: 500; }
.nav-dashboard-chevron { font-size: .6rem; display: inline-block; transition: transform .15s; }
.nav-dashboard-btn[aria-expanded="true"] .nav-dashboard-chevron { transform: rotate(180deg); }
.nav-dashboard-dropdown { position: absolute; top: calc(100% + .65rem); left: 0; min-width: 160px; background: var(--warm-white); border: 1.5px solid rgba(147,89,28,.28); border-radius: 2px; box-shadow: 0 12px 36px rgba(30,17,9,.12); z-index: 600; padding: .35rem 0; }
.nav-dashboard-dropdown.hidden { display: none !important; }
.nav-dashboard-dropdown a { display: block; padding: .5rem .85rem; font-size: .76rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); text-decoration: none; transition: color .15s, background .15s; }
.nav-dashboard-dropdown a:hover { color: var(--amber); background: rgba(147,89,28,.06); }
.nav-dashboard-dropdown a.active-item { color: var(--brown); font-weight: 600; }
  