/* Public marketing pages (body.rmd-public) and sign-in screens (body.rmd-gate).
   Tokens: concrete paper, near-black ink, safety yellow for the primary action only.
   In-app workspace chrome is not styled here. */

:root {
  --rmd-ink: #14181c;
  --rmd-paper: #e6e7e2;
  --rmd-white: #ffffff;
  --rmd-yellow: #f5c400;
  --rmd-yellow-press: #dfb200;
  --rmd-char: #1c2120;
  --rmd-muted: #2f3532;
  --rmd-line: #14181c;
}

.skip {
  position: absolute;
  left: 12px;
  top: -80px;
  z-index: 20;
  background: var(--rmd-white);
  color: var(--rmd-ink);
  padding: 12px 16px;
  border: 2px solid var(--rmd-ink);
}
.skip:focus { top: 12px; }

body.rmd-public {
  margin: 0;
  background: var(--rmd-paper);
  color: var(--rmd-ink);
  font-family: "Segoe UI", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.5;
}
body.rmd-public *,
body.rmd-gate * { box-sizing: border-box; }
body.rmd-public a { color: var(--rmd-ink); }
body.rmd-public a:focus-visible,
body.rmd-public button:focus-visible,
body.rmd-public summary:focus-visible,
body.rmd-gate a:focus-visible,
body.rmd-gate button:focus-visible,
body.rmd-gate input:focus-visible,
body.rmd-gate select:focus-visible {
  outline: 3px solid var(--rmd-ink);
  outline-offset: 3px;
}

.stripe {
  height: 8px;
  background: var(--rmd-yellow);
  border-bottom: 2px solid var(--rmd-ink);
}

.nav,
.wrap,
.band-inner,
.footer-inner {
  width: min(1120px, calc(100% - 48px));
  margin-inline: auto;
}

.nav {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--rmd-ink);
}
.mark {
  position: relative;
  width: 52px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--rmd-yellow);
  color: var(--rmd-ink);
  border: 2px solid var(--rmd-ink);
  font-weight: 800;
  letter-spacing: -0.06em;
  font-size: 15px;
  flex: 0 0 auto;
}
.mark .bar {
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: 6px;
  height: 3px;
  background: var(--rmd-ink);
}
.name {
  font-weight: 750;
  letter-spacing: -0.03em;
  font-size: 16px;
  line-height: 1.15;
}
.name small {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--rmd-muted);
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 22px;
}
.nav-links a {
  text-decoration: none;
  font-size: 15px;
  font-weight: 650;
  color: var(--rmd-ink);
}
.nav-links a.signin { text-decoration: underline; text-underline-offset: 3px; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 18px;
  background: var(--rmd-yellow);
  color: var(--rmd-ink);
  border: 2px solid var(--rmd-ink);
  text-decoration: none;
  font: 750 16px/1.2 "Segoe UI", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  cursor: pointer;
}
.btn:hover { background: var(--rmd-yellow-press); }
.btn-ghost {
  background: transparent;
}
.btn-ghost:hover { background: var(--rmd-ink); color: var(--rmd-white); }
.nav-links .btn { min-height: 44px; font-size: 15px; }

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 56px;
  align-items: start;
  padding: 28px 0 56px;
}
.eyebrow {
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
h1 {
  margin: 0 0 18px;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 0.98;
  letter-spacing: -0.045em;
  font-weight: 750;
  text-wrap: balance;
  max-width: 11em;
}
.lede {
  margin: 0;
  max-width: 38em;
  font-size: 19px;
  line-height: 1.45;
  color: var(--rmd-muted);
}
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 26px 0 14px;
}
.fine {
  margin: 0;
  max-width: 42em;
  font-size: 14px;
  line-height: 1.45;
  color: var(--rmd-muted);
}

.facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 28px 0 0;
  max-width: 520px;
  border-top: 2px solid var(--rmd-ink);
}
.facts div {
  padding: 12px 14px 12px 0;
  border-bottom: 2px solid var(--rmd-ink);
}
.facts dt {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
}
.facts dd {
  margin: 4px 0 0;
  font-size: 15px;
}

.plate {
  background: var(--rmd-white);
  border: 2px solid var(--rmd-ink);
  box-shadow: 8px 8px 0 var(--rmd-char);
}
.plate-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  background: var(--rmd-yellow);
  color: var(--rmd-ink);
  border-bottom: 2px solid var(--rmd-ink);
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.plate-body { padding: 18px 16px 16px; }
.plate-kicker {
  margin: 0;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.plate-body h2 {
  margin: 8px 0 14px;
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -0.03em;
}
.plate-rows {
  list-style: none;
  margin: 0;
  padding: 0;
}
.plate-rows li {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px 0;
  border-top: 2px solid var(--rmd-ink);
  font-size: 15px;
}
.plate-rows li span:first-child {
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-weight: 700;
}
.plate-rows small {
  display: block;
  color: var(--rmd-muted);
  font-size: 13px;
}
.plate-rows b {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 2px solid var(--rmd-ink);
  padding: 4px 7px;
  background: var(--rmd-paper);
}
.plate-foot {
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--rmd-muted);
}

