:root {
  color-scheme: dark;
  --bg: #111111;
  --panel: #1a1a1a;
  --panel-2: #222222;
  --border: #343434;
  --text: #f5f1eb;
  --muted: #aaa39a;
  --accent: #c8753d;
  --accent-strong: #df884b;
  --danger: #c96060;
  --radius: 18px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top right, rgba(200,117,61,.10), transparent 32rem),
    var(--bg);
  color: var(--text);
}
button, input { font: inherit; }
button, .button-link {
  border: 0;
  border-radius: 12px;
  background: var(--accent);
  color: #120d09;
  cursor: pointer;
  font-weight: 750;
  padding: .82rem 1rem;
  text-decoration: none;
  transition: transform .15s ease, background .15s ease;
}
button:hover, .button-link:hover {
  background: var(--accent-strong);
  transform: translateY(-1px);
}
.auth-page {
  display: grid;
  place-items: center;
  padding: 1.25rem;
}
.auth-card {
  width: min(100%, 430px);
  padding: 2rem;
  background: rgba(26,26,26,.96);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
}
.brand-mark {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin-bottom: 1.25rem;
  border: 2px solid var(--accent);
  border-radius: 16px 6px 16px 6px;
  color: var(--accent);
  font-size: 1.6rem;
  font-weight: 900;
}
.brand-mark.small {
  width: 40px;
  height: 40px;
  margin: 0;
  border-radius: 12px 5px 12px 5px;
  font-size: 1.05rem;
}
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: .55rem; letter-spacing: -.035em; }
h2 { margin-bottom: 0; }
.eyebrow {
  margin-bottom: .55rem;
  color: var(--accent);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .16em;
}
.muted, small { color: var(--muted); }
.form-stack {
  display: grid;
  gap: 1rem;
  margin-top: 1.6rem;
}
label {
  display: grid;
  gap: .45rem;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 650;
}
input {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 12px;
  outline: none;
  background: #101010;
  color: var(--text);
  padding: .85rem .9rem;
}
input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(200,117,61,.13);
}
.alert {
  margin-top: 1rem;
  border: 1px solid rgba(201,96,96,.45);
  border-radius: 12px;
  background: rgba(201,96,96,.08);
  color: #f0b6b6;
  padding: .8rem .9rem;
}
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 72px;
  padding: 1rem clamp(1rem, 4vw, 3rem);
  border-bottom: 1px solid var(--border);
  background: rgba(17,17,17,.86);
  backdrop-filter: blur(16px);
}
.brand-inline {
  display: flex;
  align-items: center;
  gap: .8rem;
}
.brand-inline span {
  display: block;
  margin-top: .1rem;
  color: var(--muted);
  font-size: .75rem;
}
.button-secondary {
  background: var(--panel-2);
  color: var(--text);
  border: 1px solid var(--border);
}
.shell {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 3rem 0;
}
.hero-panel {
  max-width: 720px;
  margin-bottom: 2rem;
}
.hero-panel h1 {
  font-size: clamp(2rem, 5vw, 3.75rem);
  line-height: 1.02;
}
.hero-panel > p:last-child {
  max-width: 640px;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.65;
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}
.stat-card, .panel {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
}
.stat-card {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: 1.1rem;
}
.stat-card strong, .stat-card small { display: block; }
.stat-card small { margin-top: .2rem; }
.status-dot {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 5px rgba(200,117,61,.09);
}
.status-dot.pending {
  background: #656565;
  box-shadow: 0 0 0 5px rgba(101,101,101,.09);
}
.panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem;
}
.version {
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .8rem;
}
@media (max-width: 800px) {
  .stats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .topbar { align-items: flex-start; }
  .brand-inline span { display: none; }
  .shell { padding-top: 2rem; }
  .stats-grid { grid-template-columns: 1fr; }
  .auth-card { padding: 1.4rem; }
}


/* 0.2 Contract Writer */
a { color: inherit; }
.brand-home {
  display: flex;
  align-items: center;
  gap: .8rem;
  color: inherit;
  text-decoration: none;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin-left: auto;
  margin-right: .5rem;
}
.nav-links a {
  border-radius: 10px;
  color: var(--muted);
  font-size: .88rem;
  font-weight: 700;
  padding: .55rem .7rem;
  text-decoration: none;
}
.nav-links a:hover {
  background: var(--panel-2);
  color: var(--text);
}
.compact { padding: .62rem .8rem; }

