.ff-file-picker {
  position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px;
  width:100%; min-width:0; margin-top:var(--ff-file-picker-margin-top,7px); padding:8px;
  border:1px solid var(--ff-line,var(--brand-line)); border-radius:var(--ff-panel-radius,var(--brand-card-radius));
  background:var(--ff-card,var(--brand-paper)); color:var(--ff-text,var(--brand-ink));
  font-family:inherit; line-height:1.4; font-weight:400; text-transform:none; letter-spacing:normal;
}
.ff-file-picker input[type="file"].ff-file-picker__input {
  position:absolute!important; width:1px!important; height:1px!important; min-width:0!important; min-height:0!important;
  padding:0!important; margin:0!important; border:0!important; overflow:hidden; clip-path:inset(50%); opacity:0; pointer-events:none;
}
.ff-file-picker .ff-file-picker__choose {
  display:inline-flex; flex:none; align-items:center; justify-content:center; gap:8px;
  min-height:var(--ff-control-height,var(--brand-minimum-target)); margin:0; padding:9px 12px; border:1px solid var(--ff-line,var(--brand-line)); border-radius:var(--ff-control-radius,var(--brand-control-radius));
  background:var(--ff-well,var(--brand-cream)); color:inherit; font-family:inherit; font-size:13px; font-weight:600; line-height:1.3;
  cursor:pointer; white-space:nowrap; transition:background .15s,border-color .15s;
}
.ff-file-picker__icon { display:flex; width:18px; height:18px; color:var(--ff-link,var(--brand-red-dark)); }
.ff-file-picker__icon svg,.ff-file-picker__clear svg { display:block; width:100%; height:100%; }
.ff-file-picker .ff-file-picker__choose:hover:not(:disabled) { background:var(--ff-tint,var(--brand-peach)); border-color:var(--ff-action,var(--brand-red)); }
.ff-file-picker__name { flex:1 1 120px; min-width:0; overflow-wrap:anywhere; color:var(--ff-secondary,var(--brand-muted)); font-size:12px; }
.ff-file-picker.is-selected .ff-file-picker__name { color:inherit; }
.ff-file-picker .ff-file-picker__clear {
  flex:none; display:grid; place-items:center; width:var(--ff-control-height,var(--brand-minimum-target)); height:var(--ff-control-height,var(--brand-minimum-target)); min-height:var(--ff-control-height,var(--brand-minimum-target)); margin:0; padding:7px;
  color:var(--ff-secondary,var(--brand-muted)); border:0; border-radius:var(--ff-control-radius,var(--brand-control-radius)); background:transparent; cursor:pointer;
}
.ff-file-picker .ff-file-picker__clear[hidden] { display:none; }
.ff-file-picker .ff-file-picker__clear:hover:not(:disabled) { color:var(--ff-link,var(--brand-red-dark)); background:var(--ff-tint,var(--brand-peach)); }
.ff-file-picker button:focus-visible { outline:2px solid var(--ff-action,var(--brand-red)); outline-offset:3px; }
.ff-file-picker:has(.ff-file-picker__input:focus-visible) { outline:2px solid var(--ff-action,var(--brand-red)); outline-offset:2px; }
.ff-file-picker.is-disabled { opacity:.65; }
.ff-file-picker button:disabled { cursor:default; }
.task-check-upload > button[type="submit"] { min-height:56px; }
@media(max-width:520px) {
  .task-check-upload > button[type="submit"] { min-height:var(--ff-control-height,var(--brand-minimum-target)); }
  .ff-file-picker { gap:8px; }
  .ff-file-picker__name { flex-basis:100%; order:3; }
  .ff-file-picker .ff-file-picker__clear { margin-left:auto; }
}
.ff-file-picker .ff-file-picker__camera[hidden] { display:none; }
.ff-camera { width:min(640px,calc(100% - 24px)); max-height:calc(100dvh - 24px); overflow:auto; margin:auto; padding:24px; border:1px solid var(--ff-line,var(--brand-line)); border-radius:var(--ff-panel-radius,var(--brand-card-radius)); background:var(--ff-card,var(--brand-paper)); color:var(--ff-text,var(--brand-ink)); }
.ff-camera::backdrop { background:color-mix(in srgb,var(--ff-quiet-action,var(--brand-ink)) 72%,transparent); }
.ff-camera h2 { margin:0 0 16px; font-size:24px; }
.ff-camera video,.ff-camera canvas { display:block; width:100%; max-height:55dvh; aspect-ratio:4/3; object-fit:contain; border-radius:var(--ff-panel-radius,var(--brand-card-radius)); background:var(--ff-quiet-action,var(--brand-ink)); }
.ff-camera [hidden] { display:none!important; }
.ff-camera p { margin:16px 0; font-size:14px; line-height:1.5; }
.ff-camera__actions { display:flex; flex-wrap:wrap; gap:10px; }
.ff-camera__actions .button { min-height:var(--ff-control-height,var(--brand-minimum-target)); }
@media(max-width:520px) { .ff-camera { padding:16px; } .ff-camera__actions .button { flex:1 1 auto; } }
.ff-file-picker__icon .ti,.ff-file-picker__clear .ti{font-size:18px!important}
