/* ==========================================================================
   MSS Usra Award 2026 - public site
   Palette from the award flyer: black stage, gold lettering, maroon labels,
   cream/peach panels. Fonts are self-hosted (wwwroot/lib/fonts, SIL OFL).
   ========================================================================== */

@font-face { font-family: "Barlow Condensed"; font-weight: 600; font-style: normal; font-display: swap; src: url("../lib/fonts/barlow-condensed-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-weight: 700; font-style: normal; font-display: swap; src: url("../lib/fonts/barlow-condensed-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-weight: 400; font-style: normal; font-display: swap; src: url("../lib/fonts/barlow-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-weight: 500; font-style: normal; font-display: swap; src: url("../lib/fonts/barlow-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-weight: 600; font-style: normal; font-display: swap; src: url("../lib/fonts/barlow-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Kalam"; font-weight: 400; font-style: normal; font-display: swap; src: url("../lib/fonts/kalam-latin-400-normal.woff2") format("woff2"); }

:root {
  --usra-black: #0c0907;
  --usra-ink: #241b12;
  --usra-ink-soft: #5a4a3a;
  --usra-gold: #d9a420;
  --usra-gold-light: #f4d47c;
  --usra-gold-deep: #8a5d07;
  --usra-maroon: #6e1014;
  --usra-maroon-dark: #4f0a0d;
  --usra-cream: #fdf6ec;
  --usra-peach: #f6e2c4;
  --usra-line: #e8d5b5;
  --usra-success: #1d6b3a;

  --usra-font-body: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --usra-font-display: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;
  --usra-font-script: "Kalam", "Segoe Print", "Comic Sans MS", cursive;

  --usra-radius: 14px;
  --usra-shadow: 0 10px 30px rgba(60, 35, 5, .12);
  --usra-gold-gradient: linear-gradient(135deg, #fbe7a1 0%, #e5b53a 35%, #b9800f 70%, #f1cf6b 100%);
}

html { scroll-behavior: smooth; scroll-padding-top: 76px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

body {
  font-family: var(--usra-font-body);
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--usra-ink);
  background: var(--usra-cream);
}

h1, h2, h3, h4, .display-font {
  font-family: var(--usra-font-display);
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.1;
  text-transform: uppercase;
}

a { color: var(--usra-maroon); }
a:hover { color: var(--usra-maroon-dark); }

:focus-visible {
  outline: 3px solid var(--usra-gold);
  outline-offset: 2px;
}

.skip-link {
  position: absolute; left: 1rem; top: -100px; z-index: 2000;
  background: var(--usra-gold); color: var(--usra-black); padding: .6rem 1rem; border-radius: 8px; font-weight: 600;
}
.skip-link:focus { top: 1rem; }

/* ---------- Buttons ---------- */

.btn { font-weight: 600; border-radius: 999px; padding: .65rem 1.4rem; }
.btn-lg { padding: .85rem 2rem; font-size: 1.125rem; }

.btn-gold {
  color: #1d1305; background: var(--usra-gold-gradient); border: 0;
  box-shadow: 0 6px 18px rgba(217, 164, 32, .35), inset 0 1px 0 rgba(255, 255, 255, .5);
  text-transform: uppercase; letter-spacing: .04em; font-family: var(--usra-font-display); font-size: 1.15rem;
}
.btn-gold:hover, .btn-gold:focus { color: #000; filter: brightness(1.06); }

.btn-outline-gold { color: var(--usra-gold-light); border: 2px solid var(--usra-gold); background: transparent; }
.btn-outline-gold:hover { color: var(--usra-black); background: var(--usra-gold); }

.btn-maroon { color: #fff; background: var(--usra-maroon); border: 0; }
.btn-maroon:hover, .btn-maroon:focus { color: #fff; background: var(--usra-maroon-dark); }

.btn-outline-maroon { color: var(--usra-maroon); border: 2px solid var(--usra-maroon); background: #fff; }
.btn-outline-maroon:hover { color: #fff; background: var(--usra-maroon); }

/* ---------- Header ---------- */

.site-header {
  position: sticky; top: 0; z-index: 1030;
  background: rgba(12, 9, 7, .94);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(217, 164, 32, .35);
}
.site-header .navbar { padding: .5rem 0; }
.site-header .brand { display: flex; align-items: center; gap: .6rem; text-decoration: none; }
.site-header .brand img { height: 44px; width: auto; }
.site-header .brand span {
  font-family: var(--usra-font-display); font-weight: 700; text-transform: uppercase;
  color: var(--usra-gold-light); font-size: 1.15rem; line-height: 1;
}
.site-header .brand small { display: block; font-size: .72rem; color: #c9b79b; letter-spacing: .08em; }
.site-header .nav-link { color: #eadcc6; font-weight: 500; }
.site-header .nav-link:hover, .site-header .nav-link:focus { color: var(--usra-gold-light); }
.site-header .navbar-toggler { border-color: rgba(217, 164, 32, .6); }
.site-header .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28244,212,124,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ---------- Hero ---------- */

.hero {
  position: relative; overflow: hidden; color: #f6ead6; text-align: center;
  background:
    radial-gradient(ellipse 60% 45% at 50% 62%, rgba(217, 164, 32, .45), transparent 70%),
    radial-gradient(ellipse 90% 60% at 50% 100%, rgba(110, 16, 20, .55), transparent 70%),
    linear-gradient(180deg, #060403 0%, #1a0f07 55%, #0c0907 100%);
  padding: 3.5rem 0 4rem;
}
.hero::before {
  /* gold dust */
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .55;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 22%, #f4d47c, transparent),
    radial-gradient(1px 1px at 28% 68%, #f4d47c, transparent),
    radial-gradient(2px 2px at 44% 14%, #fff2c4, transparent),
    radial-gradient(1px 1px at 63% 40%, #f4d47c, transparent),
    radial-gradient(1.5px 1.5px at 78% 76%, #fff2c4, transparent),
    radial-gradient(1px 1px at 88% 18%, #f4d47c, transparent),
    radial-gradient(1.5px 1.5px at 6% 84%, #f4d47c, transparent),
    radial-gradient(1px 1px at 52% 88%, #fff2c4, transparent),
    radial-gradient(2px 2px at 94% 56%, #f4d47c, transparent);
  animation: usra-twinkle 6s ease-in-out infinite alternate;
}
@keyframes usra-twinkle { from { opacity: .35; } to { opacity: .75; } }

.hero > .container { position: relative; }
.hero .panel { color: var(--usra-ink); }
.hero-eyebrow {
  display: inline-block; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: .8rem;
  color: var(--usra-gold-light); border: 1px solid rgba(217, 164, 32, .5); border-radius: 999px; padding: .3rem .9rem;
}
.hero-logo { display: block; width: min(520px, 88%); height: auto; margin: 1.25rem auto .5rem; filter: drop-shadow(0 10px 30px rgba(0, 0, 0, .6)); }
.hero-strap {
  font-family: var(--usra-font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
  font-size: clamp(1.15rem, 3.5vw, 1.6rem); color: #fff; margin: 0;
}
.hero-tagline {
  font-family: var(--usra-font-script); color: var(--usra-gold-light);
  font-size: clamp(1.6rem, 6vw, 2.6rem); line-height: 1.2; margin: .75rem 0 1rem;
}
.hero-lead { max-width: 36rem; margin: 0 auto 1.75rem; color: #e6d7bf; font-size: 1.15rem; }
.hero-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.75rem; }
.hero-chip {
  display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .9rem; border-radius: 999px;
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(244, 212, 124, .35); color: #f3e6cf; font-size: .95rem;
}
.hero-chip strong { color: var(--usra-gold-light); font-weight: 600; }

/* ---------- Sections ---------- */

.section { padding: 4rem 0; }
.section-cream {
  background: var(--usra-cream) url("../img/stage-cream.jpg") center / cover no-repeat;
}
.section-peach { background: linear-gradient(180deg, var(--usra-peach), var(--usra-cream)); }
.section-dark { background: var(--usra-black); color: #efe2cc; }
.section-dark h2, .section-dark h3 { color: var(--usra-gold-light); }

.section-title { font-size: clamp(2rem, 6vw, 2.8rem); margin-bottom: .5rem; color: var(--usra-ink); }
.section-kicker {
  display: inline-block; font-family: var(--usra-font-display); font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--usra-maroon); font-size: .95rem; margin-bottom: .35rem;
}
.section-dark .section-kicker { color: var(--usra-gold); }
.section-lead { font-size: 1.15rem; color: var(--usra-ink-soft); max-width: 44rem; }
.section-dark .section-lead { color: #d9c8ad; }

.panel {
  background: rgba(255, 255, 255, .86); border: 1px solid var(--usra-line); border-radius: var(--usra-radius);
  box-shadow: var(--usra-shadow); padding: 1.5rem;
}

/* The three words */
.word-card { height: 100%; }
.word-label {
  display: inline-block; background: var(--usra-maroon); color: #fff; font-family: var(--usra-font-display);
  font-weight: 700; font-size: 1.6rem; letter-spacing: .04em; text-transform: uppercase; padding: .1rem .9rem; margin-bottom: .6rem;
}
.word-card p { font-weight: 600; margin: 0; }

/* Check list */
.check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; }
.check-list li { display: flex; gap: .75rem; align-items: flex-start; font-size: 1.1rem; }
.check-list li::before {
  content: ""; flex: 0 0 1.6rem; height: 1.6rem; border-radius: 50%; margin-top: .05rem;
  background: var(--usra-maroon) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M3.5 8.5l3 3 6-7'/%3e%3c/svg%3e") center / 1rem no-repeat;
}

/* Recognised for */
.recognise-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.recognise-item {
  display: flex; align-items: center; gap: .9rem; padding: 1rem 1.1rem; border-radius: var(--usra-radius);
  background: #fff; border: 1px solid var(--usra-line); font-weight: 600; box-shadow: 0 4px 14px rgba(60, 35, 5, .06);
}
.recognise-item .emoji { font-size: 1.8rem; line-height: 1; }

/* How to apply / what to prepare */
.steps-list { counter-reset: step; list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.steps-list li { counter-increment: step; position: relative; padding-left: 3.4rem; min-height: 2.6rem; }
.steps-list li::before {
  content: counter(step); position: absolute; left: 0; top: 0; width: 2.5rem; height: 2.5rem; border-radius: 50%;
  display: grid; place-items: center; font-family: var(--usra-font-display); font-weight: 700; font-size: 1.3rem;
  background: var(--usra-gold-gradient); color: #1d1305;
}
.steps-list strong { display: block; font-family: var(--usra-font-display); text-transform: uppercase; font-size: 1.2rem; letter-spacing: .02em; }

.prepare-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.prepare-list li { padding: .7rem .9rem; border-left: 4px solid var(--usra-maroon); background: #fff; border-radius: 0 10px 10px 0; }
.prepare-list b { color: var(--usra-maroon); font-family: var(--usra-font-display); text-transform: uppercase; letter-spacing: .02em; font-size: 1.05rem; }

/* Journey */
.journey { list-style: none; padding: 0; margin: 2rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem 0; justify-content: center; }
.journey li {
  display: flex; align-items: center; font-family: var(--usra-font-display); font-weight: 600; text-transform: uppercase;
  font-size: 1.1rem; letter-spacing: .03em; color: #f3e6cf;
}
.journey li span { padding: .45rem 1rem; border: 1px solid rgba(244, 212, 124, .45); border-radius: 999px; background: rgba(255, 255, 255, .04); }
.journey li:last-child span { background: var(--usra-gold-gradient); color: #1d1305; border-color: transparent; }
.journey li + li::before { content: "\2192"; color: var(--usra-gold); margin: 0 .5rem; font-size: 1.2rem; }

/* Prizes */
.prize-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); }
.prize {
  text-align: center; padding: 1.4rem 1rem; border-radius: var(--usra-radius);
  background: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02));
  border: 1px solid rgba(244, 212, 124, .3);
}
.prize .emoji { font-size: 2.2rem; display: block; margin-bottom: .5rem; }
.prize strong { font-family: var(--usra-font-display); text-transform: uppercase; font-size: 1.25rem; color: #fff; letter-spacing: .02em; }
.prize-highlight { border-color: var(--usra-gold); box-shadow: 0 0 0 1px var(--usra-gold) inset, 0 10px 30px rgba(217, 164, 32, .18); }
.prize-highlight strong { color: var(--usra-gold-light); }

/* Key dates */
.date-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.date-card { display: flex; gap: 1rem; align-items: center; }
.date-badge {
  flex: 0 0 4.6rem; height: 4.6rem; border-radius: 12px; display: grid; place-items: center; text-align: center;
  background: var(--usra-maroon); color: #fff; font-family: var(--usra-font-display); line-height: 1;
}
.date-badge b { display: block; font-size: 1.9rem; }
.date-badge small { font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; }
.date-card h3 { font-size: 1.25rem; margin: 0 0 .15rem; }
.date-card p { margin: 0; color: var(--usra-ink-soft); }

/* FAQ */
.faq .accordion-item { border: 1px solid var(--usra-line); border-radius: 12px !important; overflow: hidden; margin-bottom: .75rem; }
.faq .accordion-button { font-weight: 600; font-size: 1.08rem; color: var(--usra-ink); background: #fff; }
.faq .accordion-button:not(.collapsed) { color: var(--usra-maroon); background: #fff8ec; box-shadow: none; }
.faq .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(217, 164, 32, .45); }
.faq .accordion-body { background: #fff; }

/* Contact + CTA */
.contact-card { display: flex; gap: .9rem; align-items: center; padding: 1rem 1.2rem; text-decoration: none; color: var(--usra-ink); }
.contact-card:hover { color: var(--usra-maroon); }
.contact-icon { flex: 0 0 2.75rem; height: 2.75rem; border-radius: 50%; display: grid; place-items: center; background: var(--usra-maroon); color: #fff; }
.contact-icon svg { width: 1.3rem; height: 1.3rem; }
.contact-card small { display: block; color: var(--usra-ink-soft); font-size: .85rem; }

.cta-band {
  background: linear-gradient(90deg, var(--usra-maroon-dark), var(--usra-maroon) 50%, var(--usra-maroon-dark));
  color: #fff; text-align: center; padding: 3rem 0;
}
.cta-band h2 { color: #fff; font-size: clamp(1.8rem, 5vw, 2.6rem); }
.cta-band .tagline { font-family: var(--usra-font-script); color: var(--usra-gold-light); font-size: 1.6rem; }

.closed-notice {
  display: inline-block; padding: .9rem 1.4rem; border-radius: 12px; font-weight: 600;
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(244, 212, 124, .5); color: #fff4dc;
}
.closed-notice.on-light { background: #fff; border-color: var(--usra-line); color: var(--usra-maroon); }

/* ---------- Footer ---------- */

.site-footer { background: var(--usra-black); color: #c9b79b; padding: 2.5rem 0 1.5rem; font-size: .95rem; }
.site-footer a { color: #ead9bb; }
.site-footer a:hover { color: var(--usra-gold-light); }
.site-footer .footer-title { font-family: var(--usra-font-display); text-transform: uppercase; color: var(--usra-gold-light); font-size: 1.2rem; letter-spacing: .04em; }
.site-footer hr { border-color: rgba(217, 164, 32, .3); opacity: 1; }

/* ---------- Registration wizard ---------- */

.form-page { padding: 2rem 0 4rem; }
.form-hero { background: linear-gradient(180deg, #0c0907, #2a1709); color: #f3e6cf; padding: 2rem 0 5rem; text-align: center; }
.form-hero h1 { color: var(--usra-gold-light); font-size: clamp(2rem, 6vw, 2.8rem); margin: 0; }
.form-hero p { margin: .4rem 0 0; color: #dcc9aa; }
.form-shell { margin-top: -3.5rem; }
.form-shell .panel { background: #fff; }

.stepper { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; grid-template-columns: repeat(5, 1fr); gap: .35rem; }
.stepper li { text-align: center; font-size: .78rem; color: var(--usra-ink-soft); position: relative; }
.stepper .dot {
  width: 2.3rem; height: 2.3rem; margin: 0 auto .3rem; border-radius: 50%; display: grid; place-items: center;
  font-family: var(--usra-font-display); font-weight: 700; font-size: 1.1rem;
  background: #fff; border: 2px solid var(--usra-line); color: var(--usra-ink-soft); position: relative; z-index: 1;
}
.stepper li::after {
  content: ""; position: absolute; top: 1.15rem; left: calc(50% + 1.15rem); right: calc(-50% + 1.15rem);
  height: 2px; background: var(--usra-line);
}
.stepper li:last-child::after { display: none; }
.stepper li.done .dot { background: var(--usra-maroon); border-color: var(--usra-maroon); color: #fff; }
.stepper li.done::after { background: var(--usra-maroon); }
.stepper li.current .dot { background: var(--usra-gold-gradient); border-color: var(--usra-gold-deep); color: #1d1305; box-shadow: 0 0 0 4px rgba(217, 164, 32, .25); }
.stepper li.current { color: var(--usra-ink); font-weight: 600; }
.stepper .label { display: none; }
@media (min-width: 576px) { .stepper .label { display: block; } }

.step-panel h2 { font-size: 1.8rem; color: var(--usra-maroon); margin-bottom: .25rem; }
.step-panel .step-intro { color: var(--usra-ink-soft); margin-bottom: 1.5rem; }
.step-panel fieldset { margin-bottom: 1.5rem; }
.step-panel legend { font-family: var(--usra-font-display); font-weight: 700; text-transform: uppercase; font-size: 1.2rem; letter-spacing: .02em; }
.js .step-panel[hidden] { display: none !important; }
html:not(.js) .js-only { display: none !important; }
html:not(.js) .step-panel + .step-panel { border-top: 1px solid var(--usra-line); padding-top: 1.5rem; margin-top: 1.5rem; }

.form-label { font-weight: 600; margin-bottom: .3rem; }
.form-text { color: var(--usra-ink-soft); }
.form-control, .form-select { border-radius: 10px; border-color: #d8c3a2; padding: .6rem .8rem; font-size: 1.02rem; }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: var(--usra-gold-deep); box-shadow: 0 0 0 .2rem rgba(217, 164, 32, .35); }
.form-check-input:checked { background-color: var(--usra-maroon); border-color: var(--usra-maroon); }
.form-check-input { width: 1.25em; height: 1.25em; margin-top: .2em; }
.check-card {
  display: block; padding: .9rem 1rem .9rem 2.9rem; border: 1px solid var(--usra-line); border-radius: 12px; background: #fff; cursor: pointer;
}
.check-card .form-check-input { margin-left: -1.9rem; }
.check-card:has(.form-check-input:checked) { border-color: var(--usra-maroon); background: #fff9f3; }

.input-validation-error { border-color: #b02a37 !important; }
.field-validation-error, .validation-summary-errors { color: #b02a37; font-weight: 500; font-size: .95rem; }
.validation-summary-errors ul { margin: 0; padding-left: 1.1rem; }

.member-row { border: 1px solid var(--usra-line); border-radius: 12px; padding: 1rem; background: #fff; margin-bottom: 1rem; }
.member-row .member-title { font-family: var(--usra-font-display); text-transform: uppercase; font-weight: 700; font-size: 1.1rem; }
.member-row .badge-rep { background: var(--usra-maroon); color: #fff; font-weight: 600; font-size: .75rem; border-radius: 999px; padding: .2rem .6rem; }

.word-count { font-size: .9rem; color: var(--usra-ink-soft); }
.word-count.over { color: #b02a37; font-weight: 600; }

.upload-box { border: 2px dashed #d8c3a2; border-radius: 12px; padding: 1rem; background: #fffdf9; }
.upload-box .file-list { list-style: none; padding: 0; margin: .75rem 0 0; display: grid; gap: .4rem; }
.upload-box .file-list li { display: flex; justify-content: space-between; align-items: center; gap: .5rem; background: #fff; border: 1px solid var(--usra-line); border-radius: 8px; padding: .4rem .6rem; font-size: .95rem; }
.upload-box .file-list li.bad { border-color: #b02a37; background: #fff5f5; }
.upload-box .file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.upload-box .file-size { color: var(--usra-ink-soft); font-size: .85rem; white-space: nowrap; }

.declaration { background: #fff9f0; border-left: 4px solid var(--usra-gold); border-radius: 0 12px 12px 0; padding: 1rem 1.2rem; }

.review dl { display: grid; grid-template-columns: minmax(8rem, 40%) 1fr; gap: .35rem 1rem; margin: 0; }
.review dt { font-weight: 600; color: var(--usra-ink-soft); }
.review dd { margin: 0; word-break: break-word; }
.review-section { border-top: 1px solid var(--usra-line); padding: 1rem 0; }
.review-section:first-child { border-top: 0; }
.review-section h3 { font-size: 1.15rem; margin: 0; }

.wizard-nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--usra-line); }

/* ---------- Admin area ---------- */

@media (min-width: 768px) {
  .admin-sidebar { width: 240px; flex-shrink: 0; }
}
.admin-sidebar .nav-link { color: rgba(255, 255, 255, .8); }
.admin-sidebar .nav-link:hover, .admin-sidebar .nav-link.active { color: #fff; }
.admin-sidebar { background: var(--usra-black) !important; border-right: 3px solid var(--usra-gold); }
.admin-sidebar .nav-pills .nav-link.active { background: var(--usra-maroon); }

.stat-tile { border: 0; border-left: 4px solid var(--usra-gold); border-radius: 10px; }
.stat-tile .stat-value { font-family: var(--usra-font-display); font-size: 2.2rem; font-weight: 700; line-height: 1; }
.stat-tile .stat-label { font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; color: #6c757d; }
.stat-tile a { text-decoration: none; color: inherit; }
.admin-table th a { color: inherit; text-decoration: none; white-space: nowrap; }
.admin-table th a:hover { text-decoration: underline; }
.admin-table td { vertical-align: middle; }
.doc-thumb { width: 100%; height: 150px; object-fit: cover; border-radius: 8px; background: #f1ece4; }
.doc-video { width: 100%; max-height: 260px; border-radius: 8px; background: #000; }
.review-comment { white-space: pre-wrap; }