select, textarea {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 12px;
  outline: none;
  background: #101010;
  color: var(--text);
  padding: .85rem .9rem;
  font: inherit;
}
textarea {
  resize: vertical;
  line-height: 1.55;
}
select:focus, textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(200,117,61,.13);
}

.page-heading, .dashboard-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.page-heading h1 { font-size: clamp(2rem, 4vw, 3rem); }
.page-heading p { margin-bottom: 0; }
.heading-actions, .row-actions, .form-actions {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
}
.hero-action { flex: 0 0 auto; }

.narrow-shell { width: min(900px, calc(100% - 2rem)); }
.editor-shell { width: min(1380px, calc(100% - 2rem)); }

.editor-form {
  display: grid;
  gap: 1rem;
}
.form-card, .version-panel, .panel-stack, .empty-state {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
  padding: 1.25rem;
}
.form-card {
  display: grid;
  gap: 1rem;
}
.form-card h2, .version-panel h2 { margin: 0; }
.form-grid {
  display: grid;
  gap: 1rem;
}
.form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.section-heading, .panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.small-copy { font-size: .86rem; line-height: 1.5; }
.contract-editor {
  min-height: 620px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .86rem;
  line-height: 1.65;
}
.form-actions {
  justify-content: flex-end;
  margin-top: .25rem;
}
.sticky-actions {
  position: sticky;
  bottom: 1rem;
  z-index: 5;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(17,17,17,.94);
  box-shadow: 0 12px 32px rgba(0,0,0,.28);
  padding: .75rem;
  backdrop-filter: blur(14px);
}
.link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.button-secondary.link-button:hover {
  background: #2a2a2a;
  color: var(--text);
}
.success-banner {
  margin-bottom: 1rem;
  border: 1px solid rgba(200,117,61,.4);
  border-radius: 12px;
  background: rgba(200,117,61,.09);
  color: #f0c39f;
  padding: .85rem 1rem;
}

.editor-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  align-items: start;
  gap: 1rem;
}
.version-panel {
  position: sticky;
  top: 92px;
}
.version-list {
  display: grid;
  gap: .55rem;
  margin-top: 1rem;
}
.version-item {
  display: grid;
  gap: .18rem;
  border-top: 1px solid var(--border);
  padding-top: .65rem;
}
.version-item:first-child { border-top: 0; padding-top: 0; }

.data-list {
  display: grid;
  gap: .75rem;
}
.data-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--panel);
  padding: 1rem 1.1rem;
}
.data-main h2 {
  margin: .45rem 0 .25rem;
  font-size: 1.05rem;
}
.data-main p { margin: 0 0 .2rem; }
.status-pill {
  display: inline-flex;
  width: fit-content;
  border: 1px solid rgba(200,117,61,.32);
  border-radius: 999px;
  background: rgba(200,117,61,.08);
  color: #e6a774;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .05em;
  padding: .28rem .52rem;
  text-transform: uppercase;
}
.empty-state {
  text-align: center;
  padding: 3rem 1rem;
}
.empty-state .button-link { display: inline-flex; }

.placeholder-help {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #151515;
  padding: .9rem;
}
.placeholder-help strong { width: 100%; }
.placeholder-help code {
  border-radius: 8px;
  background: #242424;
  color: #e5b083;
  padding: .32rem .45rem;
  font-size: .75rem;
}

