/* Managed Digital Staff — page layer.
   Loads ON TOP of /assets/styles.css and inherits the house system:
   Inter 900 uppercase display, JetBrains Mono utility, ink/bone/oxblood tokens.
   Only adds structures the house sheet does not already provide. */

/* Long headline needs to breathe wider than the house 12ch/14ch caps */
.ds-hero h1 { max-width: 15ch; font-size: 4.15rem; }
.section-header h2,
.ds-close h2 { max-width: 22ch; }
.ds-hero .lead { max-width: 46ch; }

.mono-label {
  display: block;
  color: var(--muted);
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.68rem;
  text-transform: uppercase;
}

/* ---- staff file (reuses .specimen-ticket shell) ---- */
.staff-file .file-id {
  margin: 0 0 4px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rule);
  color: var(--muted);
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.68rem;
  text-transform: uppercase;
}
.staff-file dl { margin: 0; display: grid; grid-template-columns: 12ch 1fr; }
.staff-file dt {
  padding: 13px 0;
  border-bottom: 1px solid var(--rule);
  color: var(--muted);
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.68rem;
  text-transform: uppercase;
}
.staff-file dd {
  margin: 0;
  padding: 13px 0;
  border-bottom: 1px solid var(--rule);
  color: var(--bone);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
}
.staff-file dl > :nth-last-child(1),
.staff-file dl > :nth-last-child(2) { border-bottom: 0; }

/* ---- two column prose ---- */
.duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 56px;
}
.duo p { max-width: 46ch; }

/* the one pulled line */
p.pull {
  max-width: 34ch;
  color: var(--bone);
  font-size: 1.24rem;
  line-height: 1.35;
  padding-left: 18px;
  border-left: 2px solid var(--oxblood);
}

/* ---- the worker ---- */
.worker-claims { display: grid; gap: 26px; }
.worker-claims > div { padding-left: 18px; border-left: 1px solid var(--oxblood); }
.worker-claims h3 { max-width: 44ch; text-transform: none; font-size: 1.12rem; }
.footnote { margin-top: 28px; color: var(--muted); font-size: 0.95rem; }

/* ---- permission table ---- */
.permissions { width: 100%; border-collapse: collapse; margin: 0 0 28px; }
.permissions td { padding: 15px 0; border-bottom: 1px solid var(--rule); vertical-align: top; }
.permissions td:first-child {
  width: 15ch;
  padding-right: 20px;
  white-space: nowrap;
  color: var(--muted);
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.68rem;
  text-transform: uppercase;
}
.permissions td:last-child { color: var(--bone-soft); font-size: 0.98rem; }
.permissions tr:last-child td { border-bottom: 0; }

/* ---- security grid ---- */
.sec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 48px; }
.sec-grid h3 { max-width: 34ch; }
.sec-grid p { max-width: 44ch; font-size: 0.98rem; }

/* ---- pricing ---- */
.price-block { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.price-item { padding-top: 20px; border-top: 2px solid var(--oxblood); }
.price-item .amount {
  display: block;
  margin: 10px 0 14px;
  color: var(--bone);
  font-size: 2.35rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}
.price-item p { max-width: 40ch; font-size: 0.98rem; }

/* ---- faq ---- */
.faq { border-top: 1px solid var(--rule); }
.faq details { border-bottom: 1px solid var(--rule); }
.faq summary {
  display: flex;
  gap: 20px;
  align-items: baseline;
  justify-content: space-between;
  padding: 20px 0;
  cursor: pointer;
  list-style: none;
  color: var(--bone);
  font-size: 1.05rem;
  font-weight: 700;
  text-transform: uppercase;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--oxblood); font-weight: 400; font-size: 1.3rem; }
.faq details[open] summary::after { content: "–"; }
.faq details p { max-width: 68ch; padding-bottom: 22px; font-size: 0.98rem; }

/* ---- close ---- */
.ds-close .signoff {
  margin-top: 36px;
  padding-top: 22px;
  border-top: 1px solid var(--rule);
  color: var(--muted);
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.72rem;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .ds-hero h1 { font-size: 2.85rem; max-width: 100%; }
  .duo, .sec-grid, .price-block { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .staff-file dl { grid-template-columns: 1fr; }
  .staff-file dt { padding-bottom: 0; border-bottom: 0; }
  .staff-file dd { padding-top: 4px; }
  .staff-file dl > :nth-last-child(2) { border-bottom: 0; }
  .permissions td { display: block; padding: 0; border-bottom: 0; }
  .permissions td:first-child { width: auto; padding-top: 16px; }
  .permissions td:last-child { padding-bottom: 16px; border-bottom: 1px solid var(--rule); }
}
