@import url('./capture-frame.css');
@import url('/assets/evidence-viewer.css');
.collection-card {
  padding: 24px 0;
  border-bottom: 1px solid var(--ui-border);
  display: grid;
  gap: 12px;
}
.collection-card h2 {
  font-size: 18px;
  margin: 0;
}
.document-package { margin-top: 24px; padding: 16px 0; border-block: 1px solid var(--ui-border); }
.document-package p:last-child { margin-bottom: 0; }
.document-description { margin: 0; line-height: 1.6; }
.document-checklist { margin: 0; padding-left: 20px; color: var(--ui-muted); font-size: 14px; line-height: 1.6; }
.document-checklist li + li { margin-top: 5px; }
.upload-feedback:empty { display: none; }
.upload-feedback { overflow-wrap: anywhere; }
.collection-card:focus-visible { outline: 2px solid var(--ui-accent, #087e8b); outline-offset: 6px; border-radius: 6px; }
.collection-card select,
.private-link {
  font: inherit;
  min-height: 44px;
  border: 1px solid var(--ui-control);
  border-radius: 8px;
  padding: 9px 12px;
  background: var(--ui-surface);
  color: inherit;
  width: 100%;
}
.file-drop {
  display: grid;
  gap: 12px;
  padding: 22px;
  border: 1px dashed var(--ui-control);
  border-radius: 10px;
  cursor: pointer;
  background: var(--ui-subtle);
}
.file-drop input {
  max-width: 100%;
  font: inherit;
}
.file-drop input::file-selector-button {
  border: 0;
  border-radius: 6px;
  padding: 10px 14px;
  margin-right: 12px;
  cursor: pointer;
  background: #d9f1f1;
  color: #124c53;
}
.file-summary {
  margin: 0;
  font-size: 14px;
}
.collection-state {
  display: inline-flex;
  width: fit-content;
  border-radius: 5px;
  padding: 4px 9px;
  background: #e6f2f3;
  color: #1c5861;
  font-size: 13px;
}
.collection-state.rejected {
  background: #fff0ea;
  color: #973e21;
}
.collection-state.accepted {
  background: #dcf0e7;
  color: #256b50;
}
.collection-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0;
}
.owner-invitations { margin:24px 0; display:grid; gap:16px; }
.owner-invitation { padding:20px; border:1px solid var(--ui-border); border-radius:10px; background:var(--ui-surface); min-width:0; }
.owner-invitation-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.owner-invitation-heading h2 { margin:0; font-size:18px; }
.owner-invitation-heading p { margin:5px 0 0; font-size:13px; }
.owner-invitation-heading .collection-state { flex:none; }
.owner-email { margin:20px 0 12px; display:grid; gap:6px; }
.owner-mail-unavailable { padding:12px 14px; border:1px solid var(--ui-border); border-radius:8px; background:var(--ui-subtle); color:var(--ui-muted); font-size:14px; line-height:1.5; }
.owner-email label { font-size:14px; font-weight:500; }
.owner-email-row { display:flex; align-items:stretch; gap:8px; }
.owner-email-input { min-width:0; flex:1; font:inherit; padding:10px 12px; border:1px solid var(--ui-control); border-radius:8px; background:var(--ui-surface); color:var(--ui-text); }
.owner-email-row .primary { width:auto; white-space:nowrap; margin:0; padding:10px 16px; min-height:44px; }
.owner-invitation-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.owner-invitation-actions .collection-secondary { width:auto; margin:0; }
.owner-invitation-actions .text-button { width:auto; margin:0; padding:8px 0; }
.owner-invitation-feedback { margin:12px 0 0; font-size:14px; overflow-wrap:anywhere; }
.owner-invitation-feedback:empty,.owner-link-fallback:empty { display:none; }
.owner-link-fallback { margin-top:12px; }
@media(max-width:480px) {
  .owner-invitation { padding:16px; }
  .owner-invitation-heading { flex-wrap:wrap; gap:8px; }
  .owner-email-row { flex-wrap:wrap; }
  .owner-email-input { flex-basis:100%; }
}
.handoff-card {
  display: grid;
  justify-items: start;
  gap: 12px;
  margin: 20px 0;
  padding: 20px;
  border: 1px solid var(--ui-border);
  border-radius: 12px;
}
.handoff-card img {
  max-width: 100%;
  border-radius: 8px;
}
.capture-view {
  background: #061a3a;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/3;
  margin: 20px 0;
}
.capture-view video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scaleX(-1);
}