.metric {
  min-width: 2.1rem;
  color: var(--accent);
  font-size: 1.6rem;
  font-weight: 900;
}
.panel-stack {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.panel-heading { margin-bottom: .8rem; }
.panel-heading h2 { margin: 0; }
.text-link {
  color: #dfa273;
  font-weight: 750;
  text-decoration: none;
}
.text-link:hover { text-decoration: underline; }
.compact-list {
  display: grid;
}
.compact-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid var(--border);
  padding: .8rem 0;
  text-decoration: none;
}
.compact-row:first-child { border-top: 0; }
.compact-row strong, .compact-row small { display: block; }
.compact-row small { margin-top: .2rem; }
.empty-inline {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid var(--border);
  padding-top: .8rem;
}
.empty-inline p { margin: 0; }
.account-panel { margin-top: 1rem; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

.preview-page {
  padding: 1.25rem;
  background: #0f0f0f;
}
.preview-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: .65rem;
  width: min(850px, 100%);
  margin: 0 auto 1rem;
}
.paper {
  width: min(850px, 100%);
  min-height: 1100px;
  margin: 0 auto;
  background: #fff;
  color: #26211d;
  box-shadow: 0 28px 70px rgba(0,0,0,.42);
  padding: clamp(2rem, 7vw, 4.25rem);
}
.paper-letterhead {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.paper-brand {
  color: #b86632;
  font-size: 1.55rem;
  font-weight: 900;
  letter-spacing: .04em;
}
.paper-tagline {
  margin-top: .15rem;
  color: #716b66;
  font-size: .68rem;
}
.paper-meta {
  display: grid;
  justify-items: end;
  color: #716b66;
  font-size: .7rem;
}
.paper-meta span {
  color: #b86632;
  font-weight: 850;
}
.paper-rule {
  height: 2px;
  margin: 1.25rem 0 2rem;
  background: #c8753d;
}
.paper h1 {
  margin-bottom: 1.5rem;
  color: #211d1a;
  font-size: 1.8rem;
}
.prepared-for {
  display: grid;
  gap: .18rem;
  margin-bottom: 2rem;
  color: #5f5954;
  font-size: .82rem;
}
.prepared-for small {
  color: #b86632;
  font-weight: 850;
  letter-spacing: .1em;
}
.prepared-for strong {
  color: #26211d;
  font-size: 1rem;
}
.pre-line { white-space: pre-line; }
.contract-body {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .92rem;
  line-height: 1.65;
}
.paper-footer {
  margin-top: 3rem;
  border-top: 1px solid #ded8d2;
  color: #7a746f;
  padding-top: .8rem;
  text-align: center;
  font-size: .68rem;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}

@media (max-width: 900px) {
  .editor-layout { grid-template-columns: 1fr; }
  .version-panel { position: static; }
  .nav-links { order: 3; width: 100%; overflow-x: auto; }
  .topbar { flex-wrap: wrap; }
}
@media (max-width: 680px) {
  .page-heading, .dashboard-hero, .data-row {
    align-items: stretch;
    flex-direction: column;
  }
  .form-grid.two { grid-template-columns: 1fr; }
  .heading-actions, .row-actions, .form-actions { width: 100%; }
  .heading-actions > *, .row-actions > *, .form-actions > * { flex: 1; }
  .paper { padding: 1.5rem; min-height: auto; }
  .paper-letterhead { flex-direction: column; }
  .paper-meta { justify-items: start; }
}


/* 0.3 Signing Portal */
.editor-sidebar {
  display: grid;
  gap: 1rem;
}
.editor-sidebar .version-panel {
  position: static;
}
.side-form {
  display: grid;
  gap: .8rem;
  margin-top: 1rem;
}
.side-form button { width: 100%; }

.signing-request-list {
  display: grid;
  gap: .75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}
.signing-request-item {
  display: grid;
  gap: .25rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #141414;
  padding: .75rem;
}
.request-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .2rem;
}
.signing-request-item small {
  overflow-wrap: anywhere;
}
.tiny-copy {
  margin-top: .8rem;
  margin-bottom: 0;
  font-size: .72rem;
  line-height: 1.45;
}
.danger-button {
  margin-top: .45rem;
  border: 1px solid rgba(201,96,96,.45);
  background: rgba(201,96,96,.10);
  color: #efb3b3;
}
.danger-button:hover {
  background: rgba(201,96,96,.18);
}
.status-signed {
  border-color: rgba(90,169,116,.35);
  background: rgba(90,169,116,.10);
  color: #9ed4af;
}
.status-revoked,
.status-expired {
  border-color: rgba(156,156,156,.25);
  background: rgba(156,156,156,.08);
  color: #aaa;
}

.signing-link-card {
  gap: 1.15rem;
}
.success-icon, .completion-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: rgba(200,117,61,.12);
  color: var(--accent);
  font-size: 1.5rem;
  font-weight: 900;
}
.signing-link-actions {
  justify-content: flex-start;
}
.security-note {
  display: grid;
  gap: .25rem;
  border-radius: 12px;
  background: #121212;
  color: var(--muted);
  padding: .85rem;
  font-size: .8rem;
  line-height: 1.5;
}
.security-note strong { color: var(--text); }

