/* ==========================================================================
   Secret Archive
   Main Stylesheet
   Path: /assets/css/main.css
   ========================================================================== */

:root {
    --sa-black: #060606;
    --sa-black-soft: #0d0d0d;
    --sa-black-elevated: #131313;
    --sa-black-panel: rgba(17, 17, 17, 0.88);

    --sa-gold: #c7a552;
    --sa-gold-bright: #ebc978;
    --sa-gold-deep: #9d7c34;
    --sa-gold-soft: rgba(199, 165, 82, 0.16);
    --sa-gold-line: rgba(199, 165, 82, 0.34);

    --sa-text: #f2eee4;
    --sa-text-soft: #cbbfa2;
    --sa-text-muted: #a08f67;

    --sa-white-soft: rgba(255, 255, 255, 0.06);
    --sa-white-line: rgba(255, 255, 255, 0.08);

    --sa-success: #9fbe7a;
    --sa-danger: #d27d74;

    --sa-shadow-deep: 0 24px 80px rgba(0, 0, 0, 0.58);
    --sa-shadow-card: 0 16px 44px rgba(0, 0, 0, 0.46);
    --sa-shadow-gold: 0 0 0 1px rgba(199, 165, 82, 0.12), 0 10px 30px rgba(199, 165, 82, 0.08);

    --sa-radius-xs: 8px;
    --sa-radius-sm: 12px;
    --sa-radius-md: 16px;
    --sa-radius-lg: 22px;
    --sa-radius-xl: 30px;

    --sa-container: 1240px;
    --sa-header-height: 84px;

    --sa-transition-fast: 160ms ease;
    --sa-transition-base: 260ms cubic-bezier(0.22, 1, 0.36, 1);
    --sa-transition-slow: 420ms cubic-bezier(0.22, 1, 0.36, 1);

    --sa-card-rotate-x: 0deg;
    --sa-card-rotate-y: 0deg;
    --sa-card-lift: translateY(0);
    --sa-card-glow-x: 50%;
    --sa-card-glow-y: 50%;
    --sa-button-glow-x: 50%;
    --sa-button-glow-y: 50%;
}

/* ==========================================================================
   Reset / Base
   ========================================================================== */

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

html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    min-width: 320px;
    background:
        radial-gradient(circle at top, rgba(199, 165, 82, 0.08), transparent 32%),
        linear-gradient(180deg, #0a0a0a 0%, #060606 100%);
    color: var(--sa-text);
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    line-height: 1.65;
    overflow-x: hidden;
}

body.sa-body-nav-open {
    overflow: hidden;
}

body.sa-reduce-motion *,
body.sa-reduce-motion *::before,
body.sa-reduce-motion *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
}

img,
svg {
    display: block;
    max-width: 100%;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    background: none;
    border: 0;
    color: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
}

::selection {
    background: rgba(199, 165, 82, 0.28);
    color: #fff9ea;
}

/* ==========================================================================
   Shared Layout
   ========================================================================== */

.sa-container {
    width: min(100% - 40px, var(--sa-container));
    margin: 0 auto;
}

.sa-page-main {
    min-height: calc(100vh - var(--sa-header-height));
    position: relative;
}

.sa-section {
    position: relative;
    padding: 86px 0;
}

.sa-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, transparent 0%, rgba(255,255,255,0.01) 100%);
    opacity: 0.5;
}

.sa-section-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
}

.sa-home-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--sa-gold-bright);
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.sa-home-kicker::before {
    content: "";
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--sa-gold), transparent);
}

.sa-home-title {
    max-width: 900px;
    font-family:
        "Cormorant Garamond",
        "Times New Roman",
        serif;
    font-size: clamp(2.6rem, 5vw, 4.7rem);
    line-height: 0.98;
    letter-spacing: -0.02em;
    color: #fff7e2;
    text-shadow: 0 4px 22px rgba(0, 0, 0, 0.34);
}

.sa-section-title {
    font-family:
        "Cormorant Garamond",
        "Times New Roman",
        serif;
    font-size: clamp(2rem, 3.2vw, 3.1rem);
    line-height: 1.04;
    letter-spacing: -0.02em;
    color: #fff4d8;
}

.sa-home-description,
.sa-auth-card__text,
.sa-document-card__text,
.sa-dashboard-subtitle,
.sa-dashboard-empty {
    color: var(--sa-text-soft);
    font-size: 1rem;
    line-height: 1.75;
}

/* ==========================================================================
   Header / Navigation Foundation
   ========================================================================== */

.sa-site-header {
    position: sticky;
    top: 0;
    z-index: 1200;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    background: rgba(7, 7, 7, 0.66);
    border-bottom: 1px solid transparent;
    transition:
        background var(--sa-transition-base),
        border-color var(--sa-transition-base),
        box-shadow var(--sa-transition-base),
        transform var(--sa-transition-base);
}

.sa-site-header.sa-header-scrolled,
.sa-header-scrolled {
    background: rgba(7, 7, 7, 0.88);
    border-bottom-color: var(--sa-gold-line);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.34);
}

.sa-site-header__inner {
    min-height: var(--sa-header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.sa-site-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.sa-site-brand__logo {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    object-fit: contain;
    filter: drop-shadow(0 6px 14px rgba(199, 165, 82, 0.18));
}

.sa-site-brand__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sa-site-brand__title {
    color: #fff4d7;
    font-size: 0.98rem;
    font-weight: 650;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.sa-site-brand__subtitle {
    color: var(--sa-text-muted);
    font-size: 0.7rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.sa-nav {
    display: flex;
    align-items: center;
    gap: 14px;
}

.sa-nav-menu {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sa-nav-list {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sa-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    color: var(--sa-text-soft);
    font-size: 0.95rem;
    font-weight: 500;
    border-radius: 999px;
    transition:
        color var(--sa-transition-base),
        background var(--sa-transition-base),
        transform var(--sa-transition-base);
}

.sa-nav-link::after {
    content: "";
    position: absolute;
    inset: auto 14px 8px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--sa-gold), transparent);
    opacity: 0;
    transform: scaleX(0.5);
    transition:
        opacity var(--sa-transition-base),
        transform var(--sa-transition-base);
}

.sa-nav-link:hover,
.sa-nav-link:focus-visible,
.sa-nav-link.is-active {
    color: #fff1cf;
    background: rgba(255, 255, 255, 0.035);
}

.sa-nav-link:hover::after,
.sa-nav-link:focus-visible::after,
.sa-nav-link.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

.sa-nav-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sa-nav-form,
.sa-inline-form {
    margin: 0;
}

.sa-nav-form {
    display: flex;
    align-items: center;
}

.sa-nav-account {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    margin-right: 4px;
    line-height: 1.2;
}

.sa-nav-account__label {
    color: var(--sa-text-muted);
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.sa-nav-account__name {
    color: #fff1cf;
    font-size: 0.82rem;
    font-weight: 600;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sa-link-button {
    cursor: pointer;
    padding: 0;
    text-align: left;
}

.sa-nav-toggle,
.sa-nav-close {
    display: none;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.03);
    color: #f7e8c0;
    border: 1px solid rgba(255,255,255,0.08);
    cursor: pointer;
    transition:
        background var(--sa-transition-base),
        border-color var(--sa-transition-base),
        transform var(--sa-transition-base);
}

.sa-nav-toggle:hover,
.sa-nav-close:hover {
    background: rgba(199, 165, 82, 0.12);
    border-color: var(--sa-gold-line);
    transform: translateY(-1px);
}

.sa-nav-toggle-line {
    position: relative;
    width: 18px;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
    transition: transform var(--sa-transition-base), opacity var(--sa-transition-base);
}

.sa-nav-toggle-line::before,
.sa-nav-toggle-line::after {
    content: "";
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
    transition: transform var(--sa-transition-base), top var(--sa-transition-base), bottom var(--sa-transition-base);
}

.sa-nav-toggle-line::before {
    top: -6px;
}

.sa-nav-toggle-line::after {
    bottom: -6px;
}

.sa-nav-active .sa-nav-toggle-line {
    background: transparent;
}

.sa-nav-active .sa-nav-toggle-line::before {
    top: 0;
    transform: rotate(45deg);
}

.sa-nav-active .sa-nav-toggle-line::after {
    bottom: 0;
    transform: rotate(-45deg);
}

.sa-nav-overlay {
    position: fixed;
    inset: 0;
    z-index: 1090;
    background: rgba(0, 0, 0, 0.48);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity var(--sa-transition-base),
        visibility var(--sa-transition-base);
}

body.sa-body-nav-open .sa-nav-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* ==========================================================================
   Hero / Intro Blocks
   ========================================================================== */

.sa-home-hero,
.sa-archive-hero {
    position: relative;
    padding: 120px 0 72px;
    overflow: hidden;
}

.sa-home-hero::before,
.sa-archive-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 14% 16%, rgba(199, 165, 82, 0.12), transparent 24%),
        radial-gradient(circle at 86% 8%, rgba(199, 165, 82, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,0.01), transparent);
    pointer-events: none;
}

.sa-home-hero__content,
.sa-archive-hero__content {
    position: relative;
    z-index: 1;
    max-width: 920px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sa-home-description {
    max-width: 760px;
    font-size: 1.05rem;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.sa-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}

.sa-home-button {
    --sa-button-bg: transparent;
    --sa-button-color: var(--sa-text);
    --sa-button-border: var(--sa-white-line);

    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 0 22px;
    border-radius: 999px;
    border: 1px solid var(--sa-button-border);
    background: var(--sa-button-bg);
    color: var(--sa-button-color);
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    cursor: pointer;
    overflow: hidden;
    transition:
        transform var(--sa-transition-base),
        border-color var(--sa-transition-base),
        color var(--sa-transition-base),
        box-shadow var(--sa-transition-base),
        background var(--sa-transition-base);
}

.sa-home-button::before {
    content: "";
    position: absolute;
    inset: -1px;
    background:
        radial-gradient(circle at var(--sa-button-glow-x) var(--sa-button-glow-y), rgba(255,255,255,0.18), transparent 26%),
        linear-gradient(135deg, rgba(255,255,255,0.08), transparent 60%);
    opacity: 0;
    transition: opacity var(--sa-transition-base);
    z-index: -1;
}

.sa-home-button:hover,
.sa-home-button:focus-visible,
.sa-home-button.sa-button-hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.26);
}

.sa-home-button:hover::before,
.sa-home-button:focus-visible::before,
.sa-home-button.sa-button-hover::before {
    opacity: 1;
}

.sa-home-button-primary {
    --sa-button-bg:
        linear-gradient(135deg, rgba(235, 201, 120, 0.96), rgba(199, 165, 82, 0.92));
    --sa-button-color: #17120b;
    --sa-button-border: rgba(235, 201, 120, 0.42);
    box-shadow: 0 10px 30px rgba(199, 165, 82, 0.18);
}

.sa-home-button-primary:hover,
.sa-home-button-primary:focus-visible {
    box-shadow: 0 16px 34px rgba(199, 165, 82, 0.26);
}

.sa-home-button-secondary {
    background: rgba(255,255,255,0.02);
    color: #f6e8c1;
    border-color: rgba(199, 165, 82, 0.22);
}

.sa-home-button-secondary:hover,
.sa-home-button-secondary:focus-visible {
    border-color: var(--sa-gold);
    color: #fff3cf;
    background: rgba(199, 165, 82, 0.08);
}

.sa-home-button-ghost {
    background: transparent;
    color: var(--sa-text-soft);
    border-color: rgba(255,255,255,0.1);
}

.sa-home-button-ghost:hover,
.sa-home-button-ghost:focus-visible {
    color: #fff0c6;
    border-color: rgba(199, 165, 82, 0.3);
}

.sa-home-actions--compact {
    margin-top: 6px;
}

/* ==========================================================================
   Stats
   ========================================================================== */

.sa-home-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 14px;
    max-width: 840px;
}

