/* ================================================================
   WARDEN REPORTS — warden-reports.css
   ================================================================ */

.reports-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 1.25rem;
  padding: 0;
  min-height: 100vh;
  align-items: start;
}

/* Main column */
.reports-main { display: flex; flex-direction: column; }

/* Header */
.reports-header {
  position: relative; min-height: 160px;
  display: flex; align-items: flex-end;
  padding: 2rem; overflow: hidden;
}

.reports-header-bg {
  position: absolute; inset: 0;
  /* Replace: url('assets/reports-header.png') center/cover no-repeat */
  background: linear-gradient(160deg, #080a06 0%, #0d1208 50%, #111508 100%);
}
.reports-header-bg::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent, rgba(8,10,6,.7));
}

.reports-header-content { position: relative; z-index: 1; }

.reports-title {
  font-family: var(--font-display); font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700; letter-spacing: .2em; color: var(--cream);
  text-shadow: 0 2px 20px rgba(0,0,0,.9); line-height: 1;
}

.reports-subtitle {
  font-family: var(--font-display); font-size: .58rem; letter-spacing: .25em;
  color: var(--ivory-dark); margin-top: .4rem;
}

/* Featured Report */
.card-featured-report {
  margin: 1.25rem 1.25rem 0;
  position: relative;
}

.featured-report-badge {
  position: absolute; top: 0; left: 0;
  background: var(--brass); font-family: var(--font-display);
  font-size: .52rem; letter-spacing: .18em; color: var(--ink);
  font-weight: 700; padding: .3rem .9rem;
}

.featured-report-inner {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1.25rem; align-items: start;
  padding-top: 1.75rem !important;
}

.fr-num { font-family: var(--font-display); font-size: .55rem; letter-spacing: .2em; color: var(--ink-light); opacity: .55; margin-bottom: .3rem; }
.fr-title { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; letter-spacing: .1em; color: var(--ink); line-height: 1.1; margin-bottom: .3rem; }
.fr-tagline { font-family: var(--font-display); font-size: .6rem; letter-spacing: .2em; color: var(--ink-light); opacity: .6; margin-bottom: .5rem; }
.fr-date { font-family: var(--font-ink); font-style: italic; font-size: .9rem; color: var(--ink-light); margin-bottom: .65rem; }
.fr-body { font-family: var(--font-body); font-size: 1rem; line-height: 1.65; color: var(--ink); max-width: 300px; margin-bottom: .65rem; }
.fr-sig { font-family: var(--font-ink); font-style: italic; font-size: .95rem; color: var(--ink-light); }
.fr-sig-title { font-family: var(--font-display); font-size: .48rem; letter-spacing: .2em; color: var(--ink-light); opacity: .5; margin-bottom: .75rem; }
.fr-btn { display: inline-block; }

.fr-seal {
  position: absolute; bottom: 1rem; right: 50%;
  width: 44px; height: 44px; border-radius: 50%;
  /* Replace: url('assets/report-seal.png') center/contain no-repeat */
  background: radial-gradient(circle at 35% 35%, var(--brass-light), var(--brass));
  opacity: .4;
}

.fr-img {
  width: 100%; aspect-ratio: 4/3;
  /* Replace: url('assets/report-image.png') center/cover no-repeat */
}
.fr-img-placeholder {
  background: linear-gradient(135deg, rgba(61,51,38,.1), rgba(61,51,38,.18));
  border: 1px dashed rgba(61,51,38,.18);
  display: flex; align-items: center; justify-content: center;
  font-size: 3rem; opacity: .25;
}
.fr-img-placeholder::after { content: '🏛'; }

/* Report sections */
.report-sections { padding: 0 1.25rem; }

.report-section { margin-top: 1.5rem; }

.section-header {
  display: flex; align-items: center; gap: .65rem;
  margin-bottom: .85rem; padding-bottom: .5rem;
  border-bottom: 1px solid rgba(181,139,74,.15);
}

.section-icon { font-size: 1rem; }
.section-heading { font-family: var(--font-display); font-size: .82rem; letter-spacing: .2em; color: var(--cream); flex: 1; }
.section-view-all { font-family: var(--font-display); font-size: .55rem; letter-spacing: .15em; color: var(--brass-light); white-space: nowrap; }

.report-cards-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }

