:root {
  color-scheme: dark;
  --bg: #08182e;
  --surface: #102541;
  --text: #f5f8fc;
  --muted: #c0d1e4;
  --line: #36516d;
  --blue: #83b9ed;
  --gold: #b99a55;
  font-family: "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
}
header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem clamp(1rem, 4vw, 4rem);
  border-bottom: 1px solid var(--line);
}
a {
  color: var(--blue);
  text-underline-offset: 0.22em;
}
a:hover {
  color: white;
}
.brand {
  font-size: 1.8rem;
  font-weight: 750;
  color: white;
  text-decoration: none;
}
.brand span {
  font-size: 0.7rem;
  letter-spacing: 0.13em;
  color: var(--gold);
  display: block;
}
nav,
.actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.2rem;
}
nav form {
  margin: 0;
}
main {
  max-width: 1280px;
  margin: auto;
  padding: 2.5rem clamp(1rem, 4vw, 3rem);
}
.member-workspace-page main {
  max-width: none;
  padding: 0;
}
h1 {
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  line-height: 1.2;
  margin: 0.5rem 0 1.5rem;
  overflow-wrap: anywhere;
}
h2 {
  font-size: 1.25rem;
  margin-top: 0;
}
h3 {
  font-size: 1rem;
}
.identity,
.muted,
time {
  color: var(--muted);
}
.identity {
  font-size: 0.85rem;
}
.panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 1.5rem;
  margin: 1.5rem 0;
}
.narrow {
  max-width: 720px;
}
.summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.summary .panel {
  display: flex;
  flex-direction: column;
  margin: 0.5rem 0 1.5rem;
  text-decoration: none;
}
.summary strong {
  font-size: 2rem;
  color: white;
}
.filters {
  gap: 0.6rem;
  margin: 1rem 0;
}
.filters a {
  padding: 0.5rem 0.8rem;
  border: 1px solid var(--line);
  border-radius: 6px;
  text-decoration: none;
}
.filters [aria-current] {
  background: #255d91;
  color: white;
}
.table-panel {
  padding: 0;
  overflow-x: auto;
}
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
  table-layout: fixed;
}
caption {
  text-align: left;
  padding: 1rem;
  color: var(--muted);
}
th,
td {
  text-align: left;
  padding: 0.9rem 0.7rem;
  vertical-align: top;
  border-top: 1px solid var(--line);
  overflow-wrap: anywhere;
}
th {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--muted);
}
th:first-child {
  width: 13%;
}
.identifier {
  font-family: monospace;
  overflow-wrap: anywhere;
  font-size: 0.8rem;
}
.badge {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 600;
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 0.25rem 0.55rem;
  background: #183451;
}
.approved {
  background: #163c31;
  color: #a9eed1;
}
.rejected {
  background: #442630;
  color: #ffd1d6;
}
.needs_information {
  background: #443921;
  color: #ffe0a2;
}
.approval-panel {
  border-color: #4f816f;
}
.approval-checkbox,
.decision-option {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  border: 1px solid #7396b9;
  border-radius: 8px;
  padding: 1rem;
  background: var(--bg);
}
.approval-checkbox {
  font-size: 1.08rem;
}
.approval-checkbox input,
.decision-option input {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  margin: 0.15rem 0 0;
  padding: 0;
  accent-color: #4ec596;
}
.approval-checkbox span,
.decision-option span {
  display: grid;
  gap: 0.2rem;
}
.approval-checkbox small {
  color: var(--muted);
  font-weight: 400;
}
.approval-checkbox:has(input:checked),
.approval-checkbox.is-approved {
  border-color: #4ec596;
  background: #12372e;
}
.approval-checkbox.readonly {
  cursor: default;
}
.secondary-decisions summary {
  cursor: pointer;
  color: var(--blue);
  font-weight: 700;
}
.secondary-decisions fieldset {
  border: 0;
  padding: 0;
  margin: 1rem 0;
}
.secondary-decisions legend {
  font-weight: 700;
  margin-bottom: 0.5rem;
}
label {
  display: block;
  font-weight: 600;
  margin: 1rem 0;
}
input,
textarea,
select {
  display: block;
  width: 100%;
  margin: 0.5rem 0 0;
  font: inherit;
  color: var(--text);
  background: var(--bg);
  border: 1px solid #7396b9;
  border-radius: 5px;
  padding: 0.75rem;
}
textarea {
  resize: vertical;
}
button {
  cursor: pointer;
  min-height: 44px;
  border: 1px solid var(--blue);
  border-radius: 5px;
  background: #255d91;
  color: white;
  font: inherit;
  font-weight: 600;
  padding: 0.65rem 1rem;
}
button:hover {
  background: #3170a9;
}
.quiet {
  background: transparent;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}