.sa-home-stat {
    position: relative;
    padding: 18px 20px;
    border-radius: var(--sa-radius-md);
    border: 1px solid var(--sa-white-line);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)),
        rgba(14, 14, 14, 0.9);
    box-shadow: var(--sa-shadow-card);
    overflow: hidden;
}

.sa-home-stat::before {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--sa-gold), transparent);
    opacity: 0.7;
}

.sa-home-stat__value {
    display: block;
    color: #fff1c9;
    font-family:
        "Cormorant Garamond",
        "Times New Roman",
        serif;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    line-height: 1;
    margin-bottom: 6px;
}

.sa-home-stat__label {
    color: var(--sa-text-muted);
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ==========================================================================
   Cards
   ========================================================================== */

.sa-document-grid,
.sa-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.sa-document-card,
.sa-dashboard-card,
.sa-auth-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--sa-radius-lg);
    border: 1px solid var(--sa-white-line);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.01)),
        linear-gradient(180deg, rgba(199,165,82,0.04), transparent 44%),
        var(--sa-black-panel);
    box-shadow: var(--sa-shadow-card);
    transition:
        transform var(--sa-transition-base),
        border-color var(--sa-transition-base),
        box-shadow var(--sa-transition-base),
        background var(--sa-transition-base);
    transform:
        perspective(1100px)
        rotateX(var(--sa-card-rotate-x))
        rotateY(var(--sa-card-rotate-y))
        var(--sa-card-lift);
    transform-style: preserve-3d;
    will-change: transform;
}

.sa-document-card::before,
.sa-dashboard-card::before,
.sa-auth-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at var(--sa-card-glow-x) var(--sa-card-glow-y), rgba(235, 201, 120, 0.14), transparent 25%),
        linear-gradient(180deg, rgba(255,255,255,0.04), transparent 28%);
    opacity: 0;
    transition: opacity var(--sa-transition-base);
    pointer-events: none;
}

.sa-document-card::after,
.sa-dashboard-card::after,
.sa-auth-card::after {
    content: "";
    position: absolute;
    inset: auto 18px 0 18px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(235,201,120,0.78), transparent);
    opacity: 0.8;
}

.sa-document-card:hover,
.sa-dashboard-card:hover,
.sa-auth-card:hover {
    border-color: rgba(235, 201, 120, 0.28);
    box-shadow: var(--sa-shadow-deep), var(--sa-shadow-gold);
}

.sa-document-card:hover::before,
.sa-dashboard-card:hover::before,
.sa-auth-card:hover::before,
.sa-js-ready .sa-document-card:focus-within::before,
.sa-js-ready .sa-dashboard-card:focus-within::before,
.sa-js-ready .sa-auth-card:focus-within::before {
    opacity: 1;
}

.sa-document-card__body,
.sa-auth-card {
    padding: 26px;
}

.sa-dashboard-card {
    padding: 24px;
}

.sa-document-card__title,
.sa-dashboard-card-title,
.sa-auth-card__title {
    font-family:
        "Cormorant Garamond",
        "Times New Roman",
        serif;
    font-size: clamp(1.55rem, 2vw, 2rem);
    line-height: 1.06;
    color: #fff2cf;
    margin-bottom: 10px;
}

.sa-auth-card__header {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

.sa-auth-card__footer {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,0.06);
}

.sa-auth-link {
    color: var(--sa-gold-bright);
    transition: color var(--sa-transition-base);
}

.sa-auth-link:hover,
.sa-auth-link:focus-visible {
    color: #fff3c8;
}

/* ==========================================================================
   Meta / Lists / Badges
   ========================================================================== */

.sa-document-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.sa-document-meta__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    color: var(--sa-text-soft);
    font-size: 0.82rem;
    transition:
        border-color var(--sa-transition-base),
        background var(--sa-transition-base),
        color var(--sa-transition-base),
        transform var(--sa-transition-base);
}

.sa-document-meta__item strong {
    color: var(--sa-gold-bright);
    font-weight: 600;
}

.sa-document-meta__item.sa-meta-active,
.sa-document-meta__item:hover {
    border-color: rgba(235, 201, 120, 0.24);
    background: rgba(199, 165, 82, 0.08);
    color: #f5ebcf;
    transform: translateY(-1px);
}

.sa-dashboard-list,
.sa-document-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 16px;
}

.sa-dashboard-list li,
.sa-document-list li {
    padding: 14px 16px;
    border-radius: var(--sa-radius-sm);
    background: rgba(255,255,255,0.025);
    border: 1px solid rgba(255,255,255,0.05);
    color: var(--sa-text-soft);
    font-size: 0.95rem;
}

.sa-dashboard-list strong,
.sa-document-list strong {
    color: var(--sa-gold-bright);
    font-weight: 600;
}

.sa-login-success {
    color: var(--sa-success);
    font-weight: 600;
}

.sa-login-failed,
.sa-session-revoked {
    color: var(--sa-danger);
    font-weight: 600;
}

/* ==========================================================================
   Dashboard
   ========================================================================== */

.sa-dashboard {
    padding: 96px 0 76px;
}

.sa-dashboard-header {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
}

.sa-dashboard-title {
    font-family:
        "Cormorant Garamond",
        "Times New Roman",
        serif;
    font-size: clamp(2.25rem, 3.4vw, 3.5rem);
    line-height: 1;
    color: #fff2cf;
}

/* ==========================================================================
   Auth
   ========================================================================== */

.sa-auth-section {
    padding: 96px 0;
}

.sa-auth-container {
    width: min(100%, 560px);
}

.sa-auth-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sa-auth-field {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: transform var(--sa-transition-base);
}

.sa-auth-field.sa-input-focus {
    transform: translateY(-1px);
}

.sa-auth-label {
    color: var(--sa-text-muted);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sa-auth-input {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)),
        rgba(8, 8, 8, 0.98);
    color: #fff1d0;
    outline: none;
    transition:
        border-color var(--sa-transition-base),
        box-shadow var(--sa-transition-base),
        background var(--sa-transition-base),
        transform var(--sa-transition-base);
}

.sa-auth-input:hover {
    border-color: rgba(199, 165, 82, 0.24);
}

.sa-auth-input:focus {
    border-color: rgba(235, 201, 120, 0.46);
    box-shadow:
        0 0 0 4px rgba(199, 165, 82, 0.08),
        0 12px 24px rgba(0, 0, 0, 0.26);
    background: rgba(12, 12, 12, 1);
}

.sa-password-field {
    position: relative;
}

.sa-password-field .sa-auth-input {
    padding-right: 92px;
}

.sa-password-toggle {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(199, 165, 82, 0.18);
    background: rgba(255,255,255,0.03);
    color: var(--sa-text-soft);
    cursor: pointer;
    transition:
        border-color var(--sa-transition-base),
        color var(--sa-transition-base),
        background var(--sa-transition-base),
        transform var(--sa-transition-base);
}

