/* /Components/Layout/LoginControl.razor.rz.scp.css */
.login-control[b-y6sqzhj8jt] {
    position: relative;
    display: flex;
    align-items: center;
}

.user-trigger[b-y6sqzhj8jt] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.3rem 0.5rem;
    border-radius: 4px;
    color: var(--rz-text-color);
    font: inherit;
    transition: background 0.15s;
}

.user-trigger:hover[b-y6sqzhj8jt] {
    background: rgba(255, 255, 255, 0.1);
}

.avatar[b-y6sqzhj8jt] {
    height: 2rem;
    width: 2rem;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.65);
    flex-shrink: 0;
}

.user-name[b-y6sqzhj8jt] {
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 10rem;
}

.dropdown-arrow[b-y6sqzhj8jt] {
    font-size: 1.2rem;
    opacity: 0.7;
}

.admin-badge[b-y6sqzhj8jt] {
    background: var(--color-gold-dark, #6B5A28);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    flex-shrink: 0;
}

.menu-backdrop[b-y6sqzhj8jt] {
    position: fixed;
    inset: 0;
    z-index: 999;
}

.user-menu[b-y6sqzhj8jt] {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1000;
    min-width: 12rem;
    margin-top: 0.25rem;
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--rz-border-color, #ddd);
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    padding: 0.25rem 0;
}

.menu-item[b-y6sqzhj8jt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    color: var(--rz-text-color);
    text-decoration: none;
    font-size: 0.875rem;
    white-space: nowrap;
    transition: background 0.1s;
}

.menu-item:hover[b-y6sqzhj8jt] {
    background: var(--rz-base-200, #f0f0f0);
    text-decoration: none;
    color: var(--rz-text-color);
}

.menu-item .rzi[b-y6sqzhj8jt] {
    font-size: 1.1rem;
    opacity: 0.75;
}

.menu-divider[b-y6sqzhj8jt] {
    margin: 0.25rem 0;
    border: none;
    border-top: 1px solid var(--rz-border-color, #ddd);
}

.login-btn[b-y6sqzhj8jt] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--rz-text-color);
    text-decoration: none;
    padding: 0.3rem 0.5rem;
    border-radius: 4px;
    font-size: 0.9rem;
    transition: background 0.15s;
}

.login-btn:hover[b-y6sqzhj8jt] {
    background: rgba(255, 255, 255, 0.1);
    text-decoration: none;
    color: var(--rz-text-color);
}

.login-text[b-y6sqzhj8jt] {
    white-space: nowrap;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Blazor error / reconnect UI (template default — scoped to MainLayout) */
#blazor-error-ui[b-d5bxszdc5d] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-d5bxszdc5d] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* ── Skip navigation (WCAG 2.4.1) ─────────────────── */
.skip-link[b-d5bxszdc5d] {
    position: absolute;
    top: -9999px;
    left: -9999px;
    padding: 0.75rem 1.5rem;
    background: var(--rz-primary);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 4px;
    z-index: 9999;
}

.skip-link:focus[b-d5bxszdc5d] {
    position: fixed;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
}

/* ── Site header ──────────────────────────────────── */
.site-title-link[b-d5bxszdc5d] {
    text-decoration: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    overflow: hidden;
}

.site-logo[b-d5bxszdc5d] {
    height: 44px;
    width: auto;
    flex-shrink: 0;
}

.site-title[b-d5bxszdc5d] {
    font-family: 'KunstlerScript', cursive;
    font-size: 1.75rem;
    font-weight: bold;
    color: var(--color-gold-dark);
    line-height: 1;
    white-space: nowrap;
}

/* ── Restore overlay ─────────────────────────────── */
.restore-overlay[b-d5bxszdc5d] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
}

.restore-card[b-d5bxszdc5d] {
    max-width: 560px;
    width: 100%;
    text-align: center;
}

.restore-log[b-d5bxszdc5d] {
    text-align: left;
    max-height: 120px;
    overflow-y: auto;
    padding: 0.5rem 0.75rem;
    background: var(--rz-base-100);
    border-radius: var(--rz-border-radius);
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
}

.restore-log-highlight[b-d5bxszdc5d] {
    font-weight: 700;
    color: var(--rz-warning);
}

/* ── Sidebar footer ───────────────────────────────── */
/* Radzen's sidebar is dark in both light and dark themes (default
   --rz-sidebar-background-color: #3a474d), but --rz-text-secondary-color
   flips to a dark brown in light mode for use on the light parchment body
   background — dark-on-dark made this text unreadable. Use a fixed light
   colour instead, matching the dark-mode secondary-text value that's
   already proven readable (8.5:1 AAA) against a dark sidebar. */
.sidebar-version[b-d5bxszdc5d] {
    padding: 0.75rem 1.5rem;
    margin-top: 0.5rem;
    border-top: 1px solid rgba(242, 243, 239, 0.15);
    font-size: 0.75rem;
    color: #B5ADA4;
    text-align: center;
}

/* ── Site footer ──────────────────────────────────── */
.site-footer[b-d5bxszdc5d] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--rz-base-300);
    font-size: 0.9rem;
    color: var(--rz-text-secondary-color);
}

.site-footer a[b-d5bxszdc5d] {
    color: var(--rz-primary);
    text-decoration: underline;
}

.site-footer a:hover[b-d5bxszdc5d] {
    color: var(--rz-primary-darker);
}

/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-cxceg4km6c],
.components-reconnect-repeated-attempt-visible[b-cxceg4km6c],
.components-reconnect-failed-visible[b-cxceg4km6c],
.components-pause-visible[b-cxceg4km6c],
.components-resume-failed-visible[b-cxceg4km6c],
.components-rejoining-animation[b-cxceg4km6c] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-retrying[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-failed[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-cxceg4km6c] {
    display: block;
}


#components-reconnect-modal[b-cxceg4km6c] {
    background-color: white;
    color: #2A2723;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-cxceg4km6c 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-cxceg4km6c 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-cxceg4km6c 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-cxceg4km6c]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-cxceg4km6c 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-cxceg4km6c {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-cxceg4km6c {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-cxceg4km6c {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-cxceg4km6c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-cxceg4km6c] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-cxceg4km6c] {
    border: 0;
    background-color: #364F29;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-cxceg4km6c] {
        background-color: #293d1f;
    }

    #components-reconnect-modal button:active[b-cxceg4km6c] {
        background-color: #4a6b39;
    }

