.content-upload-head { max-width: 680px; }
.content-upload-head h1 { margin: 0 0 8px; color: var(--heading); }
.content-upload-head p { margin: 0; color: var(--muted); }
.content-upload-progress { margin: 28px 0 18px; color: var(--primary); font-weight: 800; }
.content-upload-form { display: grid; gap: 16px; max-width: 680px; }
.content-upload-form .field { display: grid; gap: 7px; font-weight: 700; }
.content-upload-form textarea { width: 100%; min-height: 150px; resize: vertical; }
.content-upload-file { display: grid; gap: 12px; padding: 28px; border-radius: 18px;
  background: var(--surface-soft); font-size: 18px; font-weight: 800; }
.content-upload-file input { width: 100%; font-size: 15px; }
.content-upload-selected { margin: 0; overflow-wrap: anywhere; font-weight: 700; }
.content-upload-help { margin: 0; color: var(--muted); font-size: 14px; }
.content-upload-preview { margin: 0; padding: 12px 14px; border-radius: 10px;
  background: #fff1d6; color: #65430b; font-size: 14px; line-height: 1.45; }
.content-upload-recipients { display: grid; gap: 8px; margin: 0; padding: 14px 0; border: 0; }
.content-upload-recipients legend { font-weight: 800; }
.content-upload-recipients label { display: flex; align-items: center; gap: 12px; min-height: 44px; }
.content-upload-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.content-upload-success { max-width: 680px; padding: 26px; border-radius: 18px; background: #eaf8ef; }
.content-upload-success h2 { margin: 0 0 8px; color: #175b31; }
.content-upload-success p { margin: 0 0 22px; }
.content-upload-history { max-width: 680px; margin-top: 42px; }
.content-upload-history h2 { font-size: 18px; }
.content-upload-history ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.content-upload-history li { display: grid; gap: 8px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.content-upload-history li > button { justify-self: start; }
.content-upload-history li span { color: var(--muted); font-size: 14px; }
.content-upload-history textarea { width: 100%; }
@media (max-width: 760px) {
  #portal-content-upload { border: 0; padding: 20px max(18px, env(safe-area-inset-right)) 32px;
    border-radius: 0; box-shadow: none; }
  .content-upload-file { padding: 22px; }
  .content-upload-actions .primary { flex: 1; min-height: 48px; }
}