.sa-password-toggle:hover,
.sa-password-toggle:focus-visible,
.sa-password-toggle.is-visible {
    border-color: rgba(235, 201, 120, 0.42);
    color: #fff0c9;
    background: rgba(199, 165, 82, 0.08);
}

.sa-password-toggle__icon {
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sa-password-toggle__icon svg {
    width: 16px;
    height: 16px;
}

.sa-password-toggle__text {
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sa-auth-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 4px;
}

.sa-auth-submit {
    min-width: 180px;
}

.sa-auth-alert {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    font-size: 0.95rem;
    border: 1px solid rgba(255,255,255,0.08);
}

.sa-auth-alert--error {
    color: #ffd6d0;
    background: rgba(210, 125, 116, 0.12);
    border-color: rgba(210, 125, 116, 0.26);
}

.sa-auth-alert--success {
    color: #e9f6dd;
    background: rgba(159, 190, 122, 0.12);
    border-color: rgba(159, 190, 122, 0.26);
}

/* ==========================================================================
   Archive Filters
   ========================================================================== */

.sa-archive-filters {
    display: grid;
    grid-template-columns: 1.5fr 0.8fr 1fr auto;
    gap: 16px;
    align-items: end;
}

.sa-archive-filters.sa-filter-dirty {
    filter: saturate(1.04);
}

/* ==========================================================================
   Pagination
   ========================================================================== */

.sa-pagination {
    margin-top: 34px;
    display: flex;
    justify-content: center;
}

/* ==========================================================================
   Generic Utility Surfaces
   ========================================================================== */

.sa-document-card__body > .sa-home-actions {
    margin-top: 18px;
}

.sa-document-card__body > .sa-document-meta + .sa-home-actions {
    margin-top: 18px;
}

/* ==========================================================================
   Reveal Motion
   ========================================================================== */

[data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity var(--sa-transition-slow),
        transform var(--sa-transition-slow);
}

[data-reveal].sa-reveal-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ==========================================================================
   Focus Visibility
   ========================================================================== */

body.sa-keyboard-nav a:focus-visible,
body.sa-keyboard-nav button:focus-visible,
body.sa-keyboard-nav input:focus-visible,
body.sa-keyboard-nav select:focus-visible,
body.sa-keyboard-nav textarea:focus-visible {
    outline: 2px solid rgba(235, 201, 120, 0.82);
    outline-offset: 3px;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1180px) {
    .sa-document-grid,
    .sa-dashboard-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sa-archive-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .sa-nav-toggle {
        display: inline-flex;
    }

    .sa-nav-menu {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1100;
        width: min(90vw, 420px);
        height: 100dvh;
        padding: 24px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 20px;
        background:
            linear-gradient(180deg, rgba(20,20,20,0.98), rgba(8,8,8,0.98)),
            rgba(10,10,10,0.98);
        border-left: 1px solid rgba(199, 165, 82, 0.18);
        box-shadow: -20px 0 50px rgba(0,0,0,0.42);
        transform: translateX(104%);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition:
            transform var(--sa-transition-base),
            opacity var(--sa-transition-base),
            visibility var(--sa-transition-base);
    }

    .sa-nav-menu.sa-nav-open {
        transform: translateX(0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .sa-nav-close {
        display: inline-flex;
        align-self: flex-end;
    }

    .sa-nav-list,
    .sa-nav-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .sa-nav-account {
        align-items: flex-start;
        margin-right: 0;
        padding: 0 2px;
    }

    .sa-nav-account__name {
        max-width: none;
        white-space: normal;
    }

    .sa-nav-link,
    .sa-nav-actions .sa-home-button,
    .sa-nav-form {
        width: 100%;
        justify-content: flex-start;
    }

    .sa-nav-form .sa-home-button {
        width: 100%;
        justify-content: flex-start;
    }

    .sa-home-stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .sa-section {
        padding: 68px 0;
    }

    .sa-home-hero,
    .sa-archive-hero {
        padding: 96px 0 58px;
    }

    .sa-document-grid,
    .sa-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .sa-archive-filters {
        grid-template-columns: 1fr;
    }

    .sa-document-card__body,
    .sa-auth-card,
    .sa-dashboard-card {
        padding: 22px;
    }

    .sa-home-actions {
        width: 100%;
    }

    .sa-home-actions > * {
        width: 100%;
    }

    .sa-home-button {
        width: 100%;
    }

    .sa-document-meta {
        gap: 8px;
    }

    .sa-document-meta__item {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    :root {
        --sa-header-height: 74px;
    }

    .sa-container {
        width: min(100% - 24px, var(--sa-container));
    }

    .sa-site-brand__subtitle {
        display: none;
    }

    .sa-home-title {
        font-size: clamp(2.2rem, 11vw, 3.2rem);
    }

    .sa-section-title,
    .sa-dashboard-title {
        font-size: clamp(1.8rem, 8vw, 2.5rem);
    }

    .sa-home-description,
    .sa-auth-card__text,
    .sa-document-card__text,
    .sa-dashboard-subtitle,
    .sa-dashboard-empty {
        font-size: 0.96rem;
    }

    .sa-document-card__title,
    .sa-dashboard-card-title,
    .sa-auth-card__title {
        font-size: 1.45rem;
    }
}

/* ==========================================================================
   Admin tools / tables
   ========================================================================== */

.sa-admin-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 28px;
}

.sa-admin-toolbar .sa-home-button {
    min-width: 180px;
    justify-content: center;
}

.sa-admin-table-wrap {
    margin-top: 16px;
    border-radius: var(--sa-radius-md);
    border: 1px solid rgba(255,255,255,0.06);
    background: rgba(255,255,255,0.02);
    overflow-x: auto;
}

.sa-admin-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.sa-admin-table th,
.sa-admin-table td {
    padding: 14px 16px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.sa-admin-table th {
    color: var(--sa-gold-bright);
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: rgba(255,255,255,0.02);
}

.sa-admin-table td {
    color: var(--sa-text-soft);
    font-size: 0.95rem;
}

.sa-admin-table tr:last-child td {
    border-bottom: 0;
}

.sa-admin-table td strong {
    color: #fff1cf;
}

.sa-admin-actions-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.sa-admin-badge {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.03);
    color: #f4e8c6;
    font-size: 0.8rem;
    line-height: 1;
    white-space: nowrap;
}

.sa-admin-badge.is-success {
    border-color: rgba(199, 165, 82, 0.32);
    background: rgba(199, 165, 82, 0.12);
}

.sa-admin-badge.is-danger {
    border-color: rgba(182, 66, 66, 0.28);
    background: rgba(182, 66, 66, 0.12);
}

.sa-admin-badge.is-muted {
    color: var(--sa-text-muted);
}

.sa-admin-grid-two {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
    gap: 22px;
}

.sa-admin-note {
    margin-top: 12px;
    color: var(--sa-text-muted);
    font-size: 0.92rem;
}

@media (max-width: 980px) {
    .sa-admin-grid-two {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Phase 4 Public Experience Upgrade
   ========================================================================== */

.sa-site-header {
    background: linear-gradient(180deg, rgba(8, 8, 8, 0.88), rgba(8, 8, 8, 0.74));
    border-bottom-color: rgba(199, 165, 82, 0.14);
}

.sa-site-header__inner {
    gap: 26px;
}

.sa-site-brand__logo {
    width: 52px;
    height: 52px;
}

.sa-nav {
    flex: 1;
    justify-content: flex-end;
}

.sa-nav-menu {
    flex: 1;
    justify-content: flex-end;
    gap: 16px;
}

.sa-nav-topline {
    display: none;
}

.sa-nav-list {
    padding: 6px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(255, 255, 255, 0.025);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.sa-nav-link {
    min-height: 44px;
    padding: 0 18px;
    font-size: 0.92rem;
    font-weight: 580;
}

.sa-nav-link.is-active {
    background: rgba(199, 165, 82, 0.12);
    box-shadow: inset 0 0 0 1px rgba(199, 165, 82, 0.18);
}

.sa-nav-actions {
    gap: 12px;
}

.sa-nav-actions .sa-home-button {
    min-height: 46px;
    padding: 0 18px;
}

.sa-nav-badge,
.sa-card-chip,
.sa-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(199, 165, 82, 0.24);
    background: rgba(199, 165, 82, 0.08);
    color: #f5e2b0;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sa-nav-member,
.sa-card-subtle {
    color: var(--sa-text-muted);
    font-size: 0.86rem;
}

.sa-hero-upgrade {
    padding-top: 136px;
    padding-bottom: 86px;
}

.sa-split-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.95fr);
    gap: 28px;
    align-items: stretch;
}

.sa-split-hero__main,
.sa-hero-panel-grid,
.sa-sidebar-stack,
.sa-results-stack {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.sa-hero-panel-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.sa-panel,
.sa-path-card,
.sa-collection-card,
.sa-empty-state {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,0.07);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015)),
        rgba(11, 11, 11, 0.95);
    box-shadow: var(--sa-shadow-card);
}

.sa-panel::before,
.sa-path-card::before,
.sa-collection-card::before,
.sa-empty-state::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, rgba(199, 165, 82, 0.12), transparent 32%);
    pointer-events: none;
}

.sa-panel--glow {
    border-color: rgba(199, 165, 82, 0.28);
    box-shadow: var(--sa-shadow-gold), var(--sa-shadow-card);
}

