.ds-file-input{gap:var(--gap-sm);flex-direction:column;width:100%;display:flex}.ds-file-input__label{font-family:var(--font-paragraph-em-family);font-size:var(--font-paragraph-em-size);font-weight:var(--font-paragraph-em-weight);line-height:var(--font-paragraph-em-line-height);letter-spacing:var(--font-paragraph-em-letter-spacing);color:var(--color-text-primary)}.ds-file-input__required{color:var(--color-core-accent-coral)}.ds-file-input__dropzone{text-align:center;justify-content:center;align-items:center;gap:var(--gap-xs);padding:var(--padding-xl);border:var(--border-xs) dashed var(--color-input-border-primary);border-radius:var(--radius-md);background-color:var(--color-input-bg-primary);cursor:pointer;flex-direction:column;transition:border-color .2s,background-color .2s;display:flex;position:relative}.ds-file-input__dropzone:hover{border-color:var(--color-input-border-hover)}.ds-file-input__dropzone:focus-visible{outline:2px solid var(--color-action-primary-bg);outline-offset:2px}.ds-file-input--dragging .ds-file-input__dropzone{border-color:var(--color-input-border-selected);background-color:var(--color-bg-container-primary)}.ds-file-input__dropzone-icon{--icon-size:var(--icon-size-md);color:var(--color-icon-primary)}.ds-file-input__dropzone-text{font-family:var(--font-paragraph-em-family);font-size:var(--font-paragraph-em-size);font-weight:var(--font-paragraph-em-weight);line-height:var(--font-paragraph-em-line-height);letter-spacing:var(--font-paragraph-em-letter-spacing);color:var(--color-text-primary)}.ds-file-input__dropzone-hint{font-family:var(--font-paragraph-sm-family);font-size:var(--font-paragraph-sm-size);font-weight:var(--font-paragraph-sm-weight);line-height:var(--font-paragraph-sm-line-height);letter-spacing:var(--font-paragraph-sm-letter-spacing);color:var(--color-text-tertiary)}.ds-file-input__native{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ds-file-input__list{gap:var(--gap-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ds-file-input__file{align-items:center;gap:var(--gap-sm-md);padding:var(--padding-sm) var(--padding-sm-md);border:var(--border-xs) solid var(--color-bg-container-border);border-radius:var(--radius-md);background-color:var(--color-bg-page-primary);display:flex}.ds-file-input__file--error{border-color:var(--color-status-error-border);background-color:var(--color-status-error-bg)}.ds-file-input__file-icon{--icon-size:var(--icon-size-sm);color:var(--color-icon-primary);flex-shrink:0}.ds-file-input__file--error .ds-file-input__file-icon{color:var(--color-status-error-border)}.ds-file-input__file-details{gap:var(--gap-xxs);flex-direction:column;flex:1;min-width:0;display:flex}.ds-file-input__file-name{font-family:var(--font-paragraph-em-family);font-size:var(--font-paragraph-em-size);font-weight:var(--font-paragraph-em-weight);line-height:var(--font-paragraph-em-line-height);letter-spacing:var(--font-paragraph-em-letter-spacing);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ds-file-input__file-size{font-family:var(--font-paragraph-sm-family);font-size:var(--font-paragraph-sm-size);font-weight:var(--font-paragraph-sm-weight);line-height:var(--font-paragraph-sm-line-height);letter-spacing:var(--font-paragraph-sm-letter-spacing);color:var(--color-text-tertiary)}.ds-file-input__file-error{font-family:var(--font-paragraph-sm-family);font-size:var(--font-paragraph-sm-size);font-weight:var(--font-paragraph-sm-weight);line-height:var(--font-paragraph-sm-line-height);letter-spacing:var(--font-paragraph-sm-letter-spacing);color:var(--color-status-error-text)}.ds-file-input__progress{width:100%;height:4px;margin-top:var(--gap-xxs);border-radius:var(--radius-full);background-color:var(--color-bg-container-primary);display:block;overflow:hidden}.ds-file-input__progress-fill{border-radius:var(--radius-full);background-color:var(--color-action-primary-bg);height:100%;transition:width .2s;display:block}.ds-file-input__file-remove{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-icon-primary);cursor:pointer;background-color:#0000;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .2s;display:inline-flex}.ds-file-input__file-remove:hover{background-color:var(--color-action-passive-bg-hover)}.ds-file-input__file-remove:focus-visible{outline:2px solid var(--color-action-primary-bg);outline-offset:2px}.ds-file-input__file-remove:disabled{opacity:.4;cursor:not-allowed}.ds-file-input__file-remove .material-symbols-rounded{--icon-size:var(--icon-size-sm)}.ds-file-input__helper{font-family:var(--font-paragraph-sm-family);font-size:var(--font-paragraph-sm-size);font-weight:var(--font-paragraph-sm-weight);line-height:var(--font-paragraph-sm-line-height);letter-spacing:var(--font-paragraph-sm-letter-spacing);color:var(--color-text-tertiary);margin:0}.ds-file-input--error .ds-file-input__dropzone{border-color:var(--color-status-error-border)}.ds-file-input--error .ds-file-input__helper{color:var(--color-status-error-border)}.ds-file-input--disabled .ds-file-input__label{color:var(--color-input-text-disabled)}.ds-file-input--disabled .ds-file-input__dropzone{background-color:var(--color-input-bg-disabled);border-color:var(--color-input-border-disabled);cursor:not-allowed}.ds-file-input--disabled .ds-file-input__dropzone-text,.ds-file-input--disabled .ds-file-input__dropzone-hint,.ds-file-input--disabled .ds-file-input__dropzone-icon{color:var(--color-input-text-disabled)}.ds-file-input--compact .ds-file-input__dropzone{padding:var(--padding-lg)}.ds-file-input--compact .ds-file-input__label{font-size:var(--font-paragraph-sm-size);line-height:var(--font-paragraph-sm-line-height)}.ds-file-input--compact .ds-file-input__dropzone-icon{--icon-size:var(--icon-size-sm)}.ds-file-input--compact .ds-file-input__dropzone-text,.ds-file-input--compact .ds-file-input__file-name{font-size:var(--font-paragraph-sm-em-size);line-height:var(--font-paragraph-sm-em-line-height);letter-spacing:var(--font-paragraph-sm-em-letter-spacing)}.ds-file-input--compact .ds-file-input__file{padding:var(--padding-xs) var(--padding-sm)}