.band {
  background: var(--rmd-char);
  color: var(--rmd-white);
  padding: 56px 0;
}
.band h2 {
  margin: 8px 0 12px;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.05;
  letter-spacing: -0.04em;
  text-wrap: balance;
  max-width: 14em;
}
.band .lede { color: #e7e8e3; }
.steps {
  list-style: none;
  margin: 32px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 2px solid #f5c400;
}
.steps li {
  padding: 18px 16px 0 0;
}
.steps .n {
  display: block;
  color: var(--rmd-yellow);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-weight: 700;
  margin-bottom: 8px;
}
.steps strong { display: block; font-size: 18px; margin-bottom: 6px; }
.steps span { display: block; color: #e7e8e3; font-size: 15px; }

.section { padding: 64px 0; }
.section h2,
.pilot h2,
.faq h2 {
  margin: 8px 0 14px;
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.05;
  letter-spacing: -0.04em;
  text-wrap: balance;
}
.split {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 48px;
  align-items: start;
}
.ledger { margin: 0; }
.ledger div {
  padding: 16px 0;
  border-top: 2px solid var(--rmd-ink);
}
.ledger div:last-child { border-bottom: 2px solid var(--rmd-ink); }
.ledger dt {
  font-weight: 800;
  letter-spacing: -0.02em;
  font-size: 18px;
}
.ledger dd {
  margin: 6px 0 0;
  color: var(--rmd-muted);
  font-size: 16px;
}

.scope {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.scope article {
  background: var(--rmd-white);
  border: 2px solid var(--rmd-ink);
  padding: 22px 22px 8px;
}
.scope h3 {
  margin: 0 0 8px;
  font-size: 22px;
  letter-spacing: -0.03em;
}
.scope ul { margin: 0; padding: 0; list-style: none; }
.scope li {
  padding: 12px 0;
  border-top: 1px solid #c5c7c0;
  font-size: 16px;
}
.scope .limit { box-shadow: inset 6px 0 0 var(--rmd-yellow); }

.pilot {
  background: var(--rmd-char);
  color: var(--rmd-white);
  padding: 64px 0;
}
.pilot .lede,
.pilot .fine { color: #e7e8e3; }
.pilot .btn { margin-top: 8px; }
.pilot .btn-ghost {
  color: #ffffff;
  border-color: #ffffff;
  background: transparent;
}
.pilot .btn-ghost:hover { background: #ffffff; color: var(--rmd-ink); }
.pilot-layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: start;
}
.pilot h3 {
  margin: 22px 0 8px;
  font-size: 22px;
  letter-spacing: -0.03em;
  line-height: 1.2;
}
.pilot-points,
.pilot-steps {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pilot-points li,
.pilot-steps li {
  padding: 14px 0;
  border-top: 1px solid currentColor;
  font-size: 18px;
  line-height: 1.35;
}
.pilot-steps { counter-reset: pilot; }
.pilot-steps li { counter-increment: pilot; padding-left: 2px; }
.pilot-steps li::before {
  content: counter(pilot) ". ";
  color: var(--rmd-accent, #0f6e84);
  font-weight: 800;
}
.pilot .fine a,
.legal p a:not(.btn),
.legal li a,
.demo-pass a {
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pilot .fine a { color: var(--rmd-nav-text, #f4fbfc); }
.legal h1 { max-width: 16em; font-size: clamp(36px, 4vw, 52px); }
.legal h2 {
  margin: 28px 0 8px;
  font-size: clamp(26px, 3vw, 32px);
  letter-spacing: -0.03em;
  line-height: 1.15;
  max-width: 18em;
}
.legal p, .legal li { max-width: 40em; }
.legal ul { margin: 8px 0 0; padding-left: 1.15em; }
.legal li { padding: 8px 0; font-size: 18px; }
.legal .fine { margin-top: 12px; }
.draft-banner {
  display: block;
  max-width: 40em;
  margin: 0 0 20px;
  padding: 12px 16px;
  border: 2px solid var(--rmd-accent, #0f6e84);
  background: var(--rmd-accent-soft, #e5f4f7);
  color: var(--rmd-ink, #102833);
  font-weight: 750;
  font-size: 16px;
  line-height: 1.35;
}
.slot {
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-weight: 750;
  font-size: 0.92em;
  background: var(--rmd-white, #ffffff);
  color: var(--rmd-ink, #102833);
  border: 2px solid var(--rmd-ink, #102833);
  padding: 0 6px;
}
.contact-mail {
  min-height: 56px;
  height: auto;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
  padding: 14px 18px;
}
.legal .actions { margin-top: 8px; }

.faq details { border-top: 2px solid var(--rmd-ink); }
.faq details:last-of-type { border-bottom: 2px solid var(--rmd-ink); }
.faq summary {
  cursor: pointer;
  font-weight: 750;
  font-size: 18px;
  padding: 16px 28px 16px 0;
  min-height: 48px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq p {
  margin: 0 0 16px;
  max-width: 46em;
  color: var(--rmd-muted);
  font-size: 16px;
}

.footer {
  border-top: 2px solid var(--rmd-ink);
  padding: 22px 0 36px;
}
.footer-inner {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  font-size: 14px;
}
.footer a { margin-left: 16px; }
.demo-link {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  margin-left: 16px;
  vertical-align: top;
}
.demo-link a { margin-left: 0; }
.demo-pass {
  display: block;
  max-width: 16em;
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 650;
  color: var(--rmd-muted);
}

.brief h1 { max-width: 16em; font-size: clamp(36px, 4vw, 52px); }
.brief-table {
  width: 100%;
  border-collapse: collapse;
  margin: 28px 0;
  background: var(--rmd-white);
}
.brief-table th,
.brief-table td {
  text-align: left;
  vertical-align: top;
  border: 2px solid var(--rmd-ink);
  padding: 14px 16px;
  font-size: 16px;
}
.brief-table th {
  background: var(--rmd-yellow);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.spec {
  padding: 8px 0 20px;
  border-top: 2px solid var(--rmd-ink);
}
.spec h2 { font-size: 28px; letter-spacing: -0.03em; margin: 16px 0 8px; }
.spec p, .spec li { color: var(--rmd-muted); font-size: 16px; }
.spec ul { margin: 8px 0 0; padding-left: 18px; }

body.rmd-gate {
  display: block;
  margin: 0;
  padding: 0;
  background: var(--rmd-paper);
  color: var(--rmd-ink);
  font-family: "Segoe UI", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.45;
  min-height: 100vh;
  border-top: 8px solid var(--rmd-yellow);
}
.gate-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 64px;
  padding: 10px 16px;
  background: var(--rmd-white);
  border-bottom: 2px solid var(--rmd-ink);
}
.gate-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--rmd-ink);
  text-decoration: none;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.gate-bar > a:last-child {
  color: var(--rmd-ink);
  font-weight: 700;
  font-size: 16px;
}

body.rmd-gate .rmd-login-layout {
  max-width: 1080px;
  margin: 0 auto;
  min-height: calc(100vh - 88px);
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px;
  align-items: center;
  padding: 36px 28px 48px;
}
body.rmd-gate .rmd-login-intro h1 {
  font-size: clamp(36px, 4vw, 52px);
  letter-spacing: -0.045em;
  line-height: 0.98;
  color: var(--rmd-ink);
  max-width: 10em;
}
body.rmd-gate .rmd-login-intro p { font-size: 18px; color: var(--rmd-muted); max-width: 28em; }
body.rmd-gate .rmd-login-mark,
body.rmd-gate .rmd-login-intro .rmd-brand { display: none; }
body.rmd-gate .rmd-pill-row span {
  background: transparent;
  border: 2px solid var(--rmd-ink);
  border-radius: 0;
  color: var(--rmd-ink);
  font-size: 13px;
  font-weight: 700;
}
body.rmd-gate .rmd-login-panel {
  background: var(--rmd-white);
  border: 2px solid var(--rmd-ink);
  border-radius: 0;
  box-shadow: 8px 8px 0 var(--rmd-char);
  padding: 28px 22px 22px;
}
body.rmd-gate .rmd-login-panel h2 {
  font-size: 32px;
  letter-spacing: -0.04em;
  line-height: 1.1;
}
body.rmd-gate .rmd-login-panel label,
body.rmd-gate .login label,
body.rmd-gate .container label {
  display: block;
  font-size: 18px;
  font-weight: 750;
  margin: 16px 0 8px;
  color: var(--rmd-ink);
}
body.rmd-gate input:not([type="checkbox"]):not([type="hidden"]):not([type="radio"]) {
  width: 100%;
  min-height: 56px;
  padding: 12px 14px;
  border: 2px solid var(--rmd-ink);
  border-radius: 0;
  background: var(--rmd-white);
  color: var(--rmd-ink);
  font: 600 20px/1.3 "Segoe UI", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  box-shadow: none;
}
body.rmd-gate input::placeholder { color: #3a403c; opacity: 1; }
body.rmd-gate input:focus {
  outline: 3px solid var(--rmd-ink);
  outline-offset: 2px;
  border-color: var(--rmd-ink);
  box-shadow: none;
}
body.rmd-gate .rmd-login-panel button,
body.rmd-gate .rmd-primary,
body.rmd-gate .login button,
body.rmd-gate .container button {
  width: 100%;
  min-height: 56px;
  margin-top: 18px;
  padding: 14px 16px;
  background: var(--rmd-yellow);
  color: var(--rmd-ink);
  border: 2px solid var(--rmd-ink);
  border-radius: 0;
  font: 800 20px/1.2 "Segoe UI", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  cursor: pointer;
  box-shadow: none;
  transform: none;
}
body.rmd-gate .rmd-login-panel button:hover,
body.rmd-gate .rmd-primary:hover,
body.rmd-gate .login button:hover,
body.rmd-gate .container button:hover {
  background: var(--rmd-yellow-press);
  transform: none;
  box-shadow: none;
}
body.rmd-gate .rmd-error,
body.rmd-gate .error,
body.rmd-gate [role="alert"] {
  color: #6d1220;
  font-size: 18px;
  font-weight: 700;
}
body.rmd-gate .rmd-login-bottom,
body.rmd-gate .rmd-login-help {
  font-size: 16px;
  color: var(--rmd-muted);
}
body.rmd-gate .rmd-login-bottom a { font-weight: 750; }
body.rmd-gate .login .fine a,
body.rmd-gate .rmd-login-bottom a,
body.rmd-gate .rmd-login-help a,
body.rmd-gate header a { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 6px; }
body.rmd-gate [role="alert"] { padding: 12px 16px; border: 2px solid #6d1220; background: #fff3f4; }

body.rmd-gate .container {
  max-width: 480px;
  width: min(480px, calc(100% - 32px));
  margin: 28px auto 48px;
  background: var(--rmd-white);
  border: 2px solid var(--rmd-ink);
  border-radius: 0;
  box-shadow: 8px 8px 0 var(--rmd-char);
  padding: 28px 22px;
}
body.rmd-gate .container h1 {
  font-size: 36px;
  letter-spacing: -0.04em;
  margin: 0 0 8px;
  max-width: none;
}
body.rmd-gate .subtitle {
  color: var(--rmd-muted);
  font-size: 18px;
  margin: 0 0 8px;
}

body.rmd-gate .login main {
  max-width: 480px;
  margin: 12px auto 48px;
  padding: 8px 16px 32px;
}
body.rmd-gate .login h1 {
  font-size: 40px;
  letter-spacing: -0.045em;
  margin: 8px 0;
  max-width: none;
}
body.rmd-gate .login .eyebrow {
  letter-spacing: 0.14em;
  font-size: 12px;
  font-weight: 800;
  color: var(--rmd-ink);
}
body.rmd-gate .login p { font-size: 18px; color: var(--rmd-muted); }
body.rmd-gate .login [role="alert"] { color: #6d1220; }
body.rmd-gate .login .fine { font-size: 16px; }

@media (max-width: 900px) {
  .hero, .split, .scope, .steps, .pilot-layout { grid-template-columns: 1fr; }
  .steps li { padding: 16px 0; border-bottom: 1px solid #3a403c; }
  body.rmd-gate .rmd-login-layout {
    display: block;
    min-height: 0;
    padding: 12px 16px 40px;
  }
  body.rmd-gate .rmd-login-intro { margin-bottom: 8px; }
  body.rmd-gate .rmd-pill-row { display: none; }
  body.rmd-gate .rmd-login-panel { box-shadow: 4px 4px 0 var(--rmd-char); }
}

@media (max-width: 720px) {
  .nav, .wrap, .band-inner, .footer-inner { width: min(1120px, calc(100% - 32px)); }
  .name, .nav-links a:not(.btn):not(.signin) { display: none; }
  .nav { min-height: 64px; gap: 10px; }
  .nav-links { gap: 12px; }
  .nav-links .btn { padding: 10px 12px; }
  h1 { font-size: 36px; }
  .hero { padding: 12px 0 36px; gap: 28px; }
  .actions { flex-direction: column; }
  .actions .btn { width: 100%; }
  .plate { box-shadow: 4px 4px 0 var(--rmd-char); }
  .plate-rows li { grid-template-columns: 32px minmax(0, 1fr); }
  .plate-rows b { grid-column: 2; justify-self: start; }
  .facts { grid-template-columns: 1fr; }
  .section, .band, .pilot { padding: 40px 0; }
  .footer-inner { flex-direction: column; align-items: flex-start; }
  .footer-inner > div { display: flex; flex-direction: column; align-items: flex-start; }
  .footer a,
  .spec a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin: 0;
    padding: 8px 0;
    line-height: 1.2;
  }
  .demo-link { margin: 0; }
  .nav-links a.signin,
  .pilot .fine a,
  .legal p a:not(.btn),
  .legal li a,
  .demo-pass a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 8px 4px;
    line-height: 1.2;
  }
  .contact-mail { width: 100%; }
  .gate-bar > a:last-child,
  body.rmd-gate .rmd-login-bottom a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 8px 4px;
    line-height: 1.2;
  }
  body.rmd-gate .container {
    width: calc(100% - 16px);
    padding: 24px 14px;
  }
  body.rmd-gate .cf-turnstile {
    width: 100%;
    max-width: 100%;
  }
  .brief-table, .brief-table tbody, .brief-table tr, .brief-table th, .brief-table td { display: block; width: 100%; }
  body.rmd-gate .rmd-login-intro h1 { font-size: 32px; margin: 8px 0; }
  body.rmd-gate .rmd-login-mark { width: 44px; height: 44px; }
  body.rmd-gate .container,
  body.rmd-gate .rmd-login-panel { box-shadow: 4px 4px 0 var(--rmd-char); }
  .gate-brand span:last-child { display: none; }
  body.rmd-gate h1 { max-width: none; }
  body.rmd-gate .rmd-login-panel input:not([type="checkbox"]):not([type="hidden"]):not([type="radio"]) {
    font-size: 16px;
    min-width: 0;
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation: none !important; transition: none !important; }
}

@media print {
  .stripe, .nav, .actions, .skip, .gate-bar, .btn { display: none !important; }
  body.rmd-public { background: white; }
  .band, .pilot { background: white; color: black; }
  .band .lede, .band .steps span, .pilot .lede, .pilot .fine { color: black; }
  .steps { border-top-color: black; }
  .plate, .scope article { box-shadow: none; }
}


/* Option A · Harbor. Loaded after public-site.css and app-shell.css.
   Paint only: palette, corners, pills, soft shadows, lighter borders.
   Tokens match design/restyle-options Option A. */

:root {
  /* Field Ledger tokens (approved Oct 20, 2026): navy shell, warm grey ground,
     white records, one action blue. System fonts only; nothing is fetched. */
  --rmd-bg: #e8e6e0;
  --rmd-surface: #ffffff;
  --rmd-surface-soft: #f1efea;
  --rmd-ink: #172231;
  --rmd-muted: #4b5563;
  --rmd-nav: #13233a;
  --rmd-nav-raised: #22385a;
  --rmd-topbar: #1a2e4a;
  --rmd-nav-text: #ffffff;
  --rmd-nav-muted: #c9d3e1;
  --rmd-mark: #f0b323;
  --rmd-accent: #1f4fb8;
  --rmd-accent-press: #163b8c;
  --rmd-accent-text: #ffffff;
  --rmd-accent-soft: #e7eefc;
  --rmd-line: #d6d2c9;
  --rmd-input: #6e6a62;
  --rmd-focus: #1f4fb8;
  --rmd-link: #1f4fb8;
  --rmd-ok-bg: #e4f2e8;
  --rmd-ok-fg: #1d5c34;
  --rmd-info-bg: #e7eefc;
  --rmd-info-fg: #1c3f94;
  --rmd-warn-bg: #fdebdc;
  --rmd-warn-fg: #8b3a05;
  --rmd-bad-bg: #fde8e6;
  --rmd-bad-fg: #8c1d18;
  --rmd-done-bg: #eeece7;
  --rmd-done-fg: #4a4740;
  --rmd-radius-card: 10px;
  --rmd-radius-control: 8px;
  --rmd-radius-pill: 999px;
  --rmd-shadow: 0 1px 2px rgba(23, 34, 49, 0.06);
  --rmd-font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Liberation Sans", sans-serif;
  --rmd-display: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Liberation Sans", sans-serif;
  --rmd-paper: var(--rmd-bg);
  --rmd-white: var(--rmd-surface);
  --rmd-char: var(--rmd-nav);
}

body.rmd-public,
body.rmd-gate,
body.rmd-ui,
body.rmd-yard {
  background: var(--rmd-bg) !important;
  color: var(--rmd-ink) !important;
  font-family: var(--rmd-font) !important;
}

body.rmd-public a:focus-visible,
body.rmd-public button:focus-visible,
body.rmd-public summary:focus-visible,
body.rmd-gate a:focus-visible,
body.rmd-gate button:focus-visible,
body.rmd-gate input:focus-visible,
body.rmd-gate select:focus-visible,
body.rmd-gate textarea:focus-visible,
body.rmd-ui a:focus-visible,
body.rmd-ui button:focus-visible,
body.rmd-ui input:focus-visible,
body.rmd-ui select:focus-visible,
body.rmd-ui textarea:focus-visible,
body.rmd-ui summary:focus-visible,
body.rmd-yard a:focus-visible,
body.rmd-yard button:focus-visible,
body.rmd-yard input:focus-visible,
body.rmd-yard select:focus-visible,
body.rmd-yard textarea:focus-visible,
body.rmd-yard summary:focus-visible {
  outline: 3px solid var(--rmd-focus) !important;
  outline-offset: 3px !important;
}

body.rmd-public .nav a:focus-visible,
body.rmd-public .nav .btn:focus-visible,
body.rmd-gate .gate-bar a:focus-visible,
body.rmd-ui .rmd-appbar a:focus-visible,
body.rmd-ui .rmd-sidebar a:focus-visible,
body.rmd-ui .rmd-menu:focus-visible,
body.rmd-yard .top a:focus-visible,
body.rmd-yard .nav a:focus-visible,
body.rmd-public .pilot :focus-visible,
body.rmd-public .pilot .btn:focus-visible {
  outline-color: var(--rmd-nav-text) !important;
}

/* Public home */
body.rmd-public .stripe {
  height: 4px;
  background: var(--rmd-accent);
  border: 0;
}
body.rmd-public .nav {
  width: 100%;
  max-width: none;
  min-height: 76px;
  margin: 0;
  padding: 8px max(16px, calc((100% - 1120px) / 2));
  background: var(--rmd-nav);
  color: var(--rmd-nav-text);
  position: sticky;
  top: 0;
  z-index: 20;
}
body.rmd-public .brand,
body.rmd-public .nav-links a,
body.rmd-public .name,
body.rmd-public .name small {
  color: var(--rmd-nav-text);
}
body.rmd-public .name small { color: var(--rmd-nav-muted); }
body.rmd-public .mark {
  width: 48px;
  height: 48px;
  border-radius: calc(var(--rmd-radius-card) - 2px);
  background: var(--rmd-accent);
  color: var(--rmd-accent-text);
  border: 0;
}
body.rmd-public .mark .bar { background: var(--rmd-nav-text); }
body.rmd-public .nav-links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: var(--rmd-radius-pill);
  text-decoration: none;
}
body.rmd-public .nav-links a.signin { text-decoration: underline; text-underline-offset: 3px; }
body.rmd-public .nav-links a:hover { background: rgba(255, 255, 255, 0.1); }
body.rmd-public h1,
body.rmd-public h2,
body.rmd-public h3,
body.rmd-gate h1,
body.rmd-gate h2 {
  font-family: var(--rmd-display);
  color: var(--rmd-ink);
}
body.rmd-public .eyebrow { color: var(--rmd-link); }
body.rmd-public .lede,
body.rmd-public .fine { color: var(--rmd-muted); }
body.rmd-public .btn,
body.rmd-gate .rmd-primary,
body.rmd-gate .rmd-login-panel button,
body.rmd-gate .login button,
body.rmd-gate .container button {
  min-height: 48px;
  border-radius: var(--rmd-radius-pill) !important;
  border: 2px solid transparent !important;
  background: var(--rmd-accent) !important;
  color: var(--rmd-accent-text) !important;
  box-shadow: none !important;
  font-family: var(--rmd-font);
  font-weight: 700;
}
body.rmd-public .nav-links .btn { color: var(--rmd-accent-text) !important; text-decoration: none; }
body.rmd-public .btn:hover,
body.rmd-gate .rmd-primary:hover,
body.rmd-gate .rmd-login-panel button:hover,
body.rmd-gate .login button:hover,
body.rmd-gate .container button:hover {
  background: var(--rmd-accent-press) !important;
  color: var(--rmd-accent-text) !important;
}
body.rmd-public .btn-ghost {
  background: transparent !important;
  color: var(--rmd-link) !important;
  border-color: var(--rmd-link) !important;
}
body.rmd-public .btn-ghost:hover {
  background: var(--rmd-link) !important;
  color: var(--rmd-accent-text) !important;
}
body.rmd-public .facts {
  gap: 10px;
  border: 0;
}
body.rmd-public .facts div {
  background: var(--rmd-surface);
  border: 0;
  border-radius: var(--rmd-radius-control);
  box-shadow: var(--rmd-shadow);
  padding: 12px 14px;
}
body.rmd-public .facts dt { color: var(--rmd-ink); }
body.rmd-public .facts dd { color: var(--rmd-muted); }
body.rmd-public .plate,
body.rmd-public .scope article,
body.rmd-public .brief-table,
body.rmd-public .faq details,
body.rmd-public .ledger div,
body.rmd-public .steps li {
  background: var(--rmd-surface);
  color: var(--rmd-ink);
  border: 1px solid var(--rmd-line) !important;
  border-radius: var(--rmd-radius-card);
  box-shadow: var(--rmd-shadow) !important;
}
body.rmd-public .plate { overflow: hidden; }
body.rmd-public .plate-head,
body.rmd-public .brief-table th {
  background: var(--rmd-accent-soft);
  color: var(--rmd-ink);
  border: 0;
  border-bottom: 1px solid var(--rmd-line);
}
body.rmd-public .plate-rows { display: grid; gap: 8px; }
body.rmd-public .plate-rows li {
  background: var(--rmd-bg);
  border: 0;
  border-radius: var(--rmd-radius-control);
  padding: 10px 12px;
}
body.rmd-public .plate-rows b {
  border: 0;
  border-radius: var(--rmd-radius-pill);
  background: var(--rmd-accent-soft);
  color: var(--rmd-ink);
}
body.rmd-public .band {
  background: var(--rmd-accent-soft);
  color: var(--rmd-ink);
}
body.rmd-public .band h2,
body.rmd-public .band .eyebrow { color: var(--rmd-ink); }
body.rmd-public .band .lede,
body.rmd-public .steps li span:last-child { color: var(--rmd-muted); }
body.rmd-public .steps {
  gap: 14px;
  border: 0;
}
body.rmd-public .steps li { padding: 16px; }
body.rmd-public .steps .n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  margin-bottom: 8px;
  border-radius: var(--rmd-radius-pill);
  background: var(--rmd-accent);
  color: var(--rmd-accent-text);
}
body.rmd-public .ledger { display: grid; gap: 12px; }
body.rmd-public .ledger div,
body.rmd-public .ledger div:last-child {
  border: 1px solid var(--rmd-line);
  padding: 16px 18px;
}
body.rmd-public .scope { gap: 16px; }
body.rmd-public .scope article { padding: 22px; }
body.rmd-public .scope li { border-top-color: var(--rmd-line); }
body.rmd-public .scope .limit { box-shadow: inset 4px 0 0 var(--rmd-accent); }
body.rmd-public .pilot {
  background: var(--rmd-nav);
  color: var(--rmd-nav-text);
}
body.rmd-public .pilot h2,
body.rmd-public .pilot h3 { color: var(--rmd-nav-text); }
body.rmd-public .pilot .eyebrow,
body.rmd-public .pilot .lede,
body.rmd-public .pilot .fine,
body.rmd-public .pilot-points li,
body.rmd-public .pilot-steps li { color: var(--rmd-nav-muted); }
body.rmd-public .pilot .fine a { color: var(--rmd-nav-text); }
body.rmd-public .pilot .btn-ghost,
body.rmd-public .pilot .btn-ghost:hover {
  color: var(--rmd-nav-text) !important;
  border-color: var(--rmd-nav-text) !important;
  background: transparent !important;
}
body.rmd-public .pilot .btn-ghost:hover {
  background: var(--rmd-nav-text) !important;
  color: var(--rmd-nav) !important;
}
body.rmd-public .pilot-points li,
body.rmd-public .pilot-steps li { border-top-color: rgba(244, 251, 252, 0.28); }
body.rmd-public .pilot-steps li::before { color: var(--rmd-nav-text); }
body.rmd-public .faq details {
  padding: 4px 16px;
  margin: 10px 0;
  border: 1px solid var(--rmd-line);
}
body.rmd-public .faq details:last-of-type { border-bottom: 1px solid var(--rmd-line); }
body.rmd-public .footer { border-top: 1px solid var(--rmd-line); }
body.rmd-public .footer,
body.rmd-public .footer a,
body.rmd-public .spec a { color: var(--rmd-ink); }
body.rmd-public .brief-table th,
body.rmd-public .brief-table td { border-color: var(--rmd-line); }
body.rmd-public .spec { border-top-color: var(--rmd-line); }
body.rmd-public .slot {
  border: 1px solid var(--rmd-line);
  border-radius: 8px;
  background: var(--rmd-surface);
  color: var(--rmd-ink);
}
body.rmd-public .legal h2,
body.rmd-public .legal p,
body.rmd-public .legal li { color: var(--rmd-ink); }
body.rmd-public .legal .fine,
body.rmd-public .legal p,
body.rmd-public .legal li { color: var(--rmd-muted); }
body.rmd-public .legal h1,
body.rmd-public .legal h2 { color: var(--rmd-ink); }
body.rmd-public .draft-banner {
  border-color: var(--rmd-accent);
  border-radius: var(--rmd-radius-control);
  background: var(--rmd-accent-soft);
  color: var(--rmd-ink);
}

@media (max-width: 720px) {
  body.rmd-public .plate,
  body.rmd-gate .container,
  body.rmd-gate .rmd-login-panel { box-shadow: var(--rmd-shadow) !important; }
  body.rmd-public .steps li { border-bottom: 0; }
}

/* Sign-in */
body.rmd-gate {
  border-top: 0;
  background: var(--rmd-bg) !important;
}
body.rmd-gate .gate-bar {
  background: var(--rmd-nav);
  color: var(--rmd-nav-text);
  border-bottom: 0;
  min-height: 64px;
}
body.rmd-gate .gate-brand,
body.rmd-gate .gate-bar > a:last-child,
body.rmd-gate .gate-brand span {
  color: var(--rmd-nav-text);
}
body.rmd-gate .mark {
  border-radius: calc(var(--rmd-radius-card) - 2px);
  background: var(--rmd-accent);
  color: var(--rmd-accent-text);
  border: 0;
}
body.rmd-gate .mark .bar { background: var(--rmd-nav-text); }
body.rmd-gate .rmd-login-panel,
body.rmd-gate .container,
body.rmd-gate .login main {
  background: var(--rmd-surface);
  border: 1px solid var(--rmd-line) !important;
  border-radius: var(--rmd-radius-card) !important;
  box-shadow: var(--rmd-shadow) !important;
}
body.rmd-gate .rmd-pill-row span {
  background: var(--rmd-accent-soft);
  color: var(--rmd-ink);
  border: 0;
  border-radius: var(--rmd-radius-pill);
}
body.rmd-gate input:not([type="checkbox"]):not([type="hidden"]):not([type="radio"]),
body.rmd-gate select,
body.rmd-gate textarea {
  min-height: 48px;
  border: 2px solid var(--rmd-input) !important;
  border-radius: var(--rmd-radius-control) !important;
  background: var(--rmd-surface);
  color: var(--rmd-ink);
  font-family: var(--rmd-font);
}
body.rmd-gate input::placeholder { color: var(--rmd-muted); }
body.rmd-gate .rmd-error,
body.rmd-gate .error,
body.rmd-gate [role="alert"] { color: var(--rmd-bad-fg); }
body.rmd-gate .rmd-login-intro p,
body.rmd-gate .login p,
body.rmd-gate .subtitle,
body.rmd-gate .rmd-muted,
body.rmd-gate .rmd-login-help,
body.rmd-gate .fine { color: var(--rmd-muted); }
body.rmd-gate .rmd-login-bottom a,
body.rmd-gate .login a,
body.rmd-gate .fine a { color: var(--rmd-link); }

/* Signed-in shell and employee yard */
body.rmd-ui .rmd-appbar,
body.rmd-yard .top {
  background: var(--rmd-nav) !important;
  color: var(--rmd-nav-text) !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}
body.rmd-ui .rmd-appbar .rmd-wordmark,
body.rmd-ui .rmd-account-label,
body.rmd-ui .rmd-account-label span,
body.rmd-yard .top > a,
body.rmd-yard .topbrand {
  color: var(--rmd-nav-text) !important;
}
body.rmd-ui .rmd-appbar .rmd-wordmark small,
body.rmd-ui .rmd-sidebar .rmd-side-title { color: var(--rmd-nav-muted) !important; }
body.rmd-ui .rmd-login-home {
  background: var(--rmd-surface);
  border-bottom: 1px solid var(--rmd-line);
}
body.rmd-ui .rmd-login-home .rmd-wordmark,
body.rmd-ui .rmd-login-home .rmd-wordmark small { color: var(--rmd-ink) !important; }
body.rmd-ui .rmd-monogram,
body.rmd-yard .mark {
  border-radius: calc(var(--rmd-radius-card) - 2px) !important;
  background: var(--rmd-accent) !important;
  color: var(--rmd-accent-text) !important;
  border: 0 !important;
}
body.rmd-ui .rmd-monogram span { background: var(--rmd-nav-text) !important; }
body.rmd-ui .rmd-sidebar {
  background: var(--rmd-nav) !important;
  border-right: 0 !important;
}
body.rmd-ui .rmd-sidebar a {
  color: var(--rmd-nav-text) !important;
  border-radius: var(--rmd-radius-pill) !important;
  border-color: transparent !important;
  min-height: 48px;
}
body.rmd-ui .rmd-sidebar a:hover { background: rgba(255, 255, 255, 0.1) !important; }
body.rmd-ui .rmd-sidebar a[aria-current="page"],
body.rmd-ui .rmd-sidebar a[aria-current="page"]:hover {
  background: var(--rmd-accent) !important;
  color: var(--rmd-accent-text) !important;
  border-color: transparent !important;
}
body.rmd-ui .rmd-menu {
  border-radius: var(--rmd-radius-pill) !important;
  border: 0 !important;
  background: var(--rmd-accent) !important;
  color: var(--rmd-accent-text) !important;
  min-height: 48px;
  min-width: 48px;
}
body.rmd-ui .rmd-shell h1,
body.rmd-yard h1,
body.rmd-ui .rmd-shell h2,
body.rmd-yard h2,
body.rmd-ui .rmd-shell h3,
body.rmd-yard h3 { color: var(--rmd-ink) !important; }
body.rmd-ui .rmd-eyebrow,
body.rmd-ui .eyebrow,
body.rmd-yard .eyebrow { color: var(--rmd-link) !important; }
body.rmd-ui .rmd-shell .muted,
body.rmd-ui .rmd-shell .rmd-muted,
body.rmd-ui .rmd-shell small,
body.rmd-ui .rmd-shell .small,
body.rmd-ui .rmd-shell .label,
body.rmd-yard .muted,
body.rmd-yard small { color: var(--rmd-muted) !important; }
body.rmd-ui .rmd-shell a,
body.rmd-yard a { color: var(--rmd-link); }
body.rmd-ui .rmd-shell .card,
body.rmd-ui .rmd-shell .rmd-card,
body.rmd-ui .rmd-shell .rmd-help,
body.rmd-ui .rmd-shell .rmd-panel,
body.rmd-ui .rmd-shell .job,
body.rmd-ui .rmd-shell .metric,
body.rmd-ui .rmd-shell .call,
body.rmd-ui .rmd-shell .kpi,
body.rmd-ui .rmd-shell .branch,
body.rmd-ui .rmd-shell .action,
body.rmd-ui .rmd-shell .swap-section,
body.rmd-ui .rmd-shell .swap-card,
body.rmd-ui .rmd-panel,
body.rmd-ui .rmd-requirement,
body.rmd-ui .rmd-delivery-meta,
body.rmd-ui .rmd-next,
body.rmd-ui .rmd-card,
body.rmd-yard .card,
body.rmd-yard .empty,
body.rmd-yard .branchbar,
body.rmd-yard .job,
body.rmd-yard .module,
body.rmd-ui .rmd-shell .status-card,
body.rmd-ui .rmd-shell .address,
body.rmd-ui .rmd-shell .dispatch-unit,
body.rmd-yard .rental-line,
body.rmd-yard .order-form .card {
  background: var(--rmd-surface) !important;
  color: var(--rmd-ink) !important;
  border: 1px solid var(--rmd-line) !important;
  border-radius: var(--rmd-radius-card) !important;
  box-shadow: var(--rmd-shadow) !important;
}
body.rmd-ui .rmd-shell .rmd-card:hover,
body.rmd-ui .rmd-shell .action:hover,
body.rmd-yard .module:hover,
body.rmd-yard .job:hover {
  background: var(--rmd-accent-soft) !important;
  border-color: var(--rmd-line) !important;
}
body.rmd-ui .rmd-shell .rmd-card,
body.rmd-ui .rmd-card,
body.rmd-yard .module,
body.rmd-yard .job,
body.rmd-yard .card h2,
body.rmd-yard .card h3,
body.rmd-yard .module h2 {
  color: var(--rmd-ink) !important;
  text-decoration: none !important;
}
body.rmd-ui .rmd-shell .rmd-card p,
body.rmd-ui .rmd-shell .action,
body.rmd-yard .module p { color: var(--rmd-muted) !important; }
body.rmd-ui .rmd-shell button,
body.rmd-ui .rmd-shell .btn,
body.rmd-ui .rmd-shell .rmd-primary,
body.rmd-ui .rmd-button,
body.rmd-ui .rmd-submit,
body.rmd-yard button,
body.rmd-yard .primary-action,
body.rmd-yard a.primary-action {
  min-height: 48px;
  border-radius: var(--rmd-radius-pill) !important;
  border: 2px solid transparent !important;
  background: var(--rmd-accent) !important;
  color: var(--rmd-accent-text) !important;
  box-shadow: none !important;
  font-family: var(--rmd-font);
  text-decoration: none !important;
}
body.rmd-ui .rmd-shell button:hover,
body.rmd-ui .rmd-shell .btn:hover,
body.rmd-ui .rmd-shell .rmd-primary:hover,
body.rmd-ui .rmd-button:hover,
body.rmd-ui .rmd-submit:hover,
body.rmd-yard button:hover,
body.rmd-yard .primary-action:hover {
  background: var(--rmd-accent-press) !important;
  color: var(--rmd-accent-text) !important;
}
body.rmd-ui .rmd-button-light,
body.rmd-ui .rmd-shell .btn.secondary,
body.rmd-ui .rmd-shell .nav a:not(.primary),
body.rmd-ui .rmd-shell .rmd-quick a,
body.rmd-yard .remove-line {
  background: var(--rmd-surface) !important;
  color: var(--rmd-ink) !important;
  border: 1px solid var(--rmd-input) !important;
}
body.rmd-yard .remove-line {
  background: var(--rmd-bad-bg) !important;
  color: var(--rmd-bad-fg) !important;
  border-color: var(--rmd-bad-fg) !important;
}
body.rmd-ui .rmd-shell .nav a.primary,
body.rmd-ui .rmd-shell .steps a,
body.rmd-ui .rmd-shell .nav a[aria-current="page"] {
  background: var(--rmd-accent) !important;
  color: var(--rmd-accent-text) !important;
  border-color: transparent !important;
}
body.rmd-yard .nav a,
body.rmd-ui .rmd-topnav a {
  background: transparent !important;
  color: var(--rmd-nav-text) !important;
  border-color: transparent !important;
  box-shadow: none !important;
  border-radius: var(--rmd-radius-pill) !important;
  min-height: 44px;
  text-decoration: none !important;
}
body.rmd-yard .nav a:hover,
body.rmd-ui .rmd-topnav a:hover,
body.rmd-ui .rmd-topnav a[aria-current="page"] {
  background: rgba(255, 255, 255, 0.12) !important;
  color: var(--rmd-nav-text) !important;
}
body.rmd-ui .rmd-topnav {
  background: var(--rmd-nav) !important;
  color: var(--rmd-nav-text) !important;
  border-radius: var(--rmd-radius-card) !important;
}
body.rmd-ui .rmd-shell input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
body.rmd-ui .rmd-shell select,
body.rmd-ui .rmd-shell textarea,
body.rmd-ui .rmd-form-grid input,
body.rmd-ui .rmd-form-grid select,
body.rmd-yard input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
body.rmd-yard select,
body.rmd-yard textarea,
body.rmd-yard .order-form input,
body.rmd-yard .order-form select,
body.rmd-yard .order-form textarea {
  min-height: 48px !important;
  border: 2px solid var(--rmd-input) !important;
  border-radius: var(--rmd-radius-control) !important;
  background: var(--rmd-surface) !important;
  color: var(--rmd-ink) !important;
  font-size: 18px !important;
  box-shadow: none !important;
}
body.rmd-yard input[type="checkbox"],
body.rmd-yard input[type="radio"],
body.rmd-ui .rmd-launch-checks input {
  width: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  border-radius: 4px !important;
}
body.rmd-ui .rmd-shell label,
body.rmd-yard label { color: var(--rmd-ink) !important; }
body.rmd-ui .rmd-shell table,
body.rmd-yard table,
body.rmd-ui table.rmd-table {
  background: var(--rmd-surface) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.rmd-yard .scroll,
body.rmd-ui .wide,
body.rmd-ui .table-wrap,
body.rmd-ui .scroll,
body.rmd-ui .rmd-table-scroll {
  background: var(--rmd-surface);
  border: 1px solid var(--rmd-line);
  border-radius: var(--rmd-radius-card);
  box-shadow: var(--rmd-shadow);
  overflow: auto;
}
body.rmd-ui .rmd-shell th,
body.rmd-ui table.rmd-table th,
body.rmd-yard th {
  background: var(--rmd-accent-soft) !important;
  color: var(--rmd-ink) !important;
  border-bottom: 1px solid var(--rmd-line) !important;
}
body.rmd-ui .rmd-shell td,
body.rmd-ui table.rmd-table td,
body.rmd-yard td {
  color: var(--rmd-ink) !important;
  border-bottom: 1px solid var(--rmd-line) !important;
  background: var(--rmd-surface);
}
body.rmd-ui .notice,
body.rmd-ui .rmd-note,
body.rmd-ui .rmd-demo-notice,
body.rmd-ui #lone-mesa-demo-banner,
body.rmd-ui .rmd-shell .warn,
body.rmd-ui .rmd-shell .lock-note,
body.rmd-yard .notice,
body.rmd-yard .success-note {
  background: var(--rmd-warn-bg) !important;
  color: var(--rmd-warn-fg) !important;
  border: 1px solid var(--rmd-line) !important;
  border-left: 6px solid var(--rmd-warn-fg) !important;
  border-radius: var(--rmd-radius-control) !important;
}
body.rmd-yard .success-note {
  background: var(--rmd-ok-bg) !important;
  color: var(--rmd-ok-fg) !important;
  border-left-color: var(--rmd-ok-fg) !important;
}
body.rmd-ui #lone-mesa-demo-banner a { color: var(--rmd-warn-fg) !important; }
body.rmd-ui .rmd-phone-preview,
body.rmd-ui .rmd-iconbox {
  border-radius: var(--rmd-radius-card) !important;
  border: 1px solid var(--rmd-line) !important;
  box-shadow: var(--rmd-shadow) !important;
}
body.rmd-ui .rmd-phone-preview header {
  background: var(--rmd-nav) !important;
  border-bottom: 0;
}
body.rmd-ui .rmd-iconbox {
  background: var(--rmd-accent-soft) !important;
  color: var(--rmd-accent) !important;
  border-radius: var(--rmd-radius-control) !important;
  box-shadow: none !important;
}
body.rmd-ui .rmd-timeline > div { border-top-color: var(--rmd-line) !important; color: var(--rmd-muted) !important; }
body.rmd-ui .rmd-timeline .done { border-color: var(--rmd-accent) !important; color: var(--rmd-ink) !important; }

/* Status: a word plus a shape. Color is extra, not the only signal. */
body.rmd-ui .pill,
body.rmd-ui .rmd-pill,
body.rmd-ui .badge,
body.rmd-ui .status,
body.rmd-yard .pill,
body.rmd-yard .status,
body.rmd-yard .unit-status,
body.rmd-yard .cap,
body.rmd-ui .rmd-chip,
body.rmd-yard .rmd-chip,
.rmd-chip {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
  border-radius: var(--rmd-radius-pill) !important;
  border: 1px solid transparent !important;
  background: var(--rmd-done-bg) !important;
  color: var(--rmd-done-fg) !important;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.3;
  padding: 4px 10px !important;
  box-shadow: none !important;
}
body.rmd-ui .pill::before,
body.rmd-ui .rmd-pill::before,
body.rmd-ui .badge::before,
body.rmd-ui .status::before,
body.rmd-yard .pill::before,
body.rmd-yard .status::before,
body.rmd-yard .unit-status::before,
body.rmd-yard .cap::before,
body.rmd-ui .rmd-chip::before,
body.rmd-yard .rmd-chip::before,
.rmd-chip::before {
  content: "";
  width: 0.7em;
  height: 0.7em;
  flex: 0 0 auto;
  border-radius: 2px;
  background: currentColor;
  box-shadow: none;
}
body.rmd-yard .cap { min-height: 44px; padding: 8px 12px !important; }
body.rmd-ui .pill.available,
body.rmd-ui .pill.active,
body.rmd-ui .pill.delivered,
body.rmd-ui .rmd-pill-green,
body.rmd-yard .pill.operate,
body.rmd-yard .cap.on,
body.rmd-yard .unit-status.available,
body.rmd-ui .rmd-chip-ready,
body.rmd-yard .rmd-chip-ready,
.rmd-chip-ready {
  background: var(--rmd-ok-bg) !important;
  color: var(--rmd-ok-fg) !important;
}
body.rmd-ui .pill.available::before,
body.rmd-ui .pill.active::before,
body.rmd-ui .pill.delivered::before,
body.rmd-ui .rmd-pill-green::before,
body.rmd-yard .pill.operate::before,
body.rmd-yard .cap.on::before,
body.rmd-yard .unit-status.available::before,
.rmd-chip-ready::before { border-radius: 50%; }
body.rmd-ui .pill.rented,
body.rmd-ui .pill.out_for_delivery,
body.rmd-ui .pill.reservation,
body.rmd-yard .pill.view,
body.rmd-ui .rmd-chip-out,
body.rmd-yard .rmd-chip-out,
.rmd-chip-out {
  background: var(--rmd-info-bg) !important;
  color: var(--rmd-info-fg) !important;
}
body.rmd-ui .pill.rented::before,
body.rmd-ui .pill.out_for_delivery::before,
body.rmd-ui .pill.reservation::before,
body.rmd-yard .pill.view::before,
.rmd-chip-out::before {
  border-radius: 50%;
  background: transparent;
  box-shadow: inset 0 0 0 2px currentColor;
}
body.rmd-ui .pill.reserved,
body.rmd-ui .pill.quote,
body.rmd-ui .pill.pm,
body.rmd-ui .rmd-pill-amber,
body.rmd-yard .pill.manage,
body.rmd-ui .rmd-chip-hold,
body.rmd-yard .rmd-chip-hold,
.rmd-chip-hold {
  background: var(--rmd-warn-bg) !important;
  color: var(--rmd-warn-fg) !important;
}
body.rmd-ui .pill.down,
body.rmd-ui .pill.hard_down,
body.rmd-ui .rmd-shell .down-unit,
body.rmd-yard .unit-status.down,
body.rmd-ui .rmd-chip-down,
body.rmd-yard .rmd-chip-down,
.rmd-chip-down {
  background: var(--rmd-bad-bg) !important;
  color: var(--rmd-bad-fg) !important;
  border-radius: var(--rmd-radius-pill) !important;
}
body.rmd-ui .pill.down::before,
body.rmd-ui .pill.hard_down::before,
body.rmd-yard .unit-status.down::before,
.rmd-chip-down::before {
  border-radius: 2px;
  background: transparent;
  box-shadow: inset 0 0 0 2px currentColor;
}
body.rmd-ui .pill.inactive,
body.rmd-ui .pill.completed,
body.rmd-yard .cap.off,
body.rmd-ui .rmd-chip-neutral,
body.rmd-yard .rmd-chip-neutral,
.rmd-chip-neutral {
  background: var(--rmd-done-bg) !important;
  color: var(--rmd-done-fg) !important;
}
body.rmd-yard .cap.off::before,
.rmd-chip-neutral::before {
  background: transparent;
  box-shadow: inset 0 0 0 2px currentColor;
}

/* Filter chips from the branch-chip draft, if that stylesheet loads first. */
body.rmd-yard .rmd-chipbar a.rmd-chip,
body.rmd-ui .rmd-chipbar a.rmd-chip {
  min-height: 44px;
  padding: 8px 14px;
  border-radius: var(--rmd-radius-pill) !important;
  border: 1px solid var(--rmd-input) !important;
  background: var(--rmd-surface) !important;
  color: var(--rmd-ink) !important;
  box-shadow: none !important;
}
body.rmd-yard .rmd-chipbar a.rmd-chip[aria-current="page"],
body.rmd-ui .rmd-chipbar a.rmd-chip[aria-current="page"] {
  background: var(--rmd-accent) !important;
  color: var(--rmd-accent-text) !important;
  border-color: var(--rmd-accent) !important;
}
body.rmd-yard .rmd-chipbar a.rmd-chip::before,
body.rmd-ui .rmd-chipbar a.rmd-chip::before { content: none; }

/* Phone cards and tabs from the phone-list draft. */
body.rmd-yard .phone-card,
body.rmd-ui .phone-card {
  background: var(--rmd-surface) !important;
  color: var(--rmd-ink) !important;
  border: 1px solid var(--rmd-line) !important;
  border-radius: var(--rmd-radius-card) !important;
  box-shadow: var(--rmd-shadow) !important;
}
body.rmd-yard .phone-card-title,
body.rmd-yard .phone-card dd,
body.rmd-ui .phone-card-title { color: var(--rmd-ink) !important; }
body.rmd-yard .phone-card dt { color: var(--rmd-muted) !important; }
body.rmd-yard .phone-card-link,
body.rmd-yard .empty-actions a,
body.rmd-yard .date-shortcuts a,
body.rmd-yard .segmented-tabs a,
body.rmd-ui .segmented-tabs a {
  min-height: 44px;
  border-radius: var(--rmd-radius-pill) !important;
  border: 1px solid var(--rmd-input) !important;
  background: var(--rmd-surface) !important;
  color: var(--rmd-ink) !important;
}
body.rmd-yard .segmented-tabs a[aria-current="page"],
body.rmd-ui .segmented-tabs a[aria-current="page"] {
  background: var(--rmd-accent) !important;
  color: var(--rmd-accent-text) !important;
  border-color: var(--rmd-accent) !important;
}

@media (max-width: 760px) {
  body.rmd-yard .top {
    flex-wrap: wrap !important;
    align-items: stretch !important;
    max-width: 100%;
  }
  body.rmd-yard .nav,
  body.rmd-ui .rmd-topnav-links {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex-wrap: nowrap !important;
    overflow-x: auto;
  }
  body.rmd-yard .nav a,
  body.rmd-ui .rmd-shell .nav a,
  body.rmd-ui .rmd-shell .rmd-quick a {
    flex: 0 0 auto !important;
  }
  body.rmd-yard .scroll {
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
  }
  body.rmd-yard .scroll table,
  body.rmd-yard .scroll tbody,
  body.rmd-yard .scroll tr,
  body.rmd-yard .scroll td {
    display: block !important;
    width: 100% !important;
  }
  body.rmd-yard .scroll thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  body.rmd-yard .scroll tr {
    margin: 0 0 12px !important;
    padding: 12px 14px !important;
    background: var(--rmd-surface) !important;
    border: 1px solid var(--rmd-line) !important;
    border-radius: var(--rmd-radius-card) !important;
    box-shadow: var(--rmd-shadow) !important;
  }
  body.rmd-yard .scroll td {
    border: 0 !important;
    padding: 4px 0 !important;
    background: transparent !important;
    white-space: normal !important;
  }
  body.rmd-yard .account form,
  body.rmd-yard .order-buttons button,
  body.rmd-yard .branchbar button,
  body.rmd-public .actions .btn,
  body.rmd-gate .rmd-login-panel button,
  body.rmd-gate .login button,
  body.rmd-gate .container button {
    width: 100%;
  }
}

body.rmd-ui .mobile-field-nav,
body.rmd-yard .mobile-field-nav { background: var(--rmd-nav); border-top-color: rgba(255, 255, 255, 0.2); }
body.rmd-ui .mobile-field-nav a,
body.rmd-yard .mobile-field-nav a { color: var(--rmd-nav-text); }
body.rmd-yard .mobile-field-nav a[aria-current="page"],
body.rmd-ui .mobile-field-nav a[aria-current="page"] { background: var(--rmd-accent); color: var(--rmd-accent-text); }

/* Later workspace paint: approvals, contact actions, and filter chips.
   Safety yellow (#f5c400) is not an accent here. Status still uses a word plus a shape. */
body.rmd-yard a.btn,
body.rmd-ui a.btn,
body.rmd-yard .menu-btn {
  min-height: 48px;
  border-radius: var(--rmd-radius-pill) !important;
  border: 2px solid transparent !important;
  background: var(--rmd-accent) !important;
  color: var(--rmd-accent-text) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
body.rmd-yard a.btn:hover,
body.rmd-ui a.btn:hover,
body.rmd-yard .menu-btn:hover {
  background: var(--rmd-accent-press) !important;
  color: var(--rmd-accent-text) !important;
}
body.rmd-yard a.btn-light,
body.rmd-yard button.btn-light,
body.rmd-ui a.btn-light,
body.rmd-ui button.btn-light {
  background: var(--rmd-surface) !important;
  color: var(--rmd-ink) !important;
  border: 1px solid var(--rmd-input) !important;
}
body.rmd-yard .nav-count {
  background: var(--rmd-accent-soft) !important;
  color: var(--rmd-nav) !important;
  border-radius: var(--rmd-radius-pill) !important;
}
body.rmd-yard .nav a[aria-current="page"] {
  background: var(--rmd-accent) !important;
  color: var(--rmd-accent-text) !important;
}
body.rmd-yard .nav a[aria-current="page"] .nav-count {
  background: var(--rmd-surface) !important;
  color: var(--rmd-nav) !important;
}
body.rmd-yard .pill.pill-pending,
body.rmd-yard .pill.pill-needs_info {
  background: var(--rmd-warn-bg) !important;
  color: var(--rmd-warn-fg) !important;
}
body.rmd-yard .pill.pill-pending::before,
body.rmd-yard .pill.pill-needs_info::before {
  border-radius: 2px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
body.rmd-yard .pill.pill-approved_distinct,
body.rmd-yard .pill.pill-used_existing {
  background: var(--rmd-ok-bg) !important;
  color: var(--rmd-ok-fg) !important;
}
body.rmd-yard .pill.pill-approved_distinct::before,
body.rmd-yard .pill.pill-used_existing::before { border-radius: 50%; }
body.rmd-yard .pill.pill-rejected,
body.rmd-yard .pill.pill-hard {
  background: var(--rmd-bad-bg) !important;
  color: var(--rmd-bad-fg) !important;
}
body.rmd-yard .pill.pill-rejected::before,
body.rmd-yard .pill.pill-hard::before {
  border-radius: 2px;
  background: transparent;
  box-shadow: inset 0 0 0 2px currentColor;
}
body.rmd-yard .pill.pill-resolved {
  background: var(--rmd-done-bg) !important;
  color: var(--rmd-done-fg) !important;
}
body.rmd-yard .pill.pill-resolved::before {
  background: transparent;
  box-shadow: inset 0 0 0 2px currentColor;
}
body.rmd-yard .tag-diff,
body.rmd-yard .count[aria-pressed="true"] {
  background: var(--rmd-warn-bg) !important;
  color: var(--rmd-warn-fg) !important;
}
body.rmd-yard .banner,
body.rmd-yard .notice,
body.rmd-yard .note.is-unread {
  border-left-color: var(--rmd-accent) !important;
}
body.rmd-yard .banner-hard { border-left-color: var(--rmd-bad-fg) !important; }
body.rmd-yard .banner-ok { border-left-color: var(--rmd-ok-fg) !important; }
body.rmd-yard .field.is-diff {
  border-left-color: var(--rmd-warn-fg) !important;
  background: var(--rmd-warn-bg) !important;
}
body.rmd-yard a.rmd-contact-link,
body.rmd-ui a.rmd-contact-link,
a.rmd-contact-link {
  border-radius: var(--rmd-radius-pill) !important;
  border: 1px solid var(--rmd-input) !important;
  background: var(--rmd-surface) !important;
  color: var(--rmd-ink) !important;
  box-shadow: none !important;
}
body.rmd-yard a.rmd-contact-link:hover,
body.rmd-ui a.rmd-contact-link:hover,
a.rmd-contact-link:hover {
  background: var(--rmd-accent-soft) !important;
  color: var(--rmd-ink) !important;
}
body.rmd-ui .rmd-chipbar a.rmd-chip:focus-visible,
body.rmd-yard .rmd-chipbar a.rmd-chip:focus-visible,
body.rmd-yard a.rmd-contact-link:focus-visible,
body.rmd-ui a.rmd-contact-link:focus-visible,
a.rmd-contact-link:focus-visible {
  outline: 3px solid var(--rmd-focus) !important;
  outline-offset: 3px !important;
}
@media (max-width: 760px) {
  body.rmd-yard .workspace-mobile .nav {
    flex-direction: column !important;
    overflow: auto !important;
  }
  body.rmd-yard .workspace-mobile .nav a {
    width: 100%;
    justify-content: flex-start;
  }
}

/* App shell paints .top links safety yellow on keyboard focus. Keep the dark nav. */
body.rmd-yard .top a:focus-visible {
  background: transparent !important;
  color: var(--rmd-nav-text) !important;
  outline: 3px solid var(--rmd-nav-text) !important;
  outline-offset: 3px !important;
}
body.rmd-yard .nav a[aria-current="page"]:focus-visible {
  background: var(--rmd-accent) !important;
  color: var(--rmd-accent-text) !important;
}

/* Branch-chip CSS paints the partner DEMO pill and table focus rings safety yellow.
   Match that specificity. Dark text on the soft teal pill stays readable on the navy bar.
   Focus on light surfaces uses #0a4f61; a light ring is reserved for a dark surface. */
body.rmd-ui .rmd-account-label span.rmd-pill.rmd-pill-amber {
  background: var(--rmd-accent-soft) !important;
  color: var(--rmd-nav) !important;
}
body.rmd-yard .scroll:focus-visible,
body.rmd-ui .wide:focus-visible {
  outline: 3px solid var(--rmd-focus) !important;
  outline-offset: 3px !important;
}
body.rmd-yard .top .scroll:focus-visible,
body.rmd-ui .rmd-appbar .wide:focus-visible,
body.rmd-ui .rmd-sidebar .wide:focus-visible {
  outline-color: var(--rmd-nav-text) !important;
}

/* Driver stop and service notes: camera control and 44px field links. */
body.rmd-yard label.take-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-height: 52px;
  margin: 0 0 12px;
  padding: 12px 18px;
  border: 2px solid transparent;
  border-radius: var(--rmd-radius-pill);
  background: var(--rmd-accent) !important;
  color: var(--rmd-accent-text) !important;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
}
body.rmd-yard label.take-photo input[type="file"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 52px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
body.rmd-yard a.mobile-action,
body.rmd-yard a.field-photo-link,
body.rmd-yard a.dispatch-map-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 44px;
  min-width: 44px;
  padding: 10px 14px;
  font-weight: 800;
}
body.rmd-yard .tech-workload { display: grid; gap: 14px; margin-top: 12px; }
body.rmd-yard .tech-workload-group h3,
body.rmd-yard .tech-workload h3 { margin: 0 0 4px; }
/* Bottom-nav links inherit the teal link color, which fails on the navy bar at 11px. */
body.rmd-yard .mobile-field-nav a,
body.rmd-ui .mobile-field-nav a {
  color: var(--rmd-nav-text) !important;
}
body.rmd-yard .mobile-field-nav a[aria-current="page"],
body.rmd-ui .mobile-field-nav a[aria-current="page"] {
  color: var(--rmd-accent-text) !important;
}


/* Keep employee setup and native date controls within narrow mobile layouts. */
body.rmd-yard .setup form, body.rmd-ui .setup form { display:grid; gap:12px; min-width:0; }
body.rmd-yard .setup label, body.rmd-ui .setup label { display:block; min-width:0; }
body.rmd-yard .setup input:not([type=checkbox]):not([type=hidden]),
body.rmd-ui .setup input:not([type=checkbox]):not([type=hidden]),
body.rmd-yard .setup select, body.rmd-ui .setup select,
body.rmd-yard input[type=date], body.rmd-yard input[type=datetime-local] {
  box-sizing:border-box; width:100%; min-width:0; max-width:100%;
}
body.rmd-yard .setup fieldset, body.rmd-ui .setup fieldset { min-width:0; margin:0; }
body.rmd-yard .setup a, body.rmd-ui .setup a { overflow-wrap:anywhere; }