.sa-panel__eyebrow {
    display: block;
    margin-bottom: 12px;
    color: var(--sa-gold-bright);
    font-size: 0.76rem;
    font-weight: 650;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.sa-panel__metric {
    display: block;
    margin-bottom: 10px;
    color: #fff1ca;
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1;
}

.sa-panel__title,
.sa-path-card__title,
.sa-collection-card__title,
.sa-empty-state__title {
    margin-bottom: 10px;
    color: #fff0c9;
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-size: clamp(1.5rem, 2.2vw, 2.1rem);
    line-height: 1.06;
}

.sa-panel__text,
.sa-path-card__text,
.sa-collection-card__text,
.sa-empty-state__text,
.sa-footer-copy,
.sa-footer-note,
.sa-sidebar-links span,
.sa-mini-list {
    color: var(--sa-text-soft);
    font-size: 0.97rem;
    line-height: 1.72;
}

.sa-home-stats--expanded {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: none;
}

.sa-path-grid,
.sa-collection-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.sa-collection-grid--wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sa-path-card__index {
    display: inline-flex;
    margin-bottom: 14px;
    color: var(--sa-gold-bright);
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.18em;
}

.sa-collection-card__meta,
.sa-card-header-line,
.sa-results-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sa-collection-card__count {
    color: var(--sa-text-muted);
    font-size: 0.9rem;
}

.sa-chip-scroll {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px;
}

.sa-chip {
    padding: 0 14px;
    text-transform: none;
    letter-spacing: 0.01em;
}

.sa-chip span {
    color: var(--sa-text-muted);
    font-size: 0.8rem;
}

.sa-chip.is-active {
    border-color: rgba(235, 201, 120, 0.46);
    background: rgba(199, 165, 82, 0.16);
    color: #fff0c9;
}

.sa-chip.is-static {
    cursor: default;
    background: rgba(255,255,255,0.03);
    border-color: rgba(255,255,255,0.08);
    color: var(--sa-text-soft);
}

.sa-chip-scroll--summary {
    margin-top: 16px;
    margin-bottom: 0;
}

.sa-inline-link {
    color: #fff0c9;
    text-decoration: underline;
    text-decoration-color: rgba(199, 165, 82, 0.45);
    text-underline-offset: 0.18em;
}

.sa-inline-link:hover,
.sa-inline-link:focus-visible {
    color: var(--sa-gold-bright);
    text-decoration-color: rgba(235, 201, 120, 0.8);
}

.sa-filter-surface {
    padding: 22px;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,0.07);
    background: rgba(255,255,255,0.02);
    box-shadow: var(--sa-shadow-card);
}

.sa-filter-actions {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.sa-filter-actions .sa-home-button {
    min-width: 160px;
}

.sa-archive-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.7fr);
    gap: 22px;
    align-items: start;
}

.sa-sidebar-stack {
    position: sticky;
    top: calc(var(--sa-header-height) + 18px);
}

.sa-results-heading {
    margin-bottom: 18px;
}

.sa-mini-list {
    padding-left: 0;
}

.sa-mini-list li,
.sa-sidebar-links li {
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.sa-mini-list li:last-child,
.sa-sidebar-links li:last-child {
    border-bottom: 0;
}

.sa-sidebar-links {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sa-sidebar-links li {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sa-empty-state {
    text-align: center;
}

.sa-footer--upgrade {
    position: relative;
    padding: 44px 0 28px;
    margin-top: 40px;
    border-top: 1px solid rgba(199, 165, 82, 0.14);
    background: linear-gradient(180deg, rgba(255,255,255,0.015), rgba(255,255,255,0.01));
}

.sa-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(220px, 0.8fr));
    gap: 28px;
    align-items: start;
}

.sa-footer-brand-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.sa-footer-logo {
    width: 44px;
    height: 44px;
    border-radius: 50%;
}

.sa-footer-title {
    color: #fff1cf;
    font-size: 1.02rem;
    font-weight: 650;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.sa-footer-heading {
    margin-bottom: 12px;
    color: var(--sa-gold-bright);
    font-size: 0.78rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.sa-footer-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sa-footer-link {
    color: var(--sa-text-soft);
    transition: color var(--sa-transition-base), transform var(--sa-transition-base);
}

.sa-footer-link:hover,
.sa-footer-link:focus-visible {
    color: #fff0ca;
    transform: translateX(2px);
}

.sa-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,0.05);
}

.sa-footer-copyright {
    color: var(--sa-text-muted);
    font-size: 0.9rem;
}

@media (max-width: 1180px) {
    .sa-split-hero,
    .sa-archive-layout,
    .sa-footer-grid,
    .sa-home-stats--expanded,
    .sa-path-grid,
    .sa-collection-grid,
    .sa-collection-grid--wide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sa-split-hero__main {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1024px) {
    .sa-nav-menu {
        justify-content: flex-start;
    }

    .sa-nav-topline {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding-bottom: 10px;
        border-bottom: 1px solid rgba(255,255,255,0.06);
    }

    .sa-nav-list {
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .sa-nav-link {
        min-height: 50px;
        border-radius: 16px;
        justify-content: flex-start;
        padding: 0 16px;
        background: rgba(255,255,255,0.02);
    }

    .sa-nav-link.is-active {
        background: rgba(199, 165, 82, 0.12);
    }

    .sa-sidebar-stack {
        position: static;
    }

    .sa-archive-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .sa-hero-upgrade {
        padding-top: 108px;
    }

    .sa-split-hero,
    .sa-home-stats--expanded,
    .sa-path-grid,
    .sa-collection-grid,
    .sa-collection-grid--wide,
    .sa-footer-grid {
        grid-template-columns: 1fr;
    }

    .sa-panel,
    .sa-path-card,
    .sa-collection-card,
    .sa-empty-state,
    .sa-filter-surface {
        padding: 22px;
    }

    .sa-results-heading,
    .sa-collection-card__meta,
    .sa-card-header-line,
    .sa-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .sa-filter-actions {
        width: 100%;
    }

    .sa-filter-actions .sa-home-button {
        width: 100%;
    }
}

/* ==========================================================================
   Phase 5 Admin Experience Upgrade
   ========================================================================== */

.sa-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.sa-admin-shell {
    padding: 18px 0 8px;
}

.sa-admin-shell__bar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}

.sa-admin-shell__eyebrow {
    margin: 0 0 8px;
    color: var(--sa-gold-bright);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 0.72rem;
}

.sa-admin-shell__title {
    margin: 0;
    max-width: 780px;
    color: #f6ead0;
    font-size: 1.05rem;
    font-weight: 500;
}

.sa-admin-shell__quick {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sa-admin-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}

.sa-admin-tab {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.07);
    background: rgba(255,255,255,0.028);
    color: inherit;
    text-decoration: none;
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.sa-admin-tab:hover,
.sa-admin-tab:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(199, 165, 82, 0.32);
    background: rgba(199, 165, 82, 0.08);
    box-shadow: 0 16px 34px rgba(0,0,0,0.24);
}

.sa-admin-tab.is-active {
    border-color: rgba(199, 165, 82, 0.38);
    background: linear-gradient(180deg, rgba(199, 165, 82, 0.12), rgba(255,255,255,0.03));
}

.sa-admin-tab__label {
    color: #fff1cf;
    font-size: 1rem;
    font-weight: 600;
}

.sa-admin-tab__meta {
    color: var(--sa-text-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.sa-admin-kpi-grid,
.sa-admin-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.sa-admin-kpi-card,
.sa-admin-quick-card {
    padding: 20px 22px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,0.06);
    background: linear-gradient(180deg, rgba(255,255,255,0.038), rgba(255,255,255,0.02));
    box-shadow: 0 18px 44px rgba(0,0,0,0.22);
}

.sa-admin-kpi-card__label {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--sa-gold-bright);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.72rem;
}

.sa-admin-kpi-card__value {
    display: block;
    color: #fff5dc;
    font-size: clamp(1.9rem, 3vw, 2.8rem);
    line-height: 1;
}

.sa-admin-kpi-card__meta {
    margin: 12px 0 0;
    color: var(--sa-text-muted);
    font-size: 0.95rem;
}

.sa-admin-quick-card .sa-dashboard-card-title {
    margin-bottom: 10px;
}

.sa-admin-card-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
}

.sa-admin-filter-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px 16px;
    align-items: end;
}

.sa-admin-filter-grid .sa-admin-actions-inline {
    margin-top: 12px;
}

.sa-admin-bulkbar {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-bottom: 18px;
}

.sa-admin-bulkbar .sa-auth-input {
    width: min(100%, 320px);
}

.sa-admin-activity-stack {
    display: grid;
    gap: 14px;
}

.sa-admin-activity-item {
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.06);
    background: rgba(255,255,255,0.025);
}

.sa-admin-activity-item__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.sa-admin-activity-item__head time {
    color: var(--sa-text-muted);
    font-size: 0.86rem;
}

.sa-admin-activity-item p {
    margin: 0 0 8px;
}

@media (max-width: 1180px) {
    .sa-admin-kpi-grid,
    .sa-admin-quick-grid,
    .sa-admin-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .sa-admin-shell__bar,
    .sa-admin-card-heading {
        flex-direction: column;
    }
}

@media (max-width: 680px) {
    .sa-admin-tabs,
    .sa-admin-kpi-grid,
    .sa-admin-quick-grid,
    .sa-admin-filter-grid {
        grid-template-columns: 1fr;
    }

    .sa-admin-tab,
    .sa-admin-kpi-card,
    .sa-admin-quick-card,
    .sa-admin-activity-item {
        border-radius: 18px;
    }
}