.components-rejoining-animation[b-cxceg4km6c] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-cxceg4km6c] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-cxceg4km6c 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-cxceg4km6c] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-cxceg4km6c {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Account/Settings.razor.rz.scp.css */
.settings-section > summary[b-sma9ohqjqj] {
    cursor: pointer;
}

.settings-section > summary > h3[b-sma9ohqjqj] {
    display: inline;
    margin: 0;
}
/* /Components/Pages/Account/Welcome.razor.rz.scp.css */
.welcome-page[b-vxi9gyxbhr] {
    max-width: 700px;
}

.welcome-page h1[b-vxi9gyxbhr] {
    margin-bottom: 0.5rem;
}

.welcome-intro[b-vxi9gyxbhr] {
    font-size: 1.05rem;
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.welcome-page h3[b-vxi9gyxbhr] {
    margin-bottom: 0.5rem;
}

.welcome-page p[b-vxi9gyxbhr] {
    line-height: 1.6;
    margin-bottom: 0.5rem;
}

.info-links[b-vxi9gyxbhr] {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0;
}

.info-links li[b-vxi9gyxbhr] {
    padding: 0.4rem 0;
    line-height: 1.6;
}

.info-links a[b-vxi9gyxbhr] {
    font-weight: 500;
    text-decoration: none;
}

.info-links a:hover[b-vxi9gyxbhr] {
    text-decoration: underline;
}

.info-links .rzi[b-vxi9gyxbhr] {
    font-size: 1rem;
    vertical-align: middle;
    opacity: 0.7;
}
/* /Components/Pages/Admin/LogViewer.razor.rz.scp.css */
.filter-row[b-kii7ytkf4u] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.filter-search[b-kii7ytkf4u] {
    min-width: 250px;
}

.log-container[b-kii7ytkf4u] {
    font-family: 'Cascadia Code', 'Fira Code', 'Consolas', monospace;
    font-size: 0.8125rem;
    line-height: 1.5;
    max-height: 70vh;
    overflow-y: auto;
    border: 1px solid var(--rz-base-400);
    border-radius: var(--rz-border-radius);
    padding: 0.5rem;
}

.log-entry[b-kii7ytkf4u] {
    padding: 0.125rem 0.25rem;
    border-bottom: 1px solid var(--rz-base-200);
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: baseline;
}

.log-time[b-kii7ytkf4u] {
    color: var(--rz-text-tertiary-color);
    flex-shrink: 0;
}

.log-level-badge[b-kii7ytkf4u] {
    font-weight: 700;
    flex-shrink: 0;
    width: 2.5rem;
    text-align: center;
}

.log-category[b-kii7ytkf4u] {
    color: var(--rz-secondary);
    flex-shrink: 0;
}

.log-message[b-kii7ytkf4u] {
    flex: 1;
    min-width: 0;
    word-break: break-word;
}

.log-exception[b-kii7ytkf4u] {
    width: 100%;
    margin: 0.25rem 0 0;
    padding: 0.5rem;
    font-size: 0.75rem;
    overflow-x: auto;
    border-radius: var(--rz-border-radius);
}

.log-status[b-kii7ytkf4u] {
    font-size: 0.8125rem;
    color: var(--rz-text-tertiary-color);
}
/* /Components/Pages/Census.razor.rz.scp.css */
/* ── Filter panel label ────────────────────────────────── */
.filter-panel__label[b-exndvhrzg7] {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rz-text-secondary-color);
  margin: 0 0 1rem 0;
}

/* ── Empty-state hint ───────────────────────────────────── */
.filter-hint[b-exndvhrzg7] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem;
  color: var(--rz-text-secondary-color);
  text-align: center;
  gap: 0.75rem;
}

.filter-hint__icon[b-exndvhrzg7] {
  font-size: 3rem;
  opacity: 0.4;
}

.filter-hint p[b-exndvhrzg7] {
  font-size: 1rem;
  margin: 0;
}
/* /Components/Pages/CensusRefs.razor.rz.scp.css */
/* ── Empty-state hint ───────────────────────────────────── */
.filter-hint[b-gwt006djr0] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem;
  color: var(--rz-text-secondary-color);
  text-align: center;
  gap: 0.75rem;
}

.filter-hint__icon[b-gwt006djr0] {
  font-size: 3rem;
  opacity: 0.4;
}

.filter-hint p[b-gwt006djr0] {
  font-size: 1rem;
  margin: 0;
}
/* /Components/Pages/ColourBMD.razor.rz.scp.css */
.filter-row[b-p98c753h6b] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* ── Colour key ──────────────────────────────────────── */
.colour-key[b-p98c753h6b] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
}

.colour-key__item[b-p98c753h6b] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
}

.colour-swatch[b-p98c753h6b] {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border-radius: 2px;
    border: 1px solid var(--rz-base-400);
    flex-shrink: 0;
}

/* ── Relation emphasis ───────────────────────────────── */
.direct-ancestor[b-p98c753h6b] {
    font-weight: 700;
}

.root-person[b-p98c753h6b] {
    font-weight: 700;
    color: var(--rz-danger);
}
/* /Components/Pages/ColourCensus.razor.rz.scp.css */
.filter-row[b-0jwbvz67ca] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* ── Colour key ──────────────────────────────────────── */
.colour-key[b-0jwbvz67ca] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
}

.colour-key__item[b-0jwbvz67ca] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
}

.colour-swatch[b-0jwbvz67ca] {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border-radius: 2px;
    border: 1px solid var(--rz-base-400);
    flex-shrink: 0;
}

/* ── Direct ancestor emphasis ────────────────────────── */
.direct-ancestor[b-0jwbvz67ca] {
    font-weight: 700;
}