/* Public checklist/dialog presentation adapted from Paytiko's upload interface. */
.document-row { display:grid; grid-template-columns:40px minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:18px 0; }
.document-row-icon { width:40px; height:44px; display:grid; place-items:center; border:1px solid var(--ui-border); border-radius:9px; background:var(--ui-subtle); color:var(--ui-accent); }
.document-row-icon .lucide { width:21px; height:21px; }
.document-row-copy h2 { font-size:15px; line-height:1.4; }
.document-row-copy .muted { margin:5px 0 0; font-size:12px; line-height:1.5; }
.document-row > .collection-secondary { margin:0; min-width:80px; padding:9px 12px; font-size:13px; }
.document-row > .collection-state { font-size:11px; text-align:center; }
.document-progress { width:100%; height:5px; margin:4px 0; border:0; border-radius:8px; overflow:hidden; background:var(--ui-subtle); accent-color:var(--ui-accent); }
.document-progress::-webkit-progress-bar { background:var(--ui-subtle); }
.document-progress::-webkit-progress-value { background:var(--ui-accent); }
.document-progress::-moz-progress-bar { background:var(--ui-accent); }
.document-dialog { width:min(560px,calc(100% - 40px)); max-height:calc(100dvh - 40px); margin:auto; padding:0; border:1px solid var(--ui-border); border-radius:12px; background:var(--ui-surface); color:var(--ui-text); box-shadow:0 16px 48px #07182f26; overflow:hidden; }
.document-dialog[open] { display:flex; flex-direction:column; }
.document-dialog::backdrop { background:#07182f65; backdrop-filter:blur(3px); }
.document-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px 12px 22px; border-bottom:1px solid var(--ui-border); flex-shrink:0; }
.document-dialog-heading h2 { margin:0; font-size:18px; line-height:1.4; overflow-wrap:anywhere; }
.document-dialog-heading button { margin:0; font-size:12px; flex-shrink:0; }
.document-dialog-heading .document-dialog-close { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:7px; background:transparent; color:var(--ui-muted); cursor:pointer; font-size:24px; }
.document-dialog-close .lucide { width:20px; height:20px; }
.document-dialog-close:hover:not(:disabled) { background:var(--ui-subtle); color:var(--ui-text); }
.document-dialog-body { min-height:0; padding:20px 22px; overflow:auto; overscroll-behavior:contain; scrollbar-width:none; }
.document-dialog-body::-webkit-scrollbar { display:none; }
.document-hint { margin:0; font-size:14px; line-height:1.6; color:var(--ui-muted); }
.document-guidance { margin-top:20px; padding-top:12px; border-top:1px solid var(--ui-border); }
.document-guidance summary { width:fit-content; min-height:36px; display:list-item; align-content:center; cursor:pointer; color:var(--ui-muted); font-size:13px; }
.document-guidance summary:hover { color:var(--ui-accent); }
.document-guidance .document-description { margin:10px 0; font-size:13px; line-height:1.6; }
.document-guidance .document-checklist { font-size:13px; line-height:1.6; }
.document-limits { margin:12px 0 0; font-size:12px; line-height:1.6; color:var(--ui-muted); }
.document-type-label { display:grid; gap:6px; margin-block:16px; font-size:13px; font-weight:600; }
.document-type-label select { min-height:44px; width:100%; padding:10px; border:1px solid var(--ui-control); border-radius:8px; background:var(--ui-surface); color:var(--ui-text); font:inherit; }
.document-dialog .document-stage { margin-top:16px; }
.document-dialog .document-stage > p:empty, .document-dialog .document-stage > .collection-actions:empty { display:none; }
.document-dialog .file-drop { justify-items:center; gap:8px; padding:24px 16px; border-color:var(--ui-accent-border); border-radius:8px; text-align:center; }
.document-dialog .file-drop strong { font-size:14px; font-weight:600; }
.document-dialog .file-drop small { font-size:12px; font-weight:400; }
.document-dialog .file-drop.is-dragging { border-color:var(--ui-accent); background:var(--ui-accent-bg); }
.document-drop-icon { color:var(--ui-accent); line-height:0; }
.document-drop-icon .lucide { width:28px; height:28px; }
.document-dialog .staged-file { padding:14px; background:var(--ui-surface); }
.document-dialog .staged-file .file-summary { font-size:13px; font-weight:600; }
.document-dialog .file-drop.is-compact { display:flex; justify-content:center; align-items:center; gap:10px; padding:12px; min-height:44px; }
.document-dialog .file-drop.is-compact .document-drop-icon .lucide { width:18px; height:18px; }
.document-dialog .file-drop.is-compact strong { font-size:13px; }
.document-dialog .file-drop.is-compact small { display:none; }
.document-file-guidance { margin-top:8px; font-size:13px; }
.document-file-guidance summary { cursor:pointer; color:var(--ui-muted); }
.document-dialog .staged-file-actions .collection-secondary { padding:8px; margin:0; min-height:44px; border-color:transparent; background:transparent; font-size:13px; }
.document-dialog .document-remove-action { color:var(--ui-error); }
.document-dialog .document-stage .collection-actions { margin:16px 0 0; gap:8px; }
.document-dialog .document-stage .collection-actions > .primary { width:100%; min-height:44px; padding:12px 16px; margin:0; font-size:14px; }
.document-dialog .document-selection-summary { order:-1; margin:0; font-size:12px; }
.document-dialog .document-replace-action { margin:16px 0 0; font-size:13px; }
.capture-intro { display:grid; justify-items:center; gap:14px; text-align:center; padding:28px 16px; margin-block:24px; border:1px solid var(--ui-border); border-radius:12px; background:var(--ui-subtle); }
.capture-intro h2 { margin:0; font-size:19px; line-height:1.4; }
.capture-intro p { margin:0; }
.capture-intro-icon .lucide { width:46px; height:46px; color:var(--ui-accent); }
.collection-area .capture-view { aspect-ratio:4/3; width:100%; max-width:520px; margin:20px auto 12px; }
.capture-instruction { margin:12px 0; color:var(--ui-text); font-size:16px; line-height:1.5; text-align:center; }
.capture-result { display:grid; place-items:center; min-height:180px; margin:20px 0 12px; border:1px solid var(--ui-border); border-radius:16px; background:var(--ui-surface); }
.capture-result .lucide { width:48px; height:48px; color:var(--ui-success); }
.capture-progress { width:32px; height:32px; border:3px solid var(--ui-border); border-top-color:var(--ui-accent); border-radius:50%; animation:capture-progress 1s linear infinite; }
@keyframes capture-progress { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .capture-progress { animation:none; } }
.capture-phone { margin-top:16px; }
.capture-privacy { margin-block:12px; font-size:13px; }
.collection-area[data-capture-phase] .lead { margin-bottom:16px; }
@media(max-width:575.98px) { .collection-area .capture-view { border-radius:14px; } .capture-instruction { font-size:15px; } }
.capture-step { text-align:center; font-size:13px; color:var(--ui-muted); }
.ownership-add-actions { position:relative; width:fit-content; max-width:100%; }
.ownership-add-trigger { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid var(--ui-control); border-radius:8px; background:var(--ui-surface); color:var(--ui-accent); font:inherit; font-size:14px; cursor:pointer; }
.ownership-add-trigger:hover:not(:disabled), .ownership-add-trigger[aria-expanded="true"] { background:var(--ui-accent-bg); border-color:var(--ui-accent-border); }
.ownership-add-trigger .lucide, .ownership-add-option .lucide { width:18px; height:18px; }
.ownership-add-menu { position:absolute; z-index:4; left:0; top:calc(100% + 6px); width:264px; max-width:calc(100vw - 72px); padding:4px; border:1px solid var(--ui-border); border-radius:9px; background:var(--ui-surface); box-shadow:0 8px 24px #101f4420; overflow:auto; overscroll-behavior:contain; }
.ownership-add-menu[hidden] { display:none; }
.ownership-add-option { display:flex; align-items:center; gap:10px; width:100%; min-height:44px; padding:10px; border:0; border-radius:5px; background:transparent; color:var(--ui-text); font:inherit; font-size:14px; text-align:left; cursor:pointer; }
.ownership-add-option:hover:not(:disabled), .ownership-add-option:focus-visible { background:var(--ui-accent-bg); color:var(--ui-accent); }
.ownership-add-option:focus-visible { outline-offset:-2px; }
.ownership-person-actions, .ownership-edge-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 16px; }
.ownership-person-actions { border-top:1px solid var(--ui-border); padding-top:8px; }
.ownership-edge-actions .choice { flex:1 1 260px; min-width:0; padding-block:8px; }
.ownership-form .ownership-person .text-button { display:inline-flex; align-items:center; min-height:44px; margin:0; padding:8px 0; width:auto; line-height:1.5; }
.ownership-form .ownership-person .ownership-remove { color:var(--ui-error); }
.ownership-form > .collection-actions .secondary { border-style:solid; }
@media(max-width:575.98px) {
  .document-row { grid-template-columns:36px minmax(0,1fr) auto; gap:10px; }
  .document-row-icon { grid-row:1/3; width:36px; }
  .document-row > .collection-state { grid-column:2; justify-self:start; }
  .document-row > .collection-secondary { grid-column:3; grid-row:1/3; min-width:68px; max-width:100px; margin:0; font-size:12px; }
  .document-dialog { width:100vw; max-width:100vw; box-sizing:border-box; max-height:calc(100dvh - 12px); margin:auto 0 0; border-radius:16px 16px 0 0; }
  .document-dialog-heading { padding:8px 12px 8px 16px; gap:8px; }
  .document-dialog-heading h2 { font-size:17px; }
  .document-dialog-body { padding:16px 16px max(20px,env(safe-area-inset-bottom)); }
  .document-type-label select { font-size:16px; }
  .ownership-add-actions { width:100%; }
  .ownership-add-trigger { width:100%; justify-content:center; }
  .ownership-add-menu { width:100%; max-width:100%; }
}
.capture-consent {
  display: flex;
  align-items: start;
  gap: 10px;
  margin: 20px 0;
}
.capture-consent input {
  margin-top: 4px;
}
.evidence-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.8fr);
  gap: 24px;
}
.evidence-toolbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  padding: 12px 0;
}
.evidence-toolbar button {
  min-height: 36px;
}
.evidence-viewport {
  min-height: 300px;
  max-height: 66vh;
  overflow: auto;
  padding: 14px;
  background: #dbe4e7;
  border-radius: 10px;
  text-align: center;
}
.evidence-viewport canvas,
.evidence-viewport img {
  max-width: 100%;
  height: auto;
}
.evidence-metadata {
  display: grid;
  gap: 8px;
  overflow-wrap: anywhere;
}
.evidence-metadata p {
  margin: 0;
}
.evidence-review {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}
.evidence-review textarea,
.evidence-review input,
.evidence-review select {
  max-width: 100%;
}
.collection-card[aria-busy="true"] {
  opacity: 0.7;
}
@media (max-width: 850px) {
  .evidence-layout {
    grid-template-columns: 1fr;
  }
  .collection-card {
    padding: 20px 0;
  }
  .handoff-card {
    padding: 14px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .collection-card {
    animation: collection-in 0.24s ease-out;
  }
  @keyframes collection-in {
    from {
      opacity: 0;
      transform: translateY(4px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
}

.document-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 20px 0;
}
.document-choice {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--ui-border);
  border-radius: 8px;
}
.document-choice p {
  margin: 0;
}
.document-choice strong {
  font-size: 13px;
}
.document-choice button {
  min-height: 34px;
}
.evidence-viewport canvas {
  max-width: none;
}
.evidence-metadata summary {
  cursor: pointer;
  color: var(--ui-accent);
  padding: 5px 0;
}
.evidence-metadata details p {
  margin-top: 8px;
}
.collection-state {
  background: var(--ui-accent-bg);
  color: var(--ui-accent);
}
.collection-state.rejected {
  background: var(--ui-error-bg);
  color: var(--ui-error);
}
.collection-state.accepted {
  background: var(--ui-success-bg);
  color: var(--ui-success);
}
@media (max-width: 500px) {
  .document-picker {
    grid-template-columns: 1fr;
  }
}

.collection-secondary {
  font: inherit;
  font-weight: 600;
  font-size: 14px;
  border: 1px solid var(--ui-control);
  color: var(--ui-text);
  background: var(--ui-surface);
  border-radius: 8px;
  min-height: 44px;
  padding: 10px 16px;
  cursor: pointer;
  margin: 6px 8px 6px 0;
}
.collection-secondary:hover {
  background: var(--ui-hover);
}
.collection-secondary:focus-visible {
  outline: 3px solid var(--ui-focus);
  outline-offset: 3px;
}
.collection-secondary:disabled {
  opacity: 0.6;
  cursor: wait;
}
.collection-area .muted {
  color: var(--ui-muted);
  font-size: 14px;
  line-height: 1.6;
}
.document-choice {
  scroll-margin-top: 15px;
}
.evidence-layout {
  scroll-margin-top: 15px;
}
.analysis-summary {
  margin-block: 1rem;
  padding: 1rem;
  border: 1px solid var(--ui-border);
  border-radius: 0.5rem;
  background: var(--ui-subtle);
}
.analysis-summary > .button {
  margin: 0 8px 8px 0;
}
.analysis-summary .collection-actions > .button {
  flex-shrink: 0;
  max-width: 100%;
}
.ocr-text {
  max-height: 20rem;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 0.75rem;
}
.identity-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.identity-comparison section { min-width:0; }
.customer-logo { max-width:220px; max-height:52px; width:auto; height:auto; object-fit:contain; }
.brand-disclaimer { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; }
.brand-legal-links { display:flex; flex-wrap:wrap; gap:10px 20px; margin-block:16px; }
.brand-legal-links a { color:var(--ui-text); text-decoration:underline; text-underline-offset:3px; }
.brand-consent { display:grid; gap:20px; }
.brand-consent .choice { align-items:flex-start; gap:12px; line-height:1.6; }
.brand-consent input { margin-top:5px; }
.brand-consent button { margin-top:20px; }
.applicant-footer { flex-wrap:wrap; }
.customer-legal { flex-basis:100%; max-width:740px; margin:0 auto 20px; text-align:left; }
.embedded-applicant { min-height:0; }
.embedded-applicant .journey-aside { display:none; }
.embedded-applicant .layout { display:block; max-width:700px; padding:28px 24px; margin:auto; }
.embedded-applicant .masthead { padding:20px 24px; }
.branding-preview { border:1px solid var(--ui-border); border-radius:12px; padding:28px; background:var(--ui-canvas); color:var(--ui-text); min-width:0; overflow-wrap:anywhere; }
.branding-preview h3 { color:var(--ui-text); margin-block:20px 12px; }
.branding-preview .form-check { display:flex; align-items:flex-start; gap:12px; padding:0; margin-block:20px; }
.branding-preview .form-check-input { flex:0 0 18px; width:18px; height:18px; margin:4px 0 0; }
.branding-preview .brand-preview-primary { background:var(--ui-primary); color:var(--ui-primary-ink); border:1px solid var(--ui-primary-border); padding:12px 18px; border-radius:8px; }
.branding-links-row { display:grid; grid-template-columns:minmax(100px,0.6fr) minmax(150px,1fr) auto; gap:8px; margin-block:8px; }
@media(max-width:600px){.branding-links-row{grid-template-columns:1fr;}}
@media(max-width:650px){.identity-comparison{grid-template-columns:1fr;}}

.collection-card > *, .handoff-card > *, .document-choice > *, .evidence-layout > *, .identity-comparison > * { min-width:0; }
.document-stage { margin-top:20px; min-width:0; }
.staged-files { display:grid; gap:12px; }
.staged-file { min-width:0; border:1px solid var(--ui-border); border-radius:8px; padding:16px; background:var(--ui-subtle); }
.staged-file h3 { margin:0 0 8px; font-size:15px; }
.document-quality { margin-block:12px; padding:12px 14px; border-left:3px solid var(--ui-border); color:var(--ui-muted); font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.document-quality > strong { display:block; color:var(--ui-text); font-size:14px; }
.document-quality p { margin:6px 0 0; }
.document-quality ul { margin:8px 0; padding-left:18px; }
.document-quality li + li { margin-top:8px; }
.document-quality.has-warnings { border-color:var(--ui-warning, #aa721d); background:var(--ui-subtle); }
.quality-acknowledgement { display:flex; align-items:flex-start; gap:10px; margin-block:12px; font-size:14px; line-height:1.5; min-height:44px; cursor:pointer; }
.quality-acknowledgement input { flex:0 0 18px; width:18px; height:18px; margin:3px 0 0; accent-color:var(--ui-primary); }
.staged-file .file-drop { margin-bottom:0; padding:12px; background:var(--ui-surface); }
.staged-file-actions { display:flex; flex-wrap:wrap; gap:4px; }
.staged-file-actions button { margin:0 4px 8px 0; }
.document-stage .collection-actions { margin-top:16px; flex-wrap:wrap; }
.document-stage .collection-actions p { flex-basis:100%; }
.document-stage .file-drop { position:relative; min-height:48px; transition:background .16s ease,border-color .16s ease; }
.document-stage .file-drop input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.document-stage .file-drop:hover { border-color:var(--ui-primary); background:var(--ui-hover); }
.document-stage .file-drop:focus-within { outline:3px solid var(--ui-focus); outline-offset:3px; }
.document-stage .file-drop:has(input:disabled) { opacity:.6; }
.collection-area .evidence-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-block:12px; }
.collection-area .evidence-toolbar button { min-width:44px; min-height:44px; padding:8px 12px; border:1px solid var(--ui-border); border-radius:6px; background:var(--ui-surface); color:var(--ui-text); cursor:pointer; }
.collection-area .evidence-toolbar button:hover { background:var(--ui-hover); }
.collection-area .evidence-toolbar button:disabled { opacity:.5; cursor:default; }
.collection-area .evidence-viewport { background:var(--ui-subtle); border:1px solid var(--ui-border); border-radius:8px; padding:12px; overflow:auto; }
@media(prefers-reduced-motion:reduce){ .document-stage .file-drop { transition:none; } }
.file-drop { min-width:0; }
.file-drop input { width:100%; min-width:0; font-size:16px; }
.file-summary, .document-choice, .evidence-metadata, .collection-area .muted { overflow-wrap:anywhere; }
.handoff-card img { height:auto; }
.private-link { min-width:0; font-size:16px; }
.capture-view { width:100%; }
.capture-consent input { flex:0 0 18px; width:18px; height:18px; }
.evidence-viewport { min-width:0; overscroll-behavior:contain; }
.evidence-viewport canvas { display:block; margin:auto; }
.customer-logo { max-width:min(220px,100%); }
.brand-legal-links a { overflow-wrap:anywhere; min-height:44px; display:inline-flex; align-items:center; }
.branding-preview .brand { padding:0 !important; min-width:0; overflow-wrap:anywhere; }
.branding-preview button { max-width:100%; white-space:normal; }
@media(max-width:575.98px){
  .file-drop { padding:16px; }
  .collection-card select { min-width:0; font-size:16px; }
  .collection-actions { flex-direction:column; align-items:stretch; gap:10px; }
  .collection-actions > button, .collection-area > .collection-secondary, .collection-area > .primary { width:100%; margin-inline:0; }
  .collection-secondary { white-space:normal; overflow-wrap:anywhere; max-width:100%; min-height:48px; }
  .evidence-toolbar button { min-width:44px; min-height:44px; }
  .evidence-toolbar span { flex-basis:100%; }
  .evidence-viewport { min-height:180px; max-height:55dvh; }
  .document-choice button { min-height:44px; }
  .branding-preview { padding:16px; }
  .branding-preview .form-check { gap:10px; }
  .brand-legal-links { gap:4px 16px; margin-block:8px; }
  .handoff-card { width:100%; }
}
.intake-panel { min-width: 0; }
.intake-panel.collection-card { border-bottom:0; padding-bottom:0; }
.intake-drop { position:relative; display:grid; justify-items:center; gap:8px; padding:24px; border:1px dashed var(--ui-accent-border); border-radius:10px; background:var(--ui-subtle); text-align:center; cursor:pointer; transition:border-color .2s, background .2s; }
.intake-drop.is-dragging { border-color: var(--ui-accent); background: var(--ui-accent-bg); }
.intake-drop:hover { border-color:var(--ui-accent); background:var(--ui-accent-bg); }
.intake-drop:focus-within { outline:2px solid var(--ui-focus); outline-offset:3px; }
.intake-drop:has(input:disabled) { cursor:default; opacity:.65; }
.intake-drop input { position:absolute; inset:0; width:100%; height:100%; min-width:0; opacity:0; cursor:inherit; }
.intake-drop-icon { color:var(--ui-accent); }
.intake-drop-icon .lucide { width:28px; height:28px; }
.intake-panel > .muted, .intake-status { margin:0; font-size:13px; line-height:1.6; }
.intake-status:empty { display:none; }
.intake-unavailable { margin-top:24px; padding:16px; border:1px solid var(--ui-border); border-radius:8px; }
.intake-unavailable h2 { margin:0 0 6px; font-size:16px; }
.intake-unavailable p { margin:0; font-size:13px; line-height:1.6; }
.intake-placements { display:grid; gap:10px; padding:16px; border:1px solid var(--ui-border); border-radius:8px; background:var(--ui-surface); }
.intake-placements h3 { margin:0; font-size:14px; }
.intake-placement { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px 20px; padding-block:8px; border-bottom:1px solid var(--ui-border); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.intake-placement strong { font-weight:600; }
.intake-placement small { grid-column:1/-1; }
.intake-apply { justify-self:start; display:inline-flex; align-items:center; min-height:44px; padding:10px 14px; border:1px solid var(--ui-accent-border); border-radius:7px; background:var(--ui-accent-bg); color:var(--ui-accent); font-size:14px; font-weight:600; cursor:pointer; }
.intake-refresh { justify-self:start; margin:0; border:0; padding:8px 0; background:transparent; color:var(--ui-muted); font-size:13px; font-weight:400; }
.document-step-actions { align-items:center; justify-content:space-between; gap:12px; margin-top:24px; }
.document-step-actions > .primary { width:auto; min-width:160px; min-height:48px; padding:12px 24px; margin:0; font-size:15px; }
.document-step-tools { display:flex; align-items:center; gap:8px; }
.document-step-tools .collection-secondary { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; margin:0; padding:10px; border-color:transparent; background:transparent; color:var(--ui-muted); font-size:13px; font-weight:400; }
.document-step-tools .collection-secondary:hover { color:var(--ui-accent); background:var(--ui-accent-bg); }
.document-step-tools .lucide, .collection-phone-action .lucide { width:18px; height:18px; }
.collection-phone-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.document-step-tools .collection-refresh-action { width:44px; padding:10px; }
@media(max-width:575.98px) {
  .document-step-actions > .primary { width:100%; }
  .document-step-tools { justify-content:center; width:100%; }
  .intake-placement { grid-template-columns:minmax(0,1fr); gap:4px; }
  .intake-apply { width:100%; justify-content:center; }
}
.intake-file-group { margin-top: 16px; }
.intake-file-group summary { cursor: pointer; font-weight: 600; padding-block: 12px; }
.intake-files { display: grid; gap: 12px; margin-block: 16px; }
.intake-file { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; padding: 16px; border: 1px solid var(--ui-border); border-radius: 10px; }
.intake-name { overflow-wrap: anywhere; }
.intake-file p, .intake-file select, .intake-file > div { grid-column: 1 / -1; min-width: 0; }
.intake-file select { width: 100%; text-overflow: ellipsis; }
.intake-file input { grid-column:1 / -1; width:100%; min-width:0; min-height:44px; font:inherit; padding:10px 12px; border:1px solid var(--ui-control); border-radius:8px; background:var(--ui-surface); color:var(--ui-text); }
@media(max-width:480px) { .intake-drop { padding: 16px; } .intake-file { grid-template-columns: minmax(0,1fr); padding: 12px; } .intake-file button { width: 100%; white-space: normal; } }

/* The applicant works on one clear surface; the surrounding canvas recedes. */
.applicant-app { --applicant-shadow:0 4px 8px rgb(27 43 70 / 3%),0 24px 64px rgb(27 43 70 / 8%); }
.applicant-app .masthead { background:var(--ui-surface); box-shadow:0 1px 4px rgb(27 43 70 / 4%); }
.applicant-app .layout { width:min(760px,100%); padding:36px 24px 24px; }
.applicant-app .workspace { padding:32px 36px 24px; border:1px solid var(--ui-border); border-radius:18px; background:var(--ui-surface); box-shadow:var(--applicant-shadow); }
.applicant-app .workspace h1 { font-size:30px; letter-spacing:-.035em; line-height:1.2; margin-bottom:12px; }
.applicant-app .lead { color:var(--ui-secondary); font-size:15px; line-height:1.65; }
.applicant-app .field :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { background:var(--ui-surface); border-color:var(--ui-control); box-shadow:0 1px 2px rgb(27 43 70 / 3%); }
.applicant-app .field :is(input,select,textarea):focus { border-color:var(--ui-accent); }
.applicant-app .primary { border-radius:10px; box-shadow:0 3px 7px rgb(30 65 150 / 18%); font-size:15px; }
.applicant-app .primary:disabled { box-shadow:none; }
.applicant-app .form-actions { border-top:1px solid var(--ui-border); padding-top:20px; margin-top:12px; }
.applicant-app .save-status { font-size:12px; margin-bottom:12px; }
.applicant-app .text-button { font-size:13px; min-height:44px; }
.applicant-app .help-link { margin-top:24px; font-size:13px; }
.applicant-app .complete { padding:28px 0 12px; }
.applicant-app .task-progress { margin:0 0 28px; padding:0 0 24px; }
.applicant-app .task-progress summary { display:block; list-style:none; }
.applicant-app .task-progress summary::-webkit-details-marker { display:none; }
.task-progress-caption { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.task-progress-caption strong { color:var(--ui-text); font-weight:600; }
.task-progress-toggle { display:inline-flex; align-items:center; gap:8px; font-size:12px; }
.task-progress-toggle::after { content:''; width:6px; height:6px; border:solid currentColor; border-width:0 1.5px 1.5px 0; transform:rotate(45deg); margin-top:-3px; }
.task-progress[open] .task-progress-toggle::after { transform:rotate(225deg); margin-top:3px; }
.task-progress-track { display:flex; gap:6px; margin-top:14px; }
.task-progress-track > span { flex:1; height:4px; border-radius:3px; background:var(--ui-border); }
.task-progress-track .is-current { background:var(--ui-accent); }
.task-progress-track .is-done { background:var(--ui-success); }
.applicant-app .task-progress ol { margin-top:16px; padding:0; counter-reset:none; }
.applicant-app .task-progress li { align-items:center; justify-content:flex-start; gap:10px; padding:10px 0; border:0; }
.applicant-app .task-progress li strong { flex:1; font-size:13px; font-weight:500; }
.applicant-app .task-progress .task-step-number { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--ui-subtle); color:var(--ui-muted); font-size:11px; }
.applicant-app .task-progress [aria-current="step"] .task-step-number { color:var(--ui-accent); background:var(--ui-accent-bg); }
.applicant-app .task-progress .task-step-status { color:var(--ui-muted); font-size:11px; }
.applicant-app .intake-panel { padding:12px 0 0; gap:10px; }
.applicant-app .intake-drop { padding:24px 20px; gap:6px; background:var(--ui-accent-bg); border:1.5px dashed var(--ui-accent-border); border-radius:12px; }
.applicant-app .intake-drop:hover,.applicant-app .intake-drop.is-dragging { border-color:var(--ui-accent); box-shadow:inset 0 0 0 1px var(--ui-accent-border); }
.applicant-app .intake-drop-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--ui-accent-border); border-radius:11px; background:var(--ui-surface); margin-bottom:4px; box-shadow:0 2px 3px rgb(27 43 70 / 5%); }
.applicant-app .intake-drop-icon .lucide { width:22px; height:22px; }
.applicant-app .intake-drop strong { font-size:16px; font-weight:600; }
.applicant-app .intake-browse { color:var(--ui-accent); text-decoration:underline; text-underline-offset:3px; font-size:14px; }
.applicant-app .intake-drop .muted { font-size:12px; margin-top:7px; }
.applicant-app .intake-panel > .muted { text-align:center; font-size:12px; }
.applicant-app .document-package { margin:24px 0 12px; padding:0; border:0; font-size:13px; }
.applicant-app .document-package p { margin:0 0 8px; }
.applicant-app .document-package p:first-child { font-weight:500; color:var(--ui-muted); font-size:12px; }
.applicant-app .document-package p strong { font-weight:500; }
.applicant-app .document-row { padding:16px; margin-top:10px; border:1px solid var(--ui-border); border-radius:10px; gap:12px; background:var(--ui-surface); box-shadow:0 2px 3px rgb(27 43 70 / 3%); }
.applicant-app .document-row-icon { width:34px; height:38px; background:var(--ui-subtle); border:0; border-radius:7px; }
.applicant-app .document-row-copy h2 { font-weight:600; font-size:14px; }
.applicant-app .document-row > .collection-secondary { border-color:var(--ui-border); box-shadow:0 1px 2px rgb(27 43 70 / 5%); }
.applicant-app .document-step-actions { padding-top:20px; border-top:1px solid var(--ui-border); margin:24px 0 0; }
.applicant-app .document-step-actions > .primary { min-width:160px; }
.applicant-app .document-dialog { border-radius:16px; box-shadow:0 24px 80px rgb(10 24 48 / 25%); }
.applicant-app .document-dialog-heading { background:var(--ui-subtle); }
.applicant-app .owner-invitation { box-shadow:0 2px 5px rgb(27 43 70 / 5%); }
.applicant-app .ownership-area > .field-help { color:var(--ui-muted); font-size:13px; }
.applicant-app .ownership-summary { padding:12px 14px; margin:0; border-radius:8px; background:var(--ui-subtle); color:var(--ui-secondary); font-size:13px; line-height:1.6; }
.applicant-app .ownership-person { background:var(--ui-surface); box-shadow:0 2px 5px rgb(27 43 70 / 4%); }
.applicant-app .ownership-roles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 12px; }
.applicant-app .ownership-roles > .field-label { grid-column:1/-1; font-size:13px; font-weight:500; }
.applicant-app .ownership-roles .choice { min-height:44px; padding:10px; align-items:center; border:1px solid var(--ui-border); border-radius:7px; font-size:13px; }
.applicant-app .ownership-roles .choice:has(:checked) { background:var(--ui-accent-bg); border-color:var(--ui-accent-border); }
.applicant-app .ownership-roles .choice input { flex-shrink:0; }
.applicant-app .ownership-form > .field-error:empty { display:none; }
.applicant-app .ownership-form > .collection-actions { border-top:1px solid var(--ui-border); padding-top:20px; margin:0; align-items:center; justify-content:space-between; }
.applicant-app .ownership-form > .collection-actions > button { margin:0; }
.applicant-app .ownership-form > .collection-actions > .primary { width:auto; padding:14px 20px; }
.applicant-app .collection-area[data-capture-phase] > .capture-consent { padding:16px; margin-block:20px 12px; border:1px solid var(--ui-border); border-radius:10px; background:var(--ui-subtle); font-size:13px; line-height:1.6; }
.applicant-app .collection-area[data-capture-phase] > .primary { width:100%; margin:12px 0 0; }
.applicant-app .collection-area[data-capture-phase="intro"] .capture-instruction { color:var(--ui-muted); font-size:13px; margin:16px 0 4px; }
.applicant-app .capture-phone { text-align:center; margin-top:10px; }
.applicant-app .capture-phone > .collection-secondary { border-color:transparent; background:transparent; font-size:13px; color:var(--ui-accent); }
:root[data-theme="dark"] .applicant-app { --applicant-shadow:0 10px 40px rgb(0 0 0 / 22%); }
@media(max-width:600px) {
  .applicant-app .ownership-roles { grid-template-columns:minmax(0,1fr); }
  .applicant-app .ownership-form > .collection-actions > .primary { width:100%; }
  .applicant-app .layout { padding:20px 12px; }
  .applicant-app .workspace { padding:24px 20px 20px; border-radius:14px; }
  .applicant-app .workspace h1 { font-size:26px; }
  .applicant-app .document-row { padding:14px 12px; grid-template-columns:32px minmax(0,1fr) auto; gap:10px; }
  .applicant-app .document-row-icon { width:32px; }
  .applicant-app .document-row > .collection-state { grid-column:2; justify-self:start; }
  .applicant-app .document-row > .collection-secondary { grid-column:3; grid-row:1 / 3; min-width:64px; }
  .applicant-app .document-step-actions { gap:10px; }
  .applicant-app .document-step-actions > .primary { width:100%; }
  .applicant-app .document-step-tools { justify-content:space-between; }
}
@media(max-width:380px) {
  .applicant-app .workspace { padding:20px 14px; }
  .applicant-app .task-step-status { max-width:95px; text-align:right; }
}
/* Optional chip capture follows the same document requirement and mobile spacing. */
.nfc-option{display:flex;align-items:flex-start;gap:18px;padding:24px;margin:20px 0 12px;border:1px solid var(--ui-accent-border);border-radius:16px;background:linear-gradient(120deg,var(--ui-subtle),var(--ui-surface));color:var(--ui-text)}
.nfc-symbol{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid var(--ui-accent-border);border-radius:14px;background:var(--ui-accent-bg);color:var(--ui-accent);font-size:12px;font-weight:700;letter-spacing:.08em}
.nfc-option-copy{min-width:0;flex:1}.nfc-option-label{color:var(--ui-accent);font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.nfc-option h2{font-size:20px;line-height:1.3;margin:7px 0 10px}.nfc-option p{font-size:13px;line-height:1.6;margin:9px 0}.nfc-status{color:var(--ui-secondary)}.nfc-status.field-error{color:var(--ui-error)}.nfc-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:17px}.nfc-actions button{min-height:44px}.nfc-details{font-size:12px;margin-top:16px}.nfc-details summary{cursor:pointer;color:var(--ui-muted)}.nfc-details p{margin-bottom:0}.nfc-option [hidden]{display:none!important}
@media(max-width:600px){.nfc-option{padding:18px 16px;gap:12px}.nfc-symbol{width:38px;height:38px;flex-basis:38px;border-radius:11px;font-size:10px}.nfc-option h2{font-size:18px}.nfc-actions{align-items:stretch;flex-direction:column;gap:8px}.nfc-actions button{width:100%;text-align:center}.nfc-option-copy{overflow-wrap:anywhere}}
@media(forced-colors:active){.nfc-option,.nfc-symbol{background:Canvas;border:1px solid CanvasText;color:CanvasText}.nfc-option-label,.nfc-status,.nfc-details summary{color:CanvasText}}