/* ==========================================================================
   Phase 6 — Admin editor UX, cover media and record cards
   ========================================================================== */

.sa-admin-editor-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.95fr);
    gap: 1.5rem;
    align-items: start;
}

.sa-admin-editor-main,
.sa-admin-editor-sidebar {
    min-width: 0;
}

.sa-admin-editor-sidebar {
    display: grid;
    gap: 1.25rem;
}

.sa-admin-editor-form {
    display: grid;
    gap: 1.125rem;
}

.sa-admin-editor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.sa-admin-editor-section {
    display: grid;
    gap: 1rem;
    padding-top: 0.25rem;
    border-top: 1px solid rgba(212, 179, 94, 0.18);
}

.sa-auth-help {
    display: inline-block;
    margin-top: 0.45rem;
    font-size: 0.82rem;
    line-height: 1.45;
    color: rgba(234, 226, 204, 0.68);
}

.sa-checkbox-inline {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(212, 179, 94, 0.18);
    background: rgba(17, 17, 21, 0.86);
    color: rgba(244, 239, 222, 0.9);
}

.sa-checkbox-inline input {
    margin-top: 0.2rem;
}

.sa-admin-preview-card {
    display: grid;
    gap: 0.85rem;
}

.sa-admin-preview-card__title {
    margin: 0;
    font-size: 1.3rem;
    line-height: 1.2;
    color: #f4efde;
}

.sa-admin-preview-card__text {
    margin: 0;
    color: rgba(236, 229, 210, 0.72);
    line-height: 1.6;
}

.sa-admin-cover-preview {
    overflow: hidden;
    border-radius: 1.2rem;
    border: 1px solid rgba(212, 179, 94, 0.18);
    background: rgba(10, 10, 13, 0.9);
    aspect-ratio: 4 / 3;
}

.sa-admin-cover-preview img,
.sa-document-card__media img,
.sa-panel__cover-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sa-document-card.has-cover {
    overflow: hidden;
}

.sa-document-card__media {
    position: relative;
    display: block;
    aspect-ratio: 1.45 / 1;
    overflow: hidden;
    border-bottom: 1px solid rgba(212, 179, 94, 0.12);
    background:
        radial-gradient(circle at 20% 20%, rgba(212, 179, 94, 0.18), transparent 50%),
        linear-gradient(180deg, rgba(18, 18, 24, 0.85), rgba(10, 10, 12, 0.96));
}

.sa-document-card__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 10, 14, 0.05), rgba(10, 10, 14, 0.42));
}

.sa-panel--cover {
    padding: 0;
    overflow: hidden;
    min-height: 240px;
}

.sa-panel__cover-image {
    min-height: 240px;
}

.sa-reader-layout {
    display: grid;
    grid-template-columns: minmax(250px, 0.78fr) minmax(0, 1.55fr);
    gap: 1.5rem;
    align-items: start;
}

.sa-reader-sidebar {
    display: grid;
    gap: 1rem;
    position: sticky;
    top: 120px;
}

.sa-reader-surface {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 4vw, 44px);
    border-radius: 30px;
    border: 1px solid rgba(212, 179, 94, 0.16);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015)),
        linear-gradient(180deg, rgba(199,165,82,0.08), rgba(199,165,82,0.02)),
        rgba(10, 10, 12, 0.96);
    box-shadow: var(--sa-shadow-card), 0 24px 70px rgba(0,0,0,0.26);
}

.sa-reader-surface::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, rgba(235, 201, 120, 0.12), transparent 34%);
    pointer-events: none;
}

.sa-reader-kicker {
    display: inline-flex;
    margin-bottom: 1rem;
    padding: 0.38rem 0.82rem;
    border-radius: 999px;
    border: 1px solid rgba(212, 179, 94, 0.22);
    background: rgba(199, 165, 82, 0.09);
    color: var(--sa-gold-bright);
    font-size: 0.76rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.sa-reader-lead {
    position: relative;
    z-index: 1;
    margin: 0 0 1.4rem;
    color: rgba(244, 237, 218, 0.84);
    font-size: 1.08rem;
    line-height: 1.9;
    max-width: 58ch;
}

.sa-reader-body {
    position: relative;
    z-index: 1;
    color: rgba(244, 239, 222, 0.92);
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-size: clamp(1.15rem, 1.7vw, 1.34rem);
    line-height: 1.9;
}

.sa-reader-body > * + * {
    margin-top: 1.1rem;
}

.sa-reader-body h2,
.sa-reader-body h3,
.sa-reader-body h4 {
    margin-top: 2rem;
    margin-bottom: 0.55rem;
    color: #fff2cf;
    line-height: 1.12;
}

.sa-reader-body h2 {
    font-size: clamp(2rem, 2.8vw, 2.8rem);
}

.sa-reader-body h3 {
    font-size: clamp(1.55rem, 2.1vw, 2rem);
}

.sa-reader-body h4 {
    font-size: clamp(1.28rem, 1.7vw, 1.56rem);
}

.sa-reader-body p {
    margin: 0;
}

.sa-reader-body hr {
    border: 0;
    height: 1px;
    margin: 2rem 0;
    background: linear-gradient(90deg, transparent, rgba(235, 201, 120, 0.52), transparent);
}

.sa-reader-body ul,
.sa-reader-body ol {
    margin: 0;
    padding-left: 1.35rem;
}

.sa-reader-body li + li {
    margin-top: 0.38rem;
}

.sa-reader-body blockquote {
    margin: 1.6rem 0;
    padding: 1.1rem 1.2rem 1.1rem 1.35rem;
    border-left: 3px solid rgba(235, 201, 120, 0.52);
    border-radius: 0 18px 18px 0;
    background: rgba(255,255,255,0.03);
    color: #f5ecd3;
}

.sa-reader-body code {
    padding: 0.08rem 0.38rem;
    border-radius: 0.4rem;
    background: rgba(255,255,255,0.08);
    color: #fff0c5;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.92em;
}

.sa-reader-body pre {
    margin: 1.6rem 0;
    padding: 1rem 1.1rem;
    overflow: auto;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(3, 3, 5, 0.86);
}

.sa-reader-body pre code {
    padding: 0;
    background: transparent;
}

.sa-reader-body a {
    color: #fff0c5;
    text-decoration: underline;
    text-decoration-color: rgba(235, 201, 120, 0.42);
    text-underline-offset: 0.18em;
}

.sa-reader-empty {
    margin: 0;
    color: var(--sa-text-soft);
    line-height: 1.75;
}


.sa-reader-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 0 0 1.35rem;
}

.sa-reader-overview__item,
.sa-reader-device-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.42rem 0.8rem;
    border-radius: 999px;
    border: 1px solid rgba(212, 179, 94, 0.16);
    background: rgba(255,255,255,0.03);
    color: rgba(244, 239, 222, 0.84);
    font-size: 0.82rem;
    letter-spacing: 0.04em;
}

.sa-reader-device-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 0.9rem;
}

.sa-reader-toc {
    display: grid;
    gap: 0.45rem;
}

.sa-reader-toc__link {
    display: block;
    padding: 0.78rem 0.9rem;
    border-radius: 1rem;
    border: 1px solid rgba(212, 179, 94, 0.1);
    background: rgba(255,255,255,0.02);
    color: rgba(244, 239, 222, 0.84);
    text-decoration: none;
    line-height: 1.45;
    transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.sa-reader-toc__link:hover,
.sa-reader-toc__link:focus-visible,
.sa-reader-toc__link.is-active {
    border-color: rgba(212, 179, 94, 0.32);
    background: rgba(212, 179, 94, 0.1);
    color: #fff3d0;
    transform: translateX(2px);
}

.sa-reader-toc__link--level-3 {
    margin-left: 0.65rem;
}

.sa-reader-toc__link--level-4 {
    margin-left: 1.15rem;
}

.sa-reader-heading {
    position: relative;
    scroll-margin-top: 120px;
    display: flex;
    align-items: baseline;
    gap: 0.65rem;
}

.sa-reader-heading__anchor {
    flex: 0 0 auto;
    opacity: 0;
    transform: translateY(2px);
    color: rgba(212, 179, 94, 0.64);
    text-decoration: none;
    transition: opacity 180ms ease, transform 180ms ease, color 180ms ease;
}

.sa-reader-heading:hover .sa-reader-heading__anchor,
.sa-reader-heading:focus-within .sa-reader-heading__anchor {
    opacity: 1;
    transform: translateY(0);
}

.sa-reader-heading__anchor:hover,
.sa-reader-heading__anchor:focus-visible {
    color: #fff3d0;
}

.sa-reader-callout {
    margin: 1.8rem 0;
    padding: 1.05rem 1.1rem 1.1rem;
    border-radius: 1.25rem;
    border: 1px solid rgba(212, 179, 94, 0.18);
    background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018));
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.sa-reader-callout--curator {
    border-color: rgba(212, 179, 94, 0.28);
    background:
        linear-gradient(180deg, rgba(212, 179, 94, 0.09), rgba(212, 179, 94, 0.025)),
        rgba(255,255,255,0.02);
}

