.b03-file { max-width: var(--page-max-width); margin: 0 auto; padding: var(--spacing-40) var(--spacing-24); display: flex; flex-direction: column; gap: var(--spacing-24); } .b03-file__header, .b03-file__body { display: flex; flex-direction: column; gap: var(--spacing-16); } .b03-file__title { font-family: var(--font-display); font-size: var(--text-heading); line-height: 1; color: var(--color-text); } .b03-file__subtitle, .b03-file__dropzone span, .b03-file__empty { font-size: var(--text-body-sm); color: var(--color-text-muted); } .b03-file__native-input { display: none; } .b03-file__dropzone { min-height: 180px; padding: var(--spacing-24); border: 1px dashed var(--color-border); border-radius: var(--radius-cards); background: var(--color-surface); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--spacing-8); cursor: pointer; text-align: center; } .b03-file__dropzone:focus-visible, .b03-file__dropzone.is-dragging { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; background: var(--color-mist-violet); } .b03-file__dropzone strong, .b03-file__section-title, .b03-file__results strong { color: var(--color-text); font-weight: var(--font-weight-medium); } .b03-file__section-title { font-size: var(--text-subheading); } .b03-file__error { min-height: var(--spacing-16); color: var(--color-error); font-size: var(--text-body-sm); } .b03-file__list, .b03-file__results { margin: 0; padding: 0; list-style: none; border: 1px solid var(--color-border); border-radius: var(--radius-cards); overflow: hidden; } .b03-file__list li, .b03-file__results li { padding: var(--spacing-16); display: flex; justify-content: space-between; gap: var(--spacing-16); border-bottom: 1px solid var(--color-border); color: var(--color-text-body); font-size: var(--text-body-sm); } .b03-file__list li:nth-child(even), .b03-file__results li:nth-child(even) { background: var(--color-surface); } .b03-file__list li:last-child, .b03-file__results li:last-child { border-bottom: 0; } .b03-file__results:empty { display: none; } .b03-file__results li { flex-direction: column; } @media (max-width: 640px) { .b03-file__list li { flex-direction: column; gap: var(--spacing-8); } }