dl {
  margin: 0;
}
dl > div {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}
dt {
  font-weight: 600;
  color: var(--muted);
}
dd {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.preserve {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.section-heading h2 {
  margin: 0;
}
.comment {
  border-bottom: 1px solid var(--line);
  padding: 1rem 0;
}
.comment h3 {
  margin: 0;
}
.comment time {
  font-size: 0.8rem;
}
.audit {
  padding-left: 1.4rem;
}
.audit li {
  margin-bottom: 1rem;
}
.notice {
  padding: 1rem;
  border-left: 3px solid var(--gold);
  background: #172f49;
}
footer {
  max-width: 1280px;
  margin: auto;
  padding: 2rem;
  color: var(--muted);
  font-size: 0.8rem;
}
.skip {
  position: absolute;
  top: -100px;
}
.skip:focus {
  top: 0;
  background: var(--bg);
  padding: 1rem;
}
.pagination {
  justify-content: space-between;
}
@media (max-width: 760px) {
  header {
    align-items: flex-start;
    flex-direction: column;
  }
  .summary {
    grid-template-columns: repeat(2, 1fr);
  }
  .summary .panel {
    padding: 1rem;
    margin: 0;
  }
  .panel {
    padding: 1rem;
  }
  dl > div {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }
  .table-panel {
    border: 0;
    background: transparent;
    padding: 0;
    overflow: visible;
  }
  table,
  tbody,
  tr,
  td {
    display: block;
  }
  thead {
    display: none;
  }
  caption {
    display: block;
  }
  tr {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 8px;
    margin-bottom: 1rem;
    padding: 0.5rem;
  }
  td {
    display: grid;
    grid-template-columns: 105px 1fr;
    gap: 0.5rem;
    border: 0;
    padding: 0.4rem;
  }
  td:before {
    content: attr(data-label);
    font-weight: 600;
    color: var(--muted);
  }
  td[colspan] {
    display: block;
  }
  .actions {
    align-items: stretch;
    flex-direction: column;
  }
  button {
    width: 100%;
  }
  .section-heading {
    align-items: flex-start;
    flex-direction: column;
  }
}
.checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  font-weight: 400;
}
.checkbox input {
  width: 1.2rem;
  height: 1.2rem;
  margin: 0.25rem 0 0;
  flex: none;
}
.honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.button-link {
  display: inline-flex;
  padding: 0.7rem 1rem;
  border: 1px solid var(--blue);
  border-radius: 5px;
}
/* Forge editorial management uses the Council shell. */
.forge-person{display:grid;grid-template-columns:2fr 2fr 1fr;gap:16px;border-bottom:1px solid #31516d;padding:12px 0}details{margin:16px 0}summary{cursor:pointer;color:#8cbfed}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:480px;overflow:auto}fieldset{min-width:0;border:1px solid #31516d;padding:18px}form fieldset .panel{margin-inline:0}.forge-article-image img{max-width:100%;max-height:520px;object-fit:contain}.forge-prose{max-width:900px;margin:auto}.forge-prose section{margin:30px 0}.forge-badge{border:1px solid #31516d;padding:5px 9px}.forge-article-header{margin:24px 0}.forge-article-header h1{font-size:2.4rem}
@media(max-width:700px){.forge-person{grid-template-columns:1fr}.actions{flex-wrap:wrap}fieldset{padding:10px}}

.forge-summary{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:24px}.forge-summary .panel{margin-block:0}@media(max-width:900px){.forge-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Guided Forge review */
.forge-dialog{width:min(760px,calc(100vw - 32px));max-height:88vh;overflow:auto;background:var(--panel,#102740);color:var(--text,#edf5ff);border:1px solid #41617c;border-radius:12px;padding:24px;box-shadow:0 20px 80px #0008}.forge-dialog::backdrop{background:#021122cc}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:-24px;background:#102740;padding:12px 0;z-index:1}.dialog-heading h2{margin:0}.review-steps{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;margin:12px 0 24px;color:#9dc7e9}.review-steps [aria-current=step]{color:#fff;font-weight:bold}.review-summary{display:grid;grid-template-columns:140px 1fr;gap:8px 20px}.review-summary dt{color:#a7c3d9}.review-summary dd{margin:0;white-space:pre-line}.pdf-panel{border-left:4px solid #73b9f0;padding:16px;margin:16px 0}.pdf-panel h2{margin-top:0}.forge-dialog [hidden]{display:none!important}.forge-dialog form{margin:0}.forge-dialog details{margin:16px 0}.forge-dialog .actions{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}details.panel>summary{cursor:pointer;font-weight:600}details.panel details{margin:20px 0}@media(max-width:600px){.forge-dialog{padding:16px}.review-summary{grid-template-columns:1fr;gap:4px}.review-summary dd{margin-bottom:12px}.review-steps{font-size:.7rem}.dialog-heading{top:-16px}}

.forge-dialog h2,.forge-dialog h3{margin-top:0}.forge-dialog p{margin:0.6rem 0}.forge-dialog .pdf-panel{padding:1rem;margin:1rem 0}.forge-dialog .review-summary{gap:0.35rem 1rem}.forge-dialog .dialog-heading{margin-bottom:1rem}.forge-dialog .review-steps{margin-bottom:1rem}.forge-dialog .actions{position:sticky;bottom:-1px;background:#16273f;padding:0.75rem 0;margin-bottom:0}