.sa-reader-callout__label {
    display: inline-flex;
    margin-bottom: 0.8rem;
    padding: 0.34rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(212, 179, 94, 0.2);
    background: rgba(212, 179, 94, 0.08);
    color: #fff1c7;
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sa-reader-callout__body {
    color: rgba(244, 239, 222, 0.88);
}

.sa-reader-callout__body > * + * {
    margin-top: 0.9rem;
}

.sa-reader-pullquote {
    position: relative;
    margin: 2.1rem 0;
    padding: 1.4rem 1.4rem 1.2rem 2.7rem;
    border-radius: 1.5rem;
    border: 1px solid rgba(212, 179, 94, 0.22);
    background:
        radial-gradient(circle at top left, rgba(212, 179, 94, 0.14), transparent 46%),
        rgba(255,255,255,0.03);
}

.sa-reader-pullquote__mark {
    position: absolute;
    left: 1rem;
    top: 0.4rem;
    color: rgba(212, 179, 94, 0.5);
    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1;
}

.sa-reader-pullquote__body {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff1d2;
}

.sa-reader-pullquote__body p {
    font-size: clamp(1.22rem, 2vw, 1.56rem);
    line-height: 1.6;
}

.sa-reader-pullquote__caption {
    margin-top: 0.9rem;
    color: rgba(244, 239, 222, 0.66);
    font-size: 0.9rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


.sa-dossier-shell {
    --sa-dossier-accent-rgb: 212, 179, 94;
    --sa-dossier-accent-soft-rgb: 255, 235, 185;
    --sa-dossier-shell-rgb: 10, 10, 12;
    --sa-dossier-panel-rgb: 18, 18, 22;
    --sa-dossier-secondary-rgb: 120, 84, 42;
    --sa-dossier-paper-rgb: 244, 239, 222;
}

.sa-dossier-theme--archive {
    --sa-dossier-accent-rgb: 212, 179, 94;
    --sa-dossier-accent-soft-rgb: 255, 236, 193;
    --sa-dossier-shell-rgb: 10, 10, 12;
    --sa-dossier-panel-rgb: 17, 17, 21;
    --sa-dossier-secondary-rgb: 96, 70, 34;
}

.sa-dossier-theme--civilizations {
    --sa-dossier-accent-rgb: 201, 153, 78;
    --sa-dossier-accent-soft-rgb: 247, 224, 180;
    --sa-dossier-shell-rgb: 12, 10, 8;
    --sa-dossier-panel-rgb: 22, 17, 13;
    --sa-dossier-secondary-rgb: 118, 52, 30;
}

.sa-dossier-theme--symbols {
    --sa-dossier-accent-rgb: 188, 151, 232;
    --sa-dossier-accent-soft-rgb: 237, 222, 255;
    --sa-dossier-shell-rgb: 11, 10, 16;
    --sa-dossier-panel-rgb: 17, 14, 26;
    --sa-dossier-secondary-rgb: 70, 56, 122;
}

.sa-dossier-theme--institutions {
    --sa-dossier-accent-rgb: 131, 182, 160;
    --sa-dossier-accent-soft-rgb: 220, 246, 236;
    --sa-dossier-shell-rgb: 9, 11, 13;
    --sa-dossier-panel-rgb: 13, 20, 22;
    --sa-dossier-secondary-rgb: 46, 92, 86;
}

.sa-dossier-hero {
    position: relative;
    overflow: hidden;
}

.sa-dossier-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 18%, rgba(var(--sa-dossier-accent-rgb), 0.18), transparent 26%),
        radial-gradient(circle at 88% 12%, rgba(var(--sa-dossier-secondary-rgb), 0.18), transparent 28%),
        linear-gradient(180deg, rgba(var(--sa-dossier-shell-rgb), 0.08), rgba(var(--sa-dossier-shell-rgb), 0.32));
    pointer-events: none;
}

.sa-dossier-hero__grid {
    position: relative;
}

.sa-dossier-hero__main,
.sa-dossier-hero__aside {
    position: relative;
    z-index: 1;
}

.sa-dossier-hero__title {
    max-width: 14ch;
}

.sa-dossier-hero__summary {
    max-width: 60ch;
}

.sa-dossier-eyebrow-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    align-items: center;
    margin-bottom: 0.95rem;
}

.sa-dossier-meta-pills .sa-document-meta__item {
    border-color: rgba(var(--sa-dossier-accent-rgb), 0.18);
    background: rgba(255, 255, 255, 0.03);
}

.sa-dossier-cover-panel {
    background:
        radial-gradient(circle at top, rgba(var(--sa-dossier-accent-rgb), 0.16), transparent 45%),
        linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01)),
        rgba(var(--sa-dossier-panel-rgb), 0.96);
}

.sa-dossier-cover-frame {
    position: relative;
    height: 100%;
    min-height: 240px;
    padding: 1rem;
}

.sa-dossier-cover-frame::before,
.sa-dossier-cover-frame::after {
    content: '';
    position: absolute;
    inset: 12px;
    border-radius: 1.35rem;
    pointer-events: none;
}

.sa-dossier-cover-frame::before {
    border: 1px solid rgba(var(--sa-dossier-accent-rgb), 0.26);
}

.sa-dossier-cover-frame::after {
    inset: 22px;
    border: 1px solid rgba(var(--sa-dossier-accent-soft-rgb), 0.12);
}

.sa-dossier-cover-frame .sa-panel__cover-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 240px;
    object-fit: cover;
    border-radius: 1.1rem;
}

.sa-dossier-hero__panel {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015)),
        rgba(var(--sa-dossier-panel-rgb), 0.94);
    border-color: rgba(var(--sa-dossier-accent-rgb), 0.18);
}

.sa-dossier-reader-band {
    position: relative;
}

.sa-dossier-reader-band::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 90% 4%, rgba(var(--sa-dossier-accent-rgb), 0.1), transparent 24%),
        radial-gradient(circle at 8% 96%, rgba(var(--sa-dossier-secondary-rgb), 0.1), transparent 24%);
    pointer-events: none;
}

.sa-dossier-surface {
    border-color: rgba(var(--sa-dossier-accent-rgb), 0.18);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015)),
        linear-gradient(180deg, rgba(var(--sa-dossier-accent-rgb), 0.08), rgba(var(--sa-dossier-accent-rgb), 0.02)),
        rgba(var(--sa-dossier-shell-rgb), 0.97);
    box-shadow: var(--sa-shadow-card), 0 26px 70px rgba(0,0,0,0.32);
}

.sa-dossier-surface::before {
    background:
        radial-gradient(circle at top right, rgba(var(--sa-dossier-accent-rgb), 0.15), transparent 34%),
        radial-gradient(circle at bottom left, rgba(var(--sa-dossier-secondary-rgb), 0.12), transparent 32%);
}

.sa-dossier-surface__ornament {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 0.95rem;
    margin-bottom: 1.2rem;
}

.sa-dossier-surface__sigil {
    flex: 0 0 auto;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    border: 1px solid rgba(var(--sa-dossier-accent-rgb), 0.34);
    background:
        radial-gradient(circle at 35% 35%, rgba(var(--sa-dossier-accent-soft-rgb), 0.28), transparent 38%),
        linear-gradient(135deg, rgba(var(--sa-dossier-accent-rgb), 0.22), rgba(var(--sa-dossier-secondary-rgb), 0.18));
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 10px 28px rgba(0,0,0,0.18);
}

.sa-dossier-surface__rule {
    display: block;
    flex: 1 1 auto;
    height: 1px;
    background: linear-gradient(90deg, rgba(var(--sa-dossier-accent-rgb), 0.75), rgba(var(--sa-dossier-accent-rgb), 0.14), transparent);
}

.sa-dossier-surface__masthead {
    position: relative;
    z-index: 1;
    margin-bottom: 1.45rem;
}

.sa-dossier-surface__kicker-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    align-items: center;
    margin-bottom: 1rem;
}

.sa-dossier-accent-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.42rem 0.82rem;
    border-radius: 999px;
    border: 1px solid rgba(var(--sa-dossier-accent-rgb), 0.18);
    background: rgba(var(--sa-dossier-accent-rgb), 0.08);
    color: rgba(var(--sa-dossier-accent-soft-rgb), 0.96);
    font-size: 0.76rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.sa-dossier-theme-panel .sa-reader-device-pill,
.sa-dossier-theme-panel .sa-reader-overview__item,
.sa-dossier-shell .sa-reader-device-pill,
.sa-dossier-shell .sa-reader-overview__item {
    border-color: rgba(var(--sa-dossier-accent-rgb), 0.16);
    background: rgba(255,255,255,0.03);
}

.sa-dossier-shell .sa-reader-kicker {
    border-color: rgba(var(--sa-dossier-accent-rgb), 0.24);
    background: rgba(var(--sa-dossier-accent-rgb), 0.09);
    color: rgba(var(--sa-dossier-accent-soft-rgb), 0.96);
}

.sa-dossier-shell .sa-reader-toc__link {
    border-color: rgba(var(--sa-dossier-accent-rgb), 0.12);
}

.sa-dossier-shell .sa-reader-toc__link:hover,
.sa-dossier-shell .sa-reader-toc__link:focus-visible,
.sa-dossier-shell .sa-reader-toc__link.is-active {
    border-color: rgba(var(--sa-dossier-accent-rgb), 0.34);
    background: rgba(var(--sa-dossier-accent-rgb), 0.1);
    color: rgba(var(--sa-dossier-accent-soft-rgb), 0.98);
}

.sa-dossier-shell .sa-reader-body {
    color: rgba(var(--sa-dossier-paper-rgb), 0.94);
}