/* ── Census cells ────────────────────────────────────── */
.census-cell[b-0jwbvz67ca] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 1.4rem;
    border-radius: 3px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #000;
    text-decoration: none;
    border: none;
    cursor: default;
    padding: 0;
    line-height: 1;
}

.census--clickable[b-0jwbvz67ca] {
    cursor: pointer;
}

.census--clickable:hover[b-0jwbvz67ca],
.census--clickable:focus-visible[b-0jwbvz67ca] {
    opacity: 0.8;
    outline: 2px solid var(--rz-primary);
    outline-offset: 1px;
}

.census--not-alive[b-0jwbvz67ca]   { background: #a9a9a9; }
.census--no-census[b-0jwbvz67ca]   { background: #ff0000; color: #fff; }
.census--lc-missing[b-0jwbvz67ca]  { background: #ffff00; }
.census--found[b-0jwbvz67ca]       { background: #7cfc00; }
.census--lc-no-census[b-0jwbvz67ca] { background: #ff8c00; }
.census--overseas[b-0jwbvz67ca]    { background: #2f4f4f; color: #fff; }
.census--known-missing[b-0jwbvz67ca] { background: #3cb371; }
.census--born-died[b-0jwbvz67ca]   { background: #ffdab9; }
/* /Components/Pages/Dashboard.razor.rz.scp.css */
/* ── Stat cards (WCAG 1.4.4 — legible at any size) ── */
.stat-card[b-d26ojc48ka] {
  padding: 0.75rem 0.75rem 0.625rem;
  border-top: 4px solid var(--rz-primary);
  height: 100%;
}

[b-d26ojc48ka] .rz-card.stat-card {
  text-align: center;
}

.stat-card--warning[b-d26ojc48ka] { border-top-color: var(--rz-warning); }
.stat-card--success[b-d26ojc48ka] { border-top-color: var(--rz-success); }

.stat-card .stat-header[b-d26ojc48ka] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  margin-bottom: 0.375rem;
}

.stat-card .stat-header[b-d26ojc48ka]  .rzi {
  font-size: 1.5rem;
  color: var(--rz-primary);
}

.stat-card .stat-value[b-d26ojc48ka] {
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--rz-text-color);
  line-height: 1;
}

.stat-card .stat-label[b-d26ojc48ka] {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--rz-text-color);
  letter-spacing: 0.02em;
}

.stat-card .stat-detail[b-d26ojc48ka] {
  font-size: 0.875rem;
  color: var(--rz-text-secondary-color);
  margin-top: 0.375rem;
}

.stat-card .stat-detail--accent[b-d26ojc48ka] {
  color: var(--rz-primary);
}

/* ── Gender colours (CSS variable swaps for light & dark — see app.css) ── */
.gender-male[b-d26ojc48ka] {
  color: var(--color-gender-male);
}

.gender-female[b-d26ojc48ka] {
  color: var(--color-gender-female);
}

.gender-unknown[b-d26ojc48ka] {
  color: var(--rz-text-color);
}

/* ── Top 10 lists ─────────────────────────────────── */
.top-item[b-d26ojc48ka] {
  border-bottom: 1px solid var(--rz-base-300);
  font-size: 1rem;
  padding: 0.375rem 0;
}

.top-item:last-child[b-d26ojc48ka] {
  border-bottom: none;
}

/* ── Clickable card links ─────────────────────────── */
.stat-card-link[b-d26ojc48ka] {
  display: block;
  text-decoration: none;
  color: inherit;
  height: 100%;
}

.stat-card-link .stat-card[b-d26ojc48ka],
.stat-card-link .deep-dive-card[b-d26ojc48ka] {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.stat-card-link:hover .stat-card[b-d26ojc48ka],
.stat-card-link:focus .stat-card[b-d26ojc48ka],
.stat-card-link:hover .deep-dive-card[b-d26ojc48ka],
.stat-card-link:focus .deep-dive-card[b-d26ojc48ka] {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  outline: 2px solid var(--rz-primary);
  outline-offset: 2px;
}

/* ── Overall health score gauge ──────────────────── */
.overall-score[b-d26ojc48ka] {
    text-align: center;
}

.overall-score__grade[b-d26ojc48ka] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--rz-text-color);
    margin-top: -3rem;
}

/* ── Deep dive navigation cards ──────────────────── */
.deep-dive-card[b-d26ojc48ka] {
  text-align: center;
  padding: 1.25rem 0.75rem;
  height: 100%;
}
/* /Components/Pages/Duplicates.razor.rz.scp.css */
/* ── Settings panel label ──────────────────────────────── */
.settings-panel__label[b-18kjj575ki] {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rz-text-secondary-color);
  margin: 0 0 1rem 0;
}

/* ── Empty-state hint ───────────────────────────────────── */
.filter-hint[b-18kjj575ki] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem;
  color: var(--rz-text-secondary-color);
  text-align: center;
  gap: 0.75rem;
}

.filter-hint__icon[b-18kjj575ki] {
  font-size: 3rem;
  opacity: 0.4;
}

.filter-hint p[b-18kjj575ki] {
  font-size: 1rem;
  margin: 0;
}
/* /Components/Pages/Facts.razor.rz.scp.css */
/* ── Filter panel card ─────────────────────────────────── */
.filter-panel__label[b-v0g163dfft] {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rz-text-secondary-color);
  margin: 0 0 1rem 0;
}

/* ── Fact-type checklist headers ───────────────────────── */
.fact-list-header[b-v0g163dfft] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  flex-wrap: wrap;
}

/* ── Scrollable checklist container ────────────────────── */
.fact-type-list[b-v0g163dfft] {
  max-height: 260px;
  overflow-y: auto;
  border: 1px solid var(--rz-base-300);
  border-radius: var(--rz-border-radius);
  padding: 0.375rem 0.5rem;
  background: var(--rz-base-background-color);
}

/* Tighten Radzen checkbox list item spacing inside the scroll area */
.fact-type-list :global(.rz-chkbox-label)[b-v0g163dfft] {
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}

