/* R0BATO portal workflow layer — shared across the existing client portals. */
:root {
  --rb2-bg: #0b0b0b;
  --rb2-panel: #151515;
  --rb2-cream: #f3efe6;
  --rb2-muted: #a7a197;
  --rb2-line: #34312f;
  --rb2-red: #c93632;
  --rb2-green: #69b77b;
}

html { scroll-padding-top: 90px; }
body.rb2-ready { padding-top: 0 !important; }

.rb2-skip {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 2147483000;
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 10px 14px;
  background: var(--rb2-cream);
  color: var(--rb2-bg);
  font: 700 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  transform: translateY(-160%);
}
.rb2-skip:focus { transform: translateY(0); }

.rb2-workflow {
  position: sticky;
  top: 0;
  z-index: 2147482000;
  color: var(--rb2-cream);
  background: rgba(11, 11, 11, .97);
  border-bottom: 3px solid var(--rb2-red);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
  font-family: "Helvetica Neue", Arial, sans-serif;
}

.rb2-workflow__inner {
  width: min(1180px, calc(100% - 32px));
  min-height: 64px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
}

.rb2-workflow__identity { min-width: 0; margin-right: auto; }
.rb2-workflow__eyebrow {
  color: var(--rb2-red);
  font: 700 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.rb2-workflow__name {
  overflow: hidden;
  color: var(--rb2-cream);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rb2-workflow__nav { display: flex; align-items: center; gap: 6px; }
.rb2-workflow a,
.rb2-workflow button,
.rb2-prompter-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rb2-line);
  border-radius: 2px;
  background: var(--rb2-panel);
  color: var(--rb2-cream);
  padding: 10px 13px;
  font: 700 11px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  touch-action: manipulation;
}
.rb2-workflow a:hover,
.rb2-workflow a[aria-current="page"],
.rb2-prompter-link:hover { border-color: var(--rb2-red); color: #fff; }
.rb2-workflow a:focus-visible,
.rb2-workflow button:focus-visible,
.rb2-prompter-link:focus-visible {
  outline: 3px solid var(--rb2-cream);
  outline-offset: 3px;
}
.rb2-workflow .rb2-workflow__more { display: none; }
.rb2-workflow__status {
  color: var(--rb2-muted);
  font: 600 10px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .08em;
  white-space: nowrap;
  text-transform: uppercase;
}
.rb2-workflow__status strong { color: var(--rb2-green); }
.rb2-workflow__status[data-paused="true"] strong { color: #e1a19f; }

.rb2-start {
  width: min(920px, calc(100% - 48px));
  margin: 24px auto 8px;
  padding: 18px;
  border: 1px solid var(--rb2-line);
  border-left: 4px solid var(--rb2-red);
  background: var(--rb2-panel);
  color: var(--rb2-cream);
  font-family: "Helvetica Neue", Arial, sans-serif;
}
.rb2-start__label {
  color: var(--rb2-red);
  font: 700 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.rb2-start h2 { margin: 5px 0 6px; color: var(--rb2-cream); font-size: clamp(22px, 4vw, 30px); }
.rb2-start p { margin: 0; color: var(--rb2-muted); font-size: 15px; }
.rb2-start__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.rb2-start__actions a {
  min-height: 88px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  border: 1px solid var(--rb2-line);
  background: #0f0f0f;
  color: var(--rb2-cream);
  padding: 10px 14px;
  text-decoration: none;
}
.rb2-start__actions a:hover { border-color: var(--rb2-red); }
.rb2-start__actions a:focus-visible { outline: 3px solid var(--rb2-cream); outline-offset: 3px; }
.rb2-start__actions strong {
  color: var(--rb2-cream);
  font: 750 13px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.rb2-start__actions span { margin-top: 7px; color: var(--rb2-muted); font-size: 13px; line-height: 1.35; }

.rb2-capture-status {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 2147481000;
  max-width: calc(100vw - 32px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--rb2-line);
  border-left: 4px solid var(--rb2-green);
  background: var(--rb2-bg);
  color: var(--rb2-cream);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .28);
  font: 700 11px/1.35 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.rb2-capture-status__copy { min-width: 0; }
.rb2-capture-status__copy strong { display: block; color: var(--rb2-cream); font: inherit; }
.rb2-capture-status span { display: block; max-width: 52ch; color: var(--rb2-muted); font-size: 9px; margin-top: 3px; }
.rb2-capture-status .rb2-capture-status__link {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 1px solid rgba(105, 183, 123, .55);
  color: #b7dfc0;
  padding: 7px 9px;
  text-decoration: none;
}
.rb2-capture-status .rb2-capture-status__link:hover { border-color: var(--rb2-green); color: #fff; }
.rb2-capture-status .rb2-capture-status__link[aria-disabled="true"] { opacity: .5; pointer-events: none; }

.rb2-prompter-link { margin: 14px 0 2px; border-color: rgba(105, 183, 123, .55); color: #b7dfc0; }
.rb2-prompter-link::before { content: "▶"; margin-right: 8px; }
.rb2-prompter-link[aria-disabled="true"] { opacity: .55; pointer-events: none; }
.rb2-prompter-note { margin: 6px 0 0; color: inherit; opacity: .66; font-size: 12px; }

.rb2-script-launcher {
  scroll-margin-top: 156px;
  width: min(920px, calc(100% - 48px));
  margin: 28px auto;
  padding: 20px;
  border: 1px solid var(--rb2-line);
  border-left: 4px solid var(--rb2-green);
  background: var(--rb2-bg);
  color: var(--rb2-cream);
  font-family: "Helvetica Neue", Arial, sans-serif;
}
.rb2-script-source[hidden] { display: none !important; }
.rb2-script-launcher__label {
  color: var(--rb2-green);
  font: 700 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.rb2-script-launcher h2 { margin: 6px 0; color: var(--rb2-cream); font-size: clamp(24px, 4vw, 34px); }
.rb2-script-launcher__intro { margin: 0 0 16px; color: var(--rb2-muted); }
.rb2-script-workspace { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.55fr); gap: 12px; }
.rb2-script-launcher__list {
  display: grid;
  align-content: start;
  gap: 7px;
}
.rb2-script-launcher__item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
.rb2-script-recorded { min-width: 92px; display: grid; place-items: center; gap: 3px; padding: 6px; border: 1px solid var(--rb2-line); background: #101010; color: var(--rb2-muted); cursor: pointer; font: 700 9px/1.1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; text-transform: uppercase; }
.rb2-script-recorded input { width: 26px; height: 26px; margin: 0; accent-color: var(--rb2-green); }
.rb2-script-recorded:has(input:checked) { border-color: var(--rb2-green); background: #182019; color: var(--rb2-cream); }
.rb2-script-launcher__row {
  width: 100%;
  min-height: 58px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3px;
  padding: 10px 13px;
  border: 1px solid var(--rb2-line);
  background: var(--rb2-panel);
  color: var(--rb2-cream);
  cursor: pointer;
  font-family: inherit;
  text-align: left;
}
.rb2-script-launcher__row:hover,
.rb2-script-launcher__row[aria-selected="true"] { border-color: var(--rb2-green); background: #182019; }
.rb2-script-launcher__row:active { background: #203024; }
.rb2-script-launcher__row:focus-visible { outline: 3px solid var(--rb2-cream); outline-offset: 2px; }
.rb2-script-launcher__row span {
  color: var(--rb2-green);
  font: 700 9px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.rb2-script-launcher__row strong { color: var(--rb2-cream); font-size: 15px; line-height: 1.3; }
.rb2-script-preview {
  scroll-margin-top: 156px;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--rb2-line);
  background: var(--rb2-panel);
}
.rb2-script-preview__eyebrow {
  grid-column: 1 / -1;
  color: var(--rb2-green);
  font: 700 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.rb2-script-preview__selection { grid-column: 1 / -1; width: fit-content; padding: 5px 8px; border-radius: 999px; background: #e7f1e9; color: #2f6840; font: 800 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; text-transform: uppercase; }
.rb2-script-preview--changed { animation: rb2-preview-change .32s ease-out; }
@keyframes rb2-preview-change { from { box-shadow: 0 0 0 4px rgba(197,139,44,.28); } to { box-shadow: 0 0 0 0 rgba(197,139,44,0); } }
@media (prefers-reduced-motion: reduce) { .rb2-script-preview--changed { animation: none; } }
.rb2-script-preview h3 { grid-column: 1 / -1; margin: 0 0 4px; color: var(--rb2-cream); font-size: 23px; line-height: 1.15; }
.rb2-script-preview__field { min-width: 0; padding-top: 10px; border-top: 1px solid var(--rb2-line); }
.rb2-script-preview__field--wide { grid-column: 1 / -1; }
.rb2-script-preview__field h4 {
  margin: 0 0 5px;
  color: var(--rb2-green);
  font: 700 9px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.rb2-script-preview__field p { max-width: 68ch; margin: 0; color: var(--rb2-cream); font-size: 15px; line-height: 1.48; white-space: pre-line; }
.rb2-script-preview .rb2-script-preview__open {
  grid-column: 1 / -1;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  border: 1px solid rgba(105, 183, 123, .55);
  color: #b7dfc0;
  padding: 11px 14px;
  font: 700 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .07em;
  text-decoration: none;
  text-transform: uppercase;
}
.rb2-script-preview .rb2-script-preview__open:hover { border-color: var(--rb2-green); color: #fff; }
.rb2-script-preview .rb2-script-preview__open:focus-visible { outline: 3px solid var(--rb2-cream); outline-offset: 3px; }
.rb2-script-preview__pending { grid-column: 1 / -1; margin: 0; padding: 12px 14px; border-left: 3px solid #c58b2c; background: #f4ecdd; color: #58431e; }
.rb2-shot-note--collapsed {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.rb2-shot-note--collapsed.rb2-shot-note--expanded { display: block; overflow: visible; }
.rb2-shot-detail-toggle {
  min-height: 44px;
  margin-top: 8px;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  padding: 8px 12px;
  font: 700 11px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}
.rb2-shot-detail-toggle:hover { filter: brightness(.82); }
.rb2-shot-detail-toggle:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.ss-reset { min-height: 44px !important; height: auto !important; }
.ss-links > a { min-height: 44px; display: inline-flex; align-items: center; }
.pagemap .pm-inner > a,
.tabs > button,
.resetbtn,
.backlink {
  min-height: 44px !important;
  display: inline-flex;
  align-items: center;
}

body.rb2-has-capture-status { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }

/* Retire the older duplicate toolbar when the unified workflow is active. */
.rb2-ready > .rb-portalbar { display: none !important; }

@media (max-width: 760px) {
  .rb2-workflow__inner { width: 100%; min-height: 58px; padding: 8px 12px; gap: 9px; }
  .rb2-workflow__name { max-width: 42vw; font-size: 13px; }
  .rb2-workflow__nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
    padding: 10px 12px 12px;
    overflow-x: auto;
    background: var(--rb2-bg);
    border-bottom: 1px solid var(--rb2-line);
  }
  .rb2-workflow[data-open="true"] .rb2-workflow__nav { display: flex; }
  .rb2-workflow .rb2-workflow__more { display: inline-flex; }
  .rb2-workflow__status { display: none; }
  .rb2-start { width: calc(100% - 28px); margin-top: 14px; padding: 16px; }
  .rb2-start__actions { grid-template-columns: 1fr; }
  .rb2-capture-status { left: 10px; right: 10px; bottom: max(8px, env(safe-area-inset-bottom)); gap: 8px; }
  .rb2-capture-status span { max-width: 34ch; }
  body.rb2-has-capture-status { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
  .rb2-script-launcher { width: calc(100% - 28px); padding: 16px; }
  .rb2-script-workspace { grid-template-columns: 1fr; }
  .rb2-script-launcher__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rb2-script-preview { grid-template-columns: 1fr; }
  .rb2-script-preview__field--wide { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media print {
  .rb2-workflow, .rb2-capture-status, .rb2-prompter-link, .rb2-prompter-note { display: none !important; }
}

/* 2026-08-31 shared portal redesign. The underlying client pages and URLs stay untouched. */
:root{--rb2-bg:#0b192d;--rb2-panel:#10243f;--rb2-cream:#f4f0e7;--rb2-muted:#b7c0cc;--rb2-line:rgba(244,240,231,.18);--rb2-red:#c58b2c;--rb2-green:#8ecb9a}
.rb2-workflow{border-bottom:1px solid rgba(244,240,231,.16);background:rgba(8,20,37,.94);box-shadow:0 12px 36px rgba(8,20,37,.18);backdrop-filter:blur(18px) saturate(130%)}
.rb2-workflow__inner{min-height:72px;gap:22px}.rb2-workflow__eyebrow{color:#d8ad62}.rb2-workflow__name{font-family:Georgia,"Times New Roman",serif;font-size:16px;font-weight:600;letter-spacing:-.01em}
.rb2-workflow__nav{gap:2px}.rb2-workflow a,.rb2-workflow button{border-color:transparent;border-radius:0;background:transparent;color:#cbd2dc;padding:10px 11px;transition:color .2s ease,background .2s ease,border-color .2s ease}
.rb2-workflow a:hover,.rb2-workflow a[aria-current="page"]{border-color:transparent;border-bottom-color:#d8ad62;background:rgba(255,255,255,.045);color:#fff}.rb2-workflow__status{padding-left:14px;border-left:1px solid var(--rb2-line)}
.rb2-start{width:min(980px,calc(100% - 48px));margin:28px auto 10px;padding:26px;border:1px solid rgba(216,173,98,.34);border-left:0;border-radius:8px;background:radial-gradient(circle at 88% 8%,rgba(216,173,98,.16),transparent 22rem),linear-gradient(135deg,#0b192d,#10243f);box-shadow:0 24px 56px rgba(8,20,37,.14)}
.rb2-start__label{color:#d8ad62}.rb2-start h2{margin:9px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,4vw,42px);font-weight:600;letter-spacing:-.035em}.rb2-start p{max-width:67ch;color:#bfc7d2;font-size:16px;line-height:1.55}
.rb2-start__actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:22px;background:rgba(244,240,231,.14);border:1px solid rgba(244,240,231,.14)}
.rb2-start__actions a{min-height:112px;border:0;background:rgba(7,18,34,.84);padding:16px;transition:background .2s ease,transform .2s ease}.rb2-start__actions a:hover{border-color:transparent;background:#172e4e;transform:translateY(-2px)}
.rb2-start__actions strong{color:#fff;font-size:11px}.rb2-start__actions span{color:#aeb8c5;font-size:13px}
.rb2-script-launcher{width:min(980px,calc(100% - 48px));margin:36px auto;padding:26px;border:1px solid #ddd7cc;border-left:0;border-radius:8px;background:#f7f4ee;color:#14213a;box-shadow:0 22px 52px rgba(8,20,37,.12)}
.rb2-script-launcher__label{color:#95651f}.rb2-script-launcher h2{margin:8px 0 6px;color:#0b192d;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,4vw,44px);letter-spacing:-.035em}.rb2-script-launcher__intro{color:#687181}
.rb2-diagnosis-rule{display:grid;gap:5px;margin:18px 0 0;padding:15px 17px;border:1px solid #d8c79f;border-left:4px solid #b8862b;border-radius:5px;background:#fffaf0;color:#4c5668}.rb2-diagnosis-rule strong{color:#7c541c;font:800 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.11em;text-transform:uppercase}.rb2-diagnosis-rule span{font-size:14px;line-height:1.55}
.rb2-script-workspace{grid-template-columns:minmax(250px,.76fr) minmax(0,1.5fr);gap:14px;margin-top:20px}.rb2-script-launcher__item{gap:8px}
.rb2-script-launcher__row{min-height:68px;border-color:#253854;border-radius:5px;background:#0d1c31;color:#fff;transition:transform .18s ease,background .18s ease,border-color .18s ease}.rb2-script-launcher__row:hover,.rb2-script-launcher__row[aria-selected="true"]{border-color:#c58b2c;background:#172f51;transform:translateX(3px)}.rb2-script-launcher__row span{color:#e0b767}
.rb2-script-recorded{border-color:#d8d1c4;border-radius:5px;background:#efeae0;color:#596575}.rb2-script-recorded:has(input:checked){border-color:#4c9360;background:#e0eee3;color:#21492b}
.rb2-script-preview{gap:12px;padding:22px;border:1px solid #ddd7cc;border-radius:6px;background:#fff}.rb2-script-preview__eyebrow,.rb2-script-preview__field h4{color:#95651f}.rb2-script-preview h3{color:#0b192d;font-family:Georgia,"Times New Roman",serif;font-size:28px;letter-spacing:-.025em}.rb2-script-preview__field{border-top-color:#e7e2d9}.rb2-script-preview__field p{color:#253149;font-size:16px;line-height:1.58}
.rb2-script-preview .rb2-script-preview__open{border:0;border-radius:5px;background:#0b192d;color:#fff;transition:background .18s ease,transform .18s ease}.rb2-script-preview .rb2-script-preview__open:hover{border-color:transparent;background:#173355;transform:translateY(-1px)}
.rb2-capture-status{border:1px solid rgba(244,240,231,.22);border-left:0;border-radius:7px;background:rgba(8,20,37,.96);box-shadow:0 18px 44px rgba(8,20,37,.3);backdrop-filter:blur(14px)}.rb2-capture-status .rb2-capture-status__link{border:0;border-radius:4px;background:#315d3c;color:#fff}.rb2-capture-status .rb2-capture-status__link:hover{border-color:transparent;background:#3b7049}
@media(max-width:900px){.rb2-start__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.rb2-workflow__inner{min-height:64px}.rb2-workflow__nav{border-bottom-color:rgba(244,240,231,.14);background:#081425}.rb2-workflow__name{max-width:46vw}.rb2-start,.rb2-script-launcher{width:calc(100% - 24px);padding:19px}.rb2-start__actions{grid-template-columns:1fr 1fr}.rb2-start__actions a{min-height:94px}.rb2-script-workspace{grid-template-columns:1fr}.rb2-script-launcher__list{grid-template-columns:1fr}.rb2-script-launcher__row:hover,.rb2-script-launcher__row[aria-selected="true"]{transform:none}.rb2-script-preview{padding:17px}}
@media(max-width:430px){.rb2-start__actions{grid-template-columns:1fr}.rb2-start__actions a{min-height:82px}}