.sa-dossier-shell .sa-reader-body h2,
.sa-dossier-shell .sa-reader-body h3,
.sa-dossier-shell .sa-reader-body h4 {
    color: rgba(var(--sa-dossier-accent-soft-rgb), 0.98);
}

.sa-dossier-shell .sa-reader-body hr {
    background: linear-gradient(90deg, transparent, rgba(var(--sa-dossier-accent-rgb), 0.62), transparent);
}

.sa-dossier-shell .sa-reader-body blockquote {
    border-left-color: rgba(var(--sa-dossier-accent-rgb), 0.54);
    background: rgba(255,255,255,0.035);
}

.sa-dossier-shell .sa-reader-body a,
.sa-dossier-shell .sa-reader-body code,
.sa-dossier-shell .sa-reader-heading__anchor:hover,
.sa-dossier-shell .sa-reader-heading__anchor:focus-visible {
    color: rgba(var(--sa-dossier-accent-soft-rgb), 0.98);
}

.sa-dossier-shell .sa-reader-callout {
    border-color: rgba(var(--sa-dossier-accent-rgb), 0.22);
    background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018));
}

.sa-dossier-shell .sa-reader-callout--curator {
    background:
        linear-gradient(180deg, rgba(var(--sa-dossier-accent-rgb), 0.1), rgba(var(--sa-dossier-accent-rgb), 0.03)),
        rgba(255,255,255,0.02);
}

.sa-dossier-shell .sa-reader-callout__label {
    border-color: rgba(var(--sa-dossier-accent-rgb), 0.22);
    background: rgba(var(--sa-dossier-accent-rgb), 0.08);
    color: rgba(var(--sa-dossier-accent-soft-rgb), 0.98);
}

.sa-dossier-shell .sa-reader-pullquote {
    border-color: rgba(var(--sa-dossier-accent-rgb), 0.24);
    background:
        radial-gradient(circle at top left, rgba(var(--sa-dossier-accent-rgb), 0.16), transparent 46%),
        rgba(255,255,255,0.03);
}

.sa-dossier-shell .sa-reader-pullquote__mark {
    color: rgba(var(--sa-dossier-accent-rgb), 0.54);
}

.sa-dossier-shell .sa-reader-pullquote__body,
.sa-dossier-shell .sa-reader-pullquote__caption {
    color: rgba(var(--sa-dossier-accent-soft-rgb), 0.9);
}

.sa-dossier-variant--lineage .sa-dossier-surface__sigil {
    border-radius: 999px;
    background:
        radial-gradient(circle at center, rgba(var(--sa-dossier-accent-soft-rgb), 0.24) 0 18%, transparent 19% 100%),
        repeating-linear-gradient(90deg, rgba(var(--sa-dossier-accent-rgb), 0.28) 0 2px, transparent 2px 8px),
        linear-gradient(135deg, rgba(var(--sa-dossier-accent-rgb), 0.16), rgba(var(--sa-dossier-secondary-rgb), 0.18));
}

.sa-dossier-variant--ritual-order .sa-dossier-surface__sigil {
    background:
        conic-gradient(from 90deg, rgba(var(--sa-dossier-accent-rgb), 0.24), rgba(var(--sa-dossier-secondary-rgb), 0.18), rgba(var(--sa-dossier-accent-rgb), 0.24)),
        linear-gradient(135deg, rgba(var(--sa-dossier-accent-rgb), 0.18), rgba(var(--sa-dossier-secondary-rgb), 0.18));
}

.sa-dossier-variant--sovereignty .sa-dossier-surface__sigil,
.sa-dossier-variant--seal .sa-dossier-surface__sigil,
.sa-dossier-variant--office .sa-dossier-surface__sigil,
.sa-dossier-variant--canon .sa-dossier-surface__sigil,
.sa-dossier-variant--deep-study .sa-dossier-surface__sigil,
.sa-dossier-variant--sacred-form .sa-dossier-surface__sigil {
    background:
        linear-gradient(135deg, rgba(var(--sa-dossier-accent-rgb), 0.24), rgba(var(--sa-dossier-secondary-rgb), 0.2)),
        radial-gradient(circle at center, rgba(var(--sa-dossier-accent-soft-rgb), 0.16), transparent 44%);
}

.sa-dossier-variant--sovereignty .sa-dossier-surface__sigil {
    clip-path: polygon(50% 0%, 88% 16%, 100% 52%, 82% 100%, 18% 100%, 0% 52%, 12% 16%);
}

.sa-dossier-variant--seal .sa-dossier-surface__sigil {
    border-radius: 999px;
    box-shadow: inset 0 0 0 6px rgba(var(--sa-dossier-accent-rgb), 0.12), 0 10px 28px rgba(0,0,0,0.18);
}

.sa-dossier-variant--sacred-form .sa-dossier-surface__sigil {
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.sa-dossier-variant--canon .sa-dossier-surface,
.sa-dossier-variant--office .sa-dossier-surface {
    border-radius: 20px;
}

.sa-dossier-variant--deep-study .sa-dossier-surface {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.01)),
        linear-gradient(180deg, rgba(var(--sa-dossier-accent-rgb), 0.06), rgba(var(--sa-dossier-accent-rgb), 0.015)),
        rgba(var(--sa-dossier-shell-rgb), 0.985);
}

.sa-dossier-variant--deep-study .sa-reader-lead {
    max-width: 62ch;
}

@media (max-width: 1024px) {
    .sa-dossier-cover-frame {
        min-height: 200px;
    }

    .sa-dossier-cover-frame .sa-panel__cover-image {
        min-height: 200px;
    }
}

@media (max-width: 720px) {
    .sa-dossier-eyebrow-row,
    .sa-dossier-surface__kicker-row {
        gap: 0.5rem;
    }

    .sa-dossier-surface__ornament {
        margin-bottom: 1rem;
    }

    .sa-dossier-surface__sigil {
        width: 46px;
        height: 46px;
    }
}

.sa-admin-composer-palette {
    display: grid;
    gap: 0.85rem;
    margin-top: 0.95rem;
    padding: 1rem;
    border-radius: 1.2rem;
    border: 1px solid rgba(212, 179, 94, 0.14);
    background: rgba(255,255,255,0.02);
}

.sa-admin-composer-palette__label {
    color: #fff0c5;
    font-size: 0.82rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.sa-admin-composer-palette__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.sa-admin-composer-chip {
    appearance: none;
    border: 1px solid rgba(212, 179, 94, 0.18);
    background: rgba(255,255,255,0.035);
    color: rgba(244, 239, 222, 0.9);
    border-radius: 999px;
    padding: 0.52rem 0.82rem;
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.sa-admin-composer-chip:hover,
.sa-admin-composer-chip:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(212, 179, 94, 0.36);
    background: rgba(212, 179, 94, 0.09);
}

.sa-admin-composer-guide {
    display: grid;
    gap: 0.7rem;
    color: rgba(244, 239, 222, 0.82);
    line-height: 1.6;
}

.sa-admin-composer-guide__item code,
.sa-mini-list code {
    padding: 0.08rem 0.35rem;
    border-radius: 0.45rem;
    background: rgba(255,255,255,0.08);
    color: #fff0c5;
    font-size: 0.92em;
}

.sa-format-panel[hidden] {
    display: none !important;
}

.sa-admin-format-notice {
    margin: -0.1rem 0 0.35rem;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(212, 179, 94, 0.18);
    background: rgba(255,255,255,0.025);
    color: rgba(244, 239, 222, 0.84);
    line-height: 1.65;
}

@media (max-width: 1080px) {
    .sa-admin-editor-layout,
    .sa-reader-layout {
        grid-template-columns: 1fr;
    }

    .sa-reader-sidebar {
        position: static;
    }
}

@media (max-width: 760px) {
    .sa-admin-editor-grid {
        grid-template-columns: 1fr;
    }

    .sa-document-card__media {
        aspect-ratio: 1.2 / 1;
    }
}


@media (max-width: 640px) {
    .sa-password-field .sa-auth-input {
        padding-right: 78px;
    }

    .sa-password-toggle {
        min-height: 34px;
        padding: 0 10px;
    }

    .sa-password-toggle__text {
        font-size: 0.7rem;
    }
}


/* ==========================================================================
   Account self-service
   ========================================================================== */

.sa-account-card-lead {
    margin: 0 0 1rem;
    color: var(--sa-text-muted);
    line-height: 1.65;
}

.sa-account-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.sa-account-muted {
    margin: -0.25rem 0 0;
    color: var(--sa-text-muted);
    font-size: 0.92rem;
    line-height: 1.65;
}

.sa-account-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 1rem;
}

.sa-account-section-head .sa-account-card-lead {
    margin-bottom: 0;
}

.sa-account-session-list {
    gap: 14px;
}

.sa-account-session-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.sa-account-session-copy {
    display: grid;
    gap: 6px;
}

.sa-account-inline-actions {
    flex-shrink: 0;
    align-self: center;
}

@media (max-width: 900px) {
    .sa-account-form-grid {
        grid-template-columns: 1fr;
    }

    .sa-account-section-head,
    .sa-account-session-item {
        flex-direction: column;
    }

    .sa-account-inline-actions {
        align-self: flex-start;
    }
}


/* ==========================================================================
   Reading Room / Member Archive
   ========================================================================== */

.sa-reading-room-hero {
    position: relative;
    padding: 104px 0 76px;
}

.sa-reading-room-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top left, rgba(235,201,120,0.12), transparent 36%),
        radial-gradient(circle at bottom right, rgba(235,201,120,0.08), transparent 34%);
    pointer-events: none;
}

