/* ────────────────────────────────────────────────────────────────
   Right-panel Adjudication view (Workspace ③/④ from new_ui.html)
   Light theme, scoped under #trail-adjudication-view.
   ──────────────────────────────────────────────────────────────── */

:root {
  --adj-blue: #0468FF;
  --adj-blue-dk: #0352CC;
  --adj-blue-10: #E6F0FF;
  --adj-blue-20: #CCE0FF;
  --adj-blue-50: rgba(4, 104, 255, .07);
  --adj-ink: #0D1526;
  --adj-ink2: #2D3748;
  --adj-ink3: #64748B;
  --adj-ink4: #94A3B8;
  --adj-border: #E2E8F0;
  --adj-border2: #CBD5E1;
  --adj-bg: #F4F6FA;
  --adj-log-bg: #F8FAFC;
  --adj-log-line: #EEF2F7;
  --adj-green: #059669;
  --adj-green-bg: #ECFDF5;
  --adj-green-bd: #BBF7D0;
  --adj-amber: #D97706;
  --adj-amber-bg: #FFFBEB;
  --adj-amber-bd: #FDE68A;
  --adj-rose: #DC2626;
  --adj-rose-bg: #FEF2F2;
  --adj-rose-bd: #FECACA;
  --adj-violet: #7C3AED;
  --adj-violet-bg: #F5F3FF;
  --adj-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;
  --adj-disp: "Sora", "Manrope", "Inter", sans-serif;
}

/* Make the trail pane a flex column so the adjudication view fills its height */
.trail-pane {
  display: flex !important;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.trail-pane > .trail-header { flex-shrink: 0; }

/* Header bar inside the adjudication pane (sticky title + collapse button) */
.adj-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 12px;
  border-bottom: 1px solid var(--adj-border);
}
.adj-collapse-btn {
  background: var(--adj-bg);
  border: 1px solid var(--adj-border);
  color: var(--adj-ink3);
  font-size: 13px;
  width: 24px;
  height: 24px;
  border-radius: 5px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
}
.adj-collapse-btn:hover { background: var(--adj-blue-10); color: var(--adj-blue-dk); }
.adj-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.adj-timings-btn i { font-size: 12px; }