.signing-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 100% 0, rgba(200,117,61,.13), transparent 30rem),
    #101010;
}
.signing-header {
  border-bottom: 1px solid #2e2e2e;
  background: rgba(16,16,16,.9);
  padding: .9rem max(1rem, calc((100vw - 900px) / 2));
  backdrop-filter: blur(14px);
}
.public-brand {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.public-brand .brand-mark { margin: 0; }
.public-brand strong, .public-brand span { display: block; }
.public-brand span {
  margin-top: .12rem;
  color: var(--muted);
  font-size: .72rem;
}
.signing-shell {
  width: min(900px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2.2rem 0 4rem;
}
.signing-intro {
  max-width: 720px;
  margin-bottom: 1.4rem;
}
.signing-intro h1 {
  margin-bottom: .65rem;
  font-size: clamp(2rem, 5vw, 3rem);
}
.signing-intro > p:last-child {
  color: var(--muted);
  line-height: 1.6;
}
.public-alert { margin-bottom: 1rem; }

.signing-document {
  margin-bottom: 1rem;
  border-radius: 18px;
  background: #fff;
  color: #26211d;
  box-shadow: 0 18px 55px rgba(0,0,0,.28);
  padding: clamp(1.4rem, 6vw, 3.4rem);
}
.signing-document h2 {
  margin: 0 0 1.4rem;
  color: #211d1a;
  font-size: 1.65rem;
}

.signing-card {
  border: 1px solid #363636;
  border-radius: 18px;
  background: #1a1a1a;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  padding: clamp(1rem, 4vw, 1.5rem);
}
.signing-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.signing-card-heading h2 { margin: 0; }
.secure-badge {
  flex: 0 0 auto;
  border: 1px solid rgba(200,117,61,.3);
  border-radius: 999px;
  background: rgba(200,117,61,.08);
  color: #e2a271;
  padding: .35rem .55rem;
  font-size: .7rem;
  font-weight: 800;
}
.signing-form {
  display: grid;
  gap: 1rem;
}
.signature-method {
  margin: 0;
  border: 0;
  padding: 0;
}
.signature-method legend {
  margin-bottom: .45rem;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 650;
}
.signature-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .6rem;
}
.signature-option {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: .55rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #111;
  color: var(--text);
  padding: .8rem;
  cursor: pointer;
}
.signature-option input,
.consent-row input {
  width: auto;
  accent-color: var(--accent);
}
.typed-signature {
  font-family: "Brush Script MT", "Segoe Script", cursive;
  font-size: 1.55rem;
}
.signature-canvas-wrap {
  overflow: hidden;
  border: 1px solid #aaa49e;
  border-radius: 12px;
  background:
    linear-gradient(to bottom, transparent calc(100% - 42px), #ded8d2 calc(100% - 41px), transparent calc(100% - 40px)),
    #fff;
}
.signature-canvas {
  display: block;
  width: 100%;
  height: 180px;
  touch-action: none;
  cursor: crosshair;
}
.canvas-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: .5rem;
}
.consent-row {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  gap: .7rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #141414;
  color: var(--text);
  padding: .9rem;
  font-size: .83rem;
  line-height: 1.55;
}
.consent-row input { margin-top: .2rem; }
.signing-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.signing-submit small {
  max-width: 430px;
  line-height: 1.45;
}
.sign-button {
  min-width: 190px;
  padding: .95rem 1.2rem;
}
.signing-help {
  margin: 1rem 0 0;
  color: var(--muted);
  text-align: center;
  font-size: .76rem;
}

.signing-center {
  display: grid;
  place-items: center;
  padding: 1rem;
}
.completion-card {
  width: min(100%, 560px);
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--panel);
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
  padding: clamp(1.4rem, 6vw, 2.4rem);
}
.completion-card h1 {
  margin-top: 1rem;
}
.completion-card p {
  line-height: 1.65;
}
.completion-brand {
  margin-top: 1.6rem;
  border-top: 1px solid var(--border);
  padding-top: 1rem;
}

@media (max-width: 680px) {
  .signing-shell { width: min(100% - 1rem, 900px); padding-top: 1.2rem; }
  .signing-document { border-radius: 14px; }
  .signing-card { border-radius: 14px; }
  .signature-options { grid-template-columns: 1fr; }
  .signing-submit { align-items: stretch; flex-direction: column; }
  .sign-button { width: 100%; }
  .signing-header { padding-inline: 1rem; }
}