.sa-reading-room-shell {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr);
    gap: 28px;
    align-items: stretch;
}

.sa-reading-room-shell__main,
.sa-reading-room-shell__side {
    position: relative;
    z-index: 1;
}

.sa-reading-room-shell__main {
    padding: 34px;
    border-radius: var(--sa-radius-lg);
    border: 1px solid rgba(235,201,120,0.18);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015)),
        linear-gradient(135deg, rgba(199,165,82,0.10), transparent 56%),
        rgba(6, 6, 6, 0.94);
    box-shadow: var(--sa-shadow-card);
}

.sa-reading-room-shell__side {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.sa-reading-lane {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.sa-reading-card {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    padding: 24px;
    border-radius: var(--sa-radius-lg);
    border: 1px solid rgba(235,201,120,0.16);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01)),
        linear-gradient(180deg, rgba(199,165,82,0.08), transparent 50%),
        rgba(8, 8, 8, 0.95);
    box-shadow: var(--sa-shadow-card);
}

.sa-reading-card::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, rgba(235,201,120,0.9), rgba(235,201,120,0.08));
}

.sa-reading-card--member {
    border-color: rgba(235,201,120,0.28);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01)),
        linear-gradient(135deg, rgba(199,165,82,0.14), transparent 58%),
        rgba(9, 8, 5, 0.96);
}

.sa-reading-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.sa-reading-card__title,
.sa-reading-shelf__title {
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-size: clamp(1.6rem, 2vw, 2.1rem);
    line-height: 1.06;
    color: #fff2cf;
    margin-bottom: 12px;
}

.sa-reading-card__text {
    color: var(--sa-text-soft);
    font-size: 1rem;
    line-height: 1.7;
}

.sa-reading-shelves {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.sa-reading-shelf {
    padding: 24px;
    border-radius: var(--sa-radius-lg);
    border: 1px solid rgba(255,255,255,0.07);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.012)),
        rgba(10, 10, 10, 0.95);
    box-shadow: var(--sa-shadow-card);
}

.sa-reading-shelf__header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: end;
    margin-bottom: 18px;
}

.sa-reading-shelf__items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.sa-reading-shelf__item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 100%;
    padding: 18px;
    border-radius: var(--sa-radius-sm);
    border: 1px solid rgba(255,255,255,0.06);
    background: rgba(255,255,255,0.02);
    color: var(--sa-text-soft);
    transition: transform var(--sa-transition-base), border-color var(--sa-transition-base), background var(--sa-transition-base);
}

.sa-reading-shelf__item:hover,
.sa-reading-shelf__item:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(235,201,120,0.22);
    background: rgba(199,165,82,0.08);
}

.sa-reading-shelf__item strong {
    color: #fff0c6;
    font-size: 1.08rem;
}

.sa-reading-shelf__label {
    color: var(--sa-gold-bright);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sa-reading-room-locked {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) auto;
    gap: 24px;
    align-items: center;
    padding: 28px;
    border-radius: var(--sa-radius-lg);
    border: 1px solid rgba(235,201,120,0.16);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01)),
        linear-gradient(135deg, rgba(199,165,82,0.09), transparent 52%),
        rgba(8, 8, 8, 0.96);
    box-shadow: var(--sa-shadow-card);
}

.sa-member-archive-hero .sa-reading-room-shell__main {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015)),
        linear-gradient(135deg, rgba(199,165,82,0.16), transparent 55%),
        rgba(5, 5, 5, 0.95);
}

@media (max-width: 1100px) {
    .sa-reading-room-shell,
    .sa-reading-room-locked {
        grid-template-columns: 1fr;
    }

    .sa-reading-lane,
    .sa-reading-shelf__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .sa-reading-room-hero {
        padding: 92px 0 60px;
    }

    .sa-reading-room-shell__main,
    .sa-reading-shelf,
    .sa-reading-room-locked,
    .sa-reading-card {
        padding: 22px;
    }

    .sa-reading-lane,
    .sa-reading-shelf__items {
        grid-template-columns: 1fr;
    }

    .sa-reading-card__meta,
    .sa-reading-shelf__header {
        flex-direction: column;
        align-items: start;
    }
}

.sa-document-curator-line {
    margin: -0.25rem 0 1.1rem;
    color: rgba(214, 194, 124, 0.92);
    font-size: 0.98rem;
    letter-spacing: 0.02em;
}

.sa-programme-spotlight {
    display: grid;
    gap: 1.4rem;
}

.sa-programme-spotlight__main,
.sa-series-card,
.sa-series-nav-card {
    border: 1px solid rgba(212, 181, 98, 0.18);
    background: linear-gradient(180deg, rgba(18, 18, 20, 0.95), rgba(10, 10, 12, 0.96));
    border-radius: 1.35rem;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
}

.sa-programme-spotlight__main {
    display: grid;
    gap: 1.25rem;
    padding: 1.25rem;
}

.sa-programme-spotlight__main.has-cover {
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
    align-items: stretch;
}

.sa-programme-spotlight__media {
    display: block;
    border-radius: 1rem;
    overflow: hidden;
    min-height: 100%;
}

.sa-programme-spotlight__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sa-programme-spotlight__body {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
}

.sa-programme-grid,
.sa-series-navigation,
.sa-admin-curation-grid {
    display: grid;
    gap: 1rem;
}

.sa-programme-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.sa-series-card,
.sa-series-nav-card {
    padding: 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.sa-series-nav-card--link {
    text-decoration: none;
    color: inherit;
    transition: transform 0.18s ease, border-color 0.18s ease;
}

.sa-series-nav-card--link:hover,
.sa-series-nav-card--link:focus-visible,
.sa-series-card:hover,
.sa-series-card:focus-within {
    transform: translateY(-2px);
    border-color: rgba(212, 181, 98, 0.34);
}

.sa-admin-curation-grid {
    margin-top: 1.25rem;
}

.sa-admin-curation-toggle {
    display: flex;
    gap: 0.8rem;
    align-items: center;
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(212, 181, 98, 0.16);
    background: rgba(15, 15, 18, 0.82);
    color: rgba(244, 236, 214, 0.88);
}

.sa-admin-curation-toggle input {
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 920px) {
    .sa-programme-spotlight__main.has-cover {
        grid-template-columns: 1fr;
    }
}

.sa-dashboard-card--nested {
    background: rgba(8, 8, 10, 0.52);
}

.sa-dashboard-list--ordered {
    margin: 0;
    padding-left: 1.2rem;
}

.sa-admin-kpi-grid--dossiers {
    margin-top: 1rem;
}

.sa-dossier-overview-card {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.sa-admin-template-profile,
.sa-admin-upload-spec {
    margin-top: 1.25rem;
    padding: 1.1rem 1.15rem;
    border-radius: 1rem;
    border: 1px solid rgba(212, 181, 98, 0.16);
    background: rgba(15, 15, 18, 0.82);
}

.sa-admin-template-profile {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(220px, 0.9fr);
    gap: 1rem;
    align-items: start;
}

.sa-admin-template-profile__title {
    margin: 0.55rem 0 0.45rem;
    font-size: 1rem;
    color: rgba(255, 248, 231, 0.96);
}

.sa-admin-template-profile__text,
.sa-admin-upload-spec__item p {
    margin: 0;
    color: rgba(240, 230, 202, 0.78);
    line-height: 1.65;
}

.sa-admin-template-profile__meta {
    display: grid;
    gap: 0.65rem;
    color: rgba(240, 230, 202, 0.82);
    font-size: 0.94rem;
}

.sa-admin-upload-spec__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.sa-admin-upload-spec__item {
    display: grid;
    gap: 0.4rem;
}

.sa-admin-upload-spec__item strong {
    color: rgba(255, 248, 231, 0.94);
}

.sa-admin-upload-example {
    margin: 1rem 0 0;
    padding: 1rem;
    border-radius: 0.9rem;
    border: 1px solid rgba(212, 181, 98, 0.12);
    background: rgba(5, 5, 7, 0.92);
    overflow-x: auto;
    white-space: pre-wrap;
    color: rgba(244, 236, 214, 0.86);
    line-height: 1.55;
    font-size: 0.92rem;
}

@media (max-width: 920px) {
    .sa-admin-template-profile,
    .sa-admin-upload-spec__grid {
        grid-template-columns: 1fr;
    }
}

.sa-threshold-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.1rem;
}

.sa-threshold-strip__item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(212, 181, 98, 0.16);
    background: rgba(15, 15, 18, 0.78);
    color: rgba(244, 236, 214, 0.84);
    font-size: 0.92rem;
}

.sa-inline-notice {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.7rem;
    margin-top: 1rem;
    padding: 0.95rem 1.05rem;
    border-radius: 1rem;
    border: 1px solid rgba(212, 181, 98, 0.18);
    background: linear-gradient(180deg, rgba(24, 22, 18, 0.96), rgba(12, 12, 14, 0.96));
    color: rgba(244, 236, 214, 0.86);
    line-height: 1.6;
}

.sa-inline-notice strong {
    color: rgba(255, 248, 231, 0.96);
}

.sa-inline-notice--tight {
    max-width: 56rem;
}

@media (max-width: 720px) {
    .sa-threshold-strip {
        flex-direction: column;
        align-items: stretch;
    }

    .sa-threshold-strip__item,
    .sa-inline-notice {
        border-radius: 0.9rem;
    }
}
