/* Keep filename, choose button and clear action separate at every width. */
.solve-file-picker { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; min-width:0; box-sizing:border-box; padding:10px; margin:8px 0; border:1px solid var(--role-line,#c9d5e0); border-radius:6px; background:#fff; font-family:inherit; font-size:.8rem; line-height:1.5; text-align:left; }
.solve-file-picker input.solve-file-native[type="file"] { position:absolute; width:1px; height:1px; min-height:0; min-width:0; padding:0; margin:-1px; border:0; opacity:0; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.solve-file-picker .solve-file-choose { display:inline-flex; justify-content:center; align-items:center; flex-shrink:0; min-height:34px; padding:7px 11px; margin:0; border:1px solid var(--role-line,#bbcad9); border-radius:5px; background:var(--role-tint,#f2f6fa); color:var(--role-ink,#365570); font-family:inherit; font-size:.79rem; font-weight:700; line-height:1.4; white-space:nowrap; cursor:pointer; }
.solve-file-selection { display:block; min-width:0; }
.solve-file-picker .solve-file-name { display:block; margin:0; color:#657487; font-size:.79rem; font-weight:400; line-height:1.55; overflow-wrap:anywhere; word-break:break-word; }
.solve-file-picker.has-file .solve-file-name { color:#2e4156; }
.solve-file-picker .solve-file-hint { display:block; margin:3px 0 0; color:#7c6a4c; font-size:.69rem; font-weight:400; line-height:1.5; }
.solve-file-picker .solve-file-hint[hidden], .solve-file-picker .solve-file-clear[hidden] { display:none; }
.solve-file-clear, .upload-file-clear { display:inline-flex; justify-content:center; align-items:center; flex-shrink:0; width:34px; height:34px; padding:7px; border:1px solid #dfc6c3; border-radius:5px; background:#fff; color:#a14c43; cursor:pointer; }
.solve-file-clear svg, .upload-file-clear svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.solve-file-clear:hover:not(:disabled), .upload-file-clear:hover:not(:disabled) { background:#fff0ed; border-color:#c9877d; }
.solve-file-picker button:focus-visible, .upload-file-clear:focus-visible { outline:2px solid var(--role-ink,#315faa); outline-offset:3px; }
.solve-file-picker.is-disabled { background:#f6f7f8; }
.solve-file-picker button:disabled { opacity:.55; cursor:not-allowed; }
#review-manuscript-form > .field, #review-coordinator-form .review-handoff-upload > .field { display:block; font-size:.8rem; line-height:1.6; }
#review-manuscript-form > .field > span, #review-coordinator-form .review-handoff-upload strong { font-size:.8rem; font-weight:700; }
#review-manuscript-form > button, #presentation-form .dialog-actions button { font-size:.82rem; }
.upload-file-card { min-height:64px; gap:10px; }
.upload-file-card > div { min-width:0; }
.upload-file-card strong, .upload-presentation p, .original-file-name { overflow-wrap:anywhere; word-break:break-word; }
.upload-file-card .upload-file-actions { display:flex; align-items:center; gap:7px; }
.upload-file-card .upload-file-clear, .upload-presentation .upload-file-clear { width:34px; height:34px; padding:7px; border:1px solid #dfc6c3; color:#a14c43; }
.upload-presentation .secondary-button, .upload-file-card #upload-file-change { font-family:inherit; font-size:.78rem; line-height:1.4; }
@media(max-width:480px) {
  .solve-file-picker { grid-template-columns:minmax(0,1fr) auto; gap:9px; }
  .solve-file-picker .solve-file-choose { justify-self:start; }
  .solve-file-selection { grid-column:1/-1; grid-row:2; }
  .solve-file-clear { grid-column:2; grid-row:1; }
  .upload-file-card { grid-template-columns:auto minmax(0,1fr); }
  .upload-file-card .upload-file-actions { grid-column:2; justify-content:flex-end; }
}