/* ── Empty-state hint ───────────────────────────────────── */
.filter-hint[b-v0g163dfft] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem;
  color: var(--rz-text-secondary-color);
  text-align: center;
  gap: 0.75rem;
}

.filter-hint__icon[b-v0g163dfft] {
  font-size: 3rem;
  opacity: 0.4;
}

.filter-hint p[b-v0g163dfft] {
  font-size: 1rem;
  margin: 0;
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* ── Hero ─────────────────────────────────────────── */
.home-hero[b-ie6azo1tyz] {
  background: linear-gradient(135deg, #E0D9C8 0%, #9BBE86 100%);
  border-radius: var(--rz-border-radius);
  padding: 3rem 2rem;
  text-align: center;
  margin-bottom: 2rem;
}

.hero-title[b-ie6azo1tyz] {
  font-family: 'KunstlerScript', cursive;
  font-size: clamp(2.75rem, 6vw, 5rem);
  font-weight: bold;
  color: var(--color-gold-dark);
  margin-bottom: 0.5rem;
  line-height: 1.1;
}

.hero-tagline[b-ie6azo1tyz] {
  font-size: 1.25rem;
  color: var(--rz-text-color);
  margin-bottom: 1rem;
}

.hero-description[b-ie6azo1tyz] {
  max-width: 600px;
  margin: 0 auto;
  color: var(--rz-text-color);
  font-size: 1rem;
  line-height: 1.65;
}

/* ── Hero CTA ─────────────────────────────────────── */
.hero-cta[b-ie6azo1tyz] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
  padding: 0.75rem 1.75rem;
  background: var(--rz-primary);
  color: var(--rz-on-primary);
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--rz-border-radius);
  transition: background-color 0.15s;
}

.hero-cta:hover[b-ie6azo1tyz],
.hero-cta:focus-visible[b-ie6azo1tyz] {
  background: var(--rz-primary-dark);
  color: var(--rz-on-primary);
  text-decoration: none;
}

.hero-cta .rzi[b-ie6azo1tyz] {
  font-size: 1.4rem;
}

/* ── Tree loaded marker ───────────────────────────── */
.tree-loaded-marker[b-ie6azo1tyz] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 1rem;
  font-size: 1rem;
  color: var(--rz-text-color);
}

.tree-loaded-marker a[b-ie6azo1tyz] {
  font-weight: 600;
}

/* ── Feature cards ────────────────────────────────── */
.feature-card[b-ie6azo1tyz] {
  height: 100%;
  padding: 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.feature-card h3[b-ie6azo1tyz] {
  margin: 0 0 0.25rem;
}

.feature-card p[b-ie6azo1tyz] {
  margin: 0;
}

.feature-icon[b-ie6azo1tyz] {
  display: flex;
  flex-shrink: 0;
}

/* ── Supported features list ──────────────────────── */
.supported-list[b-ie6azo1tyz] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.supported-list li[b-ie6azo1tyz] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  line-height: 1.5;
}

/* /Components/Pages/Instructions.razor.rz.scp.css */
/* ── Table of contents ── */

.toc-heading[b-4o4qslyhia] {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.toc-list[b-4o4qslyhia] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.25rem 2rem;
    margin: 0;
    padding-left: 1.25rem;
    line-height: 1.8;
}

@media (max-width: 600px) {
    .toc-list[b-4o4qslyhia] {
        grid-template-columns: 1fr;
    }
}

/* ── Expandable sections (details/summary) ── */

details[b-4o4qslyhia] {
    border-bottom: 1px solid var(--rz-base-300);
}

.section-heading[b-4o4qslyhia] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 0;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.section-heading[b-4o4qslyhia]::-webkit-details-marker {
    display: none;
}

.section-heading[b-4o4qslyhia]::before {
    content: "\25B6";
    font-size: 0.65rem;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

details[open] > .section-heading[b-4o4qslyhia]::before {
    transform: rotate(90deg);
}

.section-content[b-4o4qslyhia] {
    padding: 0 0 1.25rem 1.25rem;
}

/* ── Colour key for instruction explanations ── */

.colour-key-instructions[b-4o4qslyhia] {
    margin: 0.75rem 0 1rem;
}

.colour-key-row[b-4o4qslyhia] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.375rem 0;
}

.colour-swatch-instr[b-4o4qslyhia] {
    display: inline-block;
    width: 20px;
    height: 20px;
    min-width: 20px;
    border-radius: 3px;
    margin-top: 0.15rem;
    border: 1px solid var(--rz-base-400);
}

.colour-key-row p[b-4o4qslyhia] {
    margin: 0.125rem 0 0;
    font-size: 0.925rem;
    color: var(--rz-text-secondary-color);
}
/* /Components/Pages/LocationQualityDetail.razor.rz.scp.css */
.category-card h3[b-hcx82ui7sk] {
    margin: 0;
    font-size: 1.1rem;
}

.category-weight[b-hcx82ui7sk] {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rz-text-secondary-color);
    margin-bottom: 0.75rem;
}

.category-description[b-hcx82ui7sk] {
    margin: 0.75rem 0 0 0;
}
/* /Components/Pages/LooseBirths.razor.rz.scp.css */
/* /Components/Pages/LooseDeaths.razor.rz.scp.css */
/* /Components/Pages/LooseInfo.razor.rz.scp.css */
/* /Components/Pages/LostCousins.razor.rz.scp.css */
.section-label[b-ml55gvlo0y] {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rz-text-secondary-color);
  margin: 0 0 1rem 0;
}

.lc-summary[b-ml55gvlo0y] {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
}

.lc-summary th[b-ml55gvlo0y],
.lc-summary td[b-ml55gvlo0y] {
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--rz-base-300);
  text-align: left;
}

.lc-summary__num[b-ml55gvlo0y] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.lc-summary tfoot th[b-ml55gvlo0y],
.lc-summary tfoot td[b-ml55gvlo0y] {
  font-weight: 700;
  border-top: 2px solid var(--rz-base-400);
  border-bottom: none;
}