/* ── Agent runtime profile modal ──────────────────────────────── */
.adj-timings-modal {
  position: fixed;
  inset: 0;
  z-index: 76;
}
.adj-timings-modal.hidden { display: none; }
.adj-timings-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 10, 28, 0.54);
}
.adj-timings-panel {
  position: absolute;
  top: 8vh;
  left: 50%;
  transform: translateX(-50%);
  width: min(720px, calc(100vw - 40px));
  max-height: 84vh;
  background: #FFFFFF;
  border: 1px solid var(--adj-border);
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(5, 10, 28, .22);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}
.adj-timings-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--adj-border);
}
.adj-timings-eyebrow {
  font-size: 10.5px;
  font-weight: 700;
  color: #0352CC;
  letter-spacing: .6px;
  text-transform: uppercase;
}
.adj-timings-header h2 {
  font-size: 18px;
  margin: 3px 0 4px;
  font-family: "Manrope", sans-serif;
}
.adj-timings-sub {
  margin: 0;
  font-size: 12.5px;
  color: var(--adj-ink3);
}
.adj-timings-content {
  overflow: auto;
  padding: 16px 18px 18px;
}
.adj-timings-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.adj-timings-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #F1F5FB;
  border: 1px solid var(--adj-border);
  font-size: 11.5px;
  color: #4F5B88;
  font-weight: 600;
}
.adj-timings-chip strong {
  color: #0D1526;
  font-weight: 700;
  font-family: "Manrope", sans-serif;
}
.adj-timings-chart {
  display: grid;
  gap: 10px;
}
.adj-timings-row {
  display: grid;
  grid-template-columns: 110px 1fr 70px;
  align-items: center;
  gap: 10px;
}
.adj-timings-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: #0D1526;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.adj-timings-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 18px;
  padding: 0 6px;
  border-radius: 4px;
  background: #EEF4FF;
  color: #0352CC;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .04em;
}
.adj-timings-bar-track {
  position: relative;
  height: 18px;
  background: #F3F5F9;
  border-radius: 9px;
  overflow: hidden;
  border: 1px solid var(--adj-border);
}
.adj-timings-bar-fill {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  background: linear-gradient(90deg, #0352CC, #4C8CF5);
  border-radius: 9px;
  transition: width .35s cubic-bezier(.4, 0, .2, 1);
  min-width: 2px;
}
.adj-timings-bar-fill.warn { background: linear-gradient(90deg, #D97706, #F59E0B); }
.adj-timings-bar-fill.bad  { background: linear-gradient(90deg, #B42318, #EF4444); }
.adj-timings-bar-fill.idle { background: linear-gradient(90deg, #9CA3AF, #D1D5DB); }
.adj-timings-bar-fill.running {
  background: repeating-linear-gradient(45deg, #0352CC 0 10px, #4C8CF5 10px 20px);
  animation: adjTimingsStripes 1.1s linear infinite;
}
@keyframes adjTimingsStripes {
  0% { background-position: 0 0; }
  100% { background-position: 28px 0; }
}
.adj-timings-value {
  font-size: 12px;
  color: #4F5B88;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  text-align: right;
  white-space: nowrap;
}
.adj-timings-empty {
  padding: 30px 0;
  text-align: center;
  color: var(--adj-ink3);
  font-size: 13px;
  font-style: italic;
}
.adj-timings-footnote {
  margin-top: 14px;
  font-size: 11.5px;
  color: var(--adj-ink3);
  border-top: 1px dashed var(--adj-border);
  padding-top: 10px;
}

/* Root container for the adjudication view */
.adj-root {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

/* Collapsed state — right column shrinks, header button rotates */
.agent-layout.adj-collapsed {
  grid-template-columns: 240px minmax(0, 1fr) 44px !important;
}
.agent-layout.adj-collapsed .adj-root,
.agent-layout.adj-collapsed .adj-header-bar .pane-title {
  display: none;
}
.agent-layout.adj-collapsed .adj-collapse-btn { transform: rotate(180deg); }
.agent-layout.adj-collapsed .adj-header-bar { justify-content: center; padding: 14px 6px; }

/* Inner scroll region for banner + tiles + log + package */
.adj-view-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0;
}
.adj-view-scroll::-webkit-scrollbar { width: 6px; }
.adj-view-scroll::-webkit-scrollbar-thumb { background: var(--adj-border2); border-radius: 3px; }

/* Empty state */
.adj-empty {
  padding: 40px 16px;
  color: var(--adj-ink4);
  font-size: 12px;
  text-align: center;
  line-height: 1.6;
}
.adj-empty .adj-empty-ico {
  display: block;
  font-size: 26px;
  margin-bottom: 10px;
  opacity: .5;
}

/* Top banner ─ run status */
.adj-banner {
  padding: 10px 14px;
  font-size: 11px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--adj-border);
  font-weight: 500;
}
.adj-banner.run { background: var(--adj-blue-50); color: var(--adj-blue-dk); }
.adj-banner.warn { background: var(--adj-amber-bg); color: #92400E; }
.adj-banner.ok { background: var(--adj-green-bg); color: #065F46; }
.adj-banner.bad { background: var(--adj-rose-bg); color: #991B1B; }

/* Agent tiles grid (A1..A8) */
.adj-agent-tiles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  padding: 12px;
  border-bottom: 1px solid var(--adj-border);
}
.adj-atile {
  background: var(--adj-bg);
  border: 1px solid var(--adj-border);
  border-radius: 8px;
  padding: 8px 9px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.adj-atile-code {
  font-family: var(--adj-mono);
  font-size: 9px;
  color: var(--adj-ink4);
  font-weight: 600;
  letter-spacing: .5px;
}
.adj-atile-name {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--adj-ink);
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.adj-atile-status {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-weight: 500;
  color: var(--adj-ink3);
}
.adj-atile-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--adj-ink4);
}
.adj-atile.done { background: var(--adj-green-bg); border-color: var(--adj-green-bd); }
.adj-atile.done .adj-atile-dot { background: var(--adj-green); }
.adj-atile.done .adj-atile-status { color: #065F46; }
.adj-atile.run { background: var(--adj-blue-10); border-color: var(--adj-blue-20); box-shadow: 0 0 0 3px rgba(4, 104, 255, .06); }
.adj-atile.run .adj-atile-dot { background: var(--adj-blue); box-shadow: 0 0 0 3px rgba(4, 104, 255, .18); animation: adj-blink 1.3s infinite; }
.adj-atile.run .adj-atile-status { color: var(--adj-blue-dk); }
.adj-atile.warn { background: var(--adj-amber-bg); border-color: var(--adj-amber-bd); }
.adj-atile.warn .adj-atile-dot { background: var(--adj-amber); }
.adj-atile.warn .adj-atile-status { color: #92400E; }
.adj-atile.bad { background: var(--adj-rose-bg); border-color: var(--adj-rose-bd); }
.adj-atile.bad .adj-atile-dot { background: var(--adj-rose); }
.adj-atile.bad .adj-atile-status { color: #991B1B; }
.adj-atile.pend { opacity: .7; }
@keyframes adj-blink { 50% { opacity: .3; } }

/* Event log */
.adj-event-log-wrap {
  padding: 12px;
  border-bottom: 1px solid var(--adj-border);
}
.adj-event-log-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.adj-event-log-title {
  font-size: 9.5px;
  font-weight: 700;
  color: var(--adj-ink4);
  text-transform: uppercase;
  letter-spacing: 1.2px;
}
.adj-event-log-copy {
  font-size: 9.5px;
  font-weight: 600;
  color: var(--adj-ink3);
  background: #fff;
  border: 1px solid var(--adj-border2);
  border-radius: 5px;
  padding: 3px 8px;
  cursor: pointer;
}
.adj-event-log-copy:hover { background: var(--adj-bg); }
.adj-event-log {
  background: var(--adj-log-bg);
  border: 1px solid var(--adj-border);
  border-radius: 8px;
  padding: 10px 12px;
  font-family: var(--adj-mono);
  font-size: 10.5px;
  line-height: 1.7;
  max-height: 230px;
  overflow-y: auto;
}
.adj-event-log::-webkit-scrollbar { width: 5px; }
.adj-event-log::-webkit-scrollbar-thumb { background: var(--adj-border2); border-radius: 3px; }
.adj-el-line {
  color: var(--adj-ink2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 1px 0;
}
.adj-el-ts { color: var(--adj-ink4); }
.adj-el-tag { font-weight: 600; color: #475569; }
.adj-el-tag.a1 { color: #475569; }
.adj-el-tag.a2 { color: var(--adj-blue); }
.adj-el-tag.a3 { color: var(--adj-green); }
.adj-el-tag.a4 { color: var(--adj-amber); }
.adj-el-tag.a5 { color: #10B981; }
.adj-el-tag.a6 { color: #0EA5E9; }
.adj-el-tag.a7 { color: #EF4444; }
.adj-el-tag.a8 { color: var(--adj-violet); }
.adj-el-ok { color: var(--adj-green); }
.adj-el-warn { color: var(--adj-amber); }
.adj-el-bad { color: var(--adj-rose); }
.adj-el-empty { color: var(--adj-ink4); font-style: italic; font-family: var(--adj-disp); font-size: 11px; }

/* Pending review items — per-exception actionable cards */
.adj-pending-block {
  padding: 14px 14px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.adj-pending-block[hidden] { display: none; }
.adj-pending-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--adj-border);
}
.adj-pending-title {
  font-family: var(--adj-disp);
  font-size: 12px;
  font-weight: 700;
  color: var(--adj-amber);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-transform: uppercase;
  letter-spacing: .8px;
}
.adj-pending-title i { color: var(--adj-amber); }
.adj-pending-count {
  background: var(--adj-amber);
  color: #fff;
  font-family: var(--adj-disp);
  font-size: 11px;
  font-weight: 700;
  padding: 1px 9px;
  border-radius: 20px;
  min-width: 22px;
  text-align: center;
}
.adj-pending-help {
  font-size: 11px;
  color: var(--adj-ink3);
  line-height: 1.5;
  padding: 4px 0 2px;
}

.adj-pitem {
  background: #fff;
  border: 1px solid var(--adj-amber-bd);
  border-left: 3px solid var(--adj-amber);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.adj-pitem-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.adj-pitem-ico {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: var(--adj-amber-bg);
  color: var(--adj-amber);
  border: 1px solid var(--adj-amber-bd);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  flex-shrink: 0;
}
.adj-pitem-title-wrap { min-width: 0; flex: 1; }
.adj-pitem-title {
  font-family: var(--adj-disp);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--adj-ink);
  line-height: 1.3;
}
.adj-pitem-sub {
  font-size: 10.5px;
  color: var(--adj-ink3);
  margin-top: 2px;
}
.adj-pitem-desc {
  font-size: 11.5px;
  color: var(--adj-ink2);
  line-height: 1.55;
}
.adj-pitem-rationale {
  font-size: 11px;
  color: var(--adj-ink3);
  line-height: 1.55;
  background: var(--adj-bg);
  border-left: 2px solid var(--adj-border2);
  padding: 6px 10px;
  border-radius: 0 6px 6px 0;
}
.adj-pitem-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.adj-pitem-chip {
  font-family: var(--adj-mono);
  font-size: 10px;
  padding: 2px 7px;
  border-radius: 4px;
  background: var(--adj-bg);
  border: 1px solid var(--adj-border);
  color: var(--adj-ink3);
  white-space: nowrap;
}
.adj-pitem-evidence {
  background: var(--adj-log-bg);
  border: 1px solid var(--adj-border);
  border-radius: 6px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.adj-pitem-label {
  font-size: 9px;
  font-weight: 700;
  color: var(--adj-ink4);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.adj-pitem-snippet {
  font-family: var(--adj-mono);
  font-size: 10.5px;
  color: var(--adj-ink2);
  line-height: 1.5;
}
.adj-pitem-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding-top: 2px;
}
.adj-pitem-btn {
  font-size: 11px;
  font-weight: 600;
  padding: 7px 12px;
  border-radius: 6px;
  cursor: pointer;
  background: #fff;
  border: 1px solid var(--adj-border2);
  color: var(--adj-ink2);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: inherit;
}
.adj-pitem-btn:hover { background: var(--adj-bg); }
.adj-pitem-btn.primary { background: var(--adj-green); border-color: var(--adj-green); color: #fff; font-weight: 700; }
.adj-pitem-btn.primary:hover { background: #047857; }
.adj-pitem-btn.warn { background: var(--adj-amber-bg); border-color: var(--adj-amber-bd); color: #92400E; }
.adj-pitem-btn.warn:hover { background: #FEF3C7; }
.adj-pitem-btn.danger { background: var(--adj-rose-bg); border-color: var(--adj-rose-bd); color: #991B1B; }
.adj-pitem-btn.danger:hover { background: #FEE2E2; }
.adj-pitem-btn[disabled] { opacity: .55; cursor: not-allowed; }

/* Adjudication package card */
.adj-pack {
  padding: 14px;
}
.adj-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  gap: 10px;
}
.adj-title {
  font-family: var(--adj-disp);
  font-size: 13px;
  font-weight: 700;
  color: var(--adj-ink);
}
.adj-head-sub {
  font-size: 10px;
  color: var(--adj-ink3);
  margin-top: 2px;
}
.adj-rec-pill {
  font-size: 10px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 5px;
  letter-spacing: .3px;
  white-space: nowrap;
  text-transform: uppercase;
  background: var(--adj-amber-bg);
  color: #92400E;
  border: 1px solid var(--adj-amber-bd);
}
.adj-rec-pill.approve { background: var(--adj-green-bg); color: #065F46; border-color: var(--adj-green-bd); }
.adj-rec-pill.reject { background: var(--adj-rose-bg); color: #991B1B; border-color: var(--adj-rose-bd); }
.adj-rec-pill.info { background: var(--adj-blue-10); color: var(--adj-blue-dk); border-color: var(--adj-blue-20); }
.adj-rec-pill.neutral { background: var(--adj-bg); color: var(--adj-ink3); border-color: var(--adj-border); }

.adj-section {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--adj-border);
}
.adj-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.adj-sec-title {
  font-size: 9.5px;
  font-weight: 700;
  color: var(--adj-ink4);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin-bottom: 8px;
}
.adj-rationale {
  font-size: 11.5px;
  color: var(--adj-ink2);
  line-height: 1.65;
  white-space: pre-wrap;
}
.adj-rationale.muted { color: var(--adj-ink4); font-style: italic; }

.adj-kv {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid var(--adj-log-line);
  font-size: 11.5px;
  gap: 10px;
}
.adj-kv:last-child { border-bottom: none; }
.adj-kv-k {
  color: var(--adj-ink4);
  flex-shrink: 0;
}
.adj-kv-v {
  color: var(--adj-ink);
  font-weight: 600;
  text-align: right;
  word-break: break-word;
}
.adj-kv-v.muted { color: var(--adj-ink4); font-weight: 500; }
.adj-kv-v.warn { color: var(--adj-amber); }

.adj-flag {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 5px 0;
  font-size: 11px;
  color: var(--adj-ink2);
  line-height: 1.5;
}
.adj-flag i {
  font-size: 11px;
  margin-top: 2px;
  flex-shrink: 0;
}
.adj-flag.pass i { color: var(--adj-green); }
.adj-flag.warn i { color: var(--adj-amber); }
.adj-flag.bad i { color: var(--adj-rose); }

/* Draft correspondence */
.adj-letter {
  background: var(--adj-bg);
  border: 1px solid var(--adj-border);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 11px;
  color: var(--adj-ink2);
  line-height: 1.7;
  white-space: pre-wrap;
  max-height: 260px;
  overflow-y: auto;
}
.adj-letter-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 10.5px;
  color: var(--adj-ink3);
  margin-bottom: 8px;
}
.adj-letter-meta span strong {
  color: var(--adj-ink2);
  font-weight: 600;
}
.adj-letter-stale {
  font-size: 10px;
  color: #92400E;
  background: var(--adj-amber-bg);
  border: 1px solid var(--adj-amber-bd);
  border-radius: 5px;
  padding: 4px 8px;
  margin-bottom: 8px;
}
.adj-letter-actions {
  display: flex;
  gap: 6px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.adj-letter-btn {
  font-size: 10.5px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  background: #fff;
  border: 1px solid var(--adj-border2);
  color: var(--adj-ink2);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: inherit;
}
.adj-letter-btn:hover { background: var(--adj-bg); }
/* When an <a> carries this class (e.g. the Outlook mailto link) it needs
   the decoration stripped so it reads as a button. */
a.adj-letter-btn { text-decoration: none; }
/* Outlook-style variant — Outlook blue so the email action is clearly
   distinct from the neutral "Copy" button next to it. */
.adj-letter-btn-outlook {
  background: #0078D4;
  border-color: #0078D4;
  color: #fff;
}
.adj-letter-btn-outlook:hover { background: #106EBE; border-color: #106EBE; color: #fff; }
.adj-letter-btn-outlook i { color: #fff; }

/* Attachment chip (settlement-notice PDF). Sits between the letter body
   and the action row so users see the file before they copy/forward. */
.adj-letter-attachment {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 8px 10px;
  background: #f0f7f0;
  border: 1px solid #c8e0cc;
  border-left: 3px solid #2d7a3a;
  border-radius: 6px;
  font-size: 11.5px;
  color: var(--adj-ink1, #1f2937);
}
.adj-letter-attachment i.fa-paperclip { color: #2d7a3a; }
.adj-letter-attachment .adj-attach-name {
  font-weight: 600;
  word-break: break-all;
}
.adj-letter-attachment .adj-attach-size {
  color: var(--adj-ink3, #6b7280);
  font-size: 10.5px;
}
.adj-letter-attachment .adj-attach-download {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 5px;
  background: #2d7a3a;
  color: #fff;
  font-weight: 600;
  font-size: 10.5px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
}
.adj-letter-attachment .adj-attach-download:hover { background: #24632d; }
.adj-letter-attachment .adj-attach-download i { color: #fff; }

/* Approval Gate */
.adj-gate {
  background: var(--adj-blue-50);
  border: 1px solid var(--adj-blue-20);
  border-radius: 10px;
  padding: 14px;
  margin-top: 4px;
}
.adj-gate-title {
  font-family: var(--adj-disp);
  font-size: 12px;
  font-weight: 700;
  color: var(--adj-ink);
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.adj-gate-title i { color: var(--adj-blue); }
.adj-gate-desc {
  font-size: 11px;
  color: var(--adj-ink3);
  margin-bottom: 10px;
  line-height: 1.5;
}
.adj-gate-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.adj-gate-btn {
  font-size: 10.5px;
  font-weight: 600;
  padding: 7px 12px;
  border-radius: 6px;
  cursor: pointer;
  background: #fff;
  border: 1px solid var(--adj-border2);
  color: var(--adj-ink2);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: inherit;
}
.adj-gate-btn:hover { background: var(--adj-bg); }
.adj-gate-btn.primary { background: var(--adj-green); border-color: var(--adj-green); color: #fff; font-weight: 700; }
.adj-gate-btn.primary:hover { background: #047857; }
.adj-gate-btn.warn { background: var(--adj-amber-bg); border-color: var(--adj-amber-bd); color: #92400E; }
.adj-gate-btn.warn:hover { background: #FEF3C7; }
.adj-gate-btn.danger { background: var(--adj-rose-bg); border-color: var(--adj-rose-bd); color: #991B1B; }
.adj-gate-btn.danger:hover { background: #FEE2E2; }
.adj-gate-btn[disabled] { opacity: .55; cursor: not-allowed; }
.adj-gate-status {
  font-size: 10.5px;
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--adj-ink3);
}
.adj-gate-status.ok { color: var(--adj-green); }
.adj-gate-status.warn { color: var(--adj-amber); }
.adj-gate-status.bad { color: var(--adj-rose); }

/* Closed gate — terminal final decision, no action buttons */
.adj-gate.adj-gate-closed {
  background: var(--adj-bg);
  border-color: var(--adj-border);
}
.adj-gate.adj-gate-closed .adj-gate-title i { color: var(--adj-ink3); }
.adj-gate-final {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}
.adj-gate-final-outcome {
  font-family: var(--adj-disp);
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.adj-gate-final-outcome.ok { color: var(--adj-green); }
.adj-gate-final-outcome.warn { color: var(--adj-amber); }
.adj-gate-final-outcome.bad { color: var(--adj-rose); }
.adj-gate-final-meta {
  font-size: 11px;
  color: var(--adj-ink3);
}
.adj-gate-final-reason {
  font-size: 11px;
  color: var(--adj-ink2);
  background: #fff;
  border: 1px solid var(--adj-border);
  border-left: 2px solid var(--adj-border2);
  padding: 6px 10px;
  border-radius: 0 6px 6px 0;
  margin-top: 4px;
}