.report-card {
  background: linear-gradient(148deg, #ede4ce, #ddd0b0);
  border: 1px solid var(--ivory-deeper);
  box-shadow: 0 3px 12px rgba(0,0,0,.35);
  padding: .85rem .9rem 1rem;
  display: flex; flex-direction: column; gap: .2rem;
  position: relative; transition: transform .15s;
}
.report-card:hover { transform: translateY(-2px); }

.rc-event { border-color: rgba(181,139,74,.4); }

.rc-num {
  position: absolute; top: .5rem; right: .7rem;
  font-family: var(--font-display); font-size: .48rem; letter-spacing: .15em;
  color: var(--ink-light); opacity: .4;
}

.rc-img { width: 100%; aspect-ratio: 16/9; margin-bottom: .35rem; }
.rc-img-placeholder {
  background: linear-gradient(135deg, rgba(61,51,38,.1), rgba(61,51,38,.16));
  border: 1px dashed rgba(61,51,38,.18);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; opacity: .25;
}
.rc-img-placeholder::after { content: '📋'; }

.rc-date { font-family: var(--font-ink); font-style: italic; font-size: .78rem; color: var(--ink-light); opacity: .6; }
.rc-title { font-family: var(--font-display); font-size: .65rem; font-weight: 600; letter-spacing: .08em; color: var(--ink); line-height: 1.3; }
.rc-desc { font-family: var(--font-body); font-size: .88rem; color: var(--ink-light); line-height: 1.4; flex: 1; }
.rc-link { font-family: var(--font-display); font-size: .52rem; letter-spacing: .15em; color: var(--ink-light); margin-top: .35rem; }

/* Footer */
.reports-footer {
  text-align: center; padding: 1.5rem 1.25rem 2.5rem;
  font-family: var(--font-display); font-size: .58rem; letter-spacing: .2em;
  color: var(--ivory-dark); opacity: .3;
}

/* Right sidebar */
.reports-sidebar {
  display: flex; flex-direction: column; gap: 1.25rem;
  padding: 1.25rem 1.25rem 2.5rem 0;
  position: sticky; top: 0;
}

.card-categories, .card-important-notice,
.card-archive-access, .card-bulletin {
  background: linear-gradient(148deg, var(--greenhouse-2), var(--greenhouse-3));
  border-color: rgba(95,118,84,.2);
}

.categories-list { margin-top: .65rem; display: flex; flex-direction: column; gap: 0; }
.cat-item {
  display: flex; align-items: center; gap: .6rem;
  padding: .45rem 0; border-bottom: 1px solid rgba(255,255,255,.05);
  cursor: pointer;
}
.cat-item:last-child { border-bottom: none; }
.cat-item-icon { font-size: .9rem; }
.cat-item-name { font-family: var(--font-display); font-size: .6rem; letter-spacing: .08em; color: var(--ivory-dark); flex: 1; }
.cat-item-count { font-family: var(--font-display); font-size: .65rem; font-weight: 600; color: var(--brass-light); }

.notice-body { font-family: var(--font-body); font-size: .95rem; line-height: 1.6; color: var(--ivory-dark); margin: .5rem 0 .75rem; }
.notice-btn { display: block; text-align: center; }

.archive-books-placeholder { font-size: 2.5rem; text-align: center; margin: .5rem 0; opacity: .4; }

.bulletin-eyebrow { font-family: var(--font-display); font-size: .52rem; letter-spacing: .22em; color: var(--brass-light); margin-bottom: .35rem; }
.bulletin-title { font-family: var(--font-display); font-size: .85rem; font-weight: 600; letter-spacing: .1em; color: var(--cream); }
.bulletin-body { font-family: var(--font-body); font-size: .95rem; line-height: 1.6; color: var(--ivory-dark); margin: .35rem 0; }
.bulletin-detail { font-family: var(--font-display); font-size: .65rem; font-weight: 600; letter-spacing: .08em; color: var(--cream); margin-bottom: .5rem; }
.bulletin-seal { font-size: 1.5rem; position: absolute; top: 1rem; right: 1rem; opacity: .6; }

.sidebar-quote {
  background: linear-gradient(148deg, #ede4ce, #ddd0b0);
  border: 1px solid var(--ivory-deeper);
  padding: 1.1rem 1.25rem; position: relative;
}
.sq-mark { font-family: var(--font-ink); font-size: 2.5rem; color: var(--brass); line-height: .8; margin-bottom: .3rem; opacity: .5; }
.sq-text { font-family: var(--font-ink); font-style: italic; font-size: .95rem; line-height: 1.65; color: var(--ink); margin-bottom: .5rem; }
.sq-sig { font-family: var(--font-ink); font-style: italic; font-size: .85rem; color: var(--ink-light); opacity: .65; }
.sq-fern { position: absolute; bottom: .75rem; right: .75rem; font-size: 1.5rem; opacity: .2; }

/* Mobile */
@media (max-width: 1100px) {
  .reports-layout { grid-template-columns: 1fr; }
  .reports-sidebar { padding: 0 1.25rem 2rem; position: static; flex-direction: row; flex-wrap: wrap; }
  .reports-sidebar > * { flex: 1 1 220px; }
}

@media (max-width: 900px) {
  :root { --sidebar-width: 64px; }
  .brand-name, .brand-the, .brand-tagline, .brand-rule,
  .nav-label, .sidebar-stamp { display: none; }
  .medallion-placeholder { width: 40px; height: 40px; }
  .medallion-c { font-size: 1.3rem; }
  .sidebar-logo { padding: .75rem .5rem; }
  .nav-item { justify-content: center; padding: .65rem; }
  .report-cards-row { grid-template-columns: repeat(2, 1fr); }
  .featured-report-inner { grid-template-columns: 1fr; }
  .fr-img { display: none; }
  .card-featured-report { margin: 1rem; }
}

@media (max-width: 600px) {
  :root { --sidebar-width: 0px; }
  .sidebar { display: none; }
  .main { margin-left: 0; }
  .report-cards-row { grid-template-columns: 1fr; }
}