.lc-summary__actions[b-ml55gvlo0y] {
  white-space: nowrap;
}

.lc-summary__actions a[b-ml55gvlo0y] {
  color: var(--rz-primary);
  text-decoration: underline;
}

.lc-problems[b-ml55gvlo0y] {
  margin: 0 0 1rem 0;
  padding-left: 1.25rem;
}

.lc-problems li[b-ml55gvlo0y] {
  margin-bottom: 0.25rem;
}

.sr-only[b-ml55gvlo0y] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* /Components/Pages/LostCousinsCensus.razor.rz.scp.css */
.filter-panel__label[b-degf7b7hah] {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rz-text-secondary-color);
  margin: 0 0 1rem 0;
}

.filter-hint[b-degf7b7hah] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem;
  color: var(--rz-text-secondary-color);
  text-align: center;
  gap: 0.75rem;
}

.filter-hint__icon[b-degf7b7hah] {
  font-size: 3rem;
  opacity: 0.4;
}

.filter-hint p[b-degf7b7hah] {
  font-size: 1rem;
  margin: 0;
}
/* /Components/Pages/LostCousinsSync.razor.rz.scp.css */
.section-label[b-na31w1abee] {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rz-text-secondary-color);
  margin: 0 0 1rem 0;
}

/* Login button sits in its own column alongside the email/password fields.
   A hidden label matching the visible ones above those fields keeps the
   button's top edge level with the text boxes instead of the field labels. */
.lc-login-btn label[aria-hidden][b-na31w1abee] {
  visibility: hidden;
}

.lc-hint[b-na31w1abee] {
  font-size: 0.9rem;
  color: var(--rz-text-secondary-color);
  margin: 0;
}

.lc-report-text[b-na31w1abee] {
  font-family: var(--rz-font-monospace, monospace);
  font-size: 0.9rem;
  background: var(--rz-base-100);
  border: 1px solid var(--rz-base-300);
  border-radius: 4px;
  padding: 0.75rem 1rem;
  margin: 0 0 1rem 0;
  white-space: pre-wrap;
}

.lc-progress[b-na31w1abee] {
  font-family: var(--rz-font-monospace, monospace);
  font-size: 0.9rem;
  background: var(--rz-base-100);
  border: 1px solid var(--rz-base-300);
  border-radius: 4px;
  padding: 0.75rem 1rem;
  margin-top: 1rem;
  max-height: 40vh;
  overflow-y: auto;
}
/* /Components/Pages/Maps/Lifeline.razor.rz.scp.css */
.locations-map[b-dhtrk8uyyp] {
    width: 100%;
    height: 65vh;
    min-height: 400px;
    border-radius: 4px;
    border: 1px solid var(--rz-border-color, #ccc);
}

.legend-item[b-dhtrk8uyyp] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
}

.legend-dot[b-dhtrk8uyyp] {
    display: inline-block;
    width: 12px;
    height: 12px;
}
/* /Components/Pages/Maps/Locations.razor.rz.scp.css */
.locations-map[b-kd4o60bz7x] {
    width: 100%;
    height: 65vh;
    min-height: 400px;
    border-radius: 4px;
    border: 1px solid var(--rz-border-color, #ccc);
}

.legend-item[b-kd4o60bz7x] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
}