/* 0.4 Finalization & Evidence */
.final-record {
  display: grid;
  gap: 1rem;
  margin-bottom: 1rem;
  border: 1px solid rgba(90,169,116,.35);
  border-radius: var(--radius);
  background: rgba(90,169,116,.06);
  padding: 1.25rem;
}
.final-record-heading {
  display: flex;
  align-items: flex-start;
  gap: .9rem;
}
.final-record-heading .completion-mark {
  flex: 0 0 auto;
}
.final-record-heading h2 {
  margin: 0;
}
.evidence-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: .65rem;
}
.evidence-grid > div {
  display: grid;
  gap: .25rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(17,17,17,.65);
  padding: .75rem;
}
.evidence-grid small {
  color: var(--muted);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.evidence-grid strong {
  overflow-wrap: anywhere;
  font-size: .86rem;
}
.hash-block {
  display: grid;
  gap: .3rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #111;
  padding: .75rem;
}
.hash-block small {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.hash-block code {
  overflow-wrap: anywhere;
  color: #b8d9c2;
  font-size: .72rem;
}
.final-downloads {
  justify-content: flex-start;
}
.locked-contract-card {
  min-height: 220px;
  align-content: center;
  text-align: center;
}
.locked-contract-card h2 {
  margin-bottom: .55rem;
}
.status-finalized {
  border-color: rgba(90,169,116,.35);
  background: rgba(90,169,116,.10);
  color: #9ed4af;
}
.countersign-form {
  display: grid;
  gap: .65rem;
  margin-top: .7rem;
  border-top: 1px solid var(--border);
  padding-top: .75rem;
}
.countersign-form button {
  width: 100%;
}
.compact-consent {
  padding: .65rem;
  font-size: .72rem;
}
.request-finalized-note {
  display: grid;
  gap: .25rem;
  margin-top: .55rem;
  border-top: 1px solid var(--border);
  padding-top: .55rem;
  color: #9ed4af;
}
.request-finalized-note small {
  color: var(--muted);
  font-size: .64rem;
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .evidence-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .evidence-grid { grid-template-columns: 1fr; }
  .final-record-heading { flex-direction: column; }
}


/* 0.5 Delivery & Filing */
.integration-card {
  gap: 1rem;
}
.integration-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.integration-heading h2 {
  margin: 0 0 .35rem;
}
.integration-action {
  width: fit-content;
}

.delivery-panel {
  display: grid;
  gap: 1rem;
  margin-top: .4rem;
  border-top: 1px solid rgba(90,169,116,.25);
  padding-top: 1rem;
}
.delivery-panel h2 {
  margin: 0;
}
.delivery-actions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: .75rem;
}
.delivery-action-card {
  display: grid;
  align-content: start;
  gap: .65rem;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(17,17,17,.72);
  padding: .85rem;
}
.delivery-action-card small {
  color: var(--muted);
  line-height: 1.45;
}
.delivery-action-card button,
.delivery-action-card .button-link {
  width: 100%;
  margin-top: auto;
}
.delivery-action-card input {
  font-size: .78rem;
}
.delivery-history {
  display: grid;
  gap: .45rem;
  border-top: 1px solid var(--border);
  padding-top: .9rem;
}
.delivery-history-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;
  gap: .7rem;
  align-items: center;
  border-radius: 10px;
  background: rgba(17,17,17,.5);
  padding: .55rem .65rem;
  font-size: .76rem;
}
.delivery-history-row span {
  font-weight: 750;
}
.delivery-history-row small {
  overflow-wrap: anywhere;
}
.side-button-grid {
  display: grid;
  gap: .55rem;
}
.delivery-inline {
  margin: 0;
}
button:disabled {
  cursor: not-allowed;
  opacity: .5;
  transform: none;
}

@media (max-width: 900px) {
  .delivery-actions-grid {
    grid-template-columns: 1fr;
  }
  .delivery-history-row {
    grid-template-columns: 1fr;
    gap: .2rem;
  }
}


/* 1.0 Mobile App / PWA */
.hero-actions {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
}
.install-app-button[hidden] {
  display: none !important;
}
.pwa-standalone body {
  padding-top: env(safe-area-inset-top);
}
.pwa-standalone .topbar {
  padding-left: max(clamp(1rem, 4vw, 3rem), env(safe-area-inset-left));
  padding-right: max(clamp(1rem, 4vw, 3rem), env(safe-area-inset-right));
}
.pwa-standalone .shell {
  padding-bottom: max(3rem, env(safe-area-inset-bottom));
}

@media (max-width: 680px) {
  .hero-actions {
    width: 100%;
  }
  .hero-actions > * {
    flex: 1 1 0;
  }
}