.legend-dot[b-kd4o60bz7x] {
    display: inline-block;
    width: 12px;
    height: 12px;
}
/* /Components/Pages/Maps/Places.razor.rz.scp.css */
.places-layout[b-18jx2shpnf] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.places-tree[b-18jx2shpnf] {
    flex: 0 0 280px;
    max-height: 80vh;
    overflow-y: auto;
    border: 1px solid var(--rz-border-color, #ccc);
    border-radius: 4px;
    padding: 0.5rem;
}

.places-detail[b-18jx2shpnf] {
    flex: 1 1 auto;
    min-width: 0;
}

.places-map[b-18jx2shpnf] {
    width: 100%;
    height: 35vh;
    min-height: 250px;
    border-radius: 4px;
    border: 1px solid var(--rz-border-color, #ccc);
}

@media (max-width: 900px) {
    .places-layout[b-18jx2shpnf] {
        flex-direction: column;
    }

    .places-tree[b-18jx2shpnf] {
        flex-basis: auto;
        width: 100%;
        max-height: 40vh;
    }
}
/* /Components/Pages/Maps/Timeline.razor.rz.scp.css */
.locations-map[b-bzn87ftbru] {
    width: 100%;
    height: 65vh;
    min-height: 400px;
    border-radius: 4px;
    border: 1px solid var(--rz-border-color, #ccc);
}
/* /Components/Pages/OnThisDay.razor.rz.scp.css */
/* ── Event list ────────────────────────────────────────── */
.event-list[b-e411pezc98] {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.event-item[b-e411pezc98] {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  padding: 0.375rem 0.5rem;
  border-radius: var(--rz-border-radius);
}

.event-item:hover[b-e411pezc98] {
  background: var(--rz-base-200);
}

.event-link[b-e411pezc98] {
  flex-shrink: 0;
}

.event-date[b-e411pezc98] {
  flex-shrink: 0;
  min-width: 10rem;
  font-weight: 600;
  color: var(--rz-text-secondary-color);
}

.event-text[b-e411pezc98] {
  flex: 1;
}

/* ── World events (Wikipedia) ──────────────────────────── */
.world-event-list[b-e411pezc98] {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.world-event-item[b-e411pezc98] {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  padding: 0.375rem 0.5rem;
  border-radius: var(--rz-border-radius);
}

.world-event-item:hover[b-e411pezc98] {
  background: var(--rz-base-200);
}

.world-event-year[b-e411pezc98] {
  flex-shrink: 0;
  min-width: 4rem;
  font-weight: 600;
  color: var(--rz-text-secondary-color);
}

.world-event-text[b-e411pezc98] {
  flex: 1;
}

.world-event-link[b-e411pezc98] {
  margin-left: 0.375rem;
  vertical-align: middle;
}

/* ── Empty-state hint ───────────────────────────────────── */
.filter-hint[b-e411pezc98] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem;
  color: var(--rz-text-secondary-color);
  text-align: center;
  gap: 0.75rem;
}

.filter-hint__icon[b-e411pezc98] {
  font-size: 3rem;
  opacity: 0.4;
}

.filter-hint p[b-e411pezc98] {
  font-size: 1rem;
  margin: 0;
}
/* /Components/Pages/ParentAge.razor.rz.scp.css */
.parent-age__caption[b-s88lel0m60] {
  font-size: 0.875rem;
  color: var(--rz-text-secondary-color);
  margin: 0 0 1rem 0;
}
/* /Components/Pages/Recommendations.razor.rz.scp.css */
.rec-card[b-0gpide5bcw] {
    border-left: 4px solid var(--rz-base-300);
    transition: border-color 0.2s;
}

.rec-card:first-of-type[b-0gpide5bcw] {
    border-left-color: var(--rz-danger);
}

.impact-badge[b-0gpide5bcw] {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

.score-line[b-0gpide5bcw] {
    font-size: 0.85rem;
    color: var(--rz-text-secondary-color);
}

.see-all-link[b-0gpide5bcw] {
    display: inline-block;
    margin-top: 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
}

.rec-items[b-0gpide5bcw] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.rec-items li[b-0gpide5bcw] {
    padding: 0.45rem 0;
    border-bottom: 1px solid var(--rz-base-200);
    font-size: 0.9rem;
    line-height: 1.4;
}

.rec-items li:last-child[b-0gpide5bcw] {
    border-bottom: none;
}

.rec-items a[b-0gpide5bcw] {
    text-decoration: none;
}

.rec-items a:hover[b-0gpide5bcw] {
    text-decoration: underline;
}
/* /Components/Pages/ResearchSuggestions.razor.rz.scp.css */
.filter-section[b-1ln91r1bjq] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.filter-section__label[b-1ln91r1bjq] {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
}

.filter-row[b-1ln91r1bjq] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.filter-row__input[b-1ln91r1bjq] {
    width: 220px;
}
/* /Components/Pages/Surnames.razor.rz.scp.css */
.goons-link[b-52kjq4ck2r] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--rz-text-secondary-color);
  transition: color 0.15s ease;
}

.goons-link:hover[b-52kjq4ck2r],
.goons-link:focus-visible[b-52kjq4ck2r] {
  color: var(--rz-primary);
  outline: 2px solid var(--rz-primary);
  outline-offset: 2px;
  border-radius: 2px;
}
/* /Components/Pages/TreeHealth.razor.rz.scp.css */
.overall-score[b-2gs84ul2iz] {
    text-align: center;
}

.overall-score__grade[b-2gs84ul2iz] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--rz-text-color);
    margin-top: -1rem;
}

.sub-text[b-2gs84ul2iz] {
    color: var(--rz-text-color);
    opacity: 0.8;
}

.category-card h3[b-2gs84ul2iz] {
    margin: 0;
    font-size: 1.1rem;
}

.category-weight[b-2gs84ul2iz] {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rz-text-secondary-color);
    margin-bottom: 0.75rem;
}

.category-section[b-2gs84ul2iz] {
    margin-bottom: 0.75rem;
}

.category-section:last-child[b-2gs84ul2iz] {
    margin-bottom: 0;
}

.category-section h4[b-2gs84ul2iz] {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rz-text-secondary-color);
    margin: 0 0 0.25rem 0;
}

.category-section p[b-2gs84ul2iz] {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
}
/* /Components/Pages/Upload.razor.rz.scp.css */
/* ── Hint text — WCAG AA contrast on dark backgrounds ── */
.upload-hint[b-k5wpu13a2x] {
  color: var(--rz-text-color);
}

/* ── Drop zone ────────────────────────────────────── */
.upload-drop-zone[b-k5wpu13a2x] {
  border: 2px dashed var(--rz-base-400);
  border-radius: var(--rz-border-radius);
  padding: 2.5rem 1rem;
  transition: border-color 0.2s, background-color 0.2s;
  background: var(--rz-base-100);
  min-height: 160px;
  color: var(--rz-text-color);
}

.upload-drop-zone.drag-over[b-k5wpu13a2x] {
  border-color: var(--rz-primary);
  background: var(--rz-primary-lighter);
}

/* ── Progress log ─────────────────────────────────── */
[b-k5wpu13a2x] .progress-log {
  font-family: Consolas, 'Courier New', monospace;
  font-size: 0.95rem;
  font-weight: 500;
  background: var(--rz-base-100);
  border: 1px solid var(--rz-base-300);
  border-radius: var(--rz-border-radius);
  padding: 0.75rem;
  max-height: 300px;
  overflow-y: auto;
  color: var(--rz-text-color);
  -webkit-font-smoothing: auto;
}

[b-k5wpu13a2x] .log-line {
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-all;
}

[b-k5wpu13a2x] .log-line-highlight {
  font-weight: 700;
  color: var(--rz-warning);
}
/* /Components/Pages/WorldWars.razor.rz.scp.css */
/* ── Filter panel label ────────────────────────────────── */
.filter-panel__label[b-dm63vuf5ya] {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rz-text-secondary-color);
  margin: 0 0 1rem 0;
}

/* ── Empty-state hint ───────────────────────────────────── */
.filter-hint[b-dm63vuf5ya] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem;
  color: var(--rz-text-secondary-color);
  text-align: center;
  gap: 0.75rem;
}

.filter-hint__icon[b-dm63vuf5ya] {
  font-size: 3rem;
  opacity: 0.4;
}

.filter-hint p[b-dm63vuf5ya] {
  font-size: 1rem;
  margin: 0;
}
/* /Components/Shared/DonateDialog.razor.rz.scp.css */
/* ── Intro ────────────────────────────────────────── */
.donate-intro p[b-bzlkcv14y3] {
    margin: 0 0 1.25rem;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--rz-text-color);
}

/* ── One-time donation button ────────────────────── */
.donate-onetime[b-bzlkcv14y3] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: var(--rz-border-radius);
    border: 2px solid var(--rz-primary);
    background: var(--rz-primary-lighter);
    text-decoration: none;
    color: var(--rz-text-color);
    transition: background-color 0.15s, border-color 0.15s;
}

.donate-onetime:hover[b-bzlkcv14y3],
.donate-onetime:focus-visible[b-bzlkcv14y3] {
    background: var(--rz-primary-light);
    color: #FFFFFF;
    text-decoration: none;
}

.donate-onetime:hover .donate-onetime__icon[b-bzlkcv14y3],
.donate-onetime:focus-visible .donate-onetime__icon[b-bzlkcv14y3] {
    color: #FFFFFF;
}

.donate-onetime__icon[b-bzlkcv14y3] {
    font-size: 2rem;
    color: var(--rz-primary);
    flex-shrink: 0;
}

.donate-onetime__text[b-bzlkcv14y3] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    flex: 1;
}

.donate-onetime__text strong[b-bzlkcv14y3] {
    font-size: 1rem;
}

.donate-onetime__text span[b-bzlkcv14y3] {
    font-size: 0.85rem;
    opacity: 0.8;
}

.donate-onetime__arrow[b-bzlkcv14y3] {
    font-size: 1.25rem;
    opacity: 0.5;
    flex-shrink: 0;
}

/* ── Section heading ─────────────────────────────── */
.donate-section-heading[b-bzlkcv14y3] {
    margin: 1.5rem 0 1rem;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rz-text-secondary-color);
}

/* ── Tier grid ───────────────────────────────────── */
.donate-tiers[b-bzlkcv14y3] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.donate-tier[b-bzlkcv14y3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 0.5rem;
    border-radius: var(--rz-border-radius);
    border: 1px solid var(--rz-base-300);
    background: var(--rz-base-background-color);
    text-decoration: none;
    color: var(--rz-text-color);
    transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}

.donate-tier:hover[b-bzlkcv14y3],
.donate-tier:focus-visible[b-bzlkcv14y3] {
    border-color: var(--rz-primary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
    text-decoration: none;
    color: var(--rz-text-color);
}

.tier-img[b-bzlkcv14y3] {
    width: 100%;
    max-width: 120px;
    height: auto;
    object-fit: contain;
}

.tier-name[b-bzlkcv14y3] {
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tier-name--bronze[b-bzlkcv14y3]   { color: var(--color-tier-bronze); }
.tier-name--silver[b-bzlkcv14y3]   { color: var(--color-tier-silver); }
.tier-name--gold[b-bzlkcv14y3]     { color: var(--color-gold-dark); }
.tier-name--platinum[b-bzlkcv14y3] { color: var(--color-tier-platinum); }

.tier-price[b-bzlkcv14y3] {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
}

/* ── Trust notice ────────────────────────────────── */
.donate-trust[b-bzlkcv14y3] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-top: 1.5rem;
    padding: 0.75rem 1rem;
    border-radius: var(--rz-border-radius);
    background: var(--rz-info-lighter);
    font-size: 0.8rem;
    line-height: 1.5;
    color: var(--rz-on-info-lighter);
}

.donate-trust__icon[b-bzlkcv14y3] {
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.donate-trust p[b-bzlkcv14y3] {
    margin: 0;
}

/* ── Responsive: stack tiers on narrow screens ───── */
@media (max-width: 480px) {
    .donate-tiers[b-bzlkcv14y3] {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* /Components/Shared/HealthBar.razor.rz.scp.css */
/* ── Health bar wrapper ───────────────────────────── */
.health-bar[b-3dny9aixmm] {
  margin-bottom: 1.5rem;
  position: relative;
}

/* Clickable variant — invisible <a> stretches over the whole bar */
.health-bar--clickable[b-3dny9aixmm] {
  cursor: pointer;
  border-radius: 6px;
  padding: 0.4rem 0.5rem;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  transition: background-color 0.15s ease;
}

.health-bar--clickable:hover[b-3dny9aixmm],
.health-bar--clickable:focus-within[b-3dny9aixmm] {
  background-color: var(--rz-base-200);
}

.health-bar-overlay[b-3dny9aixmm] {
  position: absolute;
  inset: 0;
  border-radius: 6px;
  z-index: 1;
}

.health-bar-overlay:focus-visible[b-3dny9aixmm] {
  outline: 2px solid var(--rz-primary);
  outline-offset: 2px;
}

.health-label[b-3dny9aixmm] {
  font-size: 1rem;
  font-weight: 500;
  color: var(--rz-text-color);
}

.health-value[b-3dny9aixmm] {
  font-size: 0.9rem;
  color: var(--rz-text-secondary-color);
  margin-left: 1rem;
  white-space: nowrap;
}

.health-status[b-3dny9aixmm] {
  font-size: 0.875rem;
  font-weight: 600;
}

/* Status text colours — all verified against var(--rz-base-background-color) */
.health-status--good[b-3dny9aixmm] { color: var(--rz-success); } /* #364F29 light / #7BAF5A dark — both AAA */
.health-status--ok[b-3dny9aixmm]   { color: #8C5E18; }           /* 4.83:1 on #F7F8F5 (AA) */
.health-status--low[b-3dny9aixmm]  { color: var(--rz-danger);  } /* #b71c1c light / #EF5350 dark — both AA+ */

/* /Components/Shared/HealthWeightsDialog.razor.rz.scp.css */
.weights-grid[b-7ejq3its2q] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.weight-row[b-7ejq3its2q] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.weight-label[b-7ejq3its2q] {
    min-width: 200px;
    font-weight: 500;
    font-size: 0.9rem;
}

.weight-value[b-7ejq3its2q] {
    min-width: 40px;
    text-align: right;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.weight-value--invalid[b-7ejq3its2q] {
    color: var(--rz-danger);
}

.weight-total[b-7ejq3its2q] {
    margin-top: 1rem;
    padding: 0.5rem 0.75rem;
    border-radius: 4px;
    font-size: 0.95rem;
}

.weight-total--valid[b-7ejq3its2q] {
    background: var(--rz-success-lighter);
    color: var(--rz-success-darker);
}

.weight-total--invalid[b-7ejq3its2q] {
    background: var(--rz-danger-lighter);
    color: var(--rz-danger-darker);
}
/* /Components/Shared/InfoTip.razor.rz.scp.css */
.info-tip[b-1k34z3p8qt] {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: 0.25rem;
}

.info-tip__btn[b-1k34z3p8qt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: none;
    background: var(--rz-info);
    color: #fff;
    cursor: pointer;
    padding: 0;
    font-size: 0;
    line-height: 1;
    transition: background 0.15s ease;
}

.info-tip__btn .rzi[b-1k34z3p8qt] {
    font-size: 16px;
}

.info-tip__btn:hover[b-1k34z3p8qt] {
    background: var(--rz-info-darker, var(--rz-info));
    opacity: 0.9;
}

.info-tip__panel[b-1k34z3p8qt] {
    margin-top: 0.5rem;
    margin-bottom: 0.75rem;
    padding: 0.75rem 1rem;
    border-left: 3px solid var(--rz-info);
    background: var(--rz-info-lighter, var(--rz-base-200));
    border-radius: 0 var(--rz-border-radius) var(--rz-border-radius) 0;
    font-size: 0.925rem;
    line-height: 1.65;
    max-width: 600px;
}

.info-tip__panel a[b-1k34z3p8qt] {
    color: var(--rz-primary);
    text-decoration: underline;
}

.info-tip__panel a:hover[b-1k34z3p8qt] {
    color: var(--rz-primary-darker);
}
/* /Components/Shared/MapBaseLayerSelector.razor.rz.scp.css */
.map-layer-label[b-zt2phexf7d] {
    font-size: 1rem;
    color: var(--rz-text-color);
    white-space: nowrap;
}

.map-layer-select[b-zt2phexf7d] {
    font-size: 1rem;
    padding: 0.4rem 0.6rem;
    border-radius: var(--rz-border-radius, 4px);
    border: 1px solid var(--rz-border-color, #ccc);
    background: var(--rz-base-background-color, #fff);
    color: var(--rz-text-color);
    min-width: 280px;
}

.map-layer-select option:disabled[b-zt2phexf7d] {
    color: var(--rz-text-secondary-color);
}
/* /Components/Shared/RelationshipFilter.razor.rz.scp.css */
.rel-filter[b-vnjyxowat4] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.rel-filter__dropdown[b-vnjyxowat4] {
  min-width: 260px;
}

[b-vnjyxowat4] .rel-filter__dropdown.rz-dropdown {
  padding-top: 0;
  padding-bottom: 0;
}
/* /Components/Shared/ReportIssueDialog.razor.rz.scp.css */
.report-intro[b-25f491u610] {
    margin: 0 0 1rem;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--rz-text-color);
}

.report-form[b-25f491u610] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
}

.report-label[b-25f491u610] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--rz-text-color);
    margin-top: 0.25rem;
}

.optional-hint[b-25f491u610] {
    font-weight: 400;
    color: var(--rz-text-secondary-color);
}

.field-hint[b-25f491u610] {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
    line-height: 1.4;
}

.field-error[b-25f491u610] {
    font-size: 0.8rem;
    color: var(--rz-danger);
    line-height: 1.4;
}

.page-url-display[b-25f491u610] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    padding: 0.4rem 0.6rem;
    background: var(--rz-base-200);
    border-radius: var(--rz-border-radius);
    font-size: 0.85rem;
}

.page-url-value[b-25f491u610] {
    word-break: break-all;
    color: var(--rz-text-color);
}

.screenshot-selected[b-25f491u610] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.6rem;
    background: var(--rz-base-200);
    border-radius: var(--rz-border-radius);
}

.screenshot-name[b-25f491u610] {
    font-size: 0.85rem;
    color: var(--rz-text-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Shared/ScotlandsPeopleSearchDialog.razor.rz.scp.css */
.sp-search-fields[b-32uil7u0tq] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.sp-field[b-32uil7u0tq] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.sp-field label[b-32uil7u0tq] {
    font-weight: 600;
    min-width: 100px;
    text-align: right;
}

.sp-value[b-32uil7u0tq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sp-copyable[b-32uil7u0tq] {
    font-size: 1.05rem;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    cursor: pointer;
    user-select: all;
}

.sp-copy-btn[b-32uil7u0tq] {
    background: none;
    border: 1px solid var(--rz-base-300);
    border-radius: 4px;
    padding: 0.2rem 0.4rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

.sp-copy-btn:hover[b-32uil7u0tq] {
    background: var(--rz-base-200);
}
/* /Components/Shared/SettingsDialog.razor.rz.scp.css */
.settings-sections[b-62utn20nrg] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

details[b-62utn20nrg] {
    border-bottom: 1px solid var(--rz-base-300);
}

.section-heading[b-62utn20nrg] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0.5rem 0;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.section-heading[b-62utn20nrg]::-webkit-details-marker {
    display: none;
}

.section-heading[b-62utn20nrg]::before {
    content: "\25B6";
    font-size: 0.65rem;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

details[open] > .section-heading[b-62utn20nrg]::before {
    transform: rotate(90deg);
}

.section-content[b-62utn20nrg] {
    padding: 0.25rem 0 0.5rem 1.25rem;
}

.setting-row[b-62utn20nrg] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.35rem 0;
    min-height: 2.25rem;
}

.setting-label[b-62utn20nrg] {
    flex: 1;
    font-size: 0.9rem;
}

.setting-numeric-row[b-62utn20nrg] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
}

.reload-badge[b-62utn20nrg] {
    flex-shrink: 0;
}

.dialog-buttons[b-62utn20nrg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    position: sticky;
    bottom: -1.25rem;
    margin: 1.5rem -1.25rem -1.25rem;
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--rz-base-300);
    background: var(--rz-dialog-background, var(--rz-base-background-color));
    z-index: 1;
}

.dialog-buttons-right[b-62utn20nrg] {
    display: flex;
    gap: 0.5rem;
}